ANSYS的“宏”是一种统称,包含宏内容的文件也称为“宏文件”,以“mac”为扩展名时的宏文件名字称为“宏命令”。有时为了方便,也不加以区分。宏文件一般存放在工作目录中,当然可以建库存放。宏文件创建也有多种方法,如用记事本编写后保存,也可在ANSYS中直接创建。
宏与其他高级语言的子程序类似,可以随意调用。宏命令可在ANSYS当做自定义命令使用,可以传递参数到宏文件中,宏有局部变量(ARG1~AR99)和全局变量(自定义的任何变量),宏可以直接引用宏外的全局变量(例如数组等),宏当然可以使用ANSYS的左右函数和命令。因此,灵活运用宏命令可以提高建模和计算效率。
宏命令可以传递19个参数到宏文件中,在宏文件中与这些参数对应的局部变量为ARG1~AR19。因ARG1~AR19为局部变量,所以可在多个宏中直接使用而不会相互影响。
!==============================
!创建一个二次函数计算的宏sub1
!仅为示例,本宏仅保留sub1re1变量
!中间变量均已删除,当然也可不删除
!也可使用局部变量编制宏文件
*create,sub1,mac
!y=ax^2 bx c
a=arg1
b=arg2
c=arg3
d=arg4
y=a*d**2 b*d c
sub1re1=y
a=
b=
c=
d=
y=
*end
!创建阶乘宏命令sub2
!使用内部变量名,如ar20
!sub2re为全局量
!在宏外宏内均可使用
*create,sub2,mac
sub2re=1
*do,ar20,1,arg1
sub2re=sub2re*ar20
*enddo
*end!结束宏创建
!两个宏文件已保存在工作目录中
!============================
!用*USE也可调用宏,不如直接用
!*use,sub1.mac,2,-5,4,10
!使用宏命令示例
/prep7
*do,i,1,10
sub1,-0.1,2,0,i
k,,i,sub1re1
*enddo!
!再次调用宏sub1
*do,i,1,6
sub1,-0.2,1.2,4,i
k,,i,sub1re1$*enddo
!重复使用命令sub2
sub2,8
j8=sub2re
sub2,100
j100=sub2re
*stat
可以将专门的一些类似子程序的内容编写成宏文件,除了局部变量外,其他都是全局变量,如数组等参数均可直接在宏内和宏外使用,使用宏命令可大大提高工作效率。
声明:原创文章,欢迎留言与我讨论,如需转载留言