负体积是由于单元畸变引起的, 当单元本身变形过大或者不合理时, 某个或某些节点穿透所属单元的面跑到外面, 接着变产生负体积。
负体积产生和时间步设置、 网格质量、 材料、载荷条件、 接触等都可能有关系, 可能的原因和解决的方法大概有几种:
1) 材料设置参数有问题, 选择合适的材料模型, 并注意单位的协调;
2) 网格质量不好。 高质量的网格可以使之能容纳更大的变形从而防止负体积的发生,建议在容易出现大变形的地方细化网格;
3) 时间步长设置不够合理。 默认的时间步长因子 0.9 可能对防止数值计算的不稳定 不够有效, 减少步长因子(比如从 0.9 减小到 0.6 或者更小), 可以防止负体积的产生, 这是一个有效的方法;
4) 太高的局部接触力。 不要将力施加在单一节点上, 最好分散到几个节点上以压力的方式等效施加;
5) 使用全积分实体单元。 在大变形和大扭曲情况下, 全积分单元相对于单点积分单元计算不够稳定, 因为一个负雅克比行列式可以在意个积分点发生, 所以全积分单元比单点积分发生负的雅克比行列式更快。 建议使用默认的单元方程式(单点积分) 加上沙漏控制。
6) 接触设置不合理。 单面搜索的接触形式相对于双面搜索虽然节省了计算时间, 但很容易因为面的方向不正确而导致负体积的产生, 因此在不能确定面的方向时建议使用双面搜索。 另外, 适当提高接触刚度也可以防止负体积的产生。
7) 另外也可以采用 ALE 或者 EULER 单元算法, 用流固耦合功能代替接触, 控制网格质量, 例如承受压力的单元在受压方向比其他方向尺寸长。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删