【问题标题】:ABAQUS python scripting inconsistencies when selecting regions选择区域时 ABAQUS python 脚本不一致
【发布时间】:2019-03-20 01:45:36
【问题描述】:

这在某种程度上可能听起来更像是一种咆哮,但我也想就如何处理在 abaqus 中使用 python 脚本时出现的不一致问题提出您的意见。 这是我的示例:在我的 rootAssembly (ra) 中,我有三个实例,分别称为 a、b、c。在下面的脚本中,我分配了一般种子,然后是网格控制和元素类型,最后我生成了网格:

ra.seedPartInstance(regions=(a,b,c), size=1.0)

ra.setMeshControls(elemShape=QUAD,
    regions=(a.faces+b.faces+c.faces),
    technique=STRUCTURED)

ra.setElementType(
    elemTypes=eltyp, 
    regions=(a.faces,b.faces,c.faces))

ra.generateMesh(regions=(a,b,c))

如您所见,ABAQUS 要求您以几种不同的模式定义同一个区域。 尽管参数被称为“区域”,ABAQUS 要么要求 Set,要么要求 Vertex,要么要求 GeomSequence。

你如何处理这个问题?编写脚本感觉很像反复试验,因为无法提前知道预期的内容。 有什么建议吗?

【问题讨论】:

    标签: python abaqus


    【解决方案1】:

    是的,显然有“一种提前知道预期内容的方法” - 文档。这些详细说明了允许的参数。

    但说真的 - 我认为您的示例中没有任何不一致之处。在实践中,当您考虑每个函数实际执行的上下文时,参数regions 的重用是完全有意义的。考虑一下“区域”这个词是如何成为一个有用的概念框架,它可以很容易地允许用户为各种不同的任务指定必要的信息。

    现在考虑 Python API 公开的底层系统的复杂性,以及不同用户想要控制和使用该底层系统执行的各种任务。我怀疑如果将 args 命名为 seq_of_geomCells_geomFaces_or_geomSets 之类的名称会更简单。或者更糟糕的是,如果该函数旨在处理的每个允许的模型实体都有不同的参数 - 那将是一场噩梦。在这方面,重用关键字regions 作为逻辑概念框架是完全有意义的。

    【讨论】:

      【解决方案2】:

      好的,我现在从上面使用的三个命令的文档中阅读:

      seedPartInstance(...)
      

      regions:一系列 PartInstance 对象,指定要播种的部件实例。

      setMeshControls(...)
      

      区域:一系列面或单元区域,指定要为其设置网格控制参数的区域。

      setElementType(...)
      

      regions:一系列 Geometry 区域或 MeshElement 对象,或包含几何区域或元素的 Set 对象,指定要为其分配元素类型的区域。

      好的,我明白了 partInstances 和 faces 之间的区别,但仍然不清楚为什么附加一个(使用逗号)和另一个添加(使用 +),因为它们都需要一个 Sequence em>,此时,setElementType 甚至在将 faces 对象传递给它时如何工作?

      我会花一些时间来学习 ABAQUS 并仔细思考,希望我能真正理解这些差异。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-16
        • 1970-01-01
        • 2012-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多