ABAQUS_XLJ 2021-05-20 10:54 采纳率: 0%
浏览 657

abaqus中UMAT二次开发:最多可以定义多少个状态变量

 

最开始设置了27个状态变量显示
There are insufficient data cards to define the 27 solution dependent variables for elset assembly_part-1-1_soil
后面减到了9个状态变量,依旧显示
There are insufficient data cards to define the 9 solution dependent variables for elset assembly_part-1-1_soil。
求大神指点一下这个怎么解决啊。

  • 写回答

4条回答 默认 最新

  • CSDN_Dennis 2021-06-11 15:06
    关注

    经本人研究,现已找到答案。

    这个情况你要使用另外一个子程序SDVINI,用来定义你每个状态变量(可能与坐标相关)的初值。把以下FORTRAN代码写到你的.for文件里:

          SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,
         1 LAYER,KSPT)
    C
          INCLUDE 'ABA_PARAM.INC'
    C
          DIMENSION STATEV(NSTATV),COORDS(NCRDS)
    C
          ! 用户定义STATEV(NSTATV),例如:
          STATEV(1) = 500d0
          STATEV(2) = .8d0
          STATEV(3) = 10d0
          ! ......
    C
          RETURN
          END
    

    然后主菜单打开Model→Edit Keywords,在第一个*step前面写一行:

    *Initial Conditions, type=SOLUTION, USER

    这样就可以完美克服这个迷之错误了。亲测有效。

    如果在Edit Keywords里直接定义状态变量的值,就很容易发生这种超限的错误。如果用了子程序接口,你想定义多少就定义多少。

    评论

报告相同问题?