找回密码
 注册
Simdroid-非首页
查看: 354|回复: 5

[子程序] 请问STATEV()状态变量是靠SDV来输出吗?

[复制链接]
发表于 2016-7-6 11:31:21 | 显示全部楼层 |阅读模式 来自 北美地区
我用了USDFLD写了下面代码想测试下STATEV()状态变量到底怎么输出,材料属性里Depvar也设置了两个,但是不管怎么设置,输出SDV1 和 SDV2都始终为0,请问各位哪里设置错了呢?还是我对STATEV的理解有误?谢谢了

SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
     1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
     2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
     3 LACCFLA)
C
       INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME,ORNAME
      CHARACTER*3  FLGRAY(15)
      DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
     1 T(3,3),TIME(2)
      DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
     1 COORD(*)
C
      IF (KINC.EQ.1) THEN
      STATEV(1)=10
      STATEV(2)=0.0
      ELSE
      STATEV(1)=100
      STATEV(2)=100
      END IF

      RETURN
      END
发表于 2016-7-6 16:55:02 | 显示全部楼层 来自 上海
Simdroid开发平台
要在材料属性定义中使用状态变量。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2016-7-6 22:12:58 | 显示全部楼层 来自 北美地区
cartographer 发表于 2016-7-6 16:55
要在材料属性定义中使用状态变量。

你定义的这个是场变量吧,那样的话是不是还得吧状态变量赋给场变量呢?比如Field(1)=Statev(1),还有就是如果状态变量不是具体一个值,而是采用更新的方式比如Statev(1)=Statev(1)+100,这种又该怎么输入呢?谢谢你
回复 不支持

使用道具 举报

发表于 2016-7-7 08:55:15 | 显示全部楼层 来自 上海
heke402 发表于 2016-7-6 22:12
你定义的这个是场变量吧,那样的话是不是还得吧状态变量赋给场变量呢?比如Field(1)=Statev(1),还有就是 ...

不是很清楚 没有仔细看帮助。

只是用输入输出测试了一下

如果不设置场变量控制量  子程序根本没有被调用。
回复 不支持

使用道具 举报

发表于 2017-3-5 18:55:35 | 显示全部楼层 来自 吉林长春
同问,我做的是hashing的,我的四个SDV输出全是0,不知道楼主解决了没
回复 不支持

使用道具 举报

发表于 2020-1-4 11:10:46 | 显示全部楼层 来自 湖南长沙
同问  也遇到了博主的这种情况,statev在结果中始终为0,这种要怎么解决呢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 20:02 , Processed in 0.030965 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表