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

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

时间:2010-11-14 11:34:51 来源:未知

重启动在非线性和动力学分析中经常用到,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#p#分页标题#e#