蠕变中文解释

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 仅在所有积分点都出来完毕后才被调用

相关文档
最新文档