24小时热门版块排行榜    

查看: 2530  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiaomiao126

金虫 (小有名气)

[求助] 关于ansys二次开发UPFs,修改usercreep子程序的问题,求好人帮忙 已有1人参与

大神求教啊!!!!!本人最近在做关于ansys UPFs的二次开发!想把自己的蠕变方程写入ansys中!网上查资料知道修改 ansys 的usercreep程序可以实现此功能!
ansys 提供的程序可以实现 这个蠕变方程的编译
delcr := c1 * seqv ^ n * creqv ^ m * exp (-b/T) * dtime
c1,n,m,b都是常熟!delcr蠕变增量,creqv蠕变应变
他的程序如下:
#include "impcom.inc"

      DOUBLE PRECISION ZERO
      PARAMETER        (ZERO = 0.0d0)
c
c
      INTEGER          ldstep, isubst, matId , elemId,
     &                 kDInPt, kLayer, kSecPt, nstatv,
     &                 impflg, nprop
      DOUBLE PRECISION dtime , time  , temp  , dtemp , toffst,
     &                 creqv , seqv  , pres
      DOUBLE PRECISION prop(*), dcrda(*), Ustatev(nstatv)
c
c
      DOUBLE PRECISION c1    , c2    , c3    , c4    ,
     &                 con1  , delcr , t


      if (seqv.LE.ZERO.AND.creqv.LE.ZERO) GO TO 990
      t       = temp + toffst
      c1      = prop(1)
      c2      = prop(2)
      c3      = prop(3)
      c4      = prop(4)
      con1    = ZERO
      if(c4.ne.ZERO .and. t.gt.ZERO) con1 = c4/t
      if (creqv .le. TINY) creqv = sqrt(TINY)
      delcr   = ZERO
      IF(c1.gt.ZERO) delcr   = (exp( log(c1) +  c2 * log(seqv) +
     &                         c3 * log(creqv) - con1 )) * dtime
      dcrda(1)= c2 * delcr / seqv

      dcrda(2)= c3 * delcr / creqv
      Ustatev(nstatv) = creqv
990  continue
      return
      end
而我的方程是
delcr = (c1*(seqv**c2)*(((c3+1)**2)* (time**c3)+c4*(time**c5)+c6*(time**c7))*exp(-con1))*dtime
跪求大神看一看这个方程要写入ansys  该怎么修改上述程序!!!
我试了修改了很多次,编译连接成功了,但是ansys分析时候,输入命令求解,但是ansys没有反应,我想肯定是程序输入的有错误现附我修改编写的程序 希望大神可以指教啊!!!前面声明变量都是一样的直接如下:
*** skip when stress and creep strain are all zero
      if (seqv.LE.ZERO.AND.creqv.LE.ZERO) GO TO 990
c *** add temperature off set
      t       = temp + toffst
c *** Primary creep function
c     delcr := (c1*(seqv**c2)*(((c3+1)**2)*(time**c3)+c4*(time**c5)+c6*(time**c7))*exp(-c8/T)) * dtime
      c1      = prop(1)
      c2      = prop(2)
      c3      = prop(3)
      c4      = prop(4)
      c5      = prop(5)
      c6      = prop(6)
      c7      = prop(7)
      c8      = prop(8)
c *** user need to make sure if c4 has nonzero value, temperature should be also nonzero.
      con1    = ZERO
      if(c8.ne.ZERO .and. t.gt.ZERO) con1 = c8/t
      delcr  = Ustatev(1)      !蠕变应变增量
c *** calculate incremental creep strain
      if (creqv .le. TINY) creqv = sqrt(TINY)
      delcr   = ZERO
       IF(c1.gt.ZERO) delcr = (c1*(seqv**c2)*(((c3+1)**2)*
     &                         ((time+dtime)**c3)+c4*((time+dtime)**c5)+
     &                         c6*((time+dtime)**c7))*exp(-con1))*dtime
c *** 蠕变应变增量对等效应力的导数
      dcrda(1) = c2 * delcr / seqv
c *** 蠕变应变增量对等效蠕变应变的导数
     &  dcrda(2) = 0
c *** 保存蠕变应变增量
      Ustatev(1) = delcr
      Ustatev(2) = time
  990  continue
       return
       end
请大神指教啊 好人一生平安
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

userxukai

禁虫 (初入文坛)

本帖内容被屏蔽

4楼2018-03-14 16:37:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

c2009ss

新虫 (初入文坛)

【答案】应助回帖

将rate on 打开没有?我也正在编
2楼2014-11-25 13:12:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

胡海浪

金虫 (小有名气)

请问楼主还存有编写的程序么,我也在编写啊,调用它的命令流该怎么写啊
3楼2016-07-08 17:11:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

userxukai

禁虫 (初入文坛)

本帖内容被屏蔽

5楼2018-03-14 16:37:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见