我真心希望是我哪里弄错了。
否则……这结果实在太让人难以理解。
非线性有限元软件的鼻祖,MSC Marc,在简单的大应变分析中,与其他主流软件结果都有极大差异。
今天这篇是一个简短的吐槽。真的,我特别希望有人读完后、验证过之后可以告诉我,不是软件算的不准,是我哪里操作出错了。
不然的话,这个结论实在有些让我不敢相信。
MSC Marc,世界上第一款非线性有限元软件,在简单的线弹性大变形分析中,结果和其他主流软件差异极大。
单轴拉伸试件
就像这样一根单轴拉伸试件。
简简单单,一端固定,另一端用RBE单元抓住部分节点施加强制位移。提取反力。
单元类型主要为六面体,沿垂直屏幕的厚度方向有四层单元。
因为我是在研究生物软组织时需要用到Marc,所以用于试算的参数选了 E=1MPa,v=0.45. 线弹性,均质材料。
在Abaqus中计算完以后,直接用inp文件导入MSC Marc。同样的边界条件计算,对比反力结果。
为了交叉验证,我还试了ANSYS和OptiStruct(OS的结果未列出)。结果如下表。
这个试件,最窄处的总长度大约在120mm左右。可以看到,当位移边界条件超过4mm时,Marc计算出的反力结果就一路狂飙,误差越来越大。
相同的网格,相同的材料,ANSYS、Abaqus、OptiStruct在开启大变形的时候,结果一致性非常好。误差基本没有超过1%。
不止是反力结果,Marc就连计算出的横向变形都和Abaqus不一致。
上面是Marc软件在拉伸30mm时,横向位移云图与反力计算结果。
下图是Abaqus在相同条件下的位移和反力结果。
横向位移,一个0.64mm,一个0.49mm,差的就离谱。
材料参数,都是一样的。
无论是单元类型、还是分析设置,实在是没有太多可调整的地方。
如果说是因为单位制不统一导致结果有差异,那为何在小变形阶段Marc的结果与Abaqus、ANSYS保持一致?
另外,如果同样关闭大变形(即使用小变形公式计算),那么Marc的计算结果与其他软件保持一致。位移30mm时反力大约在9N左右。
开启大变形后,其他三款软件结果一致且反力都有降低;只有Marc在大变形条件下得到了更大的反力(13N)。
案例下载
我实在想不通。除了Marc软件本身计算精度有问题以外,我找不到其他解释。
模型很简单,输入文件下载链接就在这里。不信邪的朋友们可以自己下载试试。见附件
包含四个文件(边界条件可能需要自己打开再确认一下):
.inp文件是Abaqus的输入文件;
.dat是Marc的输入文件;
.mud是Marc的二进制项目文件,软件版本2020;
.fem是对应的OptiStruct输入文件。
ANSYS Workbench的项目文件我就不放了。反正用inp文件导入ANSYS里面很快也可以重复出来。
希望是我哪里弄错了。否则——
MSC Marc就是个垃圾软件!这么简单点东西居然都算不准。
别告诉我它算的是对的,是其他所有软件算错了。什么众人皆醉我独醒啊。
我承认,我用的是和谐版。但可别告诉我因为它是和谐版所以被故意“下毒”了啊……这也太离谱了。
——————
即使确实是我哪里弄错了,我还是要说……Marc这个垃圾软件!
从界面操作上就反人类,GUI长得像个Ribbon风格,实际操作起来麻烦程度跟APDL有得一拼。这么简单一个模型,别人软件是想算错都难,你是怎么算都算不对啊。
垃圾。