问题描述:
有些工况中需要施加弹簧,这里给大家介绍分别在两种工况下,在LS-DYNA中施加弹簧的方法。第一种工况,弹簧在自由状态时,下压5mm;第二种工况,弹簧初始情况为已下压5mm时,先向上拉50mm后,在向下压50mm。
关注公众号:CAE备忘录,回复spring可获得本文k文件。
第一种工况:
初始状态的弹簧是自由状态,给定平板向下的位移,最后得到弹簧受力。该工况介绍了在LS-dyna中怎样施加弹簧单元,并验证其结果的正确性。
材料设置:两个平板是塑性材料*MAT_ELASTIC(001),弹簧用特定弹簧材料*MAT_SPRING_ELASTIC(S01),刚度K=500 N/m^2。
设置单元的截面属性:普通实体单元用*SECTION_SOLID,弹簧单元用离散截面*SECTION_DISCRETE。
将材料属性和截面属性赋予每个零件:
创建弹簧两端的节点,如果直接选择单独的两个节点会造成弹簧的力全部作用在这两个点上,这是不符合实际的,所以这里将上下两个平面的节点做两个CNRB,让平板上的点等同于一个点,这样的受力是平板的整个面受力。Model > CreEnt > Constrained >Nodal Rigid Body(CNRB) > Cre > ByElem & Prop > 点选平板的面 > Apply
设置弹簧单元:
这时候弹簧单元不会显示出来,需要重新Renumber,然后再点击Model < Selpart < 勾选Disc.
设置边界条件:
上平板,需要对其施加一个强制位移,其中需要添加一条加载曲线(横坐标表示时间),在SF中输入0.05,表示下移50mm,虽然曲线中是到1s,但我在终止时间中只设置了0.1s,因此最终的结果应该是5mm。
下平板固定不动
输出设置:
在ELEMENT_DISCRETE中的PF=0表示可以输出离散单元的受力,因此,在DATABASE中ASCII_option添加DEFORC。
后处理:
最后上平板的下移距离为0.005m
上平板的受力情况:
最终的受力为2.5N,而我们开始设置的弹簧刚度为500N/m^2,与下移距离的乘积也是2.5N,因此可以认定该弹簧单元设置成功。
第二种工况:
弹簧的初始状态为已下压5mm,弹簧的刚度不变,对弹簧施加向上50mm的强制位移之后,再向下施加50mm的位移,使其回到初始位置,最后验证弹簧受力情况是否符合实际。这里将终止时间改小一点会算的更快,因此,我将终止时间设为0.02.
因此,所有关于时间的关键字都需要重新设定。
首先,弹簧材料改为*MAT_SPRING_NONLINER_ELASTIC(S04),其中需要添加一条关于位移和受力的曲线,设置为如下:
更改加载时间曲线:
更改位移方向,只需修改SF的值,从0.05改为-0.05:
修改终止时间:
修改输出结果的时间间隔:
后处理结果:
受力的正负号表示受力方向,可以从图中发现,当向上拉5mm之后,受力的方向改变了,并再向上拉了45mm,受力达到-22.5N,最后也回到原位,根据这个受力图,可以验证弹簧在给定与压力的工况下,受力正常。
学习的感悟:
不感兴趣的同学可以直接忽略。
第一种工况是一个比较简单的工况,这个过程是我当时探索设置弹簧的第一小步,验证这个结果的方法就是利用胡克定律F=KX,给定的边界条件是将平板下压5mm,计算完成后会得到这个弹簧的受力,当这个受力满足F=KX时,则结果正确。这个过程中需要找到一个输出弹簧力的关键字,开始就简单的想,将平板上的点或者单元的力提取出来不就行了,然后,我尝试了输出ELOUT,NCFORC,RCFORC,SPCFORC,发现都没有输出我想要的结果,最后通过查找关键字手册,找到了DEFORC可以输出离散单元的受力,而弹簧单元正是这种离散单元,从而输出了我想要的结果。下面是我学习新软件的方法,因人而异,仅供参考,希望你能找到自己的学习方法。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删