ABAQUS中给节点集合施加集中力,当采用动力隐式、固定增量步长计算的时候,关键字“cload”后面的荷载数值,并不是所有增量步的荷载总和数值,事实上是每一个增量步计算中,ABAQUS施加在结构上的荷载数值,即荷载总数为“cload”后的数值与增量步数的乘积。
壹
问题引入
我们想要给一个节点集合施加荷载,step部分的inp文件如下:
Step,name=Step-1,nlgeom=NO,inc=10*Dynamic,direct0.1,1,*BoundarySet-1,1,1Set-1,2,2*CloadPart-1-1.forced,1,10.*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep采用动力隐式算法,计算总时长为1,固定增量步长为0.1,总增量步为10。
下面的“cload”关键字中,“part-1-1.forced”是节点集合,10为荷载的幅值。
依据增量迭代法的实现流程,我猜测ABAQUS的计算流程是这样的:abaqus依据cload给出的荷载数值,按照增量迭代的计算方法,在每一个增量步计算中,将一定量的荷载施加在结构上,当增量步满足收敛判断时,进入下一个增量步,在下一个增量步中,abaqus再次将一定量的荷载施加在结构上,当下一个增量步满足收敛判断时,再次开始一个新的增量步,依次类推,一直将荷载叠加代cload关键字后面给出的荷载数值且收敛时,计算结束。
但是,事实上不是这样的,关键字cload后面的数值并不是总的荷载数值,准确来说,在动力隐式、固定增量步长计算中,这个荷载数值是abaqus在每一个增量步计算中都会施加在结构上的荷载数值。
贰
算例验证
设计平面板水平拉伸算例,尺寸35x10,弹性模量:2e15,密度2400,泊松比0.25,荷载以及边界条件爱你如下图:左端全固定,右端水平拉伸。
网格图如下:
对上述算例设置四种工况
动力隐式,固定增量步长,固定时长0.1,计算总时长1,增量步总数10动力隐式,固定增量步长,固定时长0.1,计算总时长0.3,增量步总数3动力隐式,固定增量步长,固定时长0.1,计算总时长0.6,增量步总数6动力隐式,固定增量步长,固定时长0.1,计算总时长0.9,增量步总数9下面是四种工况的inp文件介绍。
对于第一种工况:动力隐式,固定增量步长,固定时长0.1,计算总时长1,增量步总数10,分析步inp如下:
*Step,name=Step-1,nlgeom=NO,inc=10*Dynamic,direct0.1,1.,*BoundarySet-1,1,1Set-1,2,2*CloadPart-1-1.forced,1,10.*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep对于第二种工况:动力隐式,固定增量步长,固定时长0.1,计算总时长0.3,增量步总数3,分析步inp如下:
*Step,name=Step-1,nlgeom=NO,inc=3*Dynamic,direct0.1,0.3,*BoundarySet-1,1,1Set-1,2,2*CloadPart-1-1.forced,1,10.*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep对于第三种工况:动力隐式,固定增量步长,固定时长0.1,计算总时长0.6,增量步总数6,分析步inp如下:
*Step,name=Step-1,nlgeom=NO,inc=6*Dynamic,direct0.1,0.6,*BoundarySet-1,1,1Set-1,2,2*CloadPart-1-1.forced,1,10.*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep对于第四种工况:动力隐式,固定增量步长,固定时长0.1,计算总时长0.9,增量步总数9,分析步inp如下:
*Step,name=Step-1,nlgeom=NO,inc=9*Dynamic,direct0.1,0.9,*BoundarySet-1,1,1Set-1,2,2*CloadPart-1-1.forced,1,10.*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep假如关键字cload后面的荷载数值为施加在结构上所有增量步的荷载总和数值,理论上分析,最终的水平向位移数值应是相同的。
下面最终的计算结果,水平向位移云图:上面一行左边是第一工况,右边是第二工况,下面一行左边是第三工况,右边是第四工况。
这是四种工况第1个增量步结束后的水平向位移云图,可以发现,计算结果完全相同。
下面再比较四种工况第2增量步结束后的水平向位移云图:
这是四种工况第2个增量步结束后的水平向位移云图,可以发现,计算结果完全相同。
可以发现,计算结果完全相同。
下面再比较四种工况第8增量步结束后的水平向位移云图:注意第二和三工况到0.6均结束,因此仅比较工况一和四。
下面再比较四种工况第9增量步结束后的水平向位移云图:注意第二和三工况到0.6均结束,因此仅比较工况一和四。
叁
结论
在动力隐式计算中,采用固定增量步长时,关键字“cload”后面的荷载幅值,并不是ABAQUS并不是ABAQUS施加在结构上所有增量步的荷载总和数值,而是每一步都会施加在结构上的荷载。
肆
推广与讨论
那么这个结论适不适用于位移边界条件呢?再次设计算例。将上述算例的右端受水平拉力改为受数值向上的位移,位移数值设置为2,如下图所示:
仅将上文中的荷载边界条件改为位移边界条件,其余不变。则分析步的inp文件为
*Step,name=Step-1,nlgeom=NO,inc=10*Dynamic,direct0.1,1.,*BoundarySet-1,1,1Set-1,2,2*BoundaryPart-1-1.forced,2,2,2*Restart,write,frequency=0*Output,field,variable=PRESELECT,frequency=1*Output,history,variable=PRESELECT*EndStep仍然设置四个工况,分别为:
动力隐式,固定增量步长,固定时长0.1,计算总时长1,增量步总数10动力隐式,固定增量步长,固定时长0.1,计算总时长0.3,增量步总数3动力隐式,固定增量步长,固定时长0.1,计算总时长0.6,增量步总数6动力隐式,固定增量步长,固定时长0.1,计算总时长0.9,增量步总数9假如上述结论可以推广到位移边界条件中,这四个工况的计算结果应该是不相同的,下面是竖直向位移云图:
下面是水平向位移云图:
下面是第一主应力云图:
对比上述结果,发现四工况计算的各种物理量均相同,因此,上述结论不适用于位移边界条件,事实上,稍微动脑子想一下就知道,我们已经给模型施加了位移边界条件,这就相当于我们已经确定了模型的最终位移构型,而应力、应变等物理量都是根据位移构型计算出来了,最终的结果当然是相同的!但是想明白这一点并不能最为探索的终点,我们还要得到位移边界条件的加载法则!
可以发现工况二、三和四完全相同,而工况一的0.3333....时刻可通过插值得到,下面是工况一0.4时刻的位移云图: