首页/文章/ 详情

如何对Abaqus子程序中状态变量SDV进行定制输出

1年前浏览5731

经常编写Abaqus子程序的同学都会注意到,在定义了SDV(solution dependent variables)的子程序中,如UMAT、VUMAT、USDFLD、VUSDFLD等子程序中,默认的SDV输出形式为SDVn,其中n代表的是状态变量的次序。

例如某子程序中设置了5个状态变量,则在后处理中可以查看到SDV1,SDV2,SDV3,SDV4,SDV5等五个输出变量。

SDVn与子程序中的定义次序一一对应,当SDV的数量比较多时,就会容易遗忘,得反复查看子程序中对应次序的SDV代表什么物理意义,十分麻烦。

本文就介绍一下如何通过编辑关键字来实现对SDV的定制化输出。



 

 
UMAT子程序

 

 

【方法1】在模型中,点击Model菜单Edit keywords子菜单,选择要编辑的模型,会跳出以下界面:

找到自定义材料所在位置,并在该位置下方添加蓝色部分指令即可:

*Material, name=composite

*Depvar

     10,

1,DF, "fiber damage"

2,DM, "matrix damage"

3,DFV, "viscous fiber damage"

4,DMV,"viscous matrix damage"

*User Material, constants=14, unsymm

55000., 9500., 5500., 3000.,  0.33,  0.45, 2500., 2000.

   50.,  150.,   50.,    1.,  12.5, 0.001


所添加的数据中,第一列代表SDV的次序号,第二列代表自定义名称,第三列是注释。

【方法2】也可以直接在inp中找到相应位置进行设置。


设置完成后,提交计算,计算后的效果如下,是不是就很直观明了了呢?


 

 
VUMAT子程序

 

 

VUMAT中的设置也是类似的,编辑关键字如下:

*Material,name=laminate

*Density5e-09,

*Depvar,delete=5    

       17,

1,DFT  , "fiber tensile damage"

2,DFC, "fiber compressive damage"

3,DMT, "matrix tensile damage "

4,DMC,"matrixcompressive"

*UserMaterial, constants=32

138000.,9040., 9040., 0.307, 0.307,  0.35, 4500.,4500. 3400.,    0.,  150., 100.,   0.5,   2.5,  0.5,   2.5

1696.,1188.,  71.4,  202., 71.4,  202.,    0.,   0. 

102.,  102.,  90.,    0.,    0.,   0.,    0.,    0.


执行效果如下:

同样USDFLD和VUSDFLD等可以定义SDV的子程序都可以如此设置。



 

 
USDFLD子程序

 

 

*Userdefined field

*Depvar

4


1,DFT  , "fiber tensile damage"

2,DFC, "fiber compressive damage"

3,DMT, "matrix tensile damage "

4,DMC,"matrixcompressive"


 

 
VUSDFLD子程序

 

 

*Userdefined field

*Depvar,Delete=3

4


1,DFT  , "fiber tensile damage"

2,DFC, "fiber compressive damage"

3,DMT, "matrix tensile damage "

4,DMC,"matrixcompressive"




来源:易木木响叮当
AbaqusUM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-07
最近编辑:1年前
易木木响叮当
硕士 有限元爱好者
获赞 225粉丝 287文章 355课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈