username 发表于 2016-3-8 16:07

熟悉apdl语言,解析简单的命令流

  这是从网上找到的ansys加载的例子,我就这个例子查找了网上一些介绍apdl语言的知识,对每个句子给与了相应的解释。

  ANSYS5.7版本具有函数加载功能,可以很方便地在模型表面施加函数变化的各种载荷,在ANSYS5.6版本中,也可以通过变通的方式来实现此功能,其思路是:

  首先选定所要施加函数变化表面载荷的表面上的节点,利用ANSYS的参数数组和嵌入函数知识写一简单的命令流,定义好相应节点位置的面载荷值,然后通过在节点上施加面载荷来完成。

  下面以在一圆柱表面施加函数变化载荷为例:

  /prep7 进入前处理器

  et,1,45 单元类型

  cyl4,,,0.5,,,,3

  vsweep,all 网格划分

  asel,s,loc,y,0.01,1 选择面?

  nsla

  !

  *get,nmax,node,,num,max, 提取节点并赋值

  *get,nmin,node,,num,min, 提取节点并赋值

  *afun,deg 设定角度单位为度数

  *dim,t1,array,nmax,1,1, 定义数组

  csys,1 激活坐标系

  *do,k,nmin,nmax 开始循环

  *if,nsel(k),eq,1,then 条件语句 (eq表示等于)

  t1(k)=1000*sin(ny(k)) 如果条件为真则执行这句

  *else 否则执行t1(k)=0

  t1(k)=0

  *endif 条件语句结束

  *enddo 循环结束

  !

  sffun,pres,t1(1) 加函数力

  sf,all,pres,0 选择所有

  *get的意义:

  1、从某个特定的项目中提取数据,并赋给某个特定的参数

  2、内嵌获取函数

  *dim的意义:

  定义数组参数,通常可用array,char(定义字符串数组),table表示。

  *do,*enddo:

  分别表示循环的开始和结束的标识字

  Do循环允许按指定的次数循环执行一系列的命令

  *if,*endif的意义:

  分别表示条件分支语句的开始和该结构的结束。*IF常与*ELSEIF或是*ELSE联合起来使用。

  Apdl允许根据条件执行某些供选择程序体中的一个,条件的值通过比较两个数的值来确定。

  *IF命令的语法为:

  *IF,VAL1,OPER,VAL2,BASE

  其中,

  VAL1是比较的第一个数值

  OPER是比较的运算符

  VAL2是比较的第二个数值

  若比较的值为真,则执行BASE指定的操作



转自:http://blog.sina.com.cn/s/blog_62e74f1b0100fm1a.html
页: [1]
查看完整版本: 熟悉apdl语言,解析简单的命令流