Too many attempts made for this increment,复合材料渐进损伤分析里Standard又卡住了。每次都这样,一加Hashin准则和损伤演化,收敛就成玄学。
Property → Material → Elastic → Engineering Constants,下面挂Hashin Damage和Damage Evolution,再往下Cohesive Behavior和Damage Stabilization。E1取120-180 GPa,E2取8-12 GPa,G12取4-7 GPa,ν12取0.2-0.3。纤维拉伸强度XT取2200 MPa,压缩强度XC取1500 MPa,横向拉伸强度YT取50 MPa。Alpha默认0.0对应Hashin 1980模型,改成1.0就是Rotem模型。Hashin准则不能用于实体单元,只能用壳或连续壳。Damage Evolution用Energy类型,输入断裂能Gf。
Create Composite Layup之前先定单元类型,Conventional Shell、Continuum Shell、Solid三选一。常规壳用S4R,同一般壳单元划分,适合薄壁层合板。连续壳用SC8R,必须用扫掠网格划分,扫掠方向就是铺层堆叠方向,用Redefine Sweep Path重新定义,厚度方向只允许一层单元。实体单元默认3D Stress,网格属性和连续壳一样。选Solid然后铺层,不是不行,但薄板结构用实体单元长宽比会很恶劣。层合板边缘的层间应力,连续壳算出来比实体单元差一点,但对薄板来说效率高得多。

铺层定义的时候,铺叠方向从顶面还是底面开始必须明确。铺层角正负混淆是最常见的问题,0°/90°铺层如果顺序搞反了,拉弯耦合刚度矩阵全错。局部的材料坐标系和全局坐标系的关系,在创建Layup的时候要指定Reference Surface,中面、顶面还是底面。曲面结构用离散方向(Discrete Orientation),不能用笛卡尔坐标系,方向矢量要随曲面连续变化,不然纤维方向突变。
有一次算一个碳纤维层合板开孔压缩,铺层顺序[0/45/-45/90]s,孔边应力集中明显。提交之后跑了六个小时,msg里全是“local-1 direction has zero length”,检查发现曲面过渡区的材料方向定义失效了。当时刚过完年回来上班,办公室暖气烧得太足,整个人昏昏沉沉的。以为是网格问题,把孔边网格从2mm加密到0.5mm,算得更慢了,报错一样。后来把曲面分区,每块单独定义离散方向,问题解决,时间已经耗掉了两天。
Cohesive单元用来模拟层间分层,双线性本构加BK失效准则。损伤起始用二次应力准则,法向强度Nmax和切向强度Smax、Tmax,损伤演化用BK准则,η取1.5左右,GIc、GIIc从材料手册查。Cohesive单元厚度设0.01mm,太薄网格会畸变,太厚影响刚度。层间插入Cohesive需要在铺层定义里手动加一层,材料属性单独定义。如果用Surface-based Cohesive替代,Interaction → Special → Cohesive → Surface-based,不需要建单元,适合层间界面不太复杂的模型。复杂分层路径还是插实体Cohesive单元更可控。
收敛调参上,Damage Stabilization的黏性系数取1e-6到1e-5 Pa·s,只在这个范围内有效。大于1e-4损伤演化会被过度平滑,峰值载荷偏高,曲线偏缓。*CONTROLS, PARAMETERS=TIME INCREMENTATION里把平衡迭代次数从默认的5次提到15次,I₀改到12,Iᵣ改到10,给求解器更多机会。网格从粗到细逐步加密,先用5mm算通,再改到2mm和1mm,每步确认收敛。Standard实在收不住的时候,用*DYNAMIC, EXPLICIT做准静态,加载时间拉到一阶模态周期的10倍以上,ALLKE/ALLIE控制在5%以内,同时开质量缩放但别超过1e-5量级。
后处理输出单层结果,Field Output Request里展开Stresses和Strains,S和E都勾上,输出位置选All Section Points in All Plies。损伤分析记得把SDV勾上,不然看不到损伤变量演化。包络图Envelope Plot可以找出所有铺层里的最大值和对应层号。*ELEMENT OUTPUT, SDV。D:\temp\composite\Job-1.odb
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删