蠕变中文解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ANSYS提供了两个用户徐变方程:USERCR.F和USERCREEP.F。其中:
显式徐变用USERCR.F;前提是C6 = 100
隐式徐变用USERCREEP.F,前提是TBOPT=100
(1)用户徐变子程序usercr,用于显式徐变
subroutine usercr (elem,intpt,mat,ncomp,kfirst,kfsteq,e,posn,d,
x proptb,timval,timinc,tem,dtem,toffst,fluen,dfluen,epel,epcrp,
x statev,usvr,delcr)
c
c *** 基本功能: 允许用户写自己的徐变规律。该逻辑仅在C6=100时可用。
c *** 次要功能: 演示用户徐变方程的编写
c *** 注意-本文件包含ANSYS 机要信息***
c *** ansys(r) copyright(c) 2000
c *** ansys, inc.
c
c 输入变量:
c | (译者注)
c |
c | 类型:int-整型
c | dp-双精度型
c | 长度:sc-标量
c | ar( , )-数组
c | 目的:in-输入
c | out-输出
c | inout-输入输出
c 变量(类型,长度,目的)-描述
c elem (int,sc,in) -单元号(标识)
c intpt (int,sc,in) -单元积分点数
c mat (int,sc,in) -材料引用号
c ncomp (int,sc,in) -应力/应变分量数(1,4 or 6)
c 1 -x
c 4 -x,y,z,xy
c 6 -x,y,z,xy,yz,xz
c kfirst (int,sc,in) -若是首次则值为1,否则为0
c (对把状态变量初始化为非零值有用)
c kfsteq (int,sc,in) -若是子步中首次平衡迭代则为1,否则为0 c e (dp,sc,in) -杨氏弹性模量
c posn (dp,sc,in) -泊松比
c d (dp,ar(ncomp,ncomp),in) -弹性应力-应变矩阵
c proptb (dp,ar(72),in) -使用TB命令输入的材料属性值
c (勿使用PROPTB(13), 因为它用在别处) c timval (dp,sc,in) -当前时间
c timinc (dp,sc,in) -这一子步中的时间增量
c tem (dp,sc,in) -这一子步结束时的温度
c dtem (dp,sc,in) -这一子步结束时的温度增量
c toffst (dp,sc,in) -相对于绝对零度的温度偏置
c fluen (dp,sc,in) -这一子步结束时的流量
c dfluen (dp,sc,in) -这一子步的流量增量
c
c epel (dp,ar(ncomp),inout) -弹性应变
c epcrp (dp,ar(ncomp),inout) -前面子步的徐变应变
c statev (dp,ar(ncomp*5+2),inout) -前面(已收敛)子步中的状态变量
c 该变量仅用于显式徐变,并且是指一
c 个内部变量,但不是用TB,stat命令定c 义的用于隐式徐变(用户徐变)以及用c 户材料的内部变量
c usvr (dp,ar(nuval,nintp),inout) -附加状态变量,来自前面的迭代(使用
c NSVR命令保存)
c
c 输出变量:
c 变量(类型,长度,目的)-描述
c epel (dp,ar(ncomp),inout) -考虑徐变增量后的弹性应变调整
(elastic strain adjusted for creep increment)c epcrp (dp,ar(ncomp),inout) -更新后的徐变应变
c statev (dp,ar(ncomp*5+2),inout) -更新后的各状态变量
c usvr (dp,ar(nuval,nintp),inout) -更新后的附加状态变量
c delcr (dp,sc,out) -等效徐变应变增量(用于徐变率计算)
c
c FORTRAN参数(由用户定义):
c 变量(类型)-描述
c nuval (int) -每个积分点处附加状态变量数目
c nintp (int) -本子程序使用的单元最大积分点数目
c (最大为14)
c 注意: nuval×nintp = nstv (用nsvr 命令),不能超过840!
c
c 内部变量:
c 变量(类型,长度) -描述
c con (dp,sc) -临时变量
c del (dp,ar(6)) -徐变应变增量
c epet (dp,sc) -等效弹性应变(徐变前)
c ept (dp,ar(6)) -总应变
c eptot (dp,sc) -等效总应变,弹性+ 徐变
c sigen (dp,sc) -等效应力(徐变前)
c temabs (dp,sc) -绝对温度
#Include "impcom.inc"
external erhandler
c
c 用户定义的FORTRAN参数
c --- usvr数据的容量
integer nuval,nintp
parameter (nuval=1,nintp=1)
c
c 外部子程序和函数
external egen
double precision egen
external vapb,vapb1,vamb1,vmult
c
c 整型变量
integer elem,intpt,mat,ncomp,kfirst,kfsteq
c
c 双精度变量(&为续行标识符,原文为x,为清晰起见这里该为&。译者注)
double precision
& e,posn,d(ncomp,ncomp),proptb(72),timval,timinc,tem,dtem,toffst,
& fluen,dfluen,epel(ncomp),epcrp(ncomp),statev(ncomp*5+2),
& usvr(nuval,nintp),delcr,
& temabs,con,del(6),epet,sigen,eptot,ept(6)
c
c **** 当前版本的ANSYS程序不累计徐变效应(creep work)的影响,如需要,建议按如下步骤进行:
c 1. 在本子程序中计算需要的徐变效应。
C 这可以在单元中累加实现。可以这样做:
c 在子程序的开头if (intpt .eq. 1) usvr(1,1) = 0.0,
c 然后在所有积分点累加usvr(1,1) = usvr(1,1) + xxxxx
c 注意这仅仅是徐变效应密度,如果需要总徐变效应,需要乘以体积。这c 将在下面的步骤中阐述。
C 事实上,比这要稍微复杂一些,我们希望这个累加仅对收敛的平衡迭c 代进行,具体实现方法为:
c if (kfstps .eq. 1) work = 0.0
c if (kfsteq .eq. 1) workol
d = work
c work = workol
d + delta(work)
c 这样,在收敛的平衡迭代中,效应将是正确的
c 2. 在userou中,将数据从usvr(1,1) 移到udbdat(1).
c userou 仅在所有积分点都出来完毕后才被调用