[toc]
本文总结ANSYS建模分析中常用的语法模块,以备速查。
1. 初始化模块
1.1 初始化模块
FINISH ! 清空残留
/CLEAR
RESUME,MODEL,DB ! 恢复前期模型
/FILNAME,BRIDGE ! 任务名
/TITLE, MODEL of CABLE-STAYED BRIDGE ! 显示标题,用于截图
/PREP7 ! 前处理器
/UNITS,SI
1.2 文件头
标准文件头如:
!-------------------------------------------------
! 文件:step1.inp
! 题目:斜拉桥模型的建立
! 要点:梁、塔、索坐标确定、一期恒载
!
! ZSY
! HIT
! 04/04/2015
!-------------------------------------------------
2. 循环与查询
2.1 循环结构
ANSYS中使用最多的循环结构为DO循环。
*DO,ILOOP,1,4 ! DO 循环
E,37+ILOOP,340+ILOOP
*ENDDO
2.2 输入数据行数查询
通过INQUIRE
函数查询DATA.TXT
文件的行数:
/INQUIRE,LENGTH,LINES,DATA,TXT ! 查询数组长度
2.3 显示volume包含的所有line
ALLSEL
VSEL,S,,,1 ! 选择一个单元VOLUME
ASLV ! 当前VOLUME包含的的所有AREA
LSLA ! 当前AREA包含的所有LINE
LPLOT
效果如下:
类似的操作还有:选择一个面上的所有结点:
ALLSEL ! 全选
ASEL,S,,,1 ! 选择电极面1 AREA
NSLA,S,1
2.4 查询所有单元数量
*GET,N_ELEMENT,ELEM,0,COUNT ! 单元数量查询
*STATUS,N_ELEMENT
效果:
NAME VALUE TYPE DIMENSIONS
N_ELEMENT 61992.0000 SCALAR
3. 数据操作
3.1 数据读入
读取数据文件KP_BEAM.DAT
按照行数,将数据读入内置变量KP_BEAM
。
/INQUIRE,N_KP,LINES,KP_BEAM,DAT ! 读取X坐标,Z常数
*DIM,KP_BEAM,,N_KP
*VREAD,KP_BEAM(1),KP_BEAM,DAT
(F6.3)
KP_BEAM.DAT列数据格式如:
0.00
3.00
9.00
11.50
17.00
3.2 数据写出
数据的写出用于两种情况:
- 求解结果输出
- 中间量输出,以显示进度等
向量输出:
*CFOPEN,PROGRESS,TXT ! 进度输出
*VWRITE,ILOOP
%5
*CFCLOS
矩阵输出
*MWRITE,VOLTRES,VA12,TXT ! 输出信号保存到TXT
(2F22.16)
FINISH
3.3 计算状态数据
大型计算中,输出计算到循环的哪一步到外部文件PROGRESS.TXT
。
*DO,ILOOP,1,1000 ! 计算1000步
TIME,ILOOP*DT
*CFOPEN,PROGRESS,TXT ! 进度输出
*VWRITE,ILOOP
%5ILOOP
*CFCLOS
*ENDDO
3.4 矩阵/向量赋值
如:
*DIM,RAD_NOTCH,ARRAY,5,1
RAD_NOTCH(1) = 1
RAD_NOTCH(2) = 2
RAD_NOTCH(3) = 3
RAD_NOTCH(4) = 4
RAD_NOTCH(5) = 5
ANSYS中,不能对矩阵、向量数据直接做运算,需要调用相关的函数。对于较简单的运算只能逐个元素操作处理。
3.5 字符串操作
字符串的定义:
STR_DIAMETER_NOTCH_MM = '00600'
字符串的拼接构造,如需根据模型参数构造FC200_FS8_D10_N8
字符串:
OUTNAME = ''
OUTNAME = STRCAT(OUTNAME,'FC')
OUTNAME = STRCAT(OUTNAME,CHRVAL(200))
OUTNAME = STRCAT(OUTNAME,'_')
OUTNAME = STRCAT(OUTNAME,'FS')
OUTNAME = STRCAT(OUTNAME,CHRVAL(8))
OUTNAME = STRCAT(OUTNAME,'_')
OUTNAME = STRCAT(OUTNAME,'D')
OUTNAME = STRCAT(OUTNAME,CHRVAL(10))
OUTNAME = STRCAT(OUTNAME,'_')
OUTNAME = STRCAT(OUTNAME,'N')
OUTNAME = STRCAT(OUTNAME,8)
欲输出FC200_FS8_D10_N8.TXT
文件,命令如:
OUTNAME = 'FC200_FS8_D10_N8'
*MWRITE,VOLTRES,%OUTNAME%,TXT
4. 建模技术
4.1 结点合并
划分网格后,需要对重合的结点、节点合并,实现各部分的耦合。
NUMMRG,KP,1.0E-8 ! 先划分线网格,再合并节点
NUMMRG,NODE,1.0E-8
5. 截图技术
5.1 截取一张图片
模态绘制示例:
SET,1,1 $ PLDISP,1
/image,save,mode1-1,jpg
SET,1,2 $ PLDISP,1
/image,save,mode1-2,jpg
.....
SET,1,5 $ PLDISP,1
/image,save,mode1-5,jpg
save命令方便直接对保存后的图像命名,问题是保存的图片有多余的空白区域:
5.2 截取一系列画面
同样的操作,可以更简洁地通过show
命令实现
/show,png
*DO,ILOOP,1,5 ! DO 循环
SET,1,ILOOP
PLDISP,1
*ENDDO
/show,close
如果只需要截取单张的图片,可以采用以下命令:
/show,png $ vplot $ /show,close
/show,png $ eplot $ /show,close
注意,必须有vplot之类的绘图动作,才能截取图片。
采用show命令截图,图片文件没有多余的区域。