Deform二次开发步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Deform 3D二次开发步骤
为了在金属成形工艺模拟过程中进行微观组织演化的定量预测,所使用的模拟软件必须有包含微观组织变化的本构模型和专门的微观组织演化分析模块。当前国际上虽然有多个知名商业软件流行,但是它们都不具备微观组织演化的预测功能。庆幸的是多数商业软件都为二次开发设置了用户子程序功能,通过用户子程序,用户就能根据自己的需要增加自己的微观组织预测功能。
为了使DEFORM3D软件具有微观组织演化预测功能,本研究尝试将包含动态再结晶的热刚—粘塑性材料本构模型植入到DEFORM3D中,并在模拟结果中能够显示晶粒度等用户变量在变形体内的分布。在研究出具体开发步骤前,必须要对Defom中的程序有所深入了解。
一、DEFORM3D二次开发基础理论
1、用户子程序结构
本研究的DEFORM3D二次开发涉及到的子程序有:USRMSH、USRMTR、UFLOW、USRUPD(含USR和CHAZHI)。
(1)可以改变几乎所有变量的子程序(USRMSH)
子程序功能:该子程序包含了有限元计算中所有的全局变量,通过这个用户子程序,可以修改所有这些变量。但这些全局变量的改变将直接影响有限元的计算,处理不当就会使整个程序不能正常进行。
在DEFORM3D子程序功能中,所有的用户变量必须在USRUPD子程序中定义。本文的用户子程序中共定义了18个用户单元变量。各用户变量的含义如列表所示。
该子程序用于某些必要数据的获取和存储流程图如下图所示:
(2)流动应力子程序(USRMTR、UFLOW)
SUBROUTINE USRMTR(NPTRTN,YS,YPS,FIP,TEPS,EFEPS,TEMP)SUBROUTINE UFLOW(YS,YPS,FIP,TEPS,EFEPS,TEMP)子程序的变量含义:NPTRTN:应力模型编号;YS:流动应力;YPS:流动应力对等效应变的导数;FIP:流动应力对等效应变速率的导数;TEPS:等效应变;EFEPS:等效应变;TEMP:温度。
子程序USRMTR和UFLOW运行时需要输入:应力模型编号、等效应变、等效应变速率、温度。子程序执行完后将输出:流动应力值、流动应力对等效应变的导数,流动应力对等效应变速率的导数。这几个变量可以用用户定义变量来计算。
子程序功能:
USRMTR:传入上级程序计算出的等效应变、等效应变率、温度和用户应力模型编号,调用具有该编号的UFLOW,将等效应变、等效应变率、温度值传入UFLOW,用于计算出的流动应力、流动应力对等效应变的导数和流动应力对等效应变率的导数传回上级程序。
UFLOW:用传入的等效应变、等效应变率、温度和公共块中的用户定义的单元变量(USRE1、USRE2)和节点变量(USRN1、USRN2)计算流动应力、流动应力对等效应变的导数和流动应力对等效应变率的导数,并将这些计算值返回USRMTR。
(3)用户定义节点和单元变量(USRUPD)
子程序格式:SUBROUTINE USRUPD
子程序功能:计算所有的用户单元变量和用户节点变量。在应力模型中可以使用这个子程序中定义的变量。
(4)USR子程序
该子程序被USRUPD调用,它是计算材料本构模型的主体程序,具体功能是:计算流动应力、再结晶体积分数、平均晶粒度、未再结晶晶粒度、再结晶晶粒度、晶粒度差等与本构模型相关的用户自定义单元变量,并将这些变量值传到USRUPD子程序中。
该子程序的计算需要用到存储在IUSRVL数组中的热刚-粘塑性本构模型中的所有参数。子程序中读取语句如下:
READ(IUSRVL (4),*)RM1,RK1,GAMA,RMD,ROU0,ROU1,ROU2 READ(IUSRVL (5),*)RLID,RM,BEITA,A,RM2,RK2
(5)CHAZHI子程序
变形体网格重划后,存储在用户构造的数据文件中的建立在网格重划前单元上的变量数据必须通过插值方法转换到网格重划以后的新单元之上,不然有限元计算将不能正确进行。因此,网格重划必须进行必要的数据转换。
为进行插值计算,需要存储网格重划前、后的单元节点信息,包括:网格重
划前的单元总数、节点总数、每一时间步的节点坐标、单元节点号;网格重划后的单元总数、节点总数、节点坐标、单元节点号。
CHAZHI子程序的流程图如下图所示。
CHAZHI子程序流程图
2、用户定义子程序的核心代码
用户定义子程序的核心代码都储存在DEF_USR.FOR中,有限元主程序通过调用该文件中的子程序,可以计算出用户自定义变量的值。所以关键问题在于该
子程序的编写。
DEF_USR.FOR文件中的子程序有USRMSH、USRUPD 和UFLOW三个用户子程序。下图为DEF_USR.FOR文件中子程序之间的先后调用顺序关系。
3、动态再结晶过程分析子程序的编制
该子程序是在有限元模拟程序中用于计算流动应力和平均晶粒度等单元变量的,它在有限元模拟程序中的位置如流程图中加粗字体所示。
该子程序在有限元计算中的位置
本研究的一个重要内容就是将公式所组成的“热刚—粘塑性本构模型”以用户子程序的方式加入到DEFORM3D中,并将该模型中的一些变量(如再结晶体积分数等)定义成用户自定义单元变量,以便从DEFORM3D的后处理中可以查看这些变量在变形体内的分布情况。具体开发步骤如下所述。
二、开发步骤
1、开发运行环境安装
用虚拟光驱加载Absoft8.0.iso文件,安装Absoft 8.0编译器,安装界面如图1~图2所示。
图1 安装界面一,点击【Install Products】
图2 安装界面二,顺次安装每个条目,【IMSL Libraries】可以略过。