ABAQUS中Model change(生死单元)的循环操作
2017-03-18 by:CAE仿真在线 来源:互联网
在ABAQUS进行瞬态分析时,需要对每一步运算结果进行监测,当有单元应力(或者其他条件)超过设定应力时,需要将单元杀死,剩余单元进行下一步计算分析,直到设定的终止状态。
第一步,在ABAQUS中使用Model change将符合条件的单元杀死的操作如图1所示
第二步,需要把满足条件的单元选出,然后标记,并且进行循环设定。主要采用Python脚本语言进行设置,现在采用《Python_Scripts_for_Abaqus.pdf》中10章和13章的内容作为基础,悬臂板odb文件输入应力和位移的例子进行进一步分析,板一端固定一端受到两个集中力作用,现在不断调整集中力大小,分析板中应力,当板中某些单元的应力超过某个选定的值时,该板单元设置为“死亡”,其余板继续分析。
核心步骤为:
(1)建立基本悬臂板模型;
(2)建立分析步,施加外荷载,建立Job文件进行计算,提取对应ODB文件中的每个单元应力;
(3)把上一步骤中应力超过设定值的单元标记,设定失效单元集合;
(4)建立一个新的分析步,对上一步骤的中的失效单元集合进行Model change,然后生成一个新的Job文件重新计算,提取新的ODB文件中每个有效单元的应力;
(5)重复(3)(4),直至中止。
其中脚本文件如下(详细文件下载地址为:http://forum.simwe.com/thread-1241669-1-1.html)
核心代码如下(实际代码中无编号):
(1)elemSet =[platePart.elements[int(i)-1:int(i)] for i in highlight_element_list]
(2)platePart.Set(elements=elemSet,name='Set-elements'+repr(k))
(3)region_elementset=plateInstance.sets['Set-elements'+repr(k)]
(4)plateModel.ModelChange(name='Invalid'+repr(k+1),createStepName='Load Step'+repr(k+1),region=region_elementset,regionType=ELEMENTS, activeInStep=False, includeStrain=False)
相关标签搜索:ABAQUS中Model change(生死单元)的循环操作 abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训