在我们分析的各类问题中,经常遇到结构比较复杂计算单元数量比较多的情况,而我们关注的对象却是这复杂结构中的某些相互作用位置或其他某个局部位置。因此如果直接进行分析计算很容易导致计算效率低下,需要的计算机资源比较高,这些对我们分析都是不好的。
在ABAQUS中可以利用子模型的分析方法来处理这一情况,基于从整体到局部的思想,利用子模型对我们需要分析的局部位置进行计算。具体思路如下所述。
如图一个结构,如果我们对连接处的应力等结果比较关注,我们可以先对模型进行较为粗糙的网格划分和计算并保存计算结果待用,之后利用切割的方法将图中虚线内的部分分割出来,对该部分进行网格细化和其他更利于求解精确的处理方式进行处理。
图1 示例模型
同时,在load的other中对submodel设置子模型的边界条件,输入对应自由度及分析步,完成边界设置。
最后,在model下的edit attributes中,选择submodel设置read data from job读取粗糙网格计算结果,提交计算即可。(此处你也可以利用ABAQUS command,在命令窗口中输入abaqus job=xxx inp=xxx.inp globalmodel=xxx.odb int同样能够实现计算的设置和提交)。
为什么能够利用这种方法呢?需要注意什么?
我个人的理解是,因为有限元计算的思想是通过节点来传递信息的,那么在整体模型计算完成的情况下,信息自然也就传递到我们关注的局部位置。只是整体模型中传递而来的信息是比较粗糙的,为了提高我们关注位置的计算精度,我们可以将该部分截取出来,分析这个截取的模型。我们可以设想其表面就是输入通道,这个通道输入来自整体模型计算中传递到这个截取面上的信息,然后驱动这个截取模型(子模型)计算,完成我们想要的分析。
根据这个理解,需要注意的地方就是在输入信息面上的处理,只有保证输入的信息是比较精确的,输出才是更为可信和精确。所以截取面处的边界设置和整体模型的计算和网格划分同样非常重要,必须确保这个边界上没有异常的计算结果。
上述为子模型在ABAQUS中的应用和理解。与之对应的还有子结构,它是基于局部到整体的一种思想。子结构在我看来与多体动力学分析中的刚柔耦合分析有密切关系,下次再做相对详细的介绍。
祝大家中秋节快乐,事业节节高~~