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
可以将专门的一些类似子程序的内容编写成宏文件,除了局部变量外,其他都是全局变量,如数组等参数均可直接在宏内和宏外使用,使用宏命令可大大提高工作效率。