顶部banner
Logo 折叠
全网首发仿真工程师项目实训
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

技术邻
技术引领职场价值
电话
0571-86682823
商务合作
service@jishulink.com

ABAQUS用VUSDFLD子程序模拟结果输出存在1.#QNAN,是什么原因? 30

浏览: 2478 回答: 1

代码

subroutine vusdfld(
 c Read only -
     *   nblock, nstatev, nfieldv, nprops, ndir, nshr,
     *   jElem, kIntPt, kLayer, kSecPt,
     *   stepTime, totalTime, dt, cmname,
     *   coordMp, direct, T, charLength, props,
     *   stateOld,
c Write only -
     *   stateNew, field )
c
      include 'vaba_param.inc'
c
      dimension props(nprops),
     *          jElem(nblock), coordMp(nblock, *),
     *          direct(nblock, 3, 3), T(nblock,3,3),
     *          charLength(nblock),
     *          stateOld(nblock, nstatev),
     *          stateNew(nblock, nstatev),
     *          field(nblock, nfieldv)
      character*80 cmname
C
C Local arrays from vgetvrm are dimensioned to
C maximum block size (maxblk)
C
      parameter( nrData=6 )
      character*3 cData(maxblk*nrData)
      dimension rData(maxblk*nrData), jData(maxblk*nrData)
      dimension StatusOld(NBLOCK,1),StatusNew(NBLOCK,1)
     
      PARAMETER(ZERO=0.0,ONE=1.0,TWO=2.0,THREE=3.0)
      DIMENSION STRESSNEW(NDIR+NSHR)    
C
C     INPUT CONSTANT PARAMETERS
C
        EMOD=80000
        ENU=0.33
        DC1=5.0992
        DC2=0.7247
        DC3=0.3611
        EA=301.0
        EQ=205.0
        EB=18.0
       
        EBULK3=EMOD/(ONE-TWO*ENU)
        EG2=EMOD/(ONE+ENU)
        EG=EG2/TWO
        EG3=THREE*EG
        ELAM=(EBULK3-EG2)/THREE
      
      DO K0=1,NBLOCK
       
C
C  INITIAL FAILURE FLAGS FROM STATE VARIABLES
C
       DAMAGE=stateOld(K0,2)
       CALL VGETVRM('S',RDATA,JDATA,CDATA,JSTATUS)
         STRESSNEW(1)=RDATA(K0*1)
         STRESSNEW(2)=RDATA(K0*2)
         STRESSNEW(3)=RDATA(K0*3)
         STRESSNEW(4)=RDATA(K0*4)
         IF(NSHR.GT.1) THEN
         STRESSNEW(5)=RDATA(K0*5) 
         STRESSNEW(6)=RDATA(K0*6)
         END IF
      
       CALL VGETVRM('PEEQ',RDATA,JDATA,CDATA,JSTATUS)
       EQPLAS=RDATA(K0)
      
       IF(NSHR.EQ.1) THEN
         POTENIAL=0.50*((STRESSNEW(1)-STRESSNEW(2))**2+
     1   (STRESSNEW(2)-STRESSNEW(3))**2+(STRESSNEW(3)-STRESSNEW(1))**2
     2   +6*STRESSNEW(4)**2)
       ELSE
         POTENIAL=0.50*((STRESSNEW(1)-STRESSNEW(2))**2+
     1   (STRESSNEW(2)-STRESSNEW(3))**2+(STRESSNEW(3)-STRESSNEW(1))**2
     2   +6*(STRESSNEW(4)**2+STRESSNEW(5)**2+STRESSNEW(6)**2))
       END IF
         EFS=SQRT(POTENIAL)
      
         HARD=0.0
       IF(EQPLAS.EQ.0.0) THEN
         SYIELD=EA
       ELSE
         HARD=EQ*EB*EXP(-1*EB*EQPLAS)
         SYIELD=EA+EQ*(1-EXP(-1*EB*EQPLAS))
       END IF
      
         RHS=EFS-SYIELD
C
C  JUDGE IF YIELD
C
       IF(RHS.GT.0.0) THEN
         DEQPLAS=RHS/(EG3+HARD)
        
         STRESSM=(STRESSNEW(1)+STRESSNEW(2)+STRESSNEW(3))/3
       
        HJ2=((STRESSNEW(1)-STRESSNEW(2))**2+(STRESSNEW(2)-STRESSNEW(3))
     1      **2+(STRESSNEW(3)-STRESSNEW(1))**2+6.0*STRESSNEW(4)**2)/6.0
        HJ3=(STRESSNEW(1)-STRESSM)*(STRESSNEW(2)-STRESSM)*
     1    (STRESSNEW(3)-STRESSM)-(STRESSNEW(3)-STRESSM)*STRESSNEW(4)**2
        THETA=ACOS(3.0**1.5*HJ3/(2.0*HJ2**1.50))/3
       
        CR11=COS(THETA)
        CR12=SIN(THETA)
        CR21=-1.0*SIN(THETA)
        CR22=COS(THETA)
       
        SP1=CR11**2*STRESSNEW(1)+CR21**2*STRESSNEW(2)+
     1      2*CR11*CR21*STRESSNEW(4)
        SP2=CR12**2*STRESSNEW(1)+CR22**2*STRESSNEW(2)+
     1      2*CR12*CR22*STRESSNEW(4)
        SP3=STRESSNEW(3)
       
        HYSTRESS=(SP1+SP2+SP3)/3.0
     
        TNH=HYSTRESS/EFS
       
        SP1=MAX(SP1,SP2,SP3)
        SP3=MIN(SP1,SP2,SP3)
       
        DDAMAGE=(((SP1-SP3)/EFS)**DC1+(TNH-1.0/3.0))**DC2*DEQPLAS
     1        /DC3
       
      
       END IF
      
       DAMAGE=DAMAGE+DDAMAGE
       stateNew(K0,2)=DAMAGE
       
       IF(stateNew(K0,2).GE.1) THEN
          stateNew(K0,1)=0.0
       ELSE
          stateNew(K0,1)=1.0
       END IF
        
     
      END DO  
      RETURN
      END

VUSDFLD子程序损伤模拟

全部回答 (1)

默认 最新
沉默的果冻 2024年2月18日
"1.#QNAN" 是浮点数运算中出现的特殊值,表示“不是一个数”,出现这样的输出通常意味着程序在执行过程中出现了某些数学计算上的错误或者非法操作,导致了浮点数的异常值。我也出现了同样的问题,正在找bug...
2024年2月18日
评论 点赞

相似问题

查看全部
  • abaqus的Vgetvrm所提取的第一主应力为什么等于0? 5个回答

    具体程序段如下: call vgetvrm( 'SP', rData, jData, cData, jStatus ) SIG1(K)=RDATA(K) 输出值为0 call vgetvrm( 'SP', rData, jData, cData, jStatus ) SIG1(K)=RDATA(2*NBLOCK+K) 有输出值 看完兵哥的视频后就在想是不是2022版本abaqus的主应力也是 S1

  • ABAQUS的vusdfld模拟组织遇到云图显示错误和黑色区域的问题? 5个回答

    在这里附上子程序的内容,麻烦相关人士指正错误: subroutine vusdfld( c Read only - * nblock, nstatev, nfieldv, nprops, ndir, nshr, * jElemUid, kIntPt, kLayer, kSecPt, * stepTime, totalTime, dt, cmname, * coordMp, direct, T, c

  • 关于VUSDFLD中新旧变量的提取问题? 6个回答

    最近,我再将以前写的一个隐式计算的USDFLS的子程序改写为VUSDFLD,结果遇到的问题 我使用vusdfld在实现单元的删除,在里面计算等效塑性应变的增量的时候,我令一个变量等于stateOld,然后用stateNew减去这个值来实现我的目的,为什么不行?也就是stateOld里面并不是存的上一步的等效塑性应变的结果? 这个问题困扰我很久了,能否有大神助一臂之力的? 附上子程序和inp文件,以

推荐阅读

ansys结构动力学仿真

ansys结构动力学仿真

技术邻小李 技术邻小李
¥150
ANSYS新版本功能速递: HFSS微放电仿真

ANSYS新版本功能速递: HFSS微放电仿真

Ansys中国 Ansys中国
免费
前沿技术!大数据分析及人工智能在优化软件中的应用

前沿技术!大数据分析及人工智能在优化软件中的应用

IDAJ中国 IDAJ中国
¥9.99
新一代智能头灯的动态设计评估与仿真

新一代智能头灯的动态设计评估与仿真

Ansys中国 Ansys中国
免费
abaqus三维切削数值模拟(sph法)

abaqus三维切削数值模拟(sph法)

abaquser abaquser
¥30
UG有限元基础教程

UG有限元基础教程

moonshine🤓 moonshine🤓
免费
ABAQUS钢管混凝土柱温度场及耐火性能分析(未完)

ABAQUS钢管混凝土柱温度场及耐火性能分析(未完)

地下结构设计
¥40
一线科技工作者接受仿真咨询服务的全过程经验分享

一线科技工作者接受仿真咨询服务的全过程经验分享

技术邻直播 技术邻直播
免费
应用ANSYS瞬态动力学法模拟啮合齿轮的高速转动

应用ANSYS瞬态动力学法模拟啮合齿轮的高速转动

夏日星空 夏日星空
¥35
混凝土材性试块拉压数值模拟(ABAQUS通法建模初级案例3)

混凝土材性试块拉压数值模拟(ABAQUS通法建模初级案例3)

大平-结构工程 大平-结构工程
¥299
UG培训第九课:自由曲面构造法

UG培训第九课:自由曲面构造法

luffy8610 luffy8610
¥20
汽车仪表模具模流分析的实战讲解

汽车仪表模具模流分析的实战讲解

北卡 北卡
免费
ABAQUS桁架结构强度分析

ABAQUS桁架结构强度分析

wj_2704 wj_2704
¥500
0#块箱梁托架法施工结构模拟

0#块箱梁托架法施工结构模拟

yudachuan1105 yudachuan1105
¥200
基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析——工作创建以及检查

基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析——工作创建以及检查

北鲲 北鲲
¥99
hypermesh_dyna小车碰撞护栏(无声)

hypermesh_dyna小车碰撞护栏(无声)

吴文泽 吴文泽
¥18
使用已标定的车辆动力学模型提升开发效率

使用已标定的车辆动力学模型提升开发效率

VI-grade中国 VI-grade中国
免费
ADAS功能软件基础介绍

ADAS功能软件基础介绍

Alex王 Alex王
免费
热力学理论入门基础(上)

热力学理论入门基础(上)

引垂思汀 引垂思汀
¥30
abaqus lamb波传播分析

abaqus lamb波传播分析

abaquser abaquser
¥25