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

登录解锁更多功能

还没有账号?立即注册

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

abaqus子程序问题:statev状态变量丢失,大佬救命!!?

浏览: 2344 回答: 1

各位大佬们好,这个问题前前后后困扰了我几个月了,网上的教程也很少

我在运行abaqusUMAT子程序时,会莫名其妙报错且没有提示,于是想用VS进行调试,调试过程中我发现statev等变量会莫名其妙的丢失值,再运行子程序NN_prediction之前,statev变量是正常的,运行完之后就会undefined address,伴随的还有SCD,SPD和SSE这几个变量(如图所示),但是这三个变量的值丢失是随机的,就是有时候丢有时候不丢,有时候一个有时候是三个,statev是每次都会遇到这个问题,我真的有点崩溃,是不是我的代码有问题,但是我这个代码的基本结构是在别人可运行代码的基础上改的,我也在自己的电脑上成功运行了,可是改过之后就始终出现这个问题,NN_prediction那段我是一点都没有改,包括它里面的子程序update_state和dense,希望各位大佬伸出援手

call assignk(props, nprops, Dim_x, Dim_y, Unit1, Unit2, 
     + Wx1, Wh1, b1, bih1, Wx2, Wh2, bih2,  b2, Wd, bd)

      call NN_prediction(Seq_length, Dim_x, Dim_y, Unit1, Unit2, ntens,
     + input_seq_scaled, Wx1, Wh1, b1, Wx2, Wh2, b2, Wd, bd, 
     + matrix_for_backprop_1, matrix_for_backprop_2, 
     + matrix_for_backprop_3, stress_3d_scaled)
!
      subroutine NN_prediction(seq_length, dim_x, dim_y, unit1, unit2, 
     + ntens, input_seq_scaled, Wx1, Wh1, b1, Wx2, Wh2, b2, Wd, bd, 
     + matrix_for_backprop_1, matrix_for_backprop_2, 
     + matrix_for_backprop_3, stress_3d_scaled)
        implicit none
        ! input
        integer, intent(in) :: seq_length, dim_x, dim_y, 
     + unit1, unit2, ntens
        real*8, intent(in) :: input_seq_scaled(dim_x, seq_length)
        real*8, intent(in) :: Wx1(dim_x, unit1*4), Wh1(unit1, unit1*4), 
     + b1(unit1*4, 1), 
     + Wx2(unit1, unit2*4), Wh2(unit2, unit2*4), b2(unit2*4, 1), 
     + Wd(unit2, dim_y), bd(dim_y, 1)
        ! output
        real*8, intent(out) :: stress_3d_scaled(dim_y)
        real*8, intent(out) :: matrix_for_backprop_1(unit1,10), 
     + matrix_for_backprop_2(unit2,10), matrix_for_backprop_3(dim_y,1)
        ! local variables
        real*8 h1(unit1, 1), c1(unit1, 1), h2(unit2, 1), c2(unit2, 1), 
     + h1_seq(unit1, seq_length)
        real*8 input1(dim_x, 1), input2(unit1, 1)
        ! iteration index
        integer di, dj
        
        !*** main code
        !lstm layer 1
        h1 = 0
        c1 = 0
        do di = 1, seq_length
          input1(:, 1) = input_seq_scaled(:, di)
          call update_state(input1, h1, c1, 
     + Wx1, Wh1, b1, dim_x, unit1, matrix_for_backprop_1)
          h1_seq(:, di) = h1(:, 1)
        enddo
        ! lstm layer 2
        h2=0
        c2=0
        do dj = 1, seq_length
          input2(:, 1) = h1_seq(:, dj)
          call update_state(input2, h2, c2, Wx2, 
     + Wh2, b2, unit1, unit2,matrix_for_backprop_2)
        enddo
        ! Dense layer and get output stress
        stress_3d_scaled = 0
        call dense(stress_3d_scaled, h2, Wd, bd, dim_y, unit2, 
     + matrix_for_backprop_3)
        !return
      end subroutine NN_prediction

全部回答 (1)

默认 最新
PIGPIGPIG 2025年7月19日


2025年7月19日
评论 点赞

相似问题

查看全部
  • UMAT实现混凝土粘弹性徐变变形提问? 1个回答

    小白计划采用UMAT实现混凝土徐变粘弹性变形计算,其中一部分代码已编好(详见附件),现遇到以下问题: 1.直接运算可以计算,但无法查看结果,提示如下: The selected Primary Variable is not availablein the current frame for any elements inthe current display group. 2.初步判断问题出现在

  • abaqus有关裂纹扩展的问题? 1个回答

    模拟xfem裂纹扩展,在deepseek里面编辑了有关裂纹损伤准则的子程序,然后结合黄永刚老师的umat进行运行。上面的图是我预设裂纹一开始的图,下面的图是我运行之后产生的裂纹扩展的图。请问为什么我的裂纹每次扩展碰到我的网格边界就会出现这种报错?请问这种应该怎么解决,是不是编译的子程序(子程序在下面)出现了问题?感谢 以下是我结合deepseekb编写的用户损伤子程序 SUBROUTINE UDM

  • abaqus与子程序参数不匹配,怎么解决? 3个回答

    Error in job ex12-4-O1: Problem during linking - Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from re

推荐阅读

转子旋转的周期性模型-水冷电机散热仿真

转子旋转的周期性模型-水冷电机散热仿真

技术邻小李 技术邻小李
¥100
vof案例-射流

vof案例-射流

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

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

活泼可男_matlab教学 活泼可男_matlab教学
¥10
BOX-3D变宽斜钢箱梁绘图及功能更新演示

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

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

abaqus埋地管道受力分析

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

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

Ansys中国 Ansys中国
免费
无网格划分软件midas MeshFree - 功能培训

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

MIDAS官方 MIDAS官方
免费
船舶行进过程中的流场分布规律分析

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

龙樱 龙樱
免费
Hyperworks CFD v2022.1前后处理教程

Hyperworks CFD v2022.1前后处理教程

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

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

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

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

深圳品索设计Creo培训 深圳品索设计Creo培训
免费
如何为您的应用选择合适的传声器

如何为您的应用选择合适的传声器

HBK声学与振动 HBK声学与振动
免费
Fluent中升力和阻力的计算

Fluent中升力和阻力的计算

宁博士CAE团队 宁博士CAE团队
免费
用EVOLVE对接INSPIRE,加速产品迭代优化

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

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

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

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

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

大平-结构工程 大平-结构工程
¥598
线控底盘市场趋势分析

线控底盘市场趋势分析

小木匠砍树 小木匠砍树
免费
张量计算课程合集

张量计算课程合集

引垂思汀 引垂思汀
¥50
后保险杠低速碰撞分析

后保险杠低速碰撞分析

Crisby_Vectory_TrHo Crisby_Vectory_TrHo
¥70
Altair FlowSimulator一维流体仿真分析软件介绍&模型搭建案例分享

Altair FlowSimulator一维流体仿真分析软件介绍&模型搭建案例分享

ALTAIR ALTAIR
免费