Abaqus软件中的单元生死(Model change)和单元删除(Element deletion)
在 Abaqus 中,模拟生死单元需要使用 Model Change 功能。它并不是真正让单元消失,而是通过“抑制”或“重新激活”单元来模拟结构中材料的增加或去除。
主要应用场景包括:
· 焊接与增材制造(逐层填充材料)
· 隧道开挖与基坑施工(分段挖掉土体)
· 断裂与切削(失效后删除单元)
· 施工过程模拟(构件依次安装)
一、Model Change 的基本操作步骤
1. 定义单元集
在 Mesh 或 Part 模块中,为将来需要杀死或激活的单元创建一个 Set(例如命名为 Remove_Element 或 Add_Element)。推荐使用单元集(Element Set),因为 Model Change 默认针对的是单元。
2. 进入 Interaction 模块
点击工具栏中的 Create Interaction,类型选择 Model change。
3. 选择分析步
在 Abaqus/Standard 中,除 了Static, General、Riks 和线性摄动步外,大多数分析步(如静力通用步、显式分析步)都支持 Model Change。
对于 Abaqus/Explicit,需使用 *MODEL CHANGE, TYPE=ELEMENT, REMOVE/ADD 关键词,且显式分析中的单元移除常配合失效准则使用。
4. 指定单元集与操作
在编辑对话框中:
· Region 处选择提前建好的单元集。
· 选项 有两种主要动作:
· Deactivated in this step:在当前分析步“杀死”这些单元。它们不再参与刚度、质量、载荷计算,但后处理中仍可见(通常被隐藏)。
· Reactivated in this step:在当前分析步“激活”之前被杀死的单元。单元被激活时默认应变为零(即从当前构型开始承载,不包含杀死前的变形历史)。
· 高级选项:如果想激活单元时保留杀死前的应变状态,可勾选 Reactivate with Strain。这对于模拟焊接后继续承载等情况很重要,否则激活单元会突然跳到变形前的位置,造成网格扭曲。
5. 提交计算并查看结果
在 Job 模块提交任务。后处理中,被杀死的单元不会显示应力或变形,可以通过调整显示组或逐帧观察单元的出现/消失过程。
二、两种实现方式详解
方式一:人为控制移除与激活
· 用户在每个分析步手动决定哪些单元被杀死、哪些被激活。
· 典型流程:先在一个分析步杀死某组单元(如开挖区),然后在后续分析步中激活另一组单元(如衬砌)。
· 适合模拟分段施工、增材制造中的多层沉积(通过 Python 脚本批量创建大量分析步并控制 Model Change)。
方式二:基于材料失效的自动删除
· 当单元的材料达到设定的失效准则(如最大塑性应变、损伤演化临界值)时,Abaqus 会自动将其删除。
· 这种方法不需要显式使用 Model Change 交互,而是通过材料模型实现:
· 在 Material 模块中定义 Damage 参数(例如 Ductile Damage, Shear Damage),并设置 Damage Evolution 中的 Displacement 或 Energy 以及 Removal 选项(Max Degradation 设为 1 时单元被删除)。
· 对于 Abaqus/Explicit,也可使用 Tensile Failure 或自定义 VUMAT 子程序。
· 后处理中,失效单元会消失,常用于切削、冲击破碎等。
三、重要注意事项
1. 分析步顺序:若要杀死一组单元,该操作必须放在它开始有载荷或边界条件之前的那个分析步。若要在后续激活,也需在激活前设置一个独立分析步。
2. 接触与约束:杀死单元会同时移除其参与的任何接触对或约束。激活时需重新建立接触定义(可在 Model Change 中同时控制接触的 deactivation/reactivation)。
3. 质量与惯量:杀死单元后,其质量也会被移除。对于显式动力学分析,突然移除大量质量可能导致数值不稳定,建议配合质量缩放或平滑过渡。
4. 后处理显示:默认被杀死的单元在云图中不显示。可以通过 Result -> Field Output 勾选 STATUS 变量来查看哪些单元是激活的(值为1)、哪些是被杀死的(值为0)。
5. 大变形影响:激活带有应变的单元(勾选 Reactivate with Strain)时,单元会从杀死前的变形状态开始继续变形。若不勾选,单元会以“部署”后的无应力形态出现,可能到账与周围已变形单元不连续。
四、简单示例(逐层增材制造逻辑)
假设要模拟三层材料的逐层沉积(每一层用一个单元集表示):
· 初始分析步:所有层全部杀死(Deactivated)。
· 第1个分析步:激活第一层(Reactivated)。
· 第2个分析步:激活第二层,同时第一层保持激活。
· 第3个分析步:激活第三层。
实际操作中,可以通过 Python 脚本自动生成上百个分析步和对应的 Model Change,避免手动重复。
夜雨聆风