-
APDL
参数化语言(脚本语言)
1.1
简介
程序的输入可根据指定的函数、
变量以及选用的分析类型来确定,
是进行优化设计和自适应
网格的最主要基础。
APDL
具有下列功能:
(
1
)标量参数;
(
p>
2
)数组参数;
(
3
)表达式和函数;
(
4
)分支和循环;
(
5
)重复
功能和缩
写;
(
6
)宏;
(
7
)用户程序
优点
:在重复计算时,可以利用第一次(前一次
)分析时生成的
LOG
文件,对这个文件作
适当的修改即可得到自己的命令流文件,再添加些
APDL
控制命令,就得到
APDL
命令的
文件
。
在使用
APDL
< br>命令流方式中,当
选择实体
模型时,建议先选择,再施加
操作;如果网
格发生变化,最好根据几何特征、材料属性来选。
?
特定环境下使用
操作命令按使用范围
分类:
?
在任何处理器中使用
?
2.2
参数化变量使用
参数即
APDL
的变量,不必定
义参数类型,默认为双精度型。参数类型有两种:标量
和数组,其中数组参数包括
:
数值型、字符型、字符串型和表格类型等。
2.2.1
参数名的命名规则和格式
1
参数的命名
参数名的命名约定为:
(
1
)必须
以字母开头(
2
)只能包含字母、数字和下划线;
(
3
)长度
不能超过
32
个字符。
注意
:
1)
参数名不能和
ANSYS
已有的标签名
相同。
2)
名称
ARG1
至
ARG9
和
AR10
至
AR99<
/p>
被保存为局部参数,一般只能在宏中使用,因此
不要将它们作为“
通用”的参数使用。
3)
不要用下划线“
_
”作为参数名的开头。
2
2
参数的定义
(
1
)在执行过程中指定参数值,可用
“
*SET
”命令对指定的参数赋值,格式为:
*SET,name,valve
也可以用“
p>
=
”调用“
*SET
”
。格式:
Name=Value
Name
参数名,
Value
参数值
(数值型或
字符型,字符型时用
’
’
括起来且长度
不能超过
8
个字符)
(2)
从
ANSYS
系统中获取参数的值的两种方法:
*GET
命令和在线“取值函数”
*GET
命令格式:
*GET
,
Par
,
Entity
,
ENTNUM
< br>,
Item1
,
IT1NUM<
/p>
,
Item2
,
IT2NUM
(
6
个部分,空的用,<
/p>
,
代替)
其中
:
Par
:
贮存返回值。
Entity
:
将要返回项的关键词,
如
NODE,ELEM,KP
,LINE,VOLU
等。
ENTNUM
< br>:实体编号,若为
0
则代表所有实体。
< br>
Item1
:对于一个特定的实体,其项的名称。
p>
“取值函数”
通过取值函数能够取出某项的值,并将它直接投入到当前软件的运行中。
(取值函数见《
ANSYS
参数化编程与命令手册》
P18
)
2.2.4
参数表达式与函数
1.
参数表达
参数表达由参数、数字和加减乘除等运算符组成。
运算符:
+
、
-
、
*
(乘)
、
/
、
**
(乘方)
p>
运算顺序:
1)
先算圆括号;
< br>2
)指数运算;
3
)乘法或除法
;
4
)符号运算
;5)
加法或减法;
6
)逻辑运算
注意:
圆括号能够嵌套
4
层
,
每对圆括号内可以完成
9
次
运算。
在表达式得算子之间要
p>
避免
出现空格
,特别在
’
*
’
前不要有空格。注释符号最
好采用
“!
”开头。
2
参数函数
包括:正弦余弦、开根号、取绝对值等等(见《
ANSYS
参数
化编程与命令手册》
P29
)
角度单位(弧度和度的转化)
:改为度:
*A
FUN,DEG
;改为弧度:
*AFUN,RAD
2.3
参数化数组
1
.数组类型
按大小可分为:一维(行)
、二维(行、列)
、三维(行、列
、页)
、四维(行、列、页、书)
、
五
维(行、列、页、书、书架)
按数组元素类型分为:
数值型数组(
ARRAY
)
:
默认数组类型,其行标、列标和页标必须是以
1
开始的连续整
数,
数组元素的内容可以是整数或实数。
字符型数组(
CHAR
)
:
每个元素都由不超过
8
个字符的字符值组成,
其行标、列标和页标
必须是以
1
开始的
连续整数。
表格型数组
(
TABLE
)
:
行、
p>
列、
页标可以用实数定义,
数组元素的内容
可以是整数或实数。
字符串型数组(
STRING
)
:特点见《
ANSYS
参数化编程与命令手册》
P31
。
p>
表
格
数
组
的
生
成
方
法
< br>:
命
令
:
*DIM
,
Par
,
Type
,
IMAX,JMAX,KMAX,V
ar1,
V
ar2,
V
ar3,CSYSID
2.
数组的定义(确定数组类型和大小)
命令:
*DIM,Par,Type,IMAX,JMAX,KMAX,V
ar1, V
ar2, V
ar3,CSYSID
Par:
指定的参数名
Type
:参数类型(
ARR4
指
4
维的数值型数组)
IMAX,JMAX,KMAX
:行列页标号的范围,默认值为
1
V
ar1,
V
ar2, V
ar3
:标题(对于表
格型的默认值为行列页)
3
数组元素的赋值
1
)指定单个数组元素的值
给数组的某列赋值,可用
*SET
命令或者“<
/p>
=
”进行赋值,每个“
=
”可以给
10
个数组元素
赋值
。
4
数组参数的运算
1
)向量运算(列向量)
*VOPER:
对
两个
数
组向量进行计算(求和,叉积等)
例:
*VOPER
,
z(1),x(1,1),ADD,y(1,
1)
矩阵
x,
y
第一列相加,结果放在向量
z
中
p>
*VFUN
:对
一个
数组向量进行函数运算
例:
*VFUN,a3(1),PWR,x(1,2),2
对向量的第
2
列的每个元素进行平方运算,结果
放在
a3
< br>中
2
)矩阵运算
数值型数组参数之间的数学运算,相乘,转置,解方程组等
2.5.3 DO
循环
1
.
DO-LOOPS
格式:
*DO,Par,IV
AL,FV
AL,INC
……………………
.
ENDDO
Par
:循环变量名称(不能使用字符参数)
IV
AL,FV
AL,INC
:循环变量的初值、终值,增量,
INC
默认值为
1
,也可以是负值或实数。
-WHILE
循环
当循环次数不确定,满足某个条件循环才结束。
*DOWHILE,Parm
*ENDDO
3
隐含的“:
”循环
< br>格式:
(
X:Y:Z
)其中
p>
Z
的默认值为
1
例如:
n,(1:6),(2:12:2)
< br>执行
6
个命令:
n,1,2
n,2,4
n,6,12
2.5.4
有条件分
支(
*IF
)
格式:
*IF,V
AL1
,
Oper,V
AL2,Base
V
AL1:
比较过程中第
1
个数值或者数值型参数。
Oper
:
比较运算:
EQ(
等于
)
,
NE
(不等于)
、
(
LT
)小于、
(<
/p>
GT
)大于、
LE(
小于或等于
)
、
GE
(大于或等于)
、
(
ABL
T
)绝对值小于、
(
ABGT
)绝对值大于
V
AL
2:
比较过程中第
2
个数值或者数值型
参数。
Base:
当比较的结果成立
(即为真)时,将要发生的动作
1)
如果将
THEN
赋给
Base,
那么
*IF
命令将成为一个
< br>IF-THEN-ELSE
结构
*IF
条件
THEN
………………
.
*ELSEIF
…………
.
*ELSE
…………
*ENDIF
2)
如果将
STOP
赋给
Base,
那么程序可根据某特定的条件退出
< br>ANSYS
。
前处理器
4.1
建立实体模型
4.1.1
生成关键点
1.
“
K
”命令
功能:按坐标生成一个关键点
格式:
K,NPT,X,Y
,Z
p>
NPT
:关键点编号,如果为
0
,自动指定当前可用关键点编号的最小值;如果指定一个有相
同编号的关键
点,
将覆盖前一次的定义,
注意:
只有
当关键点没有依附在高级图元和划分网
格之前,其坐标值才能重新指定。
2.
“
KL
”命令
功能:在已存在的线上按指定位置生成一个关键点。
格式:
KL,NL1
,
RA
TIO,NK1
NL1:
线的编
号。如果是一个负数,则对变量
RA
TIO
来说,线的方向将方向。
RA
T
IO
:生成关键点的位置与线长之间的比率,其值
0.0~1.
0
,默认为
0.5
。
< br>
NK1
:关键点的编号
4.1.2
生成线
LSTR
命令
功能:由两点生成一条直线
格式:<
/p>
LSTR
,
P1
,
P2
“
L
”命令
由两点生成一条线(直线或弧形)
格
式:
L,P1
,
P2
< br>,
NDIV
,SPACE,XV1
,
YV1
,
ZV1
< br>,
XV2
,
YV2
,
ZV2
,
P1
,
P2:
线开始、结尾
的关键点编号
NDIV
:该线上将要
划分单元的等分数,通常不用。划分线段用:
LESIZE
SPACE:A
间隔比率(通常不用)
XV1
,
YV1
,
ZV1
:与直线
P1
端点斜率相关的斜率矢量位置(激活坐标系下)
X
V2
,
YV2
,
ZV2
:与直线
P2
端点斜率相关的
斜率矢量位置
LARC
命令
功能:三点生成一段圆弧
格式:
LARC,P1,P2,PC,RAD
P1,P2:
圆弧线始端、末端关键点的编号
PC
:定义弧平面或线曲率中心的关键点,不能在
P1,P2
直线上,可以不在曲率中心。
弧形的曲率半径,如果为空,系统自动计算。
CIRCLE
命令
功能:生成圆弧线
格式:
CIRCLE,PCENT,RAD,PAXIS,PZERO,ARC,NSEG
PCENT:
圆中心的关键点
RAD
:圆弧半径
< br>PAXIS
:定义圆轴线的关键点,如果默认,轴线与工作面正交
PZERO
:定义与圆正交平面的关键点
ARC
:圆弧的长度(度)
NSEG
:沿圆周生成的线段数
4.1.3
生成面
1.
“
A
”
< br>
功能:由关键点生成任意形状的面
< br>格式:
A,P1
,
P2
,
P3
,
P4
,
……
..P18
(
至少三个关键点,最多
18)
,关键点
必须按照顺时针或逆时针顺序输入。
“
AL
”命令
功能:通过已定义的边界线生成一个面
格式:
AL,L1
,
L2
,
L3
,
L4
,
…
L10(
至少
3
条
)
注意:线号的顺序可以任意,但要收尾相接。
“
BLC5
”命令
功能:通过中心点和角点生成矩形面或块体
< br>格式:
BLC5
,
XCENTE
R,YCENTER,WIDTH
,
HEIGHT,DEPTH
XCENTER,YCENTER
:矩形面或块体中心的坐标值
WIDTH
:定义矩形面和块体的宽
度,与
X
轴平行
HEIGHT
:定义矩形面和块体的高度,与
Y
轴平行
DEPTH
:块
体深度,与
Z
轴平行
“
BLC4
”命令
通过两个角点或
Z
方向的深度生成一个矩形或块
体
格式:
BLC4
< br>,
XCORNER,YCORNER
,
< br>WIDTH
,
HEIGHT,DEPTH
矩形面或块体第一个角点在工作面的
X,Y
坐标值。
“
RECTNG
”命令
功能:在工作平面上生成平面
格式:
RECTNG
,X1
,
X2
,
Y1
,
Y2
X1
,
X2
:矩形在工作平面
X
方向坐标值变化范围
Y1
,
Y2
:矩形在工作平面
Y
方向坐标值变化范围
“
CYL4
”
p>
命令
功能:在工作平面生成一个圆面或圆柱体
格式:
CYL4
,
XCENTER
,YCENTER
,
RAD1
,
THETA1
,
RAD2
,
THETA2
,
DEPTH
XCENTER,YCENTER:
圆面或圆柱体中心
X,Y
值
RAD1
,
RAD2
:圆面或圆柱体的内、外半
径(任意一个为
0
或空,或相等即为圆或圆柱)
THETA1
,
THETA
2
,圆面或圆柱体开始、结束的角度。
“
CYL5
”
命令:
功能:通过端点生成一个圆形和圆柱体
格式:
CYL5
,
XED
GE1
,
YEDGE1,
XEDGE2
,
YEDGE2,DEPTH
< br>XEDGE1
,
YEDGE1:
圆面或圆柱体直径一个端点
X,Y
坐标值
XEDGE2
,
YEDGE2
p>
:圆面或圆柱体直径另一个端点
X,Y
坐标
值
DEPTH
:
Z
方向的深度
4.3
实体模型的修改
1.
”
KMODIF
”
p>
命令
功能:修改已存在的关键点
格式:<
/p>
KMODIF,NPT,X,Y
,Z
N
PT:
关键点的编号,也可以为
ALL
X,Y
,Z
:新的坐标
2.
“
KDIST
”命令
计算并输出两关键点间的距离
p>
格式:
KDIST,KP1
,
KP2
“
NDELE<
/p>
”命令
功能:删除所选的节点
格式:
NDELE,NODE1
,
NODE2
,
NINC
NODE1
,
NODE2
,
NINC:
确定要删除节点的范围,按增量
NINC
从<
/p>
NODE1
到
NODE2
。
“
EDELE
”命令
功能:删除所选的单元
格式:
EDELE
,
IEL1
,
IEL2
,
NINC
“
UPGEOM
”命令
功能:
将分析所得到的位移加到有限元模型的节点上,
并更新有限元模型的几何模型
(不改
变实体模型
几何体)
格式:
UPGEOM,FA
CTOR,LSTEP
,SBSTEP
,Fname,Ext,
--
“
MP
”
命令
功能:指定一个与温度相关的线性材料性能或常数(非
线性材料用
TP
)
< br>格式:
MP
,
Lab,MA
p>
T,CO,C1,C2,C3,C4
Lab,MA
T(
参考《
ANSYS
参数化
编程与命令手册》
P178)
C0
,
C1
,
…
:<
/p>
多项式的常数项和系数
注意:一般单载
荷步求解用线性材料性能,多载荷步用非线性材料属性。
(载荷步就是为获取解而设置的加载条件)
< br>多项式中的常数项和系数可以通过对离散的温度点进行线性插值求得。
若为
2
次或更高次的
性能指定适宜的温度步时,必
须使用命令“
MPTEMP
”
,
或
’
MPTGEN
’
“
MPTEMP
”命令
功能:为材料属性定一个温度表
格式
:
MPTEMP
,STLOC,T1
,
T2
,
T3
,
T4
,
T5
,
T6
STLOC:
确定输入温度的起
始位置,默认值为最后填充值加
1
T1
,
T2
,
T3
,
T4
,
T5
,
T6
:指定从
STLOC
开始将要赋给
6
个位置的温度值。
4.4.2
设置实常数
1.
”
R
”
命令
功能:定义单元的实常数
格式:
p>
R,NSET,R1
,
R2
,
R3
,
R4
,
R5
,
R6
NSET:
设置实常数的编号
R1
,
R2
,
R3
,
R4
,
R5
,
R6
:实常数
的值或为表格边界条件输入的表格名称
(%tabname%)
,
如果超过
6
个,可使用命令“
RMORE
”
4.5
单元设置与网格划分
ANSYS
软件平台提供了
网格映射划分
和自由适应划分的策略。映射划分用于曲线、曲面、实体的网格划
分方
法,可使用三角形、四边形、四面体、五面体和六面体,通过指定单元边长、网格数量等参数对网格
进行严格控制,映射划分只用于规则的几何图素
,
要
求对应的线或面的单元数要相同。
1
、网格疏密
网格疏密是指在结构不同部位采用大小不同的网格,这是为了适应计算数据的分布特点。在计算数据变
化梯度较大的部位
(
如应力集中处
)
,为了较好地反映数据变化规律,需要采用比较密集的网格。
划分疏密不同的网格主要用于应力分析
(
包括静应力和动应力
)
。在结构温度场计算中也
趋于采用均匀网格。
2
、单元阶次
许多单元都具有线性、二次和三次等形式,其中二次和三次形
式的单元称为高阶单元。选用高阶单元可提
高计算精度,因为高阶单元的曲线或曲面边界
能够更好地逼近结构的曲线和曲面边界,且高次插值函数可
更高精度地逼近复杂场函数,
所以当结构形状不规则、应力分布或变形很复杂时可以选用高阶单元。但高
阶单元的节点
数较多,在网格数量相同的情况下由高阶单元组成的模型规模要大得多,因此在使用时应权
衡考虑计算精度和时间。
在有应力集中和刚度突变的地方,
应该采用高阶单元来对其进行网格划分。
增加网格数量和单
元阶次都
可以提高计算精度。因此在精度一定的情况下,用高阶单元离散结构时应选择适
当的网格数量,太多的网
格并不能明显提高计算精度,反而会使计算时间大大增加。为了
兼顾计算精度和计算量,同一结构可以采
用不同阶次的单元,即精度要求高的重要部位用
高阶单元,精度要求低的次要部位用低阶单元。不同阶次
单元之间或采用特殊的过渡单元
连接,或采用多点约束等式连接。
平面单元类型:
Plane42 <
/p>
:
2
维实体。该元素即可用于平面单元(
平面应力或平面应变)也可用于轴对称单元。该元素由
4
个节点
定义,每个节点
2
个自由度:
x,y<
/p>
方向。具有塑性,徐变,膨胀,应力强化,大变形,大应变能力。
PLANE82
:二维
8
节点实体。该元素是
plane42
的高次形式。它
为混合(四边形-三角形)自动网格划分
提供了更精确的求解结果,并能承受不规则形状
而不会产生任何精度上的损失。
8
节点元素具有位移协调
形状,适用于模拟弯曲边界。该元素由
8
个节
点定义,每个节点
2
个自由度,
x,y
方向。可用于平面单元也
可用于轴对称单元。具有塑性,徐变,
膨胀,应力强化,大变形,大应变能力。并提供不同的输出选项。
Plane83 :
二维
8
节点实体。用于承受非轴对称荷载的
2
维轴对称结
构。如弯曲,剪切或扭转。该元素每个
节点
3
< br>个自由度:
x,y
,z
方向。对
于非扭转节点,这
3
个方向分别代表半径,轴向和切线方向。该
元素是
plane25
的高次形式。它为混合(四边形-三角形
)自动网格划分提供了更精确的求解结果,并能承受不
规则形状而不会产生任何精度上的
损失。该元素也是
plane82
的一般轴向形式,其荷载不需
要对称。
Plane183
:
2
维
8
节点实体。具有二次位移,适用于模拟不规则网
格。该元素由
8
个节点定义,每个节点
2
个自由度,
x,y
方向。可用于平面
单元也可用于轴对称单元。具有塑性,超弹性,应力强化,大变形,大
应变能力。可用来
模拟几乎不能压缩的次弹性材料和完全不能压缩的超弹性材料的变形。支持初始应力。
并
提供不同的输出选项。
加载与求解
5.1
指定分析类型
5.1.1
指定分析类型
与重启动
格式:
ANTYPE,Antype,Status,LDSTEP,SUBSTEP,
Action
Antype:
默认值为:静态(
STA
TIC
)
STATICH
或
0
:
静态分析,适用于所有自由度。
BUCKLE
或
1
:稳定性分析,仅对结构自由度有效
MODAL
或
2:
模态分析
Status:
指定分析状态:
NEW:
指定一次新的分析(默认)
5.2.2
施加载荷
对结构施加载荷时,可以将载荷施加在实体模型或有限元模型上,但在系统求解时,载荷将被自动转换到
有限元模型上。
载荷施加在实体上的优缺点:
1)
施加在实体模型上的载荷与有限
元网格无关,当网格被改变时,不会影响所施加的载荷。
2)
不能显示所有实体模型载荷。
载荷施加在有限元模型上的优缺点:
1
)
可直接应用于缩减分析中
2
)
可以直接将约束施加在所选的节点上
3
)
单元的
修改会使载荷失效,要求用户删除在修改前的载荷,并在修改后重新施加载荷
命令:
功能:
“
DA
”
:
在所选的面上施加自由度约束
格式:
DA,AREA,Lab,V
alue1, Value2
AREA
:要施加约束的面号
Lab:
有效的标签名,自由度标签:
UX<
/p>
、
UY
、
UZ<
/p>
、
ROTX
、
R
OTY
、
ROTZ
、
< br>TEMP
V
alue1:
自由
度值(实数部分)
V
alue2:<
/p>
为
FLOTRAN
自由度
,
当值为
0
时,
工作平面和坐标系转换
“
CSWPLA
”命令
功能:在工作平面的原点处定义一个局部坐标系
格式:
CSWPLA,KCN,KCS,PAR1
,
PAR2
KCN:
赋给该坐标系的参考编号,必须大于
10,
< br>,KCS
:坐标系统的类型。若为
0
或
CART,
为直角坐标系;若为
1
或
CYLIN
为柱坐标系;
2
或
SPHE
球坐标<
/p>
系;
3
或
TOR
O
为环形坐标系
PAR1
:适应于椭圆或类似球体或环形系统,如果
KCS=1
或
2
,
PAR1
< br>是椭圆的
Y
轴半径与
X
轴半径的比
值,默认为
1
;
PAR2
:仅适应于类似球体系
统。如果
KCS=2
,
PAR2
是椭圆的
Z
轴半径与
X
轴半径的比值,默认为
1
;
“
CSYS
”
功能:激活一个预先已经定义的坐标系
格式:
CSYS,KCN
KCN:<
/p>
将要激活的坐标系的参考号。若为
0
:直
角坐标系;
1
:用
Z
< br>轴为旋转轴的柱坐标系;
2
:球坐标系;
4
或
WP
:工作平面;
5
:用
Y
轴为旋转轴
的柱坐标系;若为
11
或更大的数:由用户已定义的局部坐标系
ANSYS
取值函数
有关实体状态的取值函数
NSEL(N)
ESEL(E)
KSEL(K)
LSEL(L)
ASEL(A)
VSEL(V)
表
示某个实体状态,其返回值
-1
,没有选中,
< br>0
,没有定义,
1
,被选中
p>
有关下一个被选实体的取值函数
NDNEXT(N)
ELNEXT(E)
KPNEXT(K)
LSNEXT(L)
ARNEXT(A)
VLNEXT(V)
< br>表示编号大于
N,E,K,L,A,V
的下一个被选实体
有关实体位置的取值函数
CENTRX(E)
CENTRY(E)
CENTRZ(E)
单元
E
在中心位置的
X,Y,Z
的坐标系(直角坐标系
),有所选的节点决定
NX(N)
NY(N)
NZ(N)
KX(K)
KY(K)
KZ(K)
节点
N
或关键点
K
在激活
坐标系中
X,Y,Z
的坐标值
LX(L,LFRAC)
LY(L,LFRAC)
LZ(L,LFRAC)
线段
L
p>
在长度比率为
LFRAC(0~1)
时的<
/p>
X,Y,Z
的坐标值
有关最靠近某位置的节点或关键点编号的取值函数
NODE(X,Y,Z)
KP(X,Y,Z)
被选择的节点嘴靠近
X,Y,Z
位置的节点或关键点
编号(在激活的坐标系下,如果存在多个节点或关键点,
那么取其最小值)
有关距离的取值函数
DISTND(N1,N2)
DISTKP(K1,K2)
节点或关键点两点之间的距离
DISTEN(E,N)
单元
E
p>
的中心点与节点
N
之间的距离,中心点将由
单元上被选择的节点确定
有关角度的取值函数
ANGLEN(N1,N2,N3)
ANGLEK(K1,K2,K3)
节点或关键点两条边之间
的夹角,缺省时单位为弧度,其中所选择的
3
个节点中,
N1
或
K1
是顶点<
/p>
有关最靠近实体的节点,关键点和单元的取值函数
NNEAR(N)
最靠近节点
N
p>
的被选节点
KNEAR(K)
最靠近关键点
K
的被选关键点
< br>
ENEARN(N)
最靠近节点
N
的被选单元,单元的位置将由被选节点确定
有关面积的取值函数
AREAND(N1,N2,N3)
AREAKP(K1,K2,K3)
由节点或关键点
3
点为顶点围成的三角形的面积
ARNODE(N)