CAE软件操作小百科(32)

2016-08-01 21:45吴一帆
计算机辅助工程 2016年3期
关键词:子程序后处理关键字

吴一帆

初始化应力计算在动力学问题求解中有较广泛的应用,例如重力载荷的初始化,旋转零部件离心预应力的施加,螺栓预紧力的施加等.初始化应力的合理处理能够使得动力学工况的计算结果最大程度地接近实际情况,所以应力初始化的处理显得较为重要.在擅长动力学计算的LSDYNA中,解决应力初始化有以下几种方法.

(1)DYNAIN文件法.当后续分析的输入文件需要较大改动时,可以使用LSDYNA3D的DYNAIN文件法.首先进行LSDYNA3D隐式分析,利用关键字*INTERFACE_SPRINGBACK_LSDYNA输出DYNAIN文件.隐式部分的分析可以是静力分析也可以是动力分析,可以是线性分析也可以是非线性分析.DYNAIN文件格式简单,也可以借助其他方法获取,比如可利用ANSYS的APDL或自编程实现.将DYNAIN文件including到动力分析中即可得到初始应力场.

(2)隐式显式转换法.当后续分析的输入文件无须较大改动时,可以使用LSDYNA3D的隐式显式转换法.利用关键字*CONTROL_IMPLICIT_GENERAL的IMFLAG选项开启LSDYNA的onthefly模式,进行隐式显式自动转换分析.隐式部分的分析可以是静力分析也可以是动力分析,可以是线性分析也可以是非线性分析.

(3)动力松弛法.动力松弛法是LSDYNA3D中比较经济、常用的应力初始化方法.利用关键字*CONTROL_DYNAMIC_RELAXATION可以开启LSDYNA3Dde动力松弛分析,松弛文件可以用m参数读入,这里需要注意关键字*CONTROL_DYNAMIC_RELAXATION中的IDRFLG的设置.如果想收缩初始收敛容限,还可以利用其APDL或自编程生成drelax,对于大变形和非线性的情况,还可以对动力松弛过程进行重启动分析.

2LSDYNA独立求解器的计算结果可以使用的后处理程序有哪些?LSDYNA一般被整合在ANSYS中,但对于独立的LSDYNA求解器来说,后处理功能强大的程序就显得非常重要.这里推荐2种强大的后处理程序.

第一种为LSPrePost,是LS公司推出的专为LSDYNA设计的前后处理程序,见图1.

第二种为HyperWorks系列中的后处理程序HyperView,该后处理程序能够导入多种求解器格式的结果文件,后处理功能十分齐全,见图2.

3在LSPrePost中如何设置segment?

在page1的SelPart中选中需要的体,切换到page5,在右侧多选框选segment,在操作框选Create,在左侧选选择方式box,在图形区选所有面,右侧点中Done.

4LSDYNA中有关局部坐标系的常识

对于壳单元坐标系:局部坐标系x为节点1到节点2的方向;局部坐标系z为法线方向;局部坐标系y=zx,x=yz.

在分析壳单元时保证局部坐标系保持一致非常重要,这样有利于后处理结果的解读.需要注意以下3点.

(1)实体和厚壳的结果是基于整体坐标系的.

(2)梁单元的应力和合力结果均是基于局部坐标系的.

(3)壳单元的应力应变,在D3PLOT结果中是基于整体坐标系的,在ELOUT中是基于单元坐标系的.

在LSPP进行D3PLOT后处理时,有3种设置方法,可以将壳单元的结果转变为基于单元坐标系的结果:(1)在VIew激活Local axes;(2)在Fcomp底部设置Local;(3)在History中设置EaxesLocal.

注意,对正交各向异性材料的壳、厚壳和实体单元,当*DATABASE_EXTENT_BINARY中设置CMPFLG为1时,单元的应力应变将以材料的局部坐标系结果输出,但是在LSPP后处理中不能将材料的局部坐标系转变为单元局部坐标系.

5LSDYNA的多核计算如何设定?

可以在启动求解器的界面上设置计算核数.在NCPU的选项中设置参与计算的CPU个数,或者可以通过关键字*CONTROL_PARALLEL进行设定,见图3.

6LSDYNA自定义材料本构子程序的简便编译方法基本编译思想:写好FORTRAN子程序之后,通过IVF编译器以及nmake命令编译For子程序,生成obj目标文件和求解器,简化方法如下.

1)利用文本编辑器写FORTRAN子程序,命名,存为.f格式文件,比如umat41forshell.f.

2)打开dyn21.f文件,注释掉subroutine umat41 (cm, eps, sig, epsp, hsv, dt1, capa, etype, tt, temper, failel, crv, cma)下这一整个子程序的语句(包括这个语句),或者直接删掉这部分子程序的内容,然后保存dyn21.f文件.

3)用文本编辑器打开MakeFile,进行如下修改.

(1)OBJS= dyn21.obj dyn21b.obj一行中,增加umat41forshell.obj.变为OBJS= dyn21.obj dyn21b.obj umat41forshell.obj.

(2)参照

dyn21.obj: dyn21.F

(FC) (FFLAGS) dyn21.F

格式,书写2行语句

umat41forshell.obj:umat41forshell.f

(FC) (FFLAGS) umat41forshell.f

比如:

dyn21.obj: dyn21.F

(FC) (FFLAGS) dyn21.F

dyn21b.obj: dyn21b.F

(FC) (FFLAGS) dyn21b.F

umat41forshell.obj: umat41forshell.f

(FC) (FFLAGS) umat41forshell.f

然后保存MakeFile.

(3)用IVF编译器和nmake命令编译子程序.这一步以及后续的步骤与df_af_aq写的基本流程一样.

(摘自同济大学郑百林教授《CAE操作技能与实践》课堂讲义)

(待续)第25卷 第3期2016年6月计 算 机 辅 助 工 程Computer Aided EngineeringVol.25 No.3Jun. 2016

猜你喜欢
子程序后处理关键字
成功避开“关键字”
应用子程序车削梯形螺纹方法
在数控车床上加工软轴零件
数控车床加工螺纹编程方法探讨
基于Python的Abaqus二次开发在空间可展单簧片结构仿真分析中的应用
基于UG的变螺距螺旋槽建模及数控加工编程
银镜反应和后续处理的实验改进
WHSC/WHTC与ESC/ETC测试循环的试验比较与研究
智能垃圾箱
从搜索量看关键字效果 区别竞价花钱值