找回密码
 注册
Simdroid-非首页
查看: 5114|回复: 80

【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

[复制链接]
发表于 2003-5-17 19:41:21 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
      
      重启动在非线性和动力学分析中经常用到,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
:8):8):8):8)

[ 本帖最后由 雨人 于 2006-9-16 11:44 编辑 ]

评分

1

查看全部评分

发表于 2003-5-17 19:43:01 | 显示全部楼层 来自 江苏南京

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

Simdroid开发平台
好贴,顶!
发表于 2003-5-18 10:47:36 | 显示全部楼层 来自 LAN

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

to:雨人
重启动能实现下面的功能吗?
在第二荷载步改变材料后加载,计算出的应力为总应力(即加上了第一荷载步算出的应力),尤其是当加温度体载
我试了下,好像不行,不知道是不是命令流有问题,请指教
fini  
/clea  
/prep7  
et,1,solid45  
mp,ex,1,3e10  
mp,nuxy,1,0.2  
mp,alpx,1,1e-5  
  
mp,ex,2,3e8  
mp,nuxy,2,0.2  
mp,alpx,2,1e-5  
  
block,,10,,3,,0.3  
esize,0.15  
vmesh,all  
asel,s,loc,x,0  
nsla,s  
d,all,all  
/solu  
  
allsel,all  
bf,all,temp,-5  
time,1  
solve  
  
/solu  
antype,,rest,  
bfcum,temp,add !增加bfcum  
allsel,all  
mpchg,2,all  
bf,all,temp,-5  
time,1  
solve
发表于 2003-5-18 11:14:47 | 显示全部楼层 来自 LAN

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

好贴。re一把。
 楼主| 发表于 2003-5-18 12:24:21 | 显示全部楼层 来自 黑龙江哈尔滨

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

to pkpm:
    
    将这两句
   “ antype,,rest,  
     bfcum,temp,add !增加bfcum ”
  
    改为
  
     antype,,rest
     bfcum,temp,add  
  
    运行结果大不一样。
   
    结果见下图。你原来命令流的结果为X方向最大位移0.355E-4
  
修改后为0.73E-4。
  
    每一步运行前检查一下你的载荷施加的正确性,之后在再求解。
  
    你的命令流运行到第二步时节点BODY FOECE 为-5,
  
修改后为-10。
  
    试试!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2003-5-20 21:04:03 | 显示全部楼层 来自 LAN

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

:  
     
    将这两句  
   “ antype,,rest,  
     bfcum,temp,add !增加bfcum ”  
  
    改为  
  
     antype,,rest  
     bfcum,temp,add  
  
    运行结果大不一样。  
仅仅把rest后面的“,”号去掉吗,我试试了好像不行
我用rest本想得到如下结果
在计算第2步荷载时用第2种材料,荷载为降温5度,但应力值能加上第一步荷载在第1种材料上产生的应力,
    
 楼主| 发表于 2003-5-22 12:58:26 | 显示全部楼层 来自 黑龙江哈尔滨

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

    如果没有退出SOLUTION,可以直接运行,不用重启动。
  
    第2载荷步时,修改材料及荷载,运行前一定要将材料和荷载
  
列表检查一下,是否有误,再进行计算。
  
    达到你要的结果不是很难的,ANSYS完全可以做到。
  
    耐心试一下!
khj 该用户已被删除
发表于 2003-5-23 12:50:20 | 显示全部楼层 来自 广东韶关
提示: 作者被禁止或删除 内容自动屏蔽
freedomlwj 该用户已被删除
发表于 2003-5-26 18:12:59 | 显示全部楼层 来自 甘肃兰州
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-5-27 16:13:02 | 显示全部楼层 来自 LAN

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

好精彩,佩服的五体投地,向雨人姐学习。
hlz_2003 该用户已被删除
发表于 2003-5-28 00:37:45 | 显示全部楼层 来自 广西玉林
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2003-5-29 13:05:05 | 显示全部楼层 来自 黑龙江哈尔滨

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

     分数限制是为了鼓励更多的人参与有效回答问题或发一些高质量
  
的贴,无它。
  
    如需要,直说。
  
    
发表于 2003-5-29 21:05:12 | 显示全部楼层 来自 北京化工大学

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

用得着吗?
发表于 2003-5-30 11:48:58 | 显示全部楼层 来自 甘肃兰州

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

it is a pity !wait me!
 楼主| 发表于 2003-5-30 21:53:00 | 显示全部楼层 来自 黑龙江哈尔滨

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

     有些挺不住了!
  
       
      重启动在非线性和动力学分析中经常用到,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
发表于 2003-6-5 17:36:04 | 显示全部楼层 来自 陕西西安

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

雨人的帖子的确很有价值,看了半天,基本意思是将后处理器中的结果调到求解器中求解,想问:这句话该怎么理解?
*get,smax(i1),etable,ie,seqv   ?此句smax(i1)应为smax(ie)吧?
tjulm 该用户已被删除
发表于 2003-6-14 12:31:59 | 显示全部楼层 来自 天津
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-6-15 12:05:03 | 显示全部楼层 来自 陕西西安

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

积分歧视!!!
既然不想让人看,就不要贴出来,贴出来了,还要遮遮掩掩,何必呢?
发表于 2003-6-15 20:42:14 | 显示全部楼层 来自 大连理工大学

回复: 回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

wsjxaut wrote:
积分歧视!!!
既然不想让人看,就不要贴出来,贴出来了,还要遮遮掩掩,何必呢?

  
我很理解你的心情,因为以前我常常看不到积分限制得帖子!
  
但是,雨人的初衷是鼓励我们,而不是限制我们,所以,我们要努力
  
其实,只要我们稍加努力,拿到能看贴的积分是不难的!
  
我很菜,我的10分来得也不难,让我们共同努力吧!
  
非常感谢雨人的大作,我要好好拜读!
发表于 2003-6-16 16:11:17 | 显示全部楼层 来自 甘肃兰州

回复: 【转帖】根据后处理结果来修改数据库中的某些参数的一些技巧

我现在正在做论文计算完毕,迫切想掌握一些后处理的技巧,可惜 等等我 ^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 03:32 , Processed in 0.060510 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表