Ansys APDL模板编制说明

首先,APDL并不一定就是参数化APDL,必须按教程中的方法,将数值类的赋值抽象出来,放到变量中。
普通的APDL里,一般不会专门将输入参数独立出来,但是有了APDL基础,稍微整理一下,就成为了具有参数化的APDL了。
其次,参数化的APDL并不能满足PASS解析的参数化模板,必须按以下规则来明确其输入的参数。

第一步 参数化

翻阅APDL教程一般会专门讲怎样将APDL参数化,百度也有PPT ansysAPDL参数化建模(精)
其实就是定义一些变量,同时给变量(集中)赋值,在后面的APDL语句中尽量不要出现数值,都用这些变量代替。

第二步 满足PASS解析需求

在变量赋值那行后面,采用!@来定义该行为输入参数行,同时!@后面紧跟的是变量的中文名称,其后可再用!来添加注释。
这种设计的好处,最大限度的维持APDL的语法习惯。
如果纯粹从APDL非参数化的语句中解析出来数字,代码工作量非常大,也不一定准确。

第三步 输出图片

因为是PASS云计算,用户不可能触及到Ansys界面和命令行操作,所以,要求APDL里将加载了荷载的模型计算结果以图片形式保存(一般采用循环输出多张图片),最好也输出网格划分图片,平台自动展示出来,并生成PDF供下载,PDF中将包含输入参数、荷载模型图片和输出结果图片。
注意:一定要按以下模板中的方法输出图片,因为在Ansys Batch模式下(PASS采用Batch模式调用Ansys进行计算),它只能采用/show,jpeg命令输出图片,采用/Image,save等其它命令无法输出图片。/show,jpeg命令是输出此命令之后的屏幕显示命令PL**显示出来的内容。

其他

APDL首行最好写上版本号、作者、联系方式等信息。

设计好参数化的APDL就可以上传PASS进行自动解析得到web页面(小程序)输入参数了,用户输入参数,平台自动修改APDL里定义的变量,调用Ansys进行计算,输出图片。

一个例子如下:

!作者:72个经典例子,版本v1.0.0, 504284@qq.com,20210904

!输出图片方法1——推荐方法
!/show,jpeg是显示此命令之后的屏幕显示命令PL**得到的显示内容。

!MISO单压
FINISH !固定
/CLEAR

/FILNAME,miso
/UNITS,SI
!*******参数化开始*********
YS=30E3            !@杨氏模量!砼的弹性模量
POS=0.2            !@泊松比!砼的泊松比
Length=50        !@长度
Width=50        !@宽度
Height=50        !@高度
Force = 1000    !@集中力
!********参数化结束*********

AR=Width*Height    !横截面面积
IA=Width*(Height**3)/12    !截面惯性矩

/PREP7
ET,1,SOLID65 !定义元素类型——不需要参数化
R,1                     !定义元素类型的几何特征——不需要参数
MP,EX,1,YS !定义材料特性,1号材料,杨氏系数——一般不需要参数化
MP,NUXY,1,POS !1号材料,泊松比
TB,CONCR,1,1  !在非线性材料属性或特殊单元输入中激活一单元表格
TBTEMP,0
TBDATA,1,0.3,0.5,2.5,-1
TB,MISO,1,1,15
TBPT,, 100E-6, 3.0 !在应力-应变曲线上定义一个点
TBPT,, 300E-6, 8.3
TBPT,, 600E-6,14.6
TBPT,, 900E-6,19.1
TBPT,,1100E-6,21.0
TBPT,,1250E-6,22.0
TBPT,,1400E-6,22.6
TBPT,,1550E-6,22.8
TBPT,,1650E-6,22.7
TBPT,,1800E-6,22.3
TBPT,,2000E-6,21.4
TBPT,,2800E-6,16.8
TBPT,,3200E-6,14.7
TBPT,,3800E-6,12.3
TBPT,,4600E-6,9.9
!TB,MKIN,1
!TBTEMP,,STRAIN
!TBDATA,,600E-6,1100E-6,1600E-6,3000E-6,4500E-6
!TBTEMP,0
!TBDATA,,15,21.5,23,16,9
BLOCK,0,Length,0,Width,0,Height !根据两角点生成长方体
MSHAPE,0,3D
MSHKEY,1
ESIZE,10 !指定线划分单元的默认数目
VMESH,ALL
NSEL,S,LOC,X,0
D,ALL,UX,0
NSEL,S,LOC,Y,0
D,ALL,UY,0
NSEL,S,LOC,Z,0
D,ALL,UZ,0
NSEL,S,LOC,Y,50
CP,1,UY,ALL
NSEL,ALL
FINISH
/VIEW,1,1,1,1
/REPLOT
/SOLU
ANTYPE,STATIC
AUTOTS,OFF
OUTRES,ALL,1
TIME,50
NSUBST,50
D,1,UY,-.25
NSEL,ALL
SOLVE
FINISH
/POST26

!输出曲线图片,默认分辨率
/GRAPHICS,POWER
/show,jpeg           !创建 jpeg格式文件,文件名及格式为jobname nnn.jpeg——文件名与序号之间无空格
jpeg,qual,100        !图片质量,默认75,越高质量越好
jpeg,orient,horiz   !图片方向
jpeg,color,2          !图片色彩,0,1,2分别代表黑白、灰度、全彩
jpeg,tmod,1
/gfile,2400,           !图片分辨率
!/cmap,_tempcmap_,cmp,,save    !Changes an existing or creates a new color mapping table

!将背景色调为白色
/rgb,index,100,100,100,0
/rgb,index,0,0,0,15

NSOL,2,1,U,Y,UY
RFORCE,3,1,F,Y,FY
ADD,4,2,,,STRAIN,,,-1/50
ADD,5,3,,,STRESS,,,-1/2500
/AXLAB,X,STRAIN
/AXLAB,Y,STRESS
XVAR,4
PLVAR,5        !上面的/show输出这个图形

/post1

/GRAPHICS,POWER
/show,jpeg    !输出下面显示的应力云图

plnsol,epto,eqv,0,1        !梯度线图显示节点解 Total mechanical equivalent strain;EQV,INT:等效应力
!输出应力云图

!通过循环输出多张图片,以下只是示例输出节点编号,节点很多的时候慎用,会输出很多图片。
!*get,nump,node,,count
!*get,nmin,node,,num,min
!*do,ih,0,nump-1,1
!/show,jpeg
!nsel,s,,,nmin
!nplot
!/pnum,node,1
!/show,close
!allsel,all
!nmin=ndnext(nmin)
!*enddo

FINISH

!输出图片方法2

~eui,'package require ansys'
!2.后面再 设置图片路径(新建文件夹)
~eui,'ansys::report::setdirectory "one_board_report1"'
!3.再输出图片~eui,'ansys::report::imagecapture {jianhua_wg 1} '
!编号一直会增加,不会覆盖,缺点:只输出png格式,分辨率不知道怎么修改

!新建文件夹one_board_report1
~eui,'ansys::report::setdirectory "one_board_report1"'
!第一次出现在这里,输出一个空图,必须有这个第一个,不然后面的不会输出
~eui,'ansys::report::imagecapture {jianhua_wg 1} '
!输出图片到文件夹下的images文件夹内,文件名为image1~……

自动输出曲线和立方体应力图如下:

自动输出可交互的计算结果图形

生成可交互的三维计算结果

难点

我觉得难点在于,与UI界面上操作不同,在APDL里无法像界面上那样操作来选择构件,比如需要通过逻辑来确定构件编号,然后进行类似布尔运算之类。

上一篇 mathcad模板编制
下一篇 Excel表格模板编制

作者:秦晓川  创建时间:2021-08-22 15:49
最后编辑:秦晓川  更新时间:2024-12-21 14:14