顶部banner
Logo 折叠
学习从这里开始
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

技术邻
技术引领职场价值
电话
0571-86682823
商务合作
service@jishulink.com
  • 全部  > 
  • CAE仿真

abaqus的Vgetvrm所提取的第一主应力为什么等于0? 20

浏览: 3262 回答: 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   S1   S1......NBLOCK      

S2   S2   S2......NBLOCK

S3   S3   S3......NBLOCK

或者是

S3   S3   S3......NBLOCK      

S2   S2   S2......NBLOCK

S1   S1   S1......NBLOCK

试过了SIG1(K)=RDATA(K),但这样输出是0

如果通过提取主应力的那个子程序或者直接提取应力分量自己算,又会出现云图显示不全(大部分区域为黑色,少部分为彩色)的问题,abaqus2022我看帮助文件已经可以用vgetvrm提取了。。。。

最后附上能算的程序,但损伤值一直输出为0

      NCL损伤模型

       subroutine vusdfld(

c Read only variables -

     1   nblock, nstatev, nfieldv, nprops, ndir, nshr, 

     2   jElem, kIntPt, kLayer, kSecPt, 

     3   stepTime, totalTime, dt, cmname, 

     4   coordMp, direct, T, charLength, props, 

     5   stateOld, 

c Write only variables -

     6   stateNew, field )

c

      include 'vaba_param.inc'

c

      dimension jElem(nblock), coordMp(nblock,*), 

     1          direct(nblock,3,3), T(nblock,3,3), 

     2          charLength(nblock), props(nprops), 

     3          stateOld(nblock,nstatev), 

     4          stateNew(nblock,nstatev),

     5          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)

      real*8 s(NBLOCK,NDIR+NSHR),SIG1(NBLOCK)

      real*8 eigVal(NBLOCK,3)

      real*8 Xdamg(NBLOCK),XDD(NBLOCK),SEQ(NBLOCK),SEQE(NBLOCK)

      REAL*8 DSEQE(NBLOCK)

c

      do k = 1, nblock

C      提取米赛斯等效应力(亲测abaqus2022版本可以)

      call vgetvrm( 'MISES', rData, jData, cData, jStatus )

      SEQ(K)=rData(K)

C    提取主应力(最搞不清楚这个)

      call vgetvrm( 'SP', rData, jData, cData, jStatus )

      SIG1(K)=RDATA(K)

      STATENEW(K,4)=SIG1(2*NBLOCK+K)

C    计算等效应变(vgetvrm无法提取总应变E,只能提取塑性应变或者对数应变(真实应变)帮助文档里没

C    写,但试了下有值,但为了避免出错还是采用LE)

      call vgetvrm( 'LE', rData, jData, cData, jStatus )

      EE1=rDATA(K)

      EE2=rDATA(K+NBLOCK)

      EE3=rDATA(K+2*NBLOCK)

      EE4=rDATA(3*NBLOCK+K)

      EE5=rDATA(4*NBLOCK+K)

      EE6=rDATA(5*NBLOCK+K)

C   计算当前步等效应变

      SEQE(K)=sqrt(((EE1-EE2)**2+(EE2-EE3)**2+ (EE1-EE3)**2+ 

     1 6*(EE4**2+EE5**2+EE6**2))*(2.0d0/9.0D0))

C   计算等效应变增量,用分析步结束后的值-前的值

      DSEQE(K)=SEQE(K)-STATEOLD(K,3)

C   存储当前步等效应变

      STATENEW(K,3)=SEQE(K)

C   导入上一步损伤值

      XDAMG(K)=STATEOLD(K,2)

C   若最大主应力小于等于0,则不增加损伤值。

      if(SIG1(k).LE.0)then

          xdamg(k)=STATEOLD(K,2)

      else  

C   当前步损伤值=上一步损伤值+最大主应力*等效应变增量/等效应力  

          XDAMG(K)=XDAMG(K)+SIG1(K)*DSEQE(K)/SEQ(K)

      endif

C  更新损伤状态变量

      STATENEW(K,2)=XDAMG(K)

C   若损伤状态变量大于等于0.58则删除单元

          IF( STATENEW(K,2).GE.0.58)THEN

              STATENEW(K,1)=0.0

          ELSE

              STATENEW(K,1)=1.0

          ENDIF

      ENDDO

c

      return

      end


ABAQUS二次开发 ABAQUS

全部回答 (3)

默认 最新
11111111111112232321 2025年4月9日

楼主解决了嘛?我现在也遇到这个问题

2025年4月9日
评论 1 点赞 1
echo_niko 2025年12月9日

写的不对,本人目前用的是早期的,不太清楚后期的变化,但是有些是共性问题。

vgetvrm获得的是至少2阶数组,SEQ(K)=rData(K)等等以下均不对,可以改成rData(K,1),rData(K,2)。。。获取特定值,rData变量尽量改一下,不要都用一个,看着就乱。

2025年12月9日
评论 1 点赞
民_2382 2023年12月20日
大佬我不会您的问题,但是我想问一下您如何确认输出的为0,确认输出的值是什么。难道都要等待漫长的计算之后在从后处理云图里看吗
2023年12月20日
评论 点赞

相似问题

查看全部
  • ABAQUS用VUSDFLD子程序模拟结果输出存在1.#QNAN,是什么原因? 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, * stat

  • VGETVRM提取结果异常小? 暂无回答

    使用 VGETVRM提取结果偏差很大, VGETVRM结果非常小,请问各位大佬这是什么原因? 我把LE11导入到sdv1之中,结果差的非常多 采用的abaqus2023,使用了crashable foam模型。我的代码如下 SUBROUTINE VUSDFLD( 1 nblock, nstatev, nfieldv, nprops, ndir, nshr, 2 jElem, kIntPt, kLa

  • 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

推荐阅读

ansys结构动力学仿真

ansys结构动力学仿真

技术邻小李 技术邻小李
¥150
step by step 教你如何在abaqus中使用实体单元和连接单元建立螺栓连接

step by step 教你如何在abaqus中使用实体单元和连接单元建立螺栓连接

幻想飞翔 幻想飞翔
¥30
2020全英华人汽车工程协会年会Part 2——汽车产品工程研发的数字化未来

2020全英华人汽车工程协会年会Part 2——汽车产品工程研发的数字化未来

陈东陈 陈东陈
免费
测量不确定度的应用实践

测量不确定度的应用实践

HBK测试与测量 HBK测试与测量
免费
无网格划分软件midas MeshFree - 功能培训

无网格划分软件midas MeshFree - 功能培训

MIDAS官方 MIDAS官方
免费
探究实时仿真GPU求解器加速汽车行业设计创新

探究实时仿真GPU求解器加速汽车行业设计创新

Ansys中国 Ansys中国
免费
Fluent中升力和阻力的计算

Fluent中升力和阻力的计算

宁博士CAE团队 宁博士CAE团队
免费
【入门案例02】Abaqus——钢筋混凝土构件的碳纤维布+钢板加固模拟

【入门案例02】Abaqus——钢筋混凝土构件的碳纤维布+钢板加固模拟

臻元咨询
¥30
张量计算课程合集

张量计算课程合集

引垂思汀 引垂思汀
¥50
精品课程A30-考虑初始缺陷的栓焊连接组合节点滞回模拟

精品课程A30-考虑初始缺陷的栓焊连接组合节点滞回模拟

大平-结构工程 大平-结构工程
¥598
vof案例-射流

vof案例-射流

CFD流 CFD流
免费
线控底盘市场趋势分析

线控底盘市场趋势分析

小木匠砍树 小木匠砍树
免费
用EVOLVE对接INSPIRE,加速产品迭代优化

用EVOLVE对接INSPIRE,加速产品迭代优化

咸鱼氮泵 咸鱼氮泵
免费
遗传算法解决(TSP)商旅问题matlab代码超详细解说(适用于新手)

遗传算法解决(TSP)商旅问题matlab代码超详细解说(适用于新手)

活泼可男_matlab教学 活泼可男_matlab教学
¥10
船舶行进过程中的流场分布规律分析

船舶行进过程中的流场分布规律分析

龙樱 龙樱
免费
BOX-3D变宽斜钢箱梁绘图及功能更新演示

BOX-3D变宽斜钢箱梁绘图及功能更新演示

敦樸DUNPU 敦樸DUNPU
免费
abaqus埋地管道受力分析

abaqus埋地管道受力分析

冷月 冷月
¥25
基于iSIGHT+Workbench的开孔平板性能优化

基于iSIGHT+Workbench的开孔平板性能优化

sjktzy sjktzy
¥5
Hyperworks CFD v2022.1前后处理教程

Hyperworks CFD v2022.1前后处理教程

ALTAIR ALTAIR
免费
品索设计-Creo自学练习集讲解(草绘部分)

品索设计-Creo自学练习集讲解(草绘部分)

深圳品索设计Creo培训 深圳品索设计Creo培训
免费