5.3 施加约束与载荷
施加载荷可以同时使用实体模型加载与有限元模型加载两种方式,用户可依据分析对象的特点,选择合适的加载方式,尽量保证加载过程简洁、清晰,以便进行后续分析。
1.节点自由度约束及相关命令
1)对节点施加自由度约束。
D命令。
NODE:施加约束的节点编号,其值为ALL或组件名。
Lab:自由度标识符,如UX、ROTZ等。如果该值为ALL,则为所有适合的自由度。
VALUE:自由度约束位移值或表格型边界条件的表格名称。
VALUE2:自由度约束位移值的第二个数。例如,在输入复数时,VALUE为实部,VALUE2为虚部。
NEND、NINC:节点的编号范围和编号增量,默认设置为NEND=NODE,NINC=1。
Lab2、Lab3、Lab4、Lab5、Lab6:其他自由度标识符,VALUE对这些自由度也有效。各自由度的方向可以根据节点坐标系确定,转角约束位移用弧度表示。
2)对节点施加对称自由度约束。
DSYM命令。
Lab:对称标识符。如果该值为SYMM,则生成对称约束;如果该值为ASYM,则生成反对称约束。
Normal:约束的表面方向(一般垂直于参数KCN坐标系中的坐标方向)标识,其值如下。
● X(默认):表面垂直于X轴,在非直角坐标系中为R轴方向。
● Y:表面垂直于Y轴,在非直角坐标系中为Θ轴方向。
● Z:表面垂直于Z轴,在球和环坐标系中为Φ轴方向。
KCN:用于定义表面方向的整体或局部坐标系的参考号。
Normal值及其约束如表5-3所示。
表5-3 Normal值及其约束
对称约束与反对称约束的功能如下。
● 对称约束:约束对称面的法向平移和绕对称面两个切线的转角。
● 反对称约束:约束绕对称面法线的转角和沿对称面两个切线的平移。
2.关键点自由度约束及相关命令
1)对关键点施加自由度约束。
DK命令。
KPOI:关键点编号,其值为ALL或组件名。
KEXPND:扩展控制参数。如果该值为0,则仅对关键点上的节点施加约束;如果该值为1,则对关键点之间(包含这两个关键点)的所有节点上施加约束,约束位移值相同,其他参数含义与D命令中相应参数的含义相同。
2)关键点自由度约束列表。
DKLIST命令。
该命令可以列出关键点KPOI(其值为ALL或组件名)上的自由度约束。
3)删除关键点自由度约束。
DKDELE命令。
该命令可以删除关键点KPOI(其值为ALL或组件名)上的自由度约束Lab(可以为ALL)。
3.线自由度约束及相关命令
1)对线施加自由度约束。
DL命令。
LINE:线编号,其值为ALL(默认)或组件名。
AREA:包含该线的面编号。如果对称与反对称面垂直于该面,并且线位于对称或反对称面内,那么默认为当前选择面中包含该线的最小编号。如果不是对称或反对称约束,则此面编号无意义。
Lab:自由度标识符,其值如下。
● SYMM:对称约束,按DSYM命令的方式生成。
● ASYM:反对称约束,按DSYM命令的方式生成。
● UX,UY,UZ,ROTX,ROTY,ROTZ,WRAP:各自由度约束。
● ALL:所有适合的自由度约束(与单元相关)。
VALUE:自由度约束位移值或表格型边界条件的表格名称。表格型边界条件仅对UX、UY、UZ、ROTX、ROTY、ROTZ有效,并且VALUE的输入格式为%tabname%(tabname为表格数组名)。
VALUE2:仅对FLOTRAN分析有用,对结构分析无意义。
该命令可以对线LINE上的所有节点施加自由度约束。
2)线自由度约束列表。
DLLIST命令。
该命令可以列出线LINE(其值为ALL或组件名)上的自由度约束。
3)删除线自由度约束。
DLDELE命令。
该命令可以删除线LINE(其值为ALL或组件名)上的自由度约束Lab(可以为ALL)。
4.对面施加自由度约束
1)对面施加自由度约束。
DA命令。
AREA:施加约束的面编号,其值为ALL或组件名。
其他参数含义与DL命令中相应参数的含义相同。
该命令可以对面上的所有节点施加自由度约束。
2)面自由度约束列表。
DALIST命令。
该命令可以列出面AREA(其值为ALL或组件名)上的自由度约束。
3)删除面自由度约束。
DADELE命令。
该命令可以删除面AREA(其值为ALL或组件名)上的自由度约束Lab(可以为ALL)。
5.约束转换命令
1)仅转换自由度约束。
DTRAN命令。
2)转换自由度约束和载荷。
SBCTRAN命令。
上述两个命令可以将施加于几何模型上的约束和载荷转换到有限元模型上。可以不执行这两个命令,在求解时系统可以自动转换。
6.自由度约束的冲突
使用DK、DL和DA命令施加的自由度约束可能会发生冲突。例如:
● 使用DL命令施加的自由度约束会与在相邻线(有公共关键点)上使用DL命令施加的自由度约束冲突。
● 使用DL命令施加的自由度约束会与在任意一个关键点上使用DK命令施加的自由度约束冲突。
● 使用DA命令施加的自由度约束会与在相邻面(有公共关键点和公共线)上使用DA命令施加的自由度约束冲突。
● 使用DA命令施加的自由度约束会与在任意一条线上使用DL命令施加的自由度约束冲突。
● 使用DA命令施加的自由度约束会与在任意一个关键点上使用DK命令施加的自由度约束冲突。
按下列顺序将施加到几何模型上的自由度约束转换到有限元模型上:
(1)按面编号增加的顺序,将使用DA命令施加的自由度约束转换到面上的所有节点上。
(2)按面编号增加的顺序,将使用DA命令施加的SYMM或ASYM约束转换到面上的所有节点上。
(3)按线编号增加的顺序,将使用DL命令施加的自由度约束转换到线上的所有节点上。
(4)按线编号增加的顺序,将使用DL命令施加的SYMM或ASYM约束转换到线上的所有节点上。
(5)将使用DK命令施加的自由度约束转换到关键点上的所有节点上。
所以,对冲突的约束,DK命令改写DL命令,DL命令改写DA命令,施加于较大编号图素上的约束改写较低编号上的约束。这种冲突的处理与命令执行的前后顺序没有关系,但当发生冲突时,系统会发出警告信息。
7.施加集中载荷
结构分析中的集中载荷及其标识符为力(FX、FY、FZ)及力矩(MX、MY、MZ)。集中载荷的相关命令如表5-4所示。
表5-4 集中载荷的相关命令
1)对节点施加集中载荷。
F命令。
NODE:节点编号,其值为ALL或组件名。
Lab:集中载荷标识符,如FX、FY、FZ、MX、MY、MZ。
VALUE:集中载荷值或表格型边界条件的表格名称。
VALUE2:集中载荷值的第二个数。例如,在输入复数时,VALUE为实部,VALUE2为虚部。
NEND、NINC:节点编号范围和编号增量。
2)对关键点施加集中载荷。
FK命令。
其中KPOI为关键点编号,其值为ALL或组件名。其他参数的含义与F命令中相应参数的含义相同。
无论在何种模型上施加集中载荷,都与节点坐标系有关。
如果尚没有生成有限元模型,那么节点不存在,对节点坐标系操作无效,所施加的载荷仅与总体坐标系有关。
如果几何模型和有限元模型同时存在,则节点坐标系的设置有效。在模型上施加载荷,如果节点坐标系重新设置了,则载荷也会发生改变。所以在改变节点坐标系时应慎重,尽量避免出现错误。
8.施加面载荷
结构分析中的面载荷为压力,其标识符为PRES。虽然线分布载荷和面分布载荷都称为压力,但对于不同的单元类型,载荷单位也不尽相同。
对于2D面单元,无论是将面载荷施加于单元边上,还是将面载荷施加于边界线上,其载荷单位格式都是“力单位/面积单位”。对于SHELL单元,施加面法向的面载荷单位格式为“力单位/面积单位”,而单元边或单元边界线上的面载荷单位格式为“力单位/长度单位”。
对于梁单元,其分布载荷单位格式为“力单位/长度单位”,单元端部载荷的单位与力的单位相同。
对于3D实体单元,其面载荷的单位格式为“力单位/面积单位”。
面载荷的相关命令如表5-5所示。
表5-5 面载荷的相关命令
续表
1)对节点施加面载荷。
① 对节点集施加面载荷。
SF命令。
Nlist:节点列表,其值为ALL或组件名。
Lab:面载荷标识符,结构分析为PRES。
VALUE:面载荷值或表格型面载荷的表格名称。
VALUE2:在输入复数时,VALUE为实部,VALUE2为虚部。
对于单个节点,不能使用该命令。
对于3D体单元面,根据Nlist节点集可以确定多少个单元面,就对多少个单元面施加载荷(与几何面无关),与单元是否被单独选择无关。利用该命令可以解决大面上的局部加载问题。
对于2D面单元,当在单元外部边界(不是单元边)上施加载荷时,可以只选择外部边界上的节点集;当节点集不在单元外部边界上时,需要单独选择包含这些节点的单元,否则不会施加载荷。面载荷的方向与单元面平行,并且指向单元面边界。因此,在对单元周边施加相同面载荷时比较简单,也可以对单元任意一条边施加面载荷,但稍微麻烦些。
② 定义节点编号与面载荷的函数关系。
SFFUN命令。
Lab:面载荷标识符,结构分析为PRES。
Par:储存面载荷值的参数(数组参数)名。
Par2:在输入复数时,Par为实部,Par2为虚部。
使用该命令可以定义节点编号与面载荷的函数关系,数组中值的位置(数组下标)表示节点编号,数组值表示面载荷的大小。该命令在施加由其他软件计算出的节点面载荷时比较有用。对于ANSYS 2020自动生成的有限元模型,由于其节点编号由系统自动确定,因此要直接应用这种函数关系并不容易。该命令定义的函数关系可以在SF和SFE命令中使用。
③ 定义面载荷梯度。
SFGRAD命令。
Lab:面载荷标识符,结构分析为PRES。
SLKCN:斜率坐标系的参考号,默认值为0(总体直角坐标系)。
SLDIR:在斜率坐标系中梯度(或斜率)的方向,其值如下。
● X(默认):沿X轴方向的斜率,在非直角坐标系中为R轴方向。
● Y:沿Y轴方向的斜率,在非直角坐标系中为Θ轴方向。
● Z:沿Z轴方向的斜率,在球或环坐标系中为Φ轴方向。
SLZER:斜率基值为0的位置坐标。如果用角度表示,则单位为度。如果奇点在180°的位置,则SLZER的取值范围为-180°~180°;如果奇点在0°的位置,则SLZER的取值范围为0°~360°。
SLOPE:斜率值,即单位长度或单位角度的载荷值,沿SLDIR正方向递增为正,递减为负。该命令定义的梯度(斜率)可以被SF、SFE、SFL和SFA命令使用。每个节点处的载荷计算公式如下:
CVALUE=VALUE+(SLOPE×(COORD-SLZER))
其中VALUE是命令SF、SFE、SFL和SFA中的参数值,COORD为节点坐标。定义的梯度仅在当前被激活,后面定义的梯度会代替前面的梯度。
在设定了载荷梯度后,这个载荷梯度对随后的载荷施加命令都有效。
如果取消载荷梯度,则为无参数的SFGRAD命令。
命令“SFGRAD,STAT”可显示当前的状态。该命令不能对PIPE系列单元施加梯度载荷,并且该命令不能采用表格型边界条件。
其他命令(如SFSCALE、SFCUM、SFLIST和SFDELE等)的使用方法与前面同类命令的使用方法类似。但SFSUM命令仅对节点集上的载荷有效(SF命令施加的载荷),对于使用SFE、SFL及SFA命令施加的载荷无效。
2)对单元施加面载荷。
① 在单元上施加面载荷。
SFE命令。
ELEM:施加面载荷的单元编号,其值为ALL或组件名。
LKEY:与面载荷相关的载荷控制参数,默认值为1。在每个单元的帮助文档中有说明。
Lab:面载荷标识符,结构分析为PRES。
KVAL:当Lab=PRES时,KVAL=0或1表示VAL1~VAL4为压力的实部,KVAL=2表示VAL1~VAL4为压力的虚部。
VAL1:第一个面载荷值或表格型边界条件名称。通常将第一个面载荷或表格型边界条件施加于面上的第1个节点上。节点的顺序会在单元中明确地指定。
VAL2~VAL4:面上节点的第2、3、4个面载荷值,如果为空值,则与VAL1相等;如果为0或其他值,则为0;对于2D平面单元,可对单元的任意一个面(实际为单元边界)施加面载荷,将面载荷施加到该单元面的角节点上(高次单元的中间节点载荷由系统自动处理),相邻角节点的数值可以不相等。
对于3D体单元,在使用SFE命令施加面载荷时,需要确定面编号及方向(可以根据单元节点列表确定单元面编号),也可以施加不同的载荷,使该面上各节点上的载荷值不同。
对于SHELL单元,其①面和②面分别为底面和顶面,其余为侧面(侧边)。
SF命令与SFE命令的区别如下:
对于2D平面单元,使用SF命令在单元周边施加面载荷比较方便,使用SFE命令在单元任意一条边上施加面载荷比较方便。对于3D体单元,使用SF命令施加的面载荷对各节点是等值的(除非使用SFFUN命令定义),使用SFE命令施加的面载荷对各节点可以是等值的,也可以是不等值的。对于SHELL单元,使用SFE命令比使用SF命令方便。在一般情况下,对于根据几何模型生成的有限元模型,使用SFL命令和SFA命令施加载荷更方便,并且不易出错。
② 在梁单元上施加面载荷。
SFBEAM命令。
ELEM:施加面载荷的单元编号,其值为ALL或组件名。
LKEY:载荷面编号(默认值为1),在每个梁单元的帮助文件中有说明。
Lab:面载荷标识符,结构分析为PRES。
VALI、VALJ:节点I和J附近的载荷数值。如果VALJ为空值,则与VALI相同,否则为输入值。
VAL2I、VAL2J:当前未启用。
IOFFSET:VALI载荷值的作用点与I节点的距离。
JOFFSET:VALJ载荷值的作用点与J节点的距离。
该命令是对梁单元(BEAM系列)施加单元载荷的唯一命令,施加到梁单元线(LINE)上的载荷不能转换到有限元模型上。梁单元载荷有3种,分别为线性分布载荷、局部线性分布载荷、跨间集中力。
梁单元的垂直和切向分布载荷的单位格式为“力单位/长度单位”,梁单元的端部载荷的单位与力的单位相同。
线性分布载荷:如果节点I和节点J的横向分布集度分别为q1和q2,则命令如下:
对于局部线性分布载荷,如果q1与节点I的距离为a1,q2与节点J的距离为a2,则命令如下:
对于跨间集中力,如果集中力为p1,与节点I的距离为a1,则命令如下:
对每个单元可以施加LKEY值不同的多种载荷,但对于同一个LKEY值,只能施加一种载荷。例如,对于BEAM3单元,如果LKEY=1,则施加垂直于单元轴线的载荷;如果LKEY=2,则施加平行于单元轴线的分布载荷;如果LKEY=3或4,则施加单元端部面载荷(力)。此外,可以利用KEYOPT(10)设置长度或长度比,从而确定IOFFSET或JOFFSET的值。
3)在表面效应单元上施加面载荷。
具有LKEY参数的面载荷与单元类型相关,对于2D面单元,仅可以在单元边或边界上施加平行于单元面的载荷;对于3D体单元,仅可以施加单元面法向面载荷;对于3D壳单元,可以施加单元面法向面载荷,也可以在单元边或边界上施加平行于单元面的载荷。
有时要施加的载荷不属于上述情况,如面的切向载荷或其他非法向面载荷,此时可以使用表面效应单元覆盖所要施加载荷的表面,并且用这些单元作为“管道”施加所需的载荷。对于2D面单元,可以使用SURF153单元;对于3D单元,可以使用SURF154单元。
4)施加体载荷。
在结构分析中,ANSYS 2020的体载荷只有温度,其标识符为TEMP。常用的体载荷相关命令如表5-6所示。
表5-6 常用的体载荷相关命令
主要的体载荷施加命令如下。
上述命令的使用方法与面载荷施加命令的使用方法类似。例如,第1个参数均为图素编号,其值为ALL或组件名;第2个参数Lab可为Ui、ROTi(i=x或y或z)、TEMP或FLUE;VAL1~VAL4为体载荷值,其中VAL2~VAL4为单元不同位置上的体载荷值;STLOC为VAL1指定的起始位置。
5)施加惯性载荷。
惯性载荷有加速度、角速度和角加速度,相关命令如表5-7所示。
表5-7 惯性载荷的相关命令
没有删除惯性载荷的命令,如果需要删除惯性载荷,那么将载荷值设为0即可。
ACEL、OMEGA和DOMEGA命令分别用于施加在总体直角坐标系中的加速度、角速度和角加速度。需要注意的是,使用ACEL命令施加的是加速度,由于不是重力场,因此要施加一个Y轴负方向的重力场,并且施加一个Y轴正方向的加速度。使用CGOMGA和DCGOMG命令对物体施加的加速度和角加速度都是相对于参考坐标系转动时的物理量(该物体绕参考坐标系转动)。
CGLOC命令主要用于指定参考坐标系相对于整个笛卡儿坐标系的位置。
CMOMEGA和CMDOMGA命令分别用于在单元元件上施加参考坐标系下的角速度和角加速度。
ANSYS 2020定义的3种转动如下。
● 整个结构绕总体直角坐标系转动(使用OMEGA和DOMEGA命令)。
● 单元元件绕参考坐标系轴转动(使用CMOMEGA和CMDOMEGA命令)。
● 整体直角坐标系绕加速度原点转动(使用CGOMGA、DCGOMG和CGLOC命令)。
以上3种转动可两两组合同时施加到结构上。
下面介绍ACEL命令及其使用方法。
其中ACELX、ACELY、ACELZ分别为沿总体直角坐标系X轴、Y轴和Z轴的加速度值。
6)施加耦合场载荷。
在耦合场分析中,通常将一个分析中的结果施加于第二个分析中作为载荷。例如,将热分析中计算得到的节点温度,作为体载荷施加到结构分析中,形成耦合场载荷。
施加耦合场载荷的命令为LDREAD命令。
使用LDREAD命令可以从一个结果文件中读出数据,然后将其作为载荷施加到模型上。因此,该命令不仅可以在施加耦合场载荷时使用,还可以用于其他分析中,如在结构分析中读入反作用力作为进一步分析的载荷。
7)施加初应力载荷。
将初始载荷与施加的载荷相加,即可得到初应力。初应力只可以在静态分析和全瞬态分析中使用。
在ANSYS 2020中,支持初应力载荷的单元类型有PLANE2、PLANE42、PLANE82、PLANE182、PLANE183、SOLID45、SOLID92、SOLID95、SOLID185、SOLID186、SOLID187、SHELL181、SHELL208、SHELL209、LINK180、BEAM188、BEAM189。
初应力载荷是单元坐标系下的载荷,如果单元坐标系与总体坐标系不同,那么在施加初应力载荷时应谨慎。初应力载荷只能在求解层施加。
初应力载荷的施加方式为覆盖方式,也就是说,在多次施加初应力载荷时,后面命令施加的初应力载荷会覆盖前面命令施加的初应力载荷。
在选中的单元上施加初应力载荷,如果单元选择集为空或并未选择单元,则不会施加初应力载荷。
主要的初应力载荷相关命令如表5-8所示。
表5-8 主要的初应力载荷相关命令
① 施加初始常应力载荷。
ISTRESS命令。
Sx、Sy、Sz、Sxy、Syz、Sxz:初始常应力值。
MAT1~MAT10:要施加初始常应力载荷的材料编号,如果没有指定,则将初始常应力施加到所有材料上。
使用该命令可以对选中的单元施加一组初始常应力。
② 从文件中施加初应力载荷。
ISFILE命令。
Option:初应力载荷操作控制参数,其值如下。
● READ(默认):从文件中读入初应力数据。
● LIST:列出已经读入的初应力数据。
● DELE:删除已经读入的初应力数据。
Fname:当Option的值为READ时,Fname为目录和文件名。当Option的值为LIST或DELE时,Fname为要列出或删除单元编号上的初应力。
Ext:文件扩展名或层号,当Fname为空时,Ext默认为IST。如果Option的值为LIST或DELE,则Ext为壳单元的层号。
LOC:总体位置标志,确定将初应力载荷施加到单元的什么位置,其值如下。
● 0(默认):在单元质心上施加初应力载荷。
● 1:在单元积分点上施加初应力载荷。
● 2:在单元指定位置上施加初应力载荷。即由初应力文件确定将初应力载荷施加到什么位置,此时各个单元施加的位置可以不相同。
● 3:常应力状态。用初应力文件中的第一个应力数据将所有单元初始化为一个常应力。
MAT1~MAT10:要施加初应力载荷的材料编号。使用该命令可以对选中的单元施加初应力载荷,施加初应力载荷的单元编号与所选择的单元编号一致。
③ 生成初应力文件。
ISWRITE命令。
Switch参数用于控制是否生成初应力文件,其中如下。
● On:以工作文件及扩展名IST生成初应力文件,并且写入数据。
● Off:不生成初应力文件。
该命令仅在求解层有效,如果已有同名文件存在,则将其覆盖。
该命令不支持CDWRITE命令。
使用ISWRITE命令写出的应力数据为单元积分点应力,对于非线性分析,写入的应力数据为收敛后应力;对于线性分析,为求解完成后的应力。因此其初应力文件标志区数据为“eis, elemno,1”,其中elemno为单元编号,1表示积分点应力的位置标识。
在使用ISFILE命令读入初应力数据时,如果位置标识为0,则采用各单元的第一个应力数据;如果位置标识为2,则采用初应力文件中的位置标识(1);如果位置标识为3,则采用初应力文件中的第一个应力数据。