Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍

    Damask2.0.3版本是最后一个和Abaqus有接口的版本,在Damask2.0.3的官网中已经进行了声明,目前最新的版本已经不支持和Abaqus联合使用。但是Damask和abaqus联合使用仍然是学习晶体塑性有限元方法不错的工具。我曾使用过Abaqus联合damask平台,这里我对使用过程中个人的一点经验进行简单的介绍,希望各位读者在研究过程中少一些技术上的障碍。

1.软件安装

    Damask软件的安装较为复杂,我那时候是在某鱼上找人安装的,使用的是Ubuntu18.04,Abaqus版本是2018。目前VMware Workstation可以方便的将系统导出为ovf格式,便于安装,有需要的可以联系我。

2.使用介绍

    关于damask2.0.3联合abaqus的入门使用,我这里直接用一个简单的例子来介绍。首先在Neper中生成一个1×1×1的三维立方体晶体模型,共200个晶粒:

	neper -T -n 200 -dim 3 -domain "cube(1,1,1)" -oriformat plain -oridescriptor euler-bunge -o Jiahe1

    如果想输出晶粒的等效直径,可以加上-statcell diameq命令,会自动生成一个文件存储所有晶粒的等效直径。

    然后划分网格并生成inp文件,共有9261个单元:

	neper -M Jiahe1.tess -rcl 1.3 -elttype hex -interface continuous -format inp -o abq_input
Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍的图1

    关于网格划分需要注意,damask2.0.3联合abaqus只支持部分单元类型(CPE4,CPE8,C3D4,C3D6,C3D8,C3D8R,C3D20,C3D20R),即不支持四边形单元和四面体单元。Segurado教授曾在自己的著作(Computational Homogenization of Polycrystals)中表示,这样将导致晶界呈阶梯状表面,不适合于模拟局限于晶界的现象,如晶界滑动。

    Damask2.0.3联合abaqus运行需要3个必要文件,abaqus_v6.env,*.inp和material.config。abaqus_v6.env用于配置DAMASK与Abaqus联合使用时的环境设置文件,一般不需要修改。

    从neper导出inp文件后,需要对该inp文件进行前处理,为每一个晶粒建立单独的材料并输入材料参数。这里基于Neper2Abaqus进行修改,采用Matlab进行前处理。

    本例采用一种Al合金材料,FCC结构,在Matlab命令行中运行:

    neper2abq('Al__')

    其中Al是输入文件的名称。在名称末尾需要包含双下划线。运行此函数将生成4个文件:Al_materials.inp,Al_sections.inp,Al_Microstructure_ElementHomogeneous.config,Al_Texture_Gauss.config。

    将Neper生成的inp文件与本函数生成的两个inp文件放在同一文件夹中。然后打开Neper生成的inp文件,在文件末尾进行如下修改:

     在*End Part之前添加:

    *Include, Input = Al_sections.inp

     在*End Part之后添加:

    *Include, Input = Al_materials.inp

     此输入文件即可以导入Abaqus,包含所有材料和截面信息。每一个晶粒采用一个材料属性,每一种材料有两个力学常数,第一个力学常数代表需要使用的均匀化法则,第二个力学常数代表需要使用的微观组织。Al_Microstructure_ElementHomogeneous.config和Al_Texture_Gauss.config属于material.config,material.config主要包含Homogenization,Microstructure,Crystallite,Phase和Texture。Homogenization部分用于选择所采用的均匀化法则;Crystallite部分用于输出与所选本构关系无关的晶体学量;Phase部分用于选择材料的本构关系,包括材料参数的输入和与所选本构关系相关的晶体学量的输出;Texture部分用于指定晶粒的取向;Microstructure部分表示材料所采用的微观组织,主要包括每个晶粒的crystallite,phase和texture。一般情况下由于晶粒数目较多,Microstructure部分和Texture部分较长,为了增强代码的可读性,通常将Microstructure部分和Texture部分单独生成为两个配置文件。这部分内容在官网中有详细介绍(https://damask2.mpie.de/bin/view/Documentation/MaterialConfig.html),这里不再过多说明。

    至此,我们就准备好了所需要的abaqus_v6.env,inp文件和material.config,在inp文件中添加边界条件,这里采用EasyPBC施加了一个单轴拉伸的位移边界条件,如下图所示:

Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍的图2

    运行作业时在终端输入:

	abaqus job=JiaHe1 user=/home/cpfem/damask-2.0.3/src/DAMASK_abaqus.f interactive

    即可运行作业,可以通过.sta文件查看作业进程。以下是计算结果:应力云图(Pa)和力位移曲线,本例的所有计算文件附在文末。

Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍的图3

Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍的图4

    对于本例中所采用的现象学晶体塑性本构关系,共有114个状态变量,分别如下:

SDV1:HomogenizationCount

SDV2:GrainCount

SDV3:CrystalliteCount

SDV4~7:quaternion(取向四元数)

SDV8~11:deviation from initial orientation as axis (1-3) and angle in degree (4) in crystal reference coordinates(晶体参考坐标系中与初始取向的偏差(以轴(1-3)和角度(4)为单位))

SDV12~20:f,deformation gradient tensor(变形梯度张量)

SDV21~29:fe,elastic deformation gradient tensor(弹性变形梯度张量)

SDV30~38:fp,plastic deformation gradient tensor(塑性变形梯度张量)

SDV39~47:p,first Piola-Kichhoff stress tensor(第一Piola-Kichhoff应力张量)

SDV48~56:s,second Piola-Kichhoff stress tensor(第二Piola-Kichhoff应力张量)

SDV57-65:lp,plastic velocity gradient tensor(塑性速度梯度张量)

SDV66:ConstitutiveCount

SDV67~78:resistance_slip(滑移系阻力)

SDV79~90:shearrate_slip(滑移系剪切应变率)

SDV91~102:resolvedstress_slip(滑移系临界分切应力)

SDV103~114:accumulatedshear_slip(滑移系累积剪应变)

3.其他说明

(1)在终端输入

  abq_addUserOutput -m 114 JiaHe1.inp

可以直接修改inp文件的状态变量个数。

(2)在终端输入

  abq_addUserOutput --homogenization 1 --crystallite 1 --phase 1 JiaHe1.inp

可将material.config中请求的输出变量传输到Abaqus输入文件(*.inp),但是需要预先运行作业,将会在inp文件中生成正确的状态变量数量并命名。如下图所示:

Damask 2.0.3联合abaqus进行晶体塑性有限元模拟的简单介绍的图5

(3)可以将Damask编译成一个库,这样就不必为每个作业编译子程序。我曾经做过尝试,但是没有成功,详见官网https://damask2.mpie.de/bin/view/Installation/Abaqus.html

(4)Damask2.0.3联合Abaqus最大的问题是不支持使用 Abaqus 并行化。DAMASK2.0.3官网声明可以使用OpenMP进行内部并行化,通过环境变量 $DAMASK_NUM_THREADS 设置 DAMASK 要使用的线程数,大家可以试一下。

	export DAMASK_NUM_THREADS=8
	echo $DAMASK_NUM_THREADS

    我曾经做过尝试,OpenMP内部并行对计算速度的增加聊胜于无。

    这里附上计算文件:

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

6
1
7