Abaqus中计材料参数不为常数的两种处理方法
2017-03-18 by:CAE仿真在线 来源:互联网
1目的
在有限元计算中,可能会碰到材料参数(这里以线弹性材料弹性模量E为例)在模型中并不为常值的情况,例如,E与某一坐标相关。大家知道,abaqus材料中材料是在*section对截面属性定义的时候对单元组进行赋值的。并且GUI中也没有提供变参数的接口(这里顺路提一下,载荷是可以通过函数给出变载荷的,GUI中有接口)。这就需要我们采取一些特殊的措施。本教程给出2种行之有效的方法,它们分别是:(1)编辑inp文件和(2)使用Umat。
2方法
方法 |
要求 |
难度 |
编辑inp |
会一门编程语言,能够完成对文本文件的读取和写入 |
4星 |
使用Umat |
会使用abaqus的Umat用户子程序,计算文件中不需要使用其它的用户子程序 |
3星(如果对abaqus用户子程序不熟悉,则为5星) |
上表中给出两种方法的一些基本要求,编辑inp文件的方法要求更低,它通过直接编辑inp文件的方法来实现。而使用Umat的方法要求更高,需要用户对子程序有一定的了解,并且也需要会一门编程语言。
同样是根据坐标确定材料参数,使用Umat时,可以直接通过abaqus用户子程序自带的子函数直接获得单元的节点坐标,进而通过坐标确定材料参数;而使用编辑inp的方法则需要首先通过编写程序对你已经生成的inp文件(包含节点、单元信息)进行读取,之后对每一个单元进行材料赋值。从这方面讲,对熟悉Umat的用户而言,使用Umat解决这个问题更为方便。
3编辑inp方法的简要实施过程
以Fortran+VS为例,在编辑inp文件时,涉及到了单元节点信息的读取、计算单元(质心)坐标、计算弹性模量E、和输出这几个子程序。如图1所示,prereadnew为读取节点、单元信息子程序;processmat为通过单元坐标计算弹性模量子程序;writeabaqus为输出子程序。各个子程序的详细信息这里不再赘述,有兴趣或者有需求的同学可以关注文章最后的公众号或者和作者私下联系。
图1 项目及子程序
图2 inp文件读取子程序(部分代码)
图3 inp文件输出-材料部分(部分代码)
通过以上叙述不难发现,通过编辑inp文件可以较好的解决材料参数不为常数的情况。但是,这需要用户具有一定的编程基础,对abaqus的inp计算文件有一定的了解。同理,在其它软件进行有限元计算时,也可以通过编辑计算文件的方法来解决材料参数不为常值得情况。
4 Umat方法的简要实施过程
作为Abaqus提供的用户自定义子程序中的一种,Umat为用户自己定义一种新的材料提供了接口。UMAT子程序具有强大的功能,使用UMAT子程序:
(1)可以定义材料的本构关系,对ABAQUS 材料库进行扩充;
(2)几乎可以将任何本构关系运用到ABAQUS中的任何单元中;
但是,用户必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率,而实际上,这也是Umat子程序最主要的任务。
承前所述,由于假定弹性模量与坐标相关,使用Umat子程序的首要任务就是找到弹性模量E和坐标之间的关系;之后,才是根据坐标得到弹性模量和泊松比之后对DDEDDS的编写。这里,依据Abaqus的帮助文档,给出了Umat子程序中一些变量的定义:
图4 Abaqus提供的Umat函数接口
图5 部分Umat变量定义
详细的参数介绍大家可以查看abaqus帮助。不难发现其中并不包含有单元或者节点的坐标信息,但是却包含有单元的单元编号信息(NOEL)。而通过单元编号又可以关联起来单元的坐标。
图6 线弹性材料的DDEDDS
图6中EMOD=PROPS(1)*A(NOEL)/0.125 就是根据单元NOEL的坐标确定其弹性模量的语句,不难看出这个弹性模量是INP文件中给定的值得A(NOEL)/0.125倍,其中A数组并不是自定义的数组,为单元的坐标值数组。
5 算例
对于如图8所示的4阶魔方结构,x轴左端面约束x方向自由度,x轴右端面加载位移。材料弹性模量由约束面到加载面分别为10、30、50、70GPa,而其对应的单元质心x轴坐标分别为0.125、0.375、0.625、0.875。图8中所示云图为单元应变E11。
图7(a) 计算文件-材料部分-inp编辑方法
图7(b) 计算文件-材料部分-Umat方法
图5 算例结果
相关标签搜索:Abaqus中计材料参数不为常数的两种处理方法 abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训