ANSYS APDL内部常用函数
ANSYS APDL内部常用函数
- 弧度与角度切换
| 函数名 | 用法 |
|---|---|
| *AFUN | 默认为弧度,用该命令可切换为度数 |
- 数学函数
函数名 用法 ABS(X) 返回X的绝对值 SIGN(X,Y) 取Y值的符号与X值的绝对值,当Y为0时,为正值,如A=SIGN(3,-4)=-3 EXP(X) 返回E的X次方 LOG(X) 返回ln(x) LOG10(X) 返回log10(x) SQRT(X) 返回X的平方根 NINT(X) 对X取整,考虑四舍五入 MOD(X) 考虑X/Y的余数 RAND(X) 按均匀分布形式返回X,Y之间的一个随机数 GDIS(X,Y) 返回一个服从平均值为x且标准方差为y的正太分布的随机数 SIN(X)、COS(X)、TAN(X) 三角函数,默认X按弧度,通过 *AFUN 命令切换为度数 SINH(X)、COSH(X)、TANH(X) 双曲线正弦、余弦和正切值 ASIN(X)、ACOS(X)、ATAN(X) 反三角函数 ATAN2(Y,X) Y/X的反正切值 - 符号数组函数
函数名 用法 UPCASE(CPARM) 返回CPARM的的大写字符 LWCASE(CPARM) 返回CPARM的的小写字符 - 选择函数
函数名 用法 (K、L、V、V、A、N、E)SEL 根据类别选择 (K、L、V、V、A、N、E)SEL(K、L、V、V、A、N、E) 选择已有几何集上面的其他种类元素,如NSELE,即为选择当前单元上面的节点 - 下一个元素编号
以下命令均为在当前选择集中生效,也即可搭配 SEL 选择命令使用
| 函数名 | 用法 |
|---|---|
| NDNEXT(N) | 返回当前选择集中离X节点编号最近的更高下一个节点编号 |
| ELNEXT(E) | 返回当前选择集中离E单元编号最近的更高下一个单元编号 |
| KPNEXT(K) | 返回当前选择集中离K关键点编号最近的更高下一个关键点编号 |
| LSNEXT(L) | 返回当前选择集中离L直线编号最近的更高下一个直线编号 |
| ARNEXT(A) | 返回当前选择集中离A面编号最近的更高下一个面编号 |
| VLNEXT(V) | 返回当前选择集中离V体编号最近的更高下一个体编号 |
- 位置坐标函数
函数名 用法 CENTRX(E)、CENTRY(E)、CENTRZ(E) 返回单元E质心在全局坐标系的XYZ坐标值 NX(N)、NY(N)、NZ(N) 返回节点N在当前激活坐标系下的XYZ坐标值 KX(K)、KY(K)、KZ(K) 返回关键节点K在当前激活坐标系下的XYZ坐标值 - 根据坐标值返回编号
| 函数名 | 用法 |
|---|---|
| NODE(X,Y,Z) | 返回在当前激活坐标系下离坐标点(X,Y,Z)最近的节点编号,如果该位置有重合点,返回最小的节点编号 |
| KP(X,Y,Z) | 返回在当前激活坐标系下离坐标点(X,Y,Z)最近的关键点编号,如果该位置有重合点,返回最小的关键点编号 |
- 求取距离
函数名 用法 DISTND(N1,N2) 节点N1和N2的距离 DISTKP(K1,K2) 关键点K1和K2的距离 DISTEN(E,N) 单元E质心与节点N之间的距离 - 查询角度函数
函数名 用法 ANGLEN(N1,N2,N3) 返回直线N1-N2与N1-N3之间的角度,N代表节点 ANGLEK(K1,K2,K3) 返回直线K1-K2与K1-K3之间的角度,K代表关键点 - 最近元素函数
函数名 用法 NNEAR(N) 返回离节点N最近的节点编号 KNEAR(K) 返回离关键点N最近的关键点编号 ENEAR(N) 返回离节点N最近的单元编号 - 面积求积函数
函数名 用法 AREAND(N1,N2,N3) 返回节点N1、N2、N3组成的三角形的面积 AREAKP(K1,K2,K3) 返回关键点K1、K2、K3组成的三角形的面积 ARNODE(N) 返回与节点N相连的被选择单元在节点N上分配的面积 - 法向向量函数
函数名 用法 NORMNX(N1,N2,N3)、NORMNY(N1,N2,N3)、NORMNZ(N1,N2,N3) 返回节点N1、N2、N3所组成平面法向三个方向的方向余弦 NORMKX(K1,K2,K3)、NORMKY(K1,K2,K3)、NORMKZ(K1,K2,K3) 返回关键点K1、K2、K3所组成平面法向三个方向的方向余弦 - 单元连接查询函数
| 函数名 | 用法 |
|---|---|
| ENEXTN(N,LOC) | 返回与节点N相连的第LOC个位置的单元编号 |
| NELEM(E,NPOS) | 返回单元E的第NPOS个节点编号 |
- 单元属性查询函数
函数名 用法 EATT(E,VAL) 返回单元E的具体属性编号,当VAL=1时,返回材料编号;VAL=2时,返回单元类型编号;VAL=3时,返回实常数编号;当VAL=4时,返回截面编号 RCON(R,LOC) 返回编号为R的实常数第LOC个位置中的数据 - 节点结果函数
函数名 用法 UX(N)、UY(N)、UZ(N) 分别返回当前节点N三个方向的位移 ROTX(N)、ROTYN)、ROTZ(N) 分别返回当前节点N三个方向的转动值 TEMP(N) 返回当前节点N的温度值 - *Vwrite 的用法
ANSYS中数据的写出主要使用 *Vwrite ,其具体功能为将数组中的数据按照指定的格式写入数据文件中,*Vwrite命令依次最多可写出19个参数,调用格式如下:
$$
\begin{align}
*Vwrite,Par1,Par2,Par3……,Par19
\end{align}
$$
注:Par1~Par19为依次写出的19个参数,在使用*Vwrite进行数据写出之前,必须用 *Cfopen 打开或者创建一个数据文件, *Cfclose 则为关闭文件,需配对使用,*Cfopen使用格式如下:
$$
\begin{align}
*Cfopen,Fname,Ext,–,Loc
\end{align}
$$
,式中,Fname为带文件路径的文件名,缺省路径为工作路径,Ext为文件的拓展名,后缀一般设置为TXT,*Vwrite不能作为已知的APDL命令之间输入命令窗口使用,必须作为外部宏文件命令使用,使用格式如下:
1 | *creat,datawrite,mac !创建宏文件名字datawrite |
1. 例子
数据库已经定义数组nodenum,采用*Vwrite写出到数据文件,文件名为nodenum.txt
1 | /prep7 |
17 *Vread 的用法
使用格式如下:$*Vread,ParP,Frname,Ext,–,Lable,n1,n2,n3,Nskip$,式中,ParP是读入数据的赋值对象数组,使用前需采用*dim命令进行定义;Frname为带路径的文件名,注意路径不能有中文,缺省路径为工作路径,Ext为文件的拓展名,Lable是取值顺序标识字符,分别为IJK、IKJ、JIK、KIJ、KJI,默认为IJK,n1、n2、n3分别为根据取值顺序标识符所采用的取值,Nskip为读入数据文件时需要跳过的开始行数,默认为0,表示从第一行开始读入数据。注:* Vread 不能作为已知的APDL命令之间输入命令窗口使用,必须作为外部宏文件命令使用,使用格式如下
1 | *creat,dataread,mac !创建宏文件名字dataread |
2. 顺序标识符Lable的设定
Lable的设定决定了写入数据的顺序,i代表行,j代表列,k代表面,如果是IJK,则写入数组时先写入面,再写入列,最后写入行,即行的变化比列快,若为JIK,则写入数组时先写入面,再写入行,最后写入列,即列的变化比行快,对于二维数组来说,没有面的写入,只有行和列的写入变化
3. N1、N2、N3数值的设定
N1、N2、N3表示按上面指定的顺序,各下标分别要写入的数据个数,如IJK,3,4,1,表示数组ParP按列写入,共写3行4列,N2、N3默认值为1
矩阵的操作
矩阵定义
| 命令 | 参数值 |
|---|---|
| *DMAT | 创建稠密矩阵 |
| *SMAT | 创建稀疏矩阵 |
| *VEC | 创建向量 |
| *FREE | 删除所有矩阵,释放内存 |
| *AXPY | 矩阵加减,M2=v*M1 + w*M2 |
| *COMP | 矩阵压缩 |
| *DOT | 向量点乘 |
| *FFT | 傅里叶变换 |
| *HPROD | 哈达玛矢量积 |
| *INIT | 矩阵向量初始化 |
| *INQUIRE | 检索现有矩阵属性 |
| *KRON | 计算两个矩阵/向量的Kronecker积 |
| *MERGE | 合并矩阵或者向量 |
| *MULT | 矩阵乘积,M3 = M1(T1)*M2(T2) |
| *NRM | 计算矩阵或者向量的范数 |
| *REMOVE | 矩阵裁剪 |
| *RENAME | 矩阵重命名 |
| *SCAL | 矩阵的缩放 |
| *SORT | 矩阵元素排序 |
| *XPL | 读取APDL内部文件 |
| *EIGEN | 模态求解 |
| *ITENGINE | 迭代求解 |
| *LSBAC | 求解 |
| *LSENGINE | 创建线性求解器 |
| *LSFACTOR | 矩阵分解 |
| 矩阵打印输出 | |
| *EXPORT | 导出矩阵数据 |
1 | finish |

