iSolver为一个完全自主的面向工程应用的通用结构有限元软件,对标Nastran、Ansys、Abaqus设计和实现,具备结构有限元常用分析类型和单元、材料、载荷等基础算法组件,精度和商软一致。
本次以铝合金支座受力分析为例,演示iSolver的分析流程,并将iSolver和Abaqus计算结果进行对比。
有限元模型如下图所示:
支座采用C3D8R单元模拟,螺栓采用梁单元模拟,梁单元半径为10mm,铝合金采用理想弹塑性本构,材料属性如下图所示:
为简化计算,采用半结构分析,支座底部为固定约束,右侧为对称边界条件:
采用梁单元模拟螺栓,螺栓与螺栓孔采用coupling约束。计算了两种工况:工况1为螺栓处施加5Kn压力,支座顶部施加10Kn压力,根据节点数平均分布在各节点处;工况2为螺栓受拉,用于分析螺栓受拉时该处的力-位移曲线。
分析步设置如下:
本案例将相同模型分别在isolver与Abaqus软件中进行计算并对比。
对于实际的工程问题,往往模型的网格量都很大,很多人都只关注大模型的效率问题,但实际模型的内存消耗问题对自主软件来说一般也很大,而且,内存没规划好直接会拖累效率问题,这种非线性问题,需要分增量步求解,每个增量步内还有多次迭代,对于这种情况:
最大限度的减少物理量的存储,因为物理量基本和节点或者网格数成比例,也和积分点、自由度等正比。譬如100万的网格,对1个普通的张量存储,如果对称的话每个积分点需要存储6个,对于4积分点壳,采用double型存储,那么所需的内存=节点数 张量变量数double型的字节数积分点数=100e4648/1024=187,500Kb=0.1875Gb和Visual Studio中内存监控得到的值完全一致。基本每个物理量的存储就需要耗费0.19G的内存,所以在软件中尽量默认少一些变量输出,其它变量用户可自行选择。譬如iSolver中的静力分析,默认只输出应力、应变、位移(包括平动和转动),然后用户可以选择塑性应变等。
分清增量步之间需要传递和查看的物理场和数据类型,譬如上一个每个积分点增量的应力等需要传递到下一个增量,伪应变能后处理查看只需要每个增量步的一个总值就行,只有那些需要传递和用户需要查看的才要保存。
分清迭代步之间需要传递的数据,迭代步中间过程的临时数据都可以覆盖,譬如迭代步计算需要的应变、应力、位移、塑性应变等,同时注意,迭代步和增量步不一样,迭代步可能会迭代失败,失败时还需能回退到增量步开始时刻重新更改增量大小再次迭代,所以位移当前值的更新只能在迭代成功后才能执行。
其中,第1步减少物理量的存储对后面两步都有影响,尽量越少越好。在该例子中,该模型设置了Plastic材料属性,用户除了常规的应力应变输出要求外,还需要输出塑性阶段的应变判据,即塑性应变张量和等效塑性应变,定义分别如下:
程序判断物体是否进入弹塑性阶段的判断准则称为屈服准则。定义屈服函数f,使其满足:
则 为屈服准则,也称屈服条件。
对于韧性较好的材料,Von Mises屈服条件与试验数据符合较好。对于Von Mises屈服条件,屈服函数有如下定义:
应力张量的二阶不变量 的表达式为 ,因而基于Von Mises屈服准则的塑性流动也被称为 塑性流动。
当应力状态 与应力增量 之和 超过弹性范围时,就会产生塑性应变 。试验结果表明, 的符号与 一致。这表明若 被认为时叠加于应力空间上的塑性应变空间中的一个矢量,那么 就是在弹性范围边界上的外向矢量。所以可将塑性应力增量 表示为
式中, 为非负标量。
相对于直接查看塑性应变的张量结果,用户也可以直接选择查看等效塑性应变,等效塑性应变表示为:
工况1下iSolver与Abaqus的Mises应力云图如下所示:
工况1下isolver与Abaqus的位移云图如下所示:
工况1下isolver与Abaqus的等效塑性应变云图如下所示:
工况2下isolver与Abaqus的Mises应力云图如下所示:
工况2下isolver与Abaqus的位移云图如下所示:
工况2下isolver与Abaqus的等效塑性应变云图如下所示:
工况2螺栓处拉伸得到的力-位移曲线如下:
最大反力均为16.381Kn。
结论:基于iSolver软件对铝合金支座进行了受力分析,对比了其在受压及受拉工况下与Abaqus软件的计算结果。结果显示:应力、位移及等效塑性应变均表现出良好的同一性,模拟螺栓的梁单元处力-位移曲线一致。