ABAQUS用户子程序二次开发——UMAT介绍(一)

2024-03-07 12:12

本文主要是介绍ABAQUS用户子程序二次开发——UMAT介绍(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人专栏—ABAQUS专栏

  1. Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法
  2. Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则
  3. 各向同性线弹性材料本构模型umat的应用 各向同性线弹性材料本构模型umat的应用
  4. ABAQUS用户子程序二次开发——UMAT介绍(一) ABAQUS用户子程序二次开发——UMAT介绍(一)

文章目录


UMAT Fortran固定格式程序代码基本架构如下:

C *** SUBROUTINE UMAT(
C *** 子程序参数列 *********************C    1 STRESS, STATEV, DDSDDE, SSE, SPD, SCD,2 RPL, DDSDDT, DRPLDE, DRPLDT,3 STRAN, DSTRAN, TIME, DTIME, TEMP, DTEMP, PREDEF, DPRED, CMNAME,4 NDI, NSHR, NTENS, NSTATV, PROPS, NPROPS, COORDS, DROT, PNEWDT,5 CELENT, DFGRD0, DFGRD1, NOEL, NPT, LAYER, KSPT, JSTEP, KINC)
C *** 声明参数(预设)类型 *******************CINCLUDE 'ABA_PARAM.INC'
C *** **************************CCHARACTER*80 CMNAMEDIMENSION STRESS(NTENS), STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS), DDSDDT(NTENS), DRPLDE(NTENS), 2 STRAN(NTENS), DSTRAN(NTENS), TIME(2), PREDEF(1), DPRED(1),3 PROPS(NPROPS), COORDS(3), DROT(3,3), DFGRD0(3,3), DFGRD1(3,3), 4 JSTEP(4)
C *** 材料模型主程序************C
C   在这里书写高端、大气、上档次的模型代码
C ****************************CRETURNEND SUBROUTINE UMAT

UMAT程序参数分为三类:需定义参数、可更新参数和不可更新参数

需定义参数 \color{blue}需定义参数 需定义参数
  • DDSDDE(NTENS,NTENS):DDSDDE为雅可比矩阵,NTENS为材料元素对应的应力/应变的元素个数(如实体单元NTENS=6,壳体单元NTENS=3。
    • Abaqus/Standard内定假设并强制DDSDDE为对称矩阵,若想使用非对称材料刚度矩阵,须启用非对称矩阵求解器。
    • 在定义频率域黏弹性(viscoelastic)材料行为时,DDSDDE维度为(NTENS,NTENS,2), 其中DDSDDE(NTENS,NTENS,1)存放储存模量,DDSDDE(NTENS,NTENS,2)存放损失模量。
  • STRESS(NTENS):STRESS为柯西应力
  • STATEV(NSTATV):STATEV为因应计算需求所增加的材料状态变量,可用于储存应力与应变外所有材料状态变量(如塑性应变和应变硬化参数等)
  • RPL
    • 在热应力分析或热电结构耦合分析时,RPL代表材料运动做功所产生的热功率。
    • 静土应力场程序或搭配胶结元素的多孔介质中流体扩散与应力耦合分析时,RPL用于代表材料点所处胶结元素是否允许空隙流体的切线流通过。RPL为0代表没有切线流,反之RPL不为0。
  • DDSDDT(NTENS):应力增量对温度增量的变化率
  • DRPLDE(NTENS):RPL增量对应变增量的变化率矩阵
  • DRPLDT:RPL增量对温度增量的变化率(仅用于热固耦合分析或热电结构耦合分析)
可更新参数 \color{blue}可更新参数 可更新参数
  • SSE, SPD, SCD:分别为比弹性应变能、比塑性消散能和比蠕变消散能,此三者只作输出项,不影响分析结果
  • PNEWDT:分析步时间增量(DTIME)调整系数,其所相对应的新时间增量值为PNEWDT*DTIME
不可更新参数 \color{blue}不可更新参数 不可更新参数
  • STRAN(NTENS):应变
  • DSTRAN(NTENS):应变增量(不包含温度应变增量)
  • TIME(2):分析步开始时,单一分析流程中经历时间和各分析流程累积经历时间
  • DTIME:时间增量
  • TEMP:增量步开始时的温度
  • DTEMP:温度增量
  • PREDEF:增量步开始时,使用者定义的场域变量值
  • DPRED:场域变量增量
  • CMNAME:材料名称
  • NDI:表示应力张量中,主对角线上独立的应力个数。一般实体单元有3个独立分量,平面应力单元为2
  • NSHR:用来表示应力张量中,剪切应力部分的独立张量个数,一般实体单元有3个独立分量,平面应力单元有1个独立的剪切分量
  • NTENS:为NDI与NSHR之和
  • PROPS(NPROSP):用来储存用户定义的材料参数
  • NPROPS:用户自定义材料参数个数
  • COORDS:材料点坐标,若分析考虑几何非线性,其代表变形后的坐标
  • DROT(3,3):刚性和坐标轴的旋转量增量
  • CELENT:单元特征长度,使用一阶线性的形状函数时,在一维单元中特征长度为单元长度,在二维单元中为面积平方根,在三维单元中为体积立方根;当使用二阶形状函数时,单元特征长度为一阶时长度的一半
  • DFGRD0(3,3):增量步开始时变形梯度矩阵F
  • DFGRD1(3,3):增量步结束时变形梯度矩阵F
  • NOEL:单元编号
  • NPT:材料点编号
  • LAYER:复合壳体单元和层状实体单元的夹层编号
  • KSPT:材料点对应的断面编号
  • JSTEP:分析流程信息,包含四个整数值
    • 第一个为分析流程编号
    • 第二个为分析流程工作代码
    • 第三个指出此分析是否考虑几何非线性,1代表考虑,0代表没考虑
    • 第四个指出此分析流程是否为线性扰动相关分析,1代表是,0代表不是
  • KINC:增量步数,(不含ABAQUS求解的迭代步数)。

欢迎对Abaqus感兴趣的朋友们查看:Abaqus-UMAT开发精品书籍及umat子程序学习
在这里插入图片描述

Abaqus非线性粘弹性模型子程序umat——广义MAXWELL粘弹性模型umat解析(朱-王-唐本构模型)

在这里插入图片描述

如果你喜欢以上内容,或者对Abaqus学习有兴趣,欢迎收藏关注,博主将持续更新。你的关注、收藏是我持续创作的动力!

这篇关于ABAQUS用户子程序二次开发——UMAT介绍(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783469

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否