APDL宏文件系列讲解(三)

Please Share Us

        APDL中的变量与其他编程语言一样,具有全局变量、局部变量和系统变量之分,一般情况下,我们定义的变量为全局变量,也即定义变量后,在删除变量或者退出ANSYS之前,该变量一直存在于内存中,可以随时调用。而局部变量则一般用于宏文件中,其生命周期与宏文件的使用周期相同,当宏文件运行完毕后,宏文件中的局部变量都会在内存中消失,这里的局部变量包括两种类型:

       1、宏文件外部输入的变量;

       2、宏文件内部定义的变量

 

       宏文件内部定义的变量很好理解,其实和我们平时定义变量雷同,只是其使用范围仅限于宏文件整个运行周期而已。这里重点说下宏文件外部输入的变量。

       通过外部输入变量,能实现很多参数化宏文件的定制,是宏文件使用的高级技巧,应重点掌握。一个宏命令,可以同时输入19个变量,变量代号分别是ARG1~ARG2,也即在创建过程中,如果需要外部输入参数,我们只需要以ARGn 的格式代替就行,变量类型包括但不仅限于数值型变量,使用格式如下:

!创建宏文件

*Create,File_name,mac

!========

………

!以创建矩形为例,定义长宽为外部输入的参数

Blc4,,,ARG1,ARG2

!========

*enddo

!宏文件创建完毕

!===========

!宏文件调用

File_name,A1,A2

!其中A1、A2分别按顺序赋值给ARG1、ARG2

 

    下面以地震反应谱分析为例,说明创建求解地震反应谱的宏文件创作过程。按《抗规》第5.1节相关内容创建,在生成地震反应谱的时候,需要输入如下几个参数:

1)特征周期;2)最大反应影响系数;3)阻尼比;4)加速度调整系数,创建宏文件以N-m单位制为准,如果采用N-mm,则需要乘以1000的系数。

*Create, EQ_response,mac

!==========

!创建外部参数

tg=arg1        !设计特征周期

refmax=arg2    !地震反应影响系数

kes=arg3       !阻尼比

cha=arg4       !加速度调整系数

!=========================

!按《抗规》5.1.5 求解对应参数。

gra=9.8*arg4

eta1=0.02+(0.05-kes)/(4+32*kes)

eta2=1+(0.05-kes)/(0.08+1.6*kes)

gama=0.9+(0.05-kes)/(0.3+6*kes)

!求解反应谱

*if,eta1,lt,0,then

eta1=0

*endif

*if,eta2,lt,0.55,then

eta2=0.55

*endif

!=================

frenum=20

*dim,TTT,,Frenum

*dim,fres,,frenum

*dim,aces,,frenum

!===================

TTT(1)=0.0

TTT(2)=0.1

*do,i,3,15

TTT(i)=i*tg/3.0

*enddo

Tz=6.0-5*tg

NTD=TZ/tg/5

*do,i,16,frenum

TTT(i)=5*tg+(i-15)*NTD*TG

*enddo

!====================

aces(1)=0.45*refmax*gra

aces(2)=eta2*refmax*gra

aces(3)=aces(2)

*do,i,4,15

aces(i)=(tg/TTT(i))**gama*eta2*refmax*gra

*enddo

*do,i,16,frenum

temp1=eta2*0.2**gama-eta1*(TTT(1)-5*tg)

aces(i)=temp1*refmax*gra

*enddo

!====================

!存储反应谱

fres(frenum)=1e5

*do,i,2,frenum

fres(frenum+1-i)=1/TTT(i)

*enddo

*do,i,1,frenum

TTT(Frenum=1-i)=aces(i)

*enddo

*vfun,aces(1),copy,ttt(1)

!===================

!删除多余变量

TTT=$eta1=$eta2=$tg=$refmax=$kes=$gama=

gra=$TZ=$NTD=$i=$temp1=$cha=

*enddo

!结束创建

 

例:针对某钢筋混凝土结构,设防烈度为7度0.1g,场地类别为二类,设计分组为第一组,以N-mm单位制建模,则计算反应谱时输入格式如下:

!==========

EQ_response,0.35,0.08,0.05,1000

!==========

 

       关于宏文件的系列讲解就到这儿,当然这里讲的都是最基本的,但万变不离其宗,实际工程中很多巧妙用法其实都是源于对基本概念的理解与提升,作为刚学习APDL的人员,把握好基本命令的使用才是提升个人能力的捷径。

       往期文章回顾

        1、APDL 宏文件系列讲解(一)   

        2、APDL宏文件系列讲解(二)

祝好

ANSYS结构院

2018.11.08

 

Please Share Us
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…