11.2 用户子程序VUMAT接口及调试
ABAQUS有限元分析软件允许用户通过编写子程序的形式来扩展主程序的功能,给用户提供了强大而又灵活的用户子程序接口。ABAQUS的用户子程序是一个独立的程序单元,能独立地存储和编译,也能被其他程序单元引用。因此,子程序可带回大量数据供引用程序使用,亦可以用来完成各种特殊的功能。
11.2.1 用户子程序VUMAT接口界面
在ABAQUS/Explicit中提供了开放型接口VUMAT供用户来定义所需的材料本构模型。其接口界面如下所示。
11.2.2 用户子程序VUMAT的主要参数
(1)主程序向子程序传递数据的一维变量。
lnblock:调用VUMAT的材料点个数。
lndir:对称张量如应力、应变张量中直接分量的个数。
lnshr:对称张量如应力、应变张量中剪切分量的个数。
lnstatev:用户定义的状态变量的个数。
lnprops:用户定义的材料常数的个数。
lcmname:存储关键字*MATERIAL中定义的材料名(需大写)。
lRstepTime:单个分析步所用的时间。
ltotalTime:所有分析步总共用的时间。
ldt:时间增量步长。
(2)主程序向子程序传递数据的变量数组。
lprops:用于存放用户定义的材料属性的数组,数组的长度为nprops。
ldensity:用于存放关键字*DENSITY中定义的材料点当前密度,数组的长度为nblock。
lstrainInc:用于存放材料点处单个增量步的应变增量张量,其中元素的存放顺序为Δε11,Δε22,Δε33,Δε12,Δε23,Δε31。
ldefgradOld/defgradNew:用于存放增量步开始/结束时材料点处的变形梯度,其中元素的存放顺序为F11,F22,F33,F12,F23,F31,F21,F32,F13。
lstretchNew/stretchOld:用于存放增量步开始/结束时材料点处的拉伸张量,其中元素的存放顺序为U11,U22,U33,U12,U23,U31。
lstressOld:用于存放增量步开始时材料点处的应力值,其中元素的存放顺序为σ11,σ22,σ33,σ12,σ23,σ31。
lstateOld:用于存放用户定义的状态变量在增量步开始时的初始值。
(3)子程序计算向主程序传递数据的变量数组。
lstressNew:用于存放增量步结束时材料点处的应力值,传给主程序中并将其赋给stressOld作为下一个增量步开始时的初始值。
lstateNew:用于存放用户定义的状态变量在增量步结束时的更新值,传给主程序并将其赋给stateOld作为下一个增量步开始时的初始值。
11.2.3 用户子程序VUMAT的调试与提交方法
在子程序的调试过程中,通常利用单个单元模型来进行检验,因为它计算量小,输出信息少,便于检查和发现问题,节省调试计算时间。为了提高子程序调试的效率,可以人为给定子程序中需要主程序传递的数据,屏蔽掉“include'vaba.param.inc'”语句,直接在Fortran软件中调试,可以方便地找出明显的语法和计算错误。调试完成后将子程序嵌入ABAQUS单个单元模型进行测试计算,为了发现计算过程中子程序的错误,可以用简单的打开文件和写入语句来输出分析过程中的一些变量的值,如下所示。
这样就可以将变量bbb的值输出到文件D0.dat中,注意打开的设备号(unit值)最好大于100,因为前100个设备号往往被ABAQUS占用。另外,unit=6指向ABAQUS输出的STA文件,所以,也可以不打开新的文件直接将变量值输出到STA文件中。
子程序的调用方法有以下几种,但必须在ABAQUS的输入文件(INP文件)中的
**MATERIAL模块中使用*USER MATERIAL选项。
在ABAQUS/Command中提交任务。若用户子程序以文件subroutine.for存放,模型输入文件为model.inp,则可在ABAQUS/Command中使用user选项,如下所示。
abaqus job=model user=subroutine
在使用此方法时,subroutine.for与model.inp必须存放在同一目录下,在ABAQUS/Command进入该目录后使用上述命令。
l在ABAQUS/CAE中Job→Job Manager→Edit job→General→Select下选择子程序提交任务。
l直接在model.inp文件中写入子程序。
(内容、图片来源:《ABAQUS 2020有限元分析从入门到精通》,侵删)
版权与免责声明:
凡未注明作者、来源的内容均为转载稿,如出现版权问题,请及时联系我们处理。我们对页面中展示内容的真实性、准确性和合法性均不承担任何法律责任。如内容信息对您产生影响,请及时联系我们修改或删除。
2025-05-13
2025-05-13
[CST] CST软件基于曲线偶极子的宽带全向圆极化天线设计
2025-05-13
2025-05-12
2025-05-12
[ABAQUS] Abaqus中网格穿透是什么原因?达索SIMULIA Ab
2025-05-12
[ABAQUS] Abaqus怎么测量尺寸?Abaqus商业软件购买
2025-05-09
[ABAQUS] Abaqus有限元分析的屈曲分析和后屈曲分析区别是什么
2025-05-09
2025-05-09
2025-05-08
2023-08-24
2023-08-29
[ABAQUS] ABAQUS如何建模?ABAQUS有限元分析教程
2023-07-07
[ABAQUS] 有限元分析软件abaqus单位在哪设置?【操作教程】
2023-09-05
[ABAQUS] ABAQUS软件中Interaction功能模块中的绑定接
2023-07-19
[ABAQUS] Abaqus单位对应关系及参数介绍-Abaqus软件
2023-11-20
[ABAQUS] abaqus里面s11、s12和u1、u2是什么意思?s和
2023-08-30
[ABAQUS] Abaqus怎么撤回上一步操作?Abauqs教程
2024-05-01
[ABAQUS] ABAQUS软件教程|场变量输出历史变量输出
2023-07-18
[ABAQUS] 如何准确的评估真实行驶工况条件下的空气动力学性能
2020-11-19
2025-05-13
2025-05-13
[有限元知识] Isight对汽车顶盖复合材料前横梁铺层多目标优化设计
2025-05-07
[有限元知识] 多体动力学Isight对某车型正面碰撞结构多目标轻量化优化
2025-05-07
[有限元知识] Isight案例分析:基于RSM与RBF的车身多目标
2025-05-07
[有限元知识] 基于Adams-Isight的刚柔耦合汽车前盖四连杆铰链多
2025-04-29
[有限元知识] 基于ANSYS-SIMPACK车-线-桥耦合系统动力学模型
2025-04-29
[行业资讯] 多领域物理系统建模与仿真的利器CATIA Dymola
2025-04-28
2025-04-25
[有限元知识] 基于Simpack的风力发电机组偏航系统动态特性分析
2025-04-25
地址: 广州市天河区天河北路663号广东省机械研究所8栋9层 电话:020-38921052 传真:020-38921345 邮箱:thinks@think-s.com
Copyright © 2010-2023 广州思茂信息科技有限公司 All Rights Reserved. 粤ICP备11003060号-2