0


Python-ABAQUS二次开发——切换ABAQUS自动生成rpy文件中的索引类型

1. 更改索引类型的abaqus代码

使用abaqus软件进行二次开发,往往在.rpy文件自动生成的代码基础上进行修改。

然而,在对点、线、面、体进行选择时,abaqus默认生成的代码为

cells = c.getSequenceFromMask(mask=('[#1 ]', ), )

这种形式的mask掩码,显然不利于参数化建模操作。

此时,可以通过在下图所示abaqus界面的命令行中,输入命令更改abaqus自动生成代码的索引类型:

  1. 将rpy文件中的代码索引形式更改为:“实际特征索引号”
session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX)
  1. 将rpy文件中的代码索引形式更改为:“findAt()函数配合点坐标”
session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE)

2. 示例

以下图所示纤维-基体结构对应的三种不同索引结果对三种索引类型进行说明:

对图示结构中纤维赋予材料属性:

此时getSequenceFromMask生成的掩码为 [#7fe],难以从几何意义上进行编程。

p = mdb.models['Model-1'].parts['Part-1']
c = p.cells
cells = c.getSequenceFromMask(mask=('[#7fe ]', ), )
region = p.Set(cells=cells, name='Set-1')
p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)

转化为特征索引号后,代码如下:

p = mdb.models['Model-1'].parts['Part-1']
c = p.cells
cells = c[1:11]
region = p.Set(cells=cells, name='Set-2')
p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Section-2', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)

c[1:11] 表示结构中的十根纤维,该特征索引号与纤维和基体的生成顺序相关。显然,此时纤维基体对应的特征索引号为c[0]

转化为findAt类型后,代码如下:

p = mdb.models['Model-1'].parts['Part-1']
c = p.cells
cells = c.findAt(((18.962994, 14.585984, 0.0), ), ((48.349822, 22.238453, 
    100.0), ), ((64.427994, 34.070985, 0.0), ), ((82.989822, 24.403453, 100.0), 
    ), ((18.962994, 68.710983, 0.0), ), ((35.359821, 91.518456, 100.0), ), ((
    34.117994, 42.730985, 0.0), ), ((52.679821, 74.198453, 100.0), ), ((
    78.659823, 69.868454, 100.0), ), ((73.087995, 75.205986, 0.0), ))
region = p.Set(cells=cells, name='Set-3')
p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0, 
    offsetType=MIDDLE_SURFACE, offsetField='', 
    thicknessAssignment=FROM_SECTION)

findAt()内为十根纤维所对应的坐标位置,该方法适用于明确知晓结构几何分布的情况。

标签:

本文转载自: https://blog.csdn.net/luoqi1234567/article/details/119802919
版权归原作者 浅荼 所有, 如有侵权,请联系我们删除。

“Python-ABAQUS二次开发——切换ABAQUS自动生成rpy文件中的索引类型”的评论:

还没有评论