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

upfs用户自定义材料子程序userpl变量翻译

时间:2008-09-15 12:05:23 来源:
以下是关于用户自定义材料用户子程序userpl的翻译,这是我根据ansys的理论手册以及这个程序后面的主体部分理解,花费一个星期研究并翻译的,以后会把程序部分的翻译拿上来。关于upfs的资料很少,我个人研究势单力薄,希望这方面有兴趣的同志一同研究,谢谢大家:

其中有些部分我还不是很明白,希望大家讨论并纠正。
源程序在.....ANSYScustomUserintel下面

*deck,userpl parallel user dc
subroutine userpl (elem,intpt,mat,ncomp,kfirst,kfsteq,e,nu,dens,
x prop,d,ktform,timval,timinc,tem,dtem,toffst,flu,dflu,epel,eppl,
x statev,usvr,epeq,plwork,sigepl,sigrat,depeq,dt)
c前面是用到的一些子程序
c *** primary function: allow users to write their own plasticity laws.
c this logic is accessed with tb,user.
c the below demonstration logic is the same as using
c tb,bkin, without adaptive descent (nropt,,,off).
c Other plasticity rules may require internal
c iterations and/or the more general definition of
c plasticity theory, discussed in the Theory
c Manual.
c**函数的主要功能:如许用户自己定义塑性准则,接受命令tb,user中的变
c 量。下面的程序是使用tb,bink的示例。其他的如塑性增长需要内部的迭代
c 过程进行处理。更多的塑性理论方面的定义请参见理论手册。
c *** secondary function: demonstrate the use of user-written plasticity laws
c in this routine:
c a. update the nonlinear strain history
c b. compute the material tangent matrix if requested
c **函数的次要功能:在子程序中,示范了用户所写的塑性准则
c a. 根新非线性应变的历史变化。
c b. 如果有需要就计算材料的切线应力应变矩阵。
c *** Notice - This file contains ANSYS Confidential information ***
c
c
c *** ansys(r) copyright(c) 2000
c *** ansys, inc.
c
c input arguments:
c 输入要求
c variable (type,size,intent) description
c 变量(类型,大小,输入还是输出) 变量描述
c
c elem (int,sc,in) - element number (label)
c 整形数,输入 单元编号
c intpt (int,sc,in) - element integration point number
c 整形数,输入 单元节点编号
c mat (int,sc,in) - material reference number
c 整形数,输入 材料的相关编号
c ncomp (int,sc,in) - no. of stress/strain components (1,4 or 6)
c 1 - x
c 4 - x,y,z,xy
c 6 - x,y,z,xy,yz,xz
c 整形数,输入 应力和应变组成部分的编号
c kfirst (int,sc,in) - 1 if first time through, 0 otherwise
c (useful for initializing state variables
c to a non-zero value)
c 整形数,输入 如果第一次通过为1,否则为0
c 对初始化状态变量通常是一个非零值
c kfsteq (int,sc,in) - 1 if first equilibrium iteration of a
c substep, 0 otherwise
c 整形数,输入 一个子步第一次平衡迭代为1,否则为0
c e (dp,sc,in) - average elastic modulus
c 双精度数,输入 弹性模量
c nu (dp,sc,in) - average poisson ratio
c 双精度数,输入 泊松比
c dens (dp,sc,in) - current material density (mass/volume)
c 双精度数,输入 当前材料的密度(质量/体积)
c prop - linear material property array
c (dp,ar(9),in) (ex,ey,ez, gxy,gyz,gxz, nuxy,nuyz,nuxz)
c (dp,ar(1),in) if ncomp=1 (ex)
c 双精度数一维组,输入 线性材料特性数组
c d (dp,ar(ncomp,ncomp),in)- elastic stress-strain matrix
c 双精度数二维组,输入 弹性应力应变矩阵
c ktform (int,sc,in) - request key for tangent matrix formation
c (=1, form tangent .ne.1, do not form)
c 整形数,输入 针对切线矩阵信息所要求的关键字
c (=1就形成切线矩阵,不等于1则不形成)
c
c timval (dp,sc,in) - current time value
c 双精度数,输入 当前的时间值
c timinc (dp,sc,in) - time increment over this substep
c 双精度数,输入 对每一个子步过后的时间增长值
c tem (dp,sc,in) - temperature at the end of this substep
c 双精度数,输入 在这个子步结束时候的温度
c dtem (dp,sc,in) - temperature increment over this substep
c 双精度数,输入 这个子步结束的时候的温度增长值
c toffst (dp,sc,in) - temperature offset from absolute zero
c 双精度数,输入 从绝对0值的温度偏移量
c flu (dp,sc,in) - fluence at the end of this substep
c 双精度数,输入 在这个子步结束时的影响
c dflu (dp,sc,in) - fluence increment over this substep
c 双精度数,输入 这个子步结束后的影响变化
c epel (dp,ar(ncomp),inout)- modified total strain (trial strain)
c epel = eptot - eppl - eptherm - ...
c if a large strain analysis, epel is
c rotation neutralized and is the hencky
c (i.e. log) strain
c 双精度一维数组,输入输出 也叫trial strain,更改总的应变值
c epel= 整个应变-上一步塑性应变-温度应变.....
c 如果是大变形分析,这里不是很明白:)
c eppl (dp,ar(ncomp),inout)- plastic strain from previous substep
c 双精度一维数组,输入输出 从前一个子步等到的塑性应变
c statev (dp,ar(ncomp,6),inout)- state variables from previous substep
c 双精度二维数组,输入输出 从前一个子步得到的状态变量
c usvr (dp,ar(nuval,nintp),inout)- additional state variables from
c previous equilibrium iteration (saved
c if the nsvr command is used)
c 双精度二维数组,输入输出 从上一步平衡迭代得来的其他的状态变量
c 如果用到这个命令则存储
c
c epeq (dp,sc,inout) - effective plastic strain from prev substep
c 双精度数,输入输出 从上一个子步得来的等效塑性应变
c plwork (dp,sc,inout) - accumulated plastic work from prev substep
c 双精度数,输入输出 从上一个子步得来的累计的塑性功
c
c output arguments:
c 输出要求
c variable (type,size,intent) description
c 变量(类型,大小,输入还是输出) 变量描述
c epel (dp,ar(ncomp),inout)- elastic strain
c 双精度一维数组,输入输出 弹性应变
c eppl (dp,ar(ncomp),inout)- updated plastic strain
c 双精度一维数组,输入输出 更新的塑性应变
c
c statev (dp,ar(ncomp,6),inout)- updated state variables
c 双精度二维数组,输入输出 更新的状态变量
c usvr (dp,ar(nuval,nintp),inout)- updated additional state variables
c 双精度一维数组,输入输出 更新的额外状态变量
c
c epeq (dp,sc,inout) - updated effective plastic strain
c 双精度数,输入输出 更新的等效塑性应变
c plwork (dp,sc,inout) - updated accumulated plastic work
c 双精度数,输入输出 根新的累计塑性功
c
c sigepl (dp,sc,out) - stress value on stress-strain curve at epeq
c 双精度数,输出 在更新后的等效塑性应变后应力应变曲线上的应力值
c sigrat (dp,sc,out) - ratio of trial stress to yield stress
c 双精度数,输出 trial stress到屈服面上的比率
c depeq (dp,sc,out) - increment in plastic strain (equivalent)
c (used for auto time stepping - time step
c is reduced if it exceeds .05)
c 双精度数,输出 等效塑性应变的增长
c (利用自动时间步-如果它超过0.05时间步减少)
c
c dt (dp,ar(ncomp,ncomp),out)- material tangent modulus
c 双精度二维数组,输出 材料的切线模量
c
c fortran parameters (to be defined by the user):
c fortran的参数(由用户自己定义的)
c variable (type) description
c 变量(类型) 描述
c numinp (int) - number of data items in the user-defined
c data table (tbdat commands)
c 整形 用户通过tbdat命令定义数据的编号
c nuval (int) - number of additional state variables per
c integration point
c 整形 每个积分点额外状态变量的编号
c nintp (int) - maximum number of integration points of
c an element to be used with this routine
c (14 is the maximum)
c 整形 这个程序使用的一个单元积分点的最大编号
c note: nuval x nintp = nstv(on nsvr command); cannot exceed 840!
c
c internal variables:
c 内部变量
c variable (type,size) description
c 变量(类型,大小) 描述
c b (dp,ar(6,6)) - 2nd derivative of the yield function
c 双精度二维数组 屈服函数的二阶倒数
c c (dp,ar(6,12)) - part of deff = (i + dlamb*d*b)-1*d; b = (m - n*nt)/sigy
c 双精度二维数组 是deff的一部分(这里有点模?/a>??
c con (dp,sc) - temporary variable
c 双精度数 临时变量
c deppl (dp,ar(6)) - plastic strain increment
c 双精度一维数组 塑性应变增长
c dfds (dp,ar(6)) - derivative of the yield function (normal)
c 双精度一维数组 屈服函数的偏倒数
c dlamb (dp,sc) - plastic multiplier
c 双精度数 塑性因子λ。
c ep (dp,ar(6)) - shifted strain
c 双精度一维数组 转换应变
c epshfo (dp,ar(6)) - initial shift strain (center of the yield surf)
c 双精度一维数组 初始转换应变(屈服面中心)
c epshft (dp,ar(6)) - shift strain (center of the yield surface)
c 双精度一维数组 转换应变(屈服面中心)
c et (dp,sc) - tangent modulus (stress/total strain)
c 双精度数 切线模量(应力/总应变)--不知道这个为什么呀:)
c h (dp,sc) - plastic tangent modulus (stress/plastic strain)
c 双精度数 塑性切线模量(应力/塑性应变)
c n2 (int,sc) - ncomp squared, ncomp*ncomp
c 整形数 ncomp的平方
c seqtr (dp,sc) - equivalent (von mises) trial stress
c 整形数 等效trialstress(mises屈服准则)
c sigtr (dp,ar(6)) - trial stress
c 双精度一维数组 trial stress
c sigy (dp,sc) - yield stress
c 双精度数 屈服应力
c vect (dp,ar(6)) - temporary vector
c 双精度一维数组 临时的向量or标量

这里是变量的说明,有了这些大家可以很快理解子程序,所剩下的就是对理论和算法的讨论了。希望大家积极和我交流意见。:)