LS-DYNA使用指南中文版本 第4章 加载
2012-04-05 11:29阅读:
第四章 加载
当模型建好后,下一步就是给结构加载为求解作准备,为了能正确地模拟结构的响应,就必须定义与指定时间间隔相对应的载荷,本章将讲述以下有关加载的几个方面:
·一般加载选项
—使用 component 或
PART IDs 和数组参数
—如何施加、删除、显示一般载荷[ EDLOAD
]
—如何绘制载荷曲线[
EDPL]
—如何定义数据曲线[ EDCURVE
]
—如何显示或隐藏载荷标记
·约束和初始条件
—如何在ANSYS/LS-DYNA中施加约束[
D ,EDNROT
]
—如何定义滑移和循环对称平面[ EDBOUND
]
—如何定义混合型约束[ EDCNSTR
]
—如何定义焊点[ EDWELD
]
—如何给模型施加初始速度[ EDVEL
,EDPVEL ]
·耦合和约束方程
—自由度耦合[ CP ]
—自由度间的约束方程[ CE
]
·非反射边界[ EDNB ]
·温度载荷
·动力松弛
4.1 一般载荷选项
与许多隐式分析不同的是,显示分析中的所有载荷必须与时间有关。因此,在ANSYS/LS-DYNA中,许多标准的ANSYS命令都是无效的。在ANSYS/LS-DYNA中,尤其不能使用
F , SF ,
BF 系列命令,因为它们只能定义与时间无关的载荷。此外,
D
命令只能定义节点约束。基于上述原因,在ANSYS/LS-DYNA中用一对数组参数定义载荷(一个用来定义时间,另一个定义载荷)。
注意 --虽然节点加速度(A
x ,A y ,A
z )和节点速度(V x ,V
y ,V z
)以自由度出现,但它们不是物理自由度,不能使用 D 命令约束。要采用
EDLOAD 命令给这些节点施加载荷。
在ANSYS/LS-DYNA中,所有载荷都是在一个载荷步内施加的。这和隐式分析有很大的不同,它在多个载荷步内施加载荷。在ANSYS/LS-DYNA中,对于一些特定的载荷,也可以用
EDLOAD 命令指定何时施加(birth
time)、何时去除(death time)。请参考
EDLOAD 命令中的Birth Time,Death
Time和CID,检验birth/death
time的适用性。
给模型施加载荷,需遵循以下步骤:
·把模型中受载的那部分定义成Component(或PART,用于刚体)
·定义包含时间间隔和载荷数值的数组参数
·定义载荷曲线
·如果不是在整体坐标系中加载,需要用 EDLCS
命令定义载荷方向
·模型加载
4.1.1 组元
除给刚性体加载外,显式分析中所有载荷都施加到Component上。因此,第一步就是把模型中受载的那部分组合成Component,每个Component应由模型中承受同样载荷的部分组成。并且可以通过材料本构、模型中位置、预期状态等联系在一起。
例如,想要分析一个棒球撞击到墙上的结果,可以定义球上的节点为一个Component,球棒上的节点为另一个Component,墙上的节点为第三个Component。
可以定义任意多个Component,然后给每一个Component加载,Component必须由节点或单元组成(只有当施加压力载荷时Component才由单元组成)
定义Component时,首先要选择Component中想要包含的部分,然后使用GUI中的下列菜单路径来定义Component(CM):Utility
Menu>Select>Comp/Assembly>Create
Component
关于Component的详细信息,参见《ANSYS Analysis
Guide》中的Selecting and
Components。对于刚性体,载荷一般都施加到PART号上,而不是Component上。这是因为当使用命令
EDMP
,RIGID,MAT定义刚性体时已经包含有一系列节点和单元。
4.1.2 数组参数
值得注意的是,显式动态分析中,载荷在一些特定时间间隔内施加到结构上,这样就可以观察在特定时间段里施加载荷后模型的瞬态行为。因此,不仅需要定义施加载荷的类型(FX,FY,FZ,ROTX,ROTY,ROTZ等),同时也需要定义载荷施加到结构上的时间间隔值。
时间间隔值和其相对应的载荷值组合在一起定义为数组参数。这些参数必须定义为两部分,第一部分为时间间隔值,第二部分为载荷值,载荷应与时间间隔相对应。在GUI中,采用菜单路径来定义一个数组参数:Utility
Menu>Parameters>Array Parameters>Define
/Edit.
有关如何定义数组参数的详细信息,参看《ANSYS APDL Programmer’s
Guide》中的Array Parameters。
注意
--可以通过线性插值得到中间时间点的载荷值。指定时间范围外的载荷值不能由程序插入。因此,必须保证载荷时间范围至少等于求解时间。否则,由于过早的去除载荷求解结束时的结果将会变为无效值。
一旦定义了能代表载荷的数组参数,这些载荷与时间有关,就可以直接用 EDLOAD
命令输入参数定义载荷。或者,可以用 EDCURVE
命令输入参数来定义载荷曲线。相对应的载荷曲线ID可用 EDLOAD
命令输入。
为说明数组参数的应用,考虑前面提过的棒球例子。想要考察从击球瞬间到击球一秒钟后球的变形。假定位移是时间的已知函数,球刚碰撞时的初始速度为1600in/sec(91MPH)。
首先需要定义一些节点组元,用它们来定义载荷和接触面。建立一个Component,它包括球上的所有节点,取名为ball。对这个Component施加一个1600in/sec的初始速度(
EDVEL
),(本章后面再讨论)。然后再创建第二个组元,它仅包括球表面上的所有节点,取名为ballsurf.这个Component以后将用于接触定义。还需定义第三个Component,它包括球棒表面上的节点,取名为batsurf,接触算法将在第六章接触表面中讨论。
nsel,s,node,… !选择组成球的所有节点
cm,ball,node
!定义Component为ball
nsel,s,node,… !选择组成球表面的所有节点
cm,ballsurf,node
!定义Component为ballsurf
nsel,s,node,… !选择球棒表面的所有节点
cm,batsurf,node
!定义Component为batsurf
nsel,all
现在选择球棒基座上的节点(bathand),对它施加一个位移时间载荷曲线。
定义一名字为time的数组来存储时间值。使用时间值要与模型的所有载荷、维数以及材料性质相协调。其次,定义一个数组,包括Component
bathand相应的X位移值,命名为Xdisp.同样定义数组Ydisp和Zdisp,以包含球棒相应的Y位移和Z位移值。
nsel,s,node,… !选择球棒基座上的节点
cm,bathand,node
!定义Component为bathand
nsel,all
*dim,time,,4
!定义数组参数为time的维数
*dim,xdisp,,4
!定义数组参数为xdisp的维数
*dim,ydisp,,4
!定义数组参数为ydisp的维数
*dim,zdisp,,4
!定义数组参数为zdisp的维数
time(1)=0,0.25,0.5,0.75,1 !给定位移的时间值
xdisp(1)=0,-1,-2,-1,3
!球棒的X位移
ydisp(1)=0,1,2,3,4
!球棒的Y位移
zdisp(1)=0,3,6,8,9
!球棒的Z位移
给出的例子实际是一个比较复杂的现象的简化模型。更加精确地模拟,应该定义额外的位移位置(和相应的载荷曲线)以更好的模拟球的真实运动。另外,球棒上各节点的初始速度是不同的。最后,球是一些不同材料和材料模型的复合体。
4.1.3 施加载荷
一旦定义好Component和数组参数,就可以给建立的模型加载(
EDLOAD
命令)。在GUI中,可以选择下列菜单路径:Main
Menu>Solution>Loading Options>Specify
Loads.
可以选择增加载荷(EDLOAD中ADD标号),如力、力矩、节点加速度、表面压力等,所有的载荷都用
EDLOAD 命令施加到整体笛卡尔坐标系上,此为其缺省值。
GUI的对话框将列出所有有效载荷,以及先定义好的Component和数组参数。只需简单地选择所需的载荷标号,以及Component(刚体的PART号)和数组参数集合(预先定义的载荷曲线号)。值得注意的是,如下表所示的那样,并不是所有的载荷标记都适用于所有Component或PART号。
以下的载荷标记只适用于节点Component:
力:FX,FY,FZ
力矩:MX,MY,MZ
位移:UX,UY,UZ
转角:ROTX,ROTY,ROTZ
速度:VX,VY,VZ
节点加速度:AX,AY,AZ
体加速度:ACLX,ACLY,ACLZ
角速度:OMGX,OMGY,OMGZ
温度:TEMP
注
--虽然V(X,Y,Z)和A(X,Y,Z)作为DOFs出现,它们实际上不是物理DOFs。然而,这些量是被计算作为DOF求解和存储以用于后处理。
以下的标记只适用于刚性体(部件号)
力:RBFX,RBFY,RBFZ
力矩:RBMX,RBMY,RBMZ
位移:RBUX,RBUY,RBUZ
转角:RBRX,RBRY,RBRZ
速度:RBVX,RBVY,RBVZ
角速度:RBOX,RBOY,RBOZ
以下标记只适用于单元Component:
压力:PRESS
回到前面的棒球例子,需由time和x/y/z disp数组参数用
EDLOAD 命令自动生成位移与时间的载荷曲线。
edload,add,ux,,bathand,time,xdisp
!球棒的x位移
edload,add,uy,,bathand,time,ydisp
!球棒的y位移
edload,add,uz,,bathand,time,zdisp
!球棒的z位移
另一种方法,很刚硬的棒球可以模拟为刚体,以简化所需输入数据和减少CPU时间。对于这种情况,对应刚体载荷可以施加有效的PART号(不是节点Component).
edload,add,rbux,,2,time,xdisp
!x位移(如果球棒的PART号为2)
edload,add,rbuy,,2,time,xdisp !y
位移(如果球棒的PART号为2)
edload,add,rbuz,,2,time,xdisp
!z位移(如果球棒的PART号为2)
如果已知球棒对球碰撞的压力是时间的函数,则可以不定义任何接触表面就能实现加载。取而代之用带“PRESS”标号的
EDLOAD
命令对包含球表面单元的组元Component加载。
edload,add,press,1,cover,battime,batload
在这种情况下,在面号1上对单元组元cover加载(在KEY域输入面号),其载荷曲线是由battime和batload数组参数产生的。
特别要提出的是,在上例中,仅仅压力载荷采用 EDLOAD
命令的LKEY域。LOAD
keys(1,2,3等)与面载荷有关,在《ANSYS Elements
Reference》中每种单元类型在输入数据表“surface
loads”中列出。对于许多非压力的载荷,可以使用KEY域定义坐标系标号CID。载荷将作用于用
EDLCS
命令定义的CID的方向上,或者说,如果没有指定CID,就作用于整体坐标系上。详细信息请参看§4.1.5Defining
Loads in a Local Coordinate System。
注意
--为避免某些平台的定时问题,通常是加一个小的时间值(如1.0&time