工欲善其事必先利其器。
因为ABAQUS毕竟是一款通用求解器,虽然在大多数情况下ABAQUS的功能都是够用的,但是涉及到调用子程序的时候,我们就必须要清楚ABAQUS中的计算模式。
上面这个图的意思是一个静态分析,有两个分析步,每一个分析步对应的时间都是1秒,那么总的时间就用STEP(2)来记录,相应的,对于每一个单独的分析步用STEP(1)来记录分析时间。
同时,每一个分析步中都对应不同的增量对应的是图中的Increment,单独一个分析步中增量的和是1。
清楚ABAQUS中分析步的计数与增量之后,再来看计算信息的写入。
对于一般的2D单元(不考虑缩减积分或者其他的算法),有4个节点和4个积分点。
对于一般的3D单元(不考虑缩减积分或者其他的算法),有8个节点和8个积分点。为什么3D单元我没有显示积分节点呢?因为积分节点在单元的内部,所以没有显示。
下面我以下面的简单模型为例,来解释一下ABAQUS当中的数据是如何存储的,只有了解了ABAQUS是如何存储数据的,我们才能更方便直接的提取我们需要的信息。
ABAQUS中的计算也是根据顺序来进行的,这也是为什么单元编号和节点编号那么重要的原因。
如上图所示,首先在计算开始前,ABAQUS首先会记录基本信息,比如分析步的编号,增量的编号,分析步时间,总分析时间,单元编号,单元的积分点标红,单元坐标(ABAQUS当中,单元的节点编号顺序定义了单元的法向)等。
假如是第一个分析步,第一增量大小是0.1,那么基本信息如图所示。然后将这些信息传入到内部进行计算,再输出计算的信息(第一个单元的第一个积分点),计算完毕之后再把信息放在对应的位置上。ABAQUS当中计算信息是以数据条进行存储的,其中具体存储信息对应的位置由KEY值去区别(我记得是KEY值,也可能是record 什么之类的),详细信息可以去帮助文档Abaqus Analysis User's Guide\Output\5.1.2 Results file output format 中去查看。
这个图的意思就是第二个分析步,第一个增量的大小是0.1,可以看到最大的区别是TIME(2)编程了1.1,因为TIME(2)记录的是总的计算时间,同时这也是演示的第一个单元的第三个积分点的部分信息写入。
对于一个完整的模型,ABAQUS就是从第一个单元的第一个积分节点开始,然后是第二个积分节点,直至最后一个积分节点去进行计算与信息的写入。第一个单元计算完毕之后进行第二个单元,以此类推完成所有单元的计算,并以Fortran的格式写入到结果文件。
以上就是对ABAQUS的计算与信息录入的一个简单介绍,因为我也是察觉自己语言组织能力不行,所以来这里进行锻炼的,如果有疑惑不解的地方大家也可以去油管当中去搜一下,油管里面也有关于ABAQUS子程序的一些介绍。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删