首页/文章/ 详情

APDL宏文件系列讲解之有参数输入宏文件的创建

5年前浏览4749

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 结构院

WorkbenchMechanical结构基础通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2018-12-22
最近编辑:5年前
水哥ANSYS
硕士 | 结构设计师 欢迎关注**公众号ANSYS结构院
获赞 193粉丝 4924文章 41课程 16
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈