1、APDL语言与ANSYS WB平台结构计算模块关系
APDL语言是ANSYS公司自己开发的语言,应用在该公司所有的独立模块,即除了后来收购的软件外。
ANSYS WB平台是实现ANSYS所有产品集中协调工作的平台,APDL语言可以应用于WB平台中的Mechanical模块,来实现ANSYS经典环境的所有功能。
Mechanical模块在求解时,也是将用户的GUI操作转换为APDL命令流提交给ANSYS求解器进行求解,然后把求解的结果返回给Mechanical模块。
2、APDL命令简介
• ANYS提供两种工作方式,GUI图形用户界面(GraphicalUser Interface又称图形用户接口)操作和命令流。
• 在ANSYS 中,命令流是由一条条ANSYS 的命令组成的一个命令组合,这些命令按照一定顺序排布,能够完成同GUI方式一样甚至GUI不能完成的的 操作。
• 命令流方式融GUI方式、APDL、UPFs、UIDL、MAC,甚至TCL/TK于一个文本文件中,可通过/input命令(或UtilityMenu>File>Read Input From)读入并执行,也可通过拷贝该文件的内容粘贴到命令行中执行。
APDL 是什么 >
命令流通常由ANSYS命令和APDL功能语句组成。APDL(ANSYS Parametric Design Language)为ANSYS参数化设计语言。APDL是用来自动完成某些功能或建模的类似于FORTRAN的解释性语言,提供一般程序语言的功能。它包含三个方面的
内容:工具条、参量和宏命令。灵活运用这三种工具,可以实现快速操作,数据快速传递、更新等功能。
解释性语言
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。
ANSYS命令流与GUI方式联系及其优点
ANSYS命令流可以和GUI方式配合使用,各自分别都能独立完成分析,部分操作只能通过命令方式实现。对于复杂的有限元模型,使用GUI方式的缺点就会暴露,因为一个分析的完成需要进行多次反复。这样,在GUI方式中,就会出现大量重复的操作,会严重影响设计人员的心情。
命令流方式的优点
命令流有以下几个优点:
• 可减少大量的重复工作,少许修改的话,只需变动几行代码或者参数就行,可为设计人员节省大量的时间。
• 便于保存和携带,一个复杂的有限元分析的APDL代码也就几百行,也就几十KB。
• 便于交流,设计人员进行交流时,查看APDL代码明显方便得多。
• 高级需求时,可以二次开发。
• 熟练后分析速度要快于使用GUI;减少重复劳动;方便和别人交流。
但这并不是说只需学习命令流就可以了,对于初学者来说,GUI方式是最易懂和入门的方式,熟练的操作GUI可以便于命令的理解。因此,我们在学习ANSYS过程中,菜单操作是对ANSYS使用环境熟悉的一个重要过程。
二次开发涉及到的工具
可以通过ANSYS为用户提供了良好的二次开发环境,开发适用于用户自己的模块,提高分析效率和质量。ANSYS提供了四种次开发工具:APDL;UPFs(User Programmable Features)——用户可编程特性,操作途径是对ANSYS核心FORTRAN代码进行修改,对开发者有限元知识水平要求较高;UIDL(User InterfaceDesign Language)——用户界面设计语言;Tcl(Tool commandlanguage)——工具命令语言,Tk是基于Tcl的图形开发工具箱,二者用于ANSYS界面开发,比UIDL更加接近底层。
如何学习ANSYS命令和APDL
命令流通常由ANSYS命令和APDL功能语句组成。
大致可以通过命令有无前缀区分:
带/的命令:一般是系统命令(总体命令)或各模块标示符,比如功能菜单(Utility Menu)中的多数操作、主菜单(Main Menu)进入各模块。如删除所有的参数以及模型和结果/clear,前处理命令对应的处理器/PREP7,求解模块/SOLUTION,后处理命令/post1、/post26等。
带*的命令:一般是APDL的标识符,也就是ANSYS的参数化语言,
如*do ,,,*enddo等
无/和*命令:是各个模块下的ANSYS命令,使用时需要进入相应的处理器。如/PREP7下才可以使用ET(定义单元)命令。
ANSYS命令按照功能可分为三个大类:前处理命令、后处理命令、和结果查看命令,每个大类有自己对应的处理器,/PREP7处理器,后处理/POST1、/POST26等。
ANSYS有超过1000条命令,很难有人把这些完完全全记住,我建议先学习APDL语法及规则,记住常用的关键词,配合这些关键词套用需要的命令。然后了解常用的ANSYS命令。对于ANSYS常用命令的学习,网上资料很多,更详细的用法可、以在ANSYS主菜单-help-help topic中查找。
LOG文件的秘密
通过ANSYS GUI操作时,几乎所有的操作都会记录到工作目录jobname.log文件中,并且以ANSYS命令的方式记录。所以,查看log文件就能弄明白操作所对应的命令,这也是初学者学习和编写命令流的一种途径。
LOG文件整理
但log里也记录了很多无用的东西,比如转动视角,放大缩小等;选择实体也会产生啰嗦大量代码。这就需要进行整理和简化。
下面7点是网友总结的log文件整理心得
1. 要注意时间,因为每次做的东西都会跟在log文件后面,所以要根据
时间取舍,不是所有的log文件中的内容就有用的,一开始我建议从新建一个文件开始
2. 最好每做一步看一下log文件,可以知道自己的操作对应哪些命令
3. 有些关于存盘、显示视角等命令可以删除
4. 选取实体时往往会产生很多命令,可以简化
5. 整理命令流时要新建立一个文本文件,以便从log文件中拷贝所需要的
6. File菜单中的Read input from可以读入自己所建立的命令流来执行
7. 可以增加注释语句以增强可读性
ANSYS命令解析器
其实有一个小工具可以帮助你快速整理log
AnsysCommandParser ANSYS命令解析器
转换Ansys日志文件命令流的小工具
AnsysCommandParser
http://www.cnblogs.com/wdhust/archive/2011/05/06/2039515.html
用于清理和转换Ansys日志文件(.log文件),以生成等价的Ansys命令流的小工具。
主要功能:
1.删除"/auto“,"/dist“,"/replot"之类因图形界面操作所产生的“无用指令”(对建模和计算本身无影响的指令);
2.将图形界面选择操作所产生的选择操作指令转换为等价,但更加简洁、可读性更好、更适合手工输入的选择操作指令
3、APDL命令在WB中的使用位置
Workbench中APDL命令流的功能:
(1)命令流可以实现材料模型的定义和部分单元的控制;
(2)命令流可以实现对接触对的实常数和关键字的控制;
(3)命令流可以实现对求解的补充控制;
(4)命令流可以补充后处理的功能。
APDL命令在WB中的使用位置涉及WB分析的整个过程。用户可以在前处理、边界、分析设置、求解项、后处理等处插入命令流
用户可以右击几何选项下方的模型,插入命令,该位置主要设置材料模型,用于补充ANSYS WB平台中工程数据模块中没有的材料模型,也可以定义单元,但是要想成功将用户的单元应用到几何模型上,必须要和网格划分设置相协调!
对于装配体结果,用户可以在接触位置右击插入命令流,用来补充设置对接触的控制,主要包括单元关键字和实常数。
用户也可以在求解中插入命令,例如函数加载、数组和表格等。
用户也可以在后处理中插入命令,来丰富观察结果选项,但是建议,如果在WB平台不支持查看结果,直接把结果转换到经典查看。
4、实例分析
4.1 命令流实例解析——桁架结构受力分析
FINISH
/CLEAR
!进入PREP7并建模
/prep7
et,1,link180 !二维单元
r,1,1000 !以参数形式的实参
r,2,1000
r,3,1000
mp,ex,1,2.1E6 !杨氏模量
mp,prxy,1,0.3
n,1,-1000,0,0
n,2,0,0,0
n,3,1000,0,0
n,4,0,-1000,0
/pnum,node,1
/number,0
real,1
e,1,4
real,2
e,2,4
real,3
e,3,4
finish
!进入求解器,定义载荷和求解
/solu
d,1,all,0,,3
f,4,fx,200000
f,4,fy,-200000
solve
finish
!
!进入POST1并读出状态变量数值
/post1
set,last
etable,evol,volu !将每个单元的体积放入ETABLE
ssum !将单元表格内数据求和
*get,vtot,ssum,,item,evol !VTOT=总体积
rho=2.85e-4
wt=rho*vtot !计算总体积
etable,sig,ls,1!将轴向应力放入ETABLE
!
*get,sig1,elem,1,etab,sig !SIG1=第一个单元的轴向应力
*get,sig2,elem,2,etab,sig !SIG2=二单元的轴向应力
*get,sig3,elem,3,etab,sig !SIG3=三单元的轴向应力
sig1=abs(sig1) !计算轴向应力的绝值
sig2=abs(sig2)
sig3=abs(sig3)
模型
4.2 矩形板受力分析
问题描述:上表面分别加载1、2、3Mpa。采用命令流方式加载,求应力和位移。
定义加载面
计算结果