您的位置:网站首页 > Ansys教程

ANSYS后处理结果修改数据库中的某些参数的技巧

时间:2011-02-18 16:31:44 来源:未知

 本文介绍了ANSYS后处理结果修改数据库中的某些参数的若干技巧。

  重启动在非线性和动力学分析中经常用到,ANSYS的重启动分析能力非常强大。在非线性分析中,经常会遇到如下情况:

  在一个非线性或动力分析过程中,随着载荷逐渐增大,应力或者变形也将增大,而材料的特性(如刚度)以及实常数(如材料厚度等)也会随着应力或者变形的变化而改变,材料特性又不能够通过定义应力应变关系来确定,需要有人工根据计算结果来调整。

  对于这样的情况,可以采用逐步重启动的方法来模拟。具体过程是,首先作一个初始分析,然后进入后处理器,对计算结果进行处理,对应力(或位移)超过一个规定值的单元或者单元组,按照一定的规则修改材料常数(相当于调整局部区域的刚度)以及实常数,再在前一步分析的基础上,采用修改了的材料常数、实常数、载荷等进行重启动分析。在这里,需要修改的数据可以采用参数的方式定义,根据计算结果修改这些参数,然后作为一个外部文件保存在磁盘上,在重启动时,将这些数据文件以参数的形式读入,用这些参数修改数据库的相关数据,然后求解。为此,可以用APDL语言来编制程序,实现这个过程。下面就是实现这个过程的流程:

  /Title,根据前一步计算结果,修改参数进行重启动分析

  *set,neg,, !属性(材料、实常数)组数

  /prep7

  *dim,tk,array,neg

  *dim,em,array,neg

  *dim,pr,array,neg

  *set,tk(1),,,, ! 设置实常数的初值(Thickness)

  *set,em(1),,,, ! 设置材料常数的初值

  *set,pr(1),,,,

  et,1,181

  *do,i,1,neg

  mp,ex,i,em(i)

  mp,prxy,i,pr(neg)

  r,i,tk(i)

  *enddo

  建立几何模型

  指定属性

  分网

  建立单元

  finish

  /solution

  antype,,

  边界条件

  载荷

  求解选项(非线性或瞬态)

  求解控制

  输出控制

  solve ! 初始求解

  *do,i,1,ns

  /POST1

  *get,emax,elem,,num,max

  *dim,smax,array,emax

  *dim,dmax,array,emax

  etable,seqv,s,eqv

  *do,ie,1,emax

  *get,smax(i1),etable,ie,seqv

  if,smax(i1),gt,slim,then

  *get,je,elem,ie,attr,real

  tk(je)=tk(je) tk(je)*0.10 !修改实常数 (Thickness)

  em(je)=em(je)-ex(je)*0.10 ! 修改材料常数 (Ex)

  pr(je)=pr(je) ! 修改材料常数(Prxy)

  *endif

  *enddo

  *CREATE,outp_data

  *CFOPEN,'inpu_ex',' ',' '

  *VWRITE,em(1)

  (f20.5)

  *CFCLOS

  *END

  /INPUT,outp_data

  *CREATE,outp_data

  *CFOPEN,'inpu_pr',' ',' '

  *VWRITE,pr(1),

  (f20.5)

  *CFCLOS

  *END

  /INPUT,outp_data

  *CREATE,outp_data

  *CFOPEN,'inpu_tk',’’

  *VWRITE,tk(1)

  (f20.5)

  *CFCLOS

  *END

  /INPUT,outp_data

  FINISH

  /SOLU

  ANTYPE,,REST,,,

  *dim,em,array,neg

  *dim,pr,array,neg

  *dim,tk,array,neg

  *CREATE,read_data

  *VREAD,em(1),inpu_ex

  (f20.5)

  *end

  /INPUT,read_data

  *CREATE,read_data

  *VREAD,pr(1),inpu_pr

  (f20.5)

  *END

  /INPUT,read_data

  *CREATE,read_data

  *VREAD,tk(1),inpu_tk

  (f20.5)

  *END

  /INPUT,read_data

  *do,j,1,neg

  mp,ex,j,em(j)

  mp,prxy,j,pr(j)

  r,j,tk(j)

  *enddo

  !求解选项

  !求解控制

  !载荷

  ......

  solve

  finish

  *enddo