LS-DYNA1 Solver Interface - HyperWorks 8.0

合集下载

Hypermesh_与LS-dyna_接口教程

Hypermesh_与LS-dyna_接口教程

Altair软件Hypermesh 与LS-dyna 接口1提供cae软件,法规相关翻译,培训个人检查干涉,创建joint连接,检查最小时步-HM-4500开始学习此指导之前,我们建议先完成介绍指导,Getting Started with HyperMesh - HM-1000.此指导解释了在不同碰撞求解器中的通用操作技巧。

下面的练习包含:··创建joints连接。

检查最小时步。

关于如何查找安装路径和指导文件的详细说明,Finding the Installation Directory<install_directory>,或联系系统管理员。

要查找并检测干涉,参照Penetration - HM-3320 tutorial。

练习1:创建Joints连接通过1D界面中的FE joints面板来定义joint连接。

HyperMesh支持下面的标准joint类型:Spherical, Revolute Cylindrical, Planar, Universal, Translational,及Locking。

HyperMesh也支持LS-DYNA的*CONSTRAINED_JOINT_STIFFNESS_OPTION属性以定义摩擦,阻尼,stop angles等。

LS-DYNA求解器界面支持在FE joints面板创建joint连接。

PAM-CRASH求解器当前只支持将joint连接以杆单元的形式创建。

(见Using the PAM-CRASH Interface in HyperMesh - HM-4700)。

球铰包含2个同步节点。

分析中,这两个同步节点强迫保持一致,但与同步节点连接注意: 的体可以绕铰链自由转动。

Step 1:选择LS-DYNA用户模板并加载Keyword 970模板1.软件启动后,HyperMesh会提示你来选择用户模板。

选择LS-DYNA。

(完整word版)hypermesh与ls-dyna接口(推荐看看,可以提高对软件的理解)

(完整word版)hypermesh与ls-dyna接口(推荐看看,可以提高对软件的理解)

1.输出数据控制指定要输入到D3PLOT、D3PART、D3THDT文件中的二进制数据【NEIPH】——写入二进制数据的实体单元额外积分点时间变量的数目。

【NEIPS】——写入二进制数据的壳单元和厚壳单元每个积分点处额外积分点时间变量的数目。

【MAXINT】——写入二进制数据的壳单元积分点数。

如果不是默认值3,则得不到中面的结果。

【STRFLAG】——设为1会输出实体单元、壳单元、厚壳单元的应变张量,用于后处理绘图。

对于壳单元和厚壳单元,会输出最外和最内两个积分点处的张量,对于实体单元,只输出一个应变张量。

【SIGFLG】—-壳单元数据是否包括应力张量。

EQ.1:包括(默认)EQ。

2:不包括【EPSFLG】—-壳单元数据是否包括有效塑性应变。

EQ。

1:包括(默认)EQ.2:不包括【RLTFLG】—-壳单元数据是否包括合成应力。

EQ。

1:包括(默认)EQ.2:不包括【ENGFLG】——壳单元数据是否包括内能和厚度。

EQ.1:包括(默认)EQ。

2:不包括【CMPFLG】——实体单元、壳单元和厚壳单元各项异性材料应力应变输出时的局部材料坐标系。

EQ.0:全局坐标EQ。

1:局部坐标【IEVERP】--限制数据在1000state之内.EQ。

0:每个图形文件可以有不止1个stateEQ。

1:每个图形文件只能有1个state【BEAMIP】—-用于输出的梁单元的积分点数。

【DCOMP】——数据压缩以去除刚体数据。

EQ。

1:关闭(默认).没有刚体数据压缩。

EQ.2:开启。

激活刚体数据压缩。

EQ。

3:关闭.没有刚体数据压缩,但节点的速度和加速度被去除.EQ。

4:开启。

激活刚体数据压缩,同时节点的速度和加速度被去除。

【SHGE】-—输出壳单元沙漏能密度。

EQ。

1:关闭(默认).不输出沙漏能。

EQ。

2:开启。

输出沙漏能。

【STSSZ】——输出壳单元时间步、质量和增加的质量。

EQ。

1:关闭。

(默认)EQ.2:只输出时间步长。

ANSYSLSDYNA用户使用手册第一章.pdf

ANSYSLSDYNA用户使用手册第一章.pdf

第一章 引言ANSYS/LS-DYNA将显式有限元程序LS-DYNA和ANSYS程序强大的前后处理结合起来。

用LS-DYNA 的显式算法能快速求解瞬时大变形动力学、大变形和多重非线性准静态问题以及复杂的接触碰撞问题。

使用本程序,可以用ANSYS建立模型,用LS-DYNA做显式求解,然后用标准的ANSYS后处理来观看结果。

也可以在ANSYS和ANSYS-LS-DYNA之间传递几何信息和结果信息以执行连续的隐式-显式/显式-隐式分析,如坠落实验、回弹、及其它需要此类分析的应用。

1.1显式动态分析求解步骤概述显式动态分析求解过程与ANSYS程序中其他分析过程类似,主要由三个步骤组成 : 1:建立模型(用PREP7前处理器)2:加载并求解(用SOLUTION处理器)3:查看结果(用POST1和POST26后处理器)本手册主要讲述了ANSYS/LS-DYNA显式动态分析过程的独特过程和概念。

没有详细论述上面的三个步骤。

如果熟悉ANSYS程序,已经知道怎样执行这些步骤,那么本手册将提供执行显式动态分析所需的其他信息。

如果从未用过ANSYS,就需通过以下两本手册了解基本的分析求解过程: ·ANSYS Basic Analysis Guide·ANSYS Modeling and Meshing Guide使用ANSYS/LS-DYNA时,我们建议用户使用程序提供的缺省设置。

多数情况下,这些设置适合于所要求解的问题。

1.2显式动态分析采用的命令在显式动态分析中,可以使用与其它ANSYS分析相同的命令来建立模型、执行求解。

同样, 也可以采用ANSYS图形用户界面(GUI)中类似的选项来建模和求解。

然而,在显式动态分析中有一些独特的命令,如下:EDADAPT: 激活自适应网格EDASMP: 创建部件集合EDBOUND: 定义一个滑移或循环对称界面EDBVIS: 指定体积粘性系数EDBX: 创建接触定义中使用的箱形体EDCADAPT: 指定自适应网格控制EDCGEN: 指定接触参数EDCLIST: 列出接触实体定义EDCMORE: 为给定的接触指定附加接触参数EDCNSTR: 定义各种约束EDCONTACT : 指定接触面控制EDCPU: 指定CPU时间限制EDCRB: 合并两个刚体EDCSC: 定义是否使用子循环EDCTS: 定义质量缩放因子EDCURVE: 定义数据曲线EDDAMP: 定义系统阻尼EDDC: 删除或杀死/重激活接触实体定义EDDRELAX: 进行有预载荷几何模型的初始化或显式分析的动力松弛EDDUMP: 指定重启动文件的输出频率(d3dump)EDENERGY: 定义能耗控制EDFPLOT: 指定载荷标记绘图EDHGLS: 定义沙漏系数EDHIST: 定义时间历程输出EDHTIME: 定义时间历程输出间隔EDINT: 定义输出积分点的数目EDIS: 定义完全重启动分析的应力初始化EDIPART: 定义刚体惯性EDLCS: 定义局部坐标系EDLOAD: 定义载荷EDMP: 定义材料特性EDNB: 定义无反射边界EDNDTSD:清除噪声数据提供数据的图形化表示EDNROT:应用旋转坐标节点约束EDOPT:定义输出类型,ANSYS或LS-DYNAEDOUT:定义LS-DYNA ASCII输出文件EDPART:创建,更新,列出部件EDPC:选择、显示接触实体EDPL:绘制时间载荷曲线EDPVEL:在部件或部件集合上施加初始速度EDRC:指定刚体/变形体转换开关控制EDRD:刚体和变形体之间的相互转换EDREAD:把LS-DYNA的ASCII输出文件读入到POST26的变量中EDRI:为变形体转换成刚体时产生的刚体定义惯性特性EDRST:定义输出RST文件的时间间隔EDSHELL:定义壳单元的计算控制EDSOLV:把“显式动态分析”作为下一个状态主题EDSP:定义接触实体的小穿透检查EDSTART:定义分析状态(新分析或是重启动分析)EDTERM:定义中断标准EDTP:按照时间步长大小绘制单元EDVEL:给节点或节点组元施加初始速度EDWELD:定义无质量焊点或一般焊点EDWRITE:将显式动态输入写成LS-DYNA输入文件PARTSEL:选择部件集合RIMPORT:把一个显式分析得到的初始应力输入到ANSYSREXPORT:把一个隐式分析得到的位移输出到ANSYS/LS-DYNAUPGEOM:相加以前分析得到的位移,更新几何模型为变形构型关于ANSYS命令按字母顺序排列的详细资料(包括每条命令的特定路径),请参阅《ANSYS Commands Reference》。

LS-DYNA常见问题集锦

LS-DYNA常见问题集锦

在网格划分过程中,我们常遇到退化单元,如果不对它进行一定的处理,可能会对求解产生不稳定的影响。

在LS-DYNA中,同一Part ID 下既有四面体,五面体和六面体,则四面体,五面体既为退化单元,节点排列分别为N1,N2,N3,N4,N4,N4,N4,N4和N1,N2,N3,N4,N5,N5,N6,N6。

这样退化四面体单元中节点4有5倍于节点1-3的质量,而引起求解的困难。

其实在LS-DYNA的单元公式中,类型10和15分别为四面体和五面体单元,比退化单元更稳定。

所以为网格划分的方便起见,我们还是在同一Part ID下划分网格,通过*CONTROL_SOLID关键字来自动把退化单元处理成类型10和15的四面体和五面体单元。

2 LS-DYNA中对于单元过度翘曲的情况有何处理方法有两种方法:1. 采用默认B-T算法,同时利用*control_shell控制字设置参数BWC=1,激活翘曲刚度选项;2. 采用含有翘曲刚度控制的单元算法,第10号算法。

该算法是针对单元翘曲而开发的算法,处理这种情况能够很好的保证求解的精度。

除了上述方法外,在计算时要注意控制沙漏,确保求解稳定。

3 在ANSYS计算过程中结果文件大于8GB时计算自动中断,如何解决这个问题?解决超大结果文件的方案:1. 将不同时间段内的结果分别写入一序列的结果记录文件;2. 使用/assign命令和重启动技术;3. ANSYS采用向指定结果记录文件追加当前计算结果数据方式使用/assign指定的文件,所以要求指定的结果记录文件都是新创建的文件,否则造成结果文件记录内容重复或混乱。

特别是,反复运行相同分析命令流时,在重复运行命令流文件之前一定要删除以前生成的结果文件序列。

具体操作方法和过程参见下列命令流文件的演示。

4关于梁、壳单元应力结果输出的说明问题:怎样显示梁单元径向和轴向的应力分布图(我作的梁单元结果只有变形图DOF SOLUTIN –Translation,但是没有stress等值线图,只有一种颜色)和壳单元厚度方向的应力、变形图(我们只能显示一层应力、变形,不知道是上下表层或中间层的结果)。

(完整word版)ls-dyna命令帮助手册(中文)

(完整word版)ls-dyna命令帮助手册(中文)

(完整word版)ls-dyna命令帮助⼿册(中⽂)Fini(退出四⼤模块,回到BEGIN层)/cle (清空内存,开始新的计算)1.定义参数、数组,并赋值.2./prep7(进⼊前处理)定义⼏何图形:关键点、线、⾯、体定义⼏个所关⼼的节点,以备后处理时调⽤节点号。

设材料线弹性、⾮线性特性设置单元类型及相应KEYOPT设置实常数设置⽹格划分,划分⽹格根据需要耦合某些节点⾃由度定义单元表3./solu加边界条件设置求解选项定义载荷步求解载荷步4./post1(通⽤后处理)5./post26 (时间历程后处理)6.PLOTCONTROL菜单命令7.参数化设计语⾔8.理论⼿册Fini(退出四⼤模块,回到BEGIN层)/cle (清空内存,开始新的计算)1 定义参数、数组,并赋值.u dim, par, type, imax, jmax, kmax, var1, vae2, var3 定义数组par: 数组名type:array 数组,如同fortran,下标最⼩号为1,可以多达三维(缺省)char 字符串组(每个元素最多8个字符)tableimax,jmax, kmax 各维的最⼤下标号var1,var2,var3 各维变量名,缺省为row,column,plane(当type为table时) 2 /prep7(进⼊前处理)2.1 定义⼏何图形:关键点、线、⾯、体u csys,kcnkcn , 0 迪卡尔坐标系1 柱坐标2 球4 ⼯作平⾯5 柱坐标系(以Y轴为轴⼼)n 已定义的局部坐标系u numstr, label, value设置以下项⽬编号的开始nodeelemkplineareavolu注意:vclear, aclear, lclear, kclear 将⾃动设置节点、单元开始号为最⾼号,这时如需要⾃定义起始号,重发numstr u K, npt, x,y,z, 定义关键点Npt:关键点号,如果赋0,则分配给最⼩号u Kgen,itime,Np1,Np2,Ninc,Dx,Dy,Dz,kinc,noelem,imoveItime:拷贝份数Np1,Np2,Ninc:所选关键点Dx,Dy,Dz:偏移坐标Kinc:每份之间节点号增量noelem: “0” 如果附有节点及单元,则⼀起拷贝。

Hypermesh10.0-与LS-dyna-接口帮助文档中文版

Hypermesh10.0-与LS-dyna-接口帮助文档中文版

Altair软件Hyperworks10.0Hypermesh与LS-dyna接口全部帮助文档中文版中文资料optistruct指南文档(付费)碰撞关键字(控制文件)中文版(免费)Hypermesh与abaqus接口文档(免费) Hypermesh与dyna接口文档(免费)Hypermesh指南文档(免费)ANSA(网格划分部分)(免费)疲劳Ncode7.0(design life) (免费)更多软件和法规,范例资料,慢慢翻译积累提供cae软件,法规相关翻译,培训个人资料声明资料翻译费时费力,希望能让您的学习过程感到省时,给力!我本来不想发行电子版的,传到网上可能会被复制,粘贴,so easy的事情,我就得 “被雷锋”了。

个人建议:或许您能够偶尔得到一份只言片语的资料,或者是某个方面的资料,但是如果您想得到更多更全的学习资料,建议你亲自联系我们。

比如,做碰撞的,想学习NVH,学习流体,学习疲劳,电磁场等;做汽车行业的,想看看其他行业(如航空,重工,电子产品,生命科学)主打软件是什么,比如高薪的航空工业疲劳分析工程师,一汽,泛亚,上海大众,上汽,北汽疲劳工程师主要应用Ncode(疲劳软件的鼻祖,功能最全,最强大);还有船舶行业patran软件,很多经典资料(像Patran PCL Workshop Notes)还木有中文版。

在一个或两个方面特别精通的基础上,再对其它方面熟悉,或许您会更受业内欢迎。

如果您需要更多,关于Hyperworks,ansa,MSC.patran,nastran,dytran;LS-dyna,abaqus,adams,ansys,madymo,MoldFlow,MARC, Ncode,Optistruct很多资料国内代理公司不公开或者根本没有。

到我们这里,某些已有中文版,暂时没有的资料可以从无到有,欢迎团购,更欢迎个人。

市面上的CAE书籍,一些理论加几个简单例子,性价比不实惠检查干涉,创建joint连接,检查最小时步-HM-4500开始学习此指导之前,我们建议先完成介绍指导,Getting Started with HyperMesh - HM-1000. 此指导解释了在不同碰撞求解器中的通用操作技巧。

Hypermesh与LS-DYNA 接口练习

Hypermesh与LS-DYNA 接口练习

Hypermesh与LS-DYNA 接口练习这个练习主要讲hypermesh和LS-DYNA 的接口,材料模型如何定义等问题1,订义材料属性1.启动hypermesh2.点击Geom面板上的user prof面板,选择ls-dyna求解器,点击ok3.点击files面板调入tube.hm这个模型4.点击collectors面板,进入create子面板5.在中间的collectors type后面的选择集中选择mats6.在name后面的输入框中输入steel7.点击card image=这个按键,选择MA TL248.点击create/edit按键,9.点击RHO,在下面的输入框中输入7.8e-6(不知道有什么用,什么意思)10.点击E,在下面的输入框中输入21011.点击NU在下面的输入框中输入0.3(不知道有什么用,什么意思)12.点击SIGY ,在下面的输入框中输入0.2(不知道有什么用,什么意思)13.点击return,返回到collectors面板2定义单元属性1,进入create子面板,在collectors type后面的选择集中选择props2,在name=后面的输入框中输入section1.53,点击card method 下面的选择集,选择card image=4,点击card image=按键选择Sect Shll5,点击material=按键,点击steel6,点击create/edit7,点击T1,在下面的输入框中输入1.58,点击return,返回collectors面板3,更新模型1,进入update子面板2,在collectors右面的选择集中选择comps3,点击黄色的comp按键,选择出现的这两个comp4,点击select按键5,点击material按键,选择steel6,点击update7,选择material id8,点击update4,更新单元的截面属性1,进入card image子面板2,在collector type右面的选择集中选择comp 3,点击name=按键,选择fixed tube4,点击card image=按键,选择part5,点击load/edit按键6,点击SID,出现一个黄色的按键7,点击这个黄色的按键,选择section1.58,点击return,更新完毕9,重复一遍刚才的过程,为moving tube更新截面属性5,订义边界条件1,点击BCs面板上的entity set2,在name=后面的输入框中输入nodes for velocity 3,在中间的选择集中选择nodes4,点击这个黄色的nodes按键,选择by collector5,选择moving tube,点击select在屏幕上出现选择的节点6,点击create7,点击collector面板8,进入create子面板9,在collector type右面的选择集中选择loadcal10,在name=后面的输入框中输入ini_vel11,点击card image按键选择InitialVel(不知道有什么用,什么意思)11,点击create/edit12,点击[NSID]出现一个黄色的按键,点击这个黄色的按键,就出现两个选择集点击刚刚创建的nodes for velocity13,点击vx(不知道有什么用,什么意思),在下面对输入框中输入30,点击return,返回面板13,在name=后面的输入框中输入spc,点击card image=选择BoundSPCset点击create/edit14,点击[NSID],出现一个黄色的按键,点击这个按键,选择nodes for spc 15,约束6 个自由度6,定义接触1,点击BCs页面下的set_segment,,在name=后面的输入框中输入master2,点击card image=选择segment,3,点击黄色的elems按键,点击by collector,点击fixed tube,点击select 4,选择一个颜色,点击create,结果如下5,同理,在定义一个名为slave的segment6,退出这个面板,点击interface面板,进入create子面板7,在name=后面输入contact8,点击下面的type=键,选择SurfaceToSurface9,点击下面的card image=,也选择SurfaceToSurface,点击create/edit,10,在下面的option下的选择集中,选择automatic11,进入add子面板,在master下面的选择集中选择csurfs,点击旁边的contactsurf按键,选择master点击select,点击右面的update同理在slave下面的选择集中也选择csurfs,点击旁边的contactsurf按键,选择slave,点击点击select,点击右面的update。

LS-DYNA-1功能介绍

LS-DYNA-1功能介绍
• 三维快速高度非线性显式有限元分析程序 • 以三维结构为主的多物理场耦合分析: 结构 流体 热 • 先进丰富的数值处理技术
• 材料模式 接触方式
• ALE算法
并行处理
• 网格畸变处理
No Boundaries
功能特点
显式算法和时步控制
无收敛迭代,依靠小时步保证计算精度
有条件稳定,变时步增量解法 集中质量矩阵,无总体刚度矩阵,计算速度快
ANSYS/LS-DYNA
功能介绍
No Boundaries


• ANSYS/LS-DYAN历史 • ANSYS/LS-DYAN的现状 • ANSYS/LS-DYAN求解功能
No Boundaries
发展历程
ANSYS/LS-DYNA发展概况
1976-1986, 美国 劳伦斯•利沃莫尔国家实验室( LLNL), J.O.Hallquist 博士主导开发DYNA3D。 DYNA系列为国际主要的显式非线性动力分析程序, 广泛用于冲击-碰 撞、爆破及流固耦合研究,是当时北约新武器开发的重要工具。 1986年部分源程序在 Public Domain(北约局域网)发布,从此在研究 和教育机构广泛传播,被公认为是显式有限元程序的鼻祖和理论先导 ,是目前所有显式求解程序(包括显式板成型程序)的基础代码
Automatic_general automatic_nodes_to_surface automatic_one_way_surface_to_surface automatic_single_surface automatic_surface_to_surface airbag_single_surface constrained_nodes_to_surface constrained_surface_to_surface drawbead eroding_nodes_to_surface eroding_surface_to_surface eroding_single_surface force_transducer_constraint force_transducer_penalty forming_nodes_to_surface forming_one_way_surface_to_surface forming_surface_to_surface nodes_to_surface one_way_surface_to_surface surface_to_surface rigid_nodes_to_rigid_body rigid_body_one_way_to_rigid_body rigid_body_two_way_to_rigid_body

LS-DYNA常见问题及解决策略 (2012年11月7日)

LS-DYNA常见问题及解决策略 (2012年11月7日)

LS‐DYNA求解器
支持单机和并行计算 支持Windows、Unix、Linux等系统 有32位、64位版本 有单精度、双精度版本
LS‐DYNA求解器
2011/11/9
13
2011/11/9
14
湖南大学 汽车车身先进设计制造国家重点实验室
LS‐DYNA基础
湖南大学 汽车车身先进设计制造国家重点实验室
HGEN Hourglass energy calculation option. This option requires significant additional storage and increases cost by ten percent: EQ.1: hourglass energy is not computed (default), EQ.2: hourglass energy is computed and included in the energy balance.
2011/11/9
31
2011/11/9
32
湖南大学 汽车车身先进设计制造国家重点实验室
Hourglass LS‐DYNA沙漏控制方法
湖南大学 汽车车身先进设计制造国家重点实验室
Hourglass LS‐DYNA沙漏控制方法沙漏控制系数
IHQ=1,2,3:粘性控制模式,用于高速 IHQ=4,5,6:刚性控制模式,用于低速 IHQ=8:仅用于16号壳单元
2011/11/9
软件特点
LS‐DYNA是功能齐全的几何非线性(大位移、大 转动和大应变)、材料非线性(160多种材料动态 模型)和接触非线性(40多种接触类型)程序 它以Lagrange算法为主,兼有ALE和Euler算法 以显式求解为主,兼有隐式求解功能 以结构分析为主,兼有热分析、流体‐结构耦合功 能 以非线性动力分析为主,兼有静力分析功能(如 动力分析前的预应力计算和薄板冲压成形后的回 弹计算)

(完整word版)hypermesh与ls-dyna接口(推荐看看,可以提高对软件的理解)

(完整word版)hypermesh与ls-dyna接口(推荐看看,可以提高对软件的理解)

1.输出数据控制指定要输入到D3PLOT、D3PART、D3THDT文件中的二进制数据【NEIPH】——写入二进制数据的实体单元额外积分点时间变量的数目。

【NEIPS】——写入二进制数据的壳单元和厚壳单元每个积分点处额外积分点时间变量的数目。

【MAXINT】——写入二进制数据的壳单元积分点数。

如果不是默认值3,则得不到中面的结果。

【STRFLAG】——设为1会输出实体单元、壳单元、厚壳单元的应变张量,用于后处理绘图。

对于壳单元和厚壳单元,会输出最外和最内两个积分点处的张量,对于实体单元,只输出一个应变张量。

【SIGFLG】——壳单元数据是否包括应力张量。

EQ.1:包括(默认)EQ.2:不包括【EPSFLG】——壳单元数据是否包括有效塑性应变。

EQ.1:包括(默认)EQ.2:不包括【RLTFLG】——壳单元数据是否包括合成应力。

EQ.1:包括(默认)EQ.2:不包括【ENGFLG】——壳单元数据是否包括内能和厚度。

EQ.1:包括(默认)EQ.2:不包括【CMPFLG】——实体单元、壳单元和厚壳单元各项异性材料应力应变输出时的局部材料坐标系。

EQ.0:全局坐标EQ.1:局部坐标【IEVERP】——限制数据在1000state之内。

EQ.0:每个图形文件可以有不止1个stateEQ.1:每个图形文件只能有1个state【BEAMIP】——用于输出的梁单元的积分点数。

【DCOMP】——数据压缩以去除刚体数据。

EQ.1:关闭(默认)。

没有刚体数据压缩。

EQ.2:开启。

激活刚体数据压缩。

EQ.3:关闭。

没有刚体数据压缩,但节点的速度和加速度被去除。

EQ.4:开启。

激活刚体数据压缩,同时节点的速度和加速度被去除。

【SHGE】——输出壳单元沙漏能密度。

EQ.1:关闭(默认)。

不输出沙漏能。

EQ.2:开启。

输出沙漏能。

【STSSZ】——输出壳单元时间步、质量和增加的质量。

EQ.1:关闭。

(默认)EQ.2:只输出时间步长。

LS-DYNA常见问题集锦

LS-DYNA常见问题集锦

1 如何处理LS-DYNA中的退化单元?在网格划分过程中,我们常遇到退化单元,如果不对它进行一定的处理,可能会对求解产生不稳定的影响。

在LS-DYNA中,同一Part ID 下既有四面体,五面体和六面体,则四面体,五面体既为退化单元,节点排列分别为N1,N2,N3,N4,N4,N4,N4,N4和N1,N2,N3,N4,N5,N5,N6,N6。

这样退化四面体单元中节点4有5倍于节点1-3的质量,而引起求解的困难。

其实在LS-DYNA的单元公式中,类型10和15分别为四面体和五面体单元,比退化单元更稳定。

所以为网格划分的方便起见,我们还是在同一Part ID下划分网格,通过*CONTROL_SOLID关键字来自动把退化单元处理成类型10和15的四面体和五面体单元。

2 LS-DYNA中对于单元过度翘曲的情况有何处理方法有两种方法:1. 采用默认B-T算法,同时利用*control_shell控制字设置参数BWC=1,激活翘曲刚度选项;2. 采用含有翘曲刚度控制的单元算法,第10号算法。

该算法是针对单元翘曲而开发的算法,处理这种情况能够很好的保证求解的精度。

除了上述方法外,在计算时要注意控制沙漏,确保求解稳定。

3 在ANSYS计算过程中结果文件大于8GB时计算自动中断,如何解决这个问题?解决超大结果文件的方案:1. 将不同时间段内的结果分别写入一序列的结果记录文件;2. 使用/assign命令和重启动技术;3. ANSYS采用向指定结果记录文件追加当前计算结果数据方式使用/assign指定的文件,所以要求指定的结果记录文件都是新创建的文件,否则造成结果文件记录内容重复或混乱。

特别是,反复运行相同分析命令流时,在重复运行命令流文件之前一定要删除以前生成的结果文件序列。

具体操作方法和过程参见下列命令流文件的演示。

4关于梁、壳单元应力结果输出的说明问题:怎样显示梁单元径向和轴向的应力分布图(我作的梁单元结果只有变形图DOF SOLUTIN –Translation,但是没有stress等值线图,只有一种颜色)和壳单元厚度方向的应力、变形图(我们只能显示一层应力、变形,不知道是上下表层或中间层的结果)。

[资料]HyperWorks介绍

[资料]HyperWorks介绍

软件简介—SoftWare Description ALTAIR HyperWorks 7.0 SP1HyperWorks 企业级的CAE软件,几乎所有财富500强制造企业都应用.为工程师量身定做的软件.强力推荐. 系列产品集成了开放性体系和可编程工作平台,可提供顶尖的CAE建模、可视化分析、优化分析、以及健壮性分析、多体仿真、制造仿真、以及过程自动化。

HyperWorks的开放式平台可以直接运用顶尖的CAD、CAE求解技术,并内嵌与产品数据管理以及客户端软件包交互的界面。

Altair HyperWorks是一个创新、开放的企业级CAE平台,它集成设计与分析所需各种工具,具有无比的性能以及高度的开放性、灵活性和友好的用户界面。

HyperWorks包括以下模块: Altair HyperMesh 高性能、开放式有限单元前后处理器,让您在一个高度交互和可视化的环境下验证及分析多种设计情况。

Altair MotionView 通用多体系统动力学仿真及工程数据前后处理器,它在一个直观的用户界面中结合了交互式三维动画和强大无比的曲线图绘制功能。

Altair HyperGraph 强大的数据分析和图表绘制工具,具有多种流行的工程文件格式接口、强大的数据分析和图表绘制功能、以及先进的定制能力和高质量的报告生成器。

Altair HyperForm 集成HyperMesh强大的功能和金属成型单步求解器,是一个使用逆向逼近方法的金属板材成型仿真有限元软件。

Altair HyperOpt 使用各种分析软件进行参数研究和模型调整的非线性优化工具。

Altair OptiStruct 世界领先的基于有限元的优化工具,使用拓扑优化方法进行概念设计。

Altair OptiStruct/FEA 基本线性静态、特征值分析模块。

创新、灵活、合理的许可证无论是单机版还是网络版,HyperWorks 许可单位(HWUs)都是平行的,所以不管你运行多少个HyperWorks模块,只有需要HWUs最多的模块才占用HWUs数。

LSDYNA使用指南中文版本

LSDYNA使用指南中文版本

第一章引言ANSYS/LS-DYNA将显式有限元程序LS-DYNA和ANSYS程序强大的前后处理结合起来。

用LS-DYNA的显式算法能快速求解瞬时大变形动力学、大变形和多重非线性准静态问题以及复杂的接触碰撞问题。

使用本程序,可以用ANSYS建立模型,用LS-DYNA做显式求解,然后用标准的ANSYS后处理来观看结果。

也可以在ANSYS和ANSYS-LS-DYNA之间传递几何信息和结果信息以执行连续的隐式-显式/显式-隐式分析,如坠落实验、回弹、及其它需要此类分析的应用。

显式动态分析求解步骤概述显式动态分析求解过程与ANSYS程序中其他分析过程类似,主要由三个步骤组成:1:建立模型(用PREP7前处理器)2:加载并求解(用SOLUTION处理器)3:查看结果(用POST1和POST26后处理器)本手册主要讲述了ANSYS/LS-DYNA显式动态分析过程的独特过程和概念。

没有详细论述上面的三个步骤。

如果熟悉ANSYS程序,已经知道怎样执行这些步骤,那么本手册将提供执行显式动态分析所需的其他信息。

如果从未用过ANSYS,就需通过以下两本手册了解基本的分析求解过程:·ANSYS Basic A nalysis Guide·ANSYS Modeling and Meshing Guide使用ANSYS/LS-DYNA时,我们建议用户使用程序提供的缺省设置。

多数情况下,这些设置适合于所要求解的问题。

显式动态分析采用的命令在显式动态分析中,可以使用与其它ANSYS分析相同的命令来建立模型、执行求解。

同样,也可以采用ANSYS图形用户界面(GUI)中类似的选项来建模和求解。

然而,在显式动态分析中有一些独特的命令,如下:EDADAPT:激活自适应网格EDASMP:创建部件集合EDBOUND:定义一个滑移或循环对称界面EDBVIS:指定体积粘性系数EDBX:创建接触定义中使用的箱形体EDCADAPT:指定自适应网格控制EDCGEN:指定接触参数EDCLIST:列出接触实体定义EDCMORE:为给定的接触指定附加接触参数EDCNSTR:定义各种约束EDCONTACT:指定接触面控制EDCPU:指定CPU时间限制EDCRB:合并两个刚体EDCSC:定义是否使用子循环EDCTS:定义质量缩放因子EDCURVE:定义数据曲线EDDAMP:定义系统阻尼EDDC:删除或杀死/重激活接触实体定义EDDRELAX:进行有预载荷几何模型的初始化或显式分析的动力松弛EDDUMP:指定重启动文件的输出频率(d3dump)EDENERGY:定义能耗控制EDFPLOT:指定载荷标记绘图EDHGLS:定义沙漏系数EDHIST:定义时间历程输出EDHTIME:定义时间历程输出间隔EDINT:定义输出积分点的数目EDIS:定义完全重启动分析的应力初始化EDIPART:定义刚体惯性EDLCS:定义局部坐标系EDLOAD:定义载荷EDMP:定义材料特性EDNB:定义无反射边界EDNDTSD:清除噪声数据提供数据的图形化表示EDNROT:应用旋转坐标节点约束EDOPT:定义输出类型,ANSYS或LS-DYNAEDOUT:定义LS-DYNA ASCII输出文件EDPART:创建,更新,列出部件EDPC:选择、显示接触实体EDPL:绘制时间载荷曲线EDPVEL:在部件或部件集合上施加初始速度EDRC:指定刚体/变形体转换开关控制EDRD:刚体和变形体之间的相互转换EDREAD:把LS-DYNA的ASCII输出文件读入到POST26的变量中EDRI:为变形体转换成刚体时产生的刚体定义惯性特性EDRST:定义输出RST文件的时间间隔EDSHELL:定义壳单元的计算控制EDSOLV:把“显式动态分析”作为下一个状态主题EDSP:定义接触实体的小穿透检查EDSTART:定义分析状态(新分析或是重启动分析)EDTERM:定义中断标准EDTP:按照时间步长大小绘制单元EDVEL:给节点或节点组元施加初始速度EDWELD:定义无质量焊点或一般焊点EDWRITE:将显式动态输入写成LS-DYNA输入文件PARTSEL:选择部件集合RIMPORT:把一个显式分析得到的初始应力输入到ANSYSREXPORT:把一个隐式分析得到的位移输出到ANSYS/LS-DYNAUPGEOM:相加以前分析得到的位移,更新几何模型为变形构型关于ANSYS命令按字母顺序排列的详细资料(包括每条命令的特定路径),请参阅《ANSYS Commands Reference》。

Hypermesh与Ls-dyna接口实例

Hypermesh与Ls-dyna接口实例

Hypermesh与Ls-dyna接口实例(泰勒杆冲击)选择Ls-dyna模块――打开hypermesh,出现如下窗口,点击Ls-dyan,再点击OK.导入hypermesh模型――如下图所示,点击左上角绿色箭头,选择文件夹里的taylor.hm,点击import就行了。

1、设置材料点击上图红色圆圈,输入name,然后分别点击下面两个框按如图设置,完成后点击create/edit进入下图输入上图所示的材料参数,完成后点击return,材料定义OK了~2、设置单元属性点击上图红色圆圈中的图标,自己定义一个名称,然后按上图设置好另外两项,点击create就完成属性的定义了;如果点击create/edit则进入下图,可以自己定义单元算法,完成之后点击return就OK了~3、创建Part点击上图红色圆圈中的图标,按上图设置好之后点击Update,如果点击Update/edit则进入下图,可以对part中的内容进行查看,完成之后点击return。

4、创建set集A、如上图,进入analysis面板,点击entity sets进入下图创建节点集首先输入name,然后选择轴线上的节点,完成之后点击create。

此节点集用施加x、y方向的平移自由度。

B、按照方法A创建节点集2,如下图所示:C、以同样的方法创建节点集3,如下图所示:5、施加边界条件A、按照上图的方法点击tool》create card》*boundary》*boundary_spc_set进入下图,输入name,点击oK。

紧接上一步,按照下图设置参数完成轴线上的边界条件的设置。

B、按照方法A,设置界面上的边界条件,如下两幅图所示;C、以上述同样的方法设置另一截面上的边界条件,如下两幅图所示。

D、设置初始速度如上图所示点击tool>createcard>*initial>*initial_velocity_generation出现一个窗口,自己定义一个名字,点击OK进入下图在上图中点击STYP下面的倒三角选择PartID,往下继续~如上图,点击PID,选择单元,然后设置好VZ,这样就定义完初始速度了~ E、定义刚性墙如上图所示,进入analysis面板,点击rigidwalls进入下图~在create面板中按上图设置好参数后,点击create,往下继续。

LS-DYNA常见问题简化中文版

LS-DYNA常见问题简化中文版

一、如何得知LS-DYNA为一套完整的软件?<TOP>解答:LS-DYNA一直以来都是独立软件,原因很简单:(1)美国原厂Livermore Software Technology Corp.(简称LSTC)授权「势流科技」为台湾地区LS-DYNA软件的独家代理商。

(2)LS-DYNA拥有LSTC官方的前、后处理程序:FEMB及LS-Pre/Post,无需另外增购。

LS-DYNA强调「One Model、One Code、Multi-results」,单一核心程序即可进行Implicit、Explicit及混合Implicit/Explicit的求解方式,可以为您解决静力、准静力、掉落、冲击、模态分析、振动、预应力/预应变、流固耦合、流场、热应力....等等的力学分析,使用者不必再额外添购模块程序,徒增预算的浪费与软件学习的负担。

二、LS-DYNA与市面上其它的前处理软件兼容性如何?<TOP>解答:由于LS-DYNA是全球使用率最高的结构分析软件,因此其它的前处理软件与LS-DYNA是完全兼容的。

在此要强调的是:LS-DYNA的官方前处理程序为FEMB,因为FEMB是专门为LS-DYNA量身订作的前处理程序,有许多设定条件及架构逻辑是其它前处理软件所难望其项背的,为了避免在学习LS-DYNA的过程及操作上产生困扰,强烈建议使用者采用原厂出品的FEMB来做为LS-DYNA的前处理工具,使用者必定更能体会LS-DYNA直觉式的设定与强大的分析能力。

.三、LS-DYNA似乎很重视「Contact Algorithm」,这是为什幺?<TOP>解答:是的,LS-DYNA很早以前就已经发展「接触算法」,这是因为基础力学所分析的对像均只考虑「力的受体」,故输入条件皆为外力量值。

然而在真实情况下,物体受力通常是因为与其它的物体发生「接触」(Contact)才受力,此时外力量值是无法预期的,应该输入的条件往往都是几何上的接触条件。

LS-DYNA常见问题集锦

LS-DYNA常见问题集锦

1 如何处理LS-DYNA中的退化单元?在网格划分过程中,我们常遇到退化单元,如果不对它进行一定的处理,可能会对求解产生不稳定的影响。

在LS-DYNA中,同一Part ID 下既有四面体,五面体和六面体,则四面体,五面体既为退化单元,节点排列分别为N1,N2,N3,N4,N4,N4,N4,N4和N1,N2,N3,N4,N5,N5,N6,N6。

这样退化四面体单元中节点4有5倍于节点1-3的质量,而引起求解的困难。

其实在LS-DYNA的单元公式中,类型10和15分别为四面体和五面体单元,比退化单元更稳定。

所以为网格划分的方便起见,我们还是在同一Part ID下划分网格,通过*CONTROL_SOLID关键字来自动把退化单元处理成类型10和15的四面体和五面体单元。

2 LS-DYNA中对于单元过度翘曲的情况有何处理方法有两种方法:1. 采用默认B-T算法,同时利用*control_shell控制字设置参数BWC=1,激活翘曲刚度选项;2. 采用含有翘曲刚度控制的单元算法,第10号算法。

该算法是针对单元翘曲而开发的算法,处理这种情况能够很好的保证求解的精度。

除了上述方法外,在计算时要注意控制沙漏,确保求解稳定。

3 在ANSYS计算过程中结果文件大于8GB时计算自动中断,如何解决这个问题?解决超大结果文件的方案:1. 将不同时间段内的结果分别写入一序列的结果记录文件;2. 使用/assign命令和重启动技术;3. ANSYS采用向指定结果记录文件追加当前计算结果数据方式使用/assign指定的文件,所以要求指定的结果记录文件都是新创建的文件,否则造成结果文件记录内容重复或混乱。

特别是,反复运行相同分析命令流时,在重复运行命令流文件之前一定要删除以前生成的结果文件序列。

具体操作方法和过程参见下列命令流文件的演示。

4关于梁、壳单元应力结果输出的说明问题:怎样显示梁单元径向和轴向的应力分布图(我作的梁单元结果只有变形图DOF SOLUTIN –Translation,但是没有stress等值线图,只有一种颜色)和壳单元厚度方向的应力、变形图(我们只能显示一层应力、变形,不知道是上下表层或中间层的结果)。

LS-DYNA中的接触界面模拟_整理版

LS-DYNA中的接触界面模拟_整理版

LS-DYNA中的接触界面模拟(3)LS-DYNA中的接触允许从节点与主段间压缩载荷的传递。

如接触摩擦激活,也允许切向载荷的传递。

Coulomb摩擦列式用来处理从静到动摩擦的转换,这种转换要求一个衰减系数、静摩擦系数大于动摩擦系数。

关于接触搜索方法,这里仅给出几个简单的要点,DYNA中有两种搜索方法:Incremental Search Technique与Bucket Sort。

Incremental Search Algorithms搜索方向仅在主段正方向从节点的穿透搜索步骤对每一个从节点的:找出最接近的主节点;搜索相邻的主段;穿透检查;施加作用力。

主面要求主面连续特点简单、速度快Global Bucket Sort搜索方向主面正、负方向检查穿透搜索步骤搜索接近的主段(不止一个);局部利用Incremental Search确定最接近的主段;穿透检查;施加作用力。

主面要求主面可以不连续特点非常有效,但耗时大所有的非自动LS-DYNA中的接触类型大体上可以分为五大类:One-Way Contact (单向接触)Two-Way Contact(双向接触)Single Contact(单面接触)EntityTied Contac(固-连接触)在以上接触类型中,前四种接触类型的接触算法均采用罚函数法。

固-连接触有的采用的罚函数法,有的采用动约束法,少部分采用分布参数法。

4.1 One-Way Treatment of ContactOne-Way、Two-Way是对接触搜索来讲的。

One-way仅检查从节点是否穿透主面,而不检查主节点。

在Two-Way Contact中从节点与主节点是对称的,从节点与主节点都被检查是否穿透相应的主面或从面。

LS-DYNA中的_Node_To_Surface接触类型都属于单向接触,另外还有特别注明为单向接触的_Surface_To_Surface接触类型:*Contact_Nodes_To_surface*Contact_Automatic_Nodes_To_Surface*Contact_Froming_Nodes_To_Surface(自动接触类型、主要用于金属拉压成形)*Contact_Constraint_Nodes_To_Surface(现已很少用)*Contact_Eroding_Nodes_To_Surface*Contact_One_Way_Surface_To_Surface*Contact_One_Way_Automatic_Surface_To_Surface由于在单向接触中,仅有从节点被检查是否穿透主面,而不考虑主节点,因此在使用时必须注意,应保证在接触过程中主节点不会穿过从面。

LS-DYNA常见问题集锦

LS-DYNA常见问题集锦

1 如何处理LS-DYNA中的退化单元?在网格划分过程中,我们常遇到退化单元,如果不对它进行一定的处理,可能会对求解产生不稳定的影响。

在LS-DYNA中,同一Part ID 下既有四面体,五面体和六面体,则四面体,五面体既为退化单元,节点排列分别为N1,N2,N3,N4,N4,N4,N4,N4和N1,N2,N3,N4,N5,N5,N6,N6。

这样退化四面体单元中节点4有5倍于节点1-3的质量,而引起求解的困难。

其实在LS-DYNA的单元公式中,类型10和15分别为四面体和五面体单元,比退化单元更稳定。

所以为网格划分的方便起见,我们还是在同一Part ID下划分网格,通过*CONTROL_SOLID关键字来自动把退化单元处理成类型10和15的四面体和五面体单元。

2 LS-DYNA中对于单元过度翘曲的情况有何处理方法有两种方法:1. 采用默认B-T算法,同时利用*control_shell控制字设置参数BWC=1,激活翘曲刚度选项;2. 采用含有翘曲刚度控制的单元算法,第10号算法。

该算法是针对单元翘曲而开发的算法,处理这种情况能够很好的保证求解的精度。

除了上述方法外,在计算时要注意控制沙漏,确保求解稳定。

3 在ANSYS计算过程中结果文件大于8GB时计算自动中断,如何解决这个问题?解决超大结果文件的方案:1. 将不同时间段内的结果分别写入一序列的结果记录文件;2. 使用/assign命令和重启动技术;3. ANSYS采用向指定结果记录文件追加当前计算结果数据方式使用/assign指定的文件,所以要求指定的结果记录文件都是新创建的文件,否则造成结果文件记录内容重复或混乱。

特别是,反复运行相同分析命令流时,在重复运行命令流文件之前一定要删除以前生成的结果文件序列。

具体操作方法和过程参见下列命令流文件的演示。

4关于梁、壳单元应力结果输出的说明问题:怎样显示梁单元径向和轴向的应力分布图(我作的梁单元结果只有变形图DOF SOLUTIN –Translation,但是没有stress等值线图,只有一种颜色)和壳单元厚度方向的应力、变形图(我们只能显示一层应力、变形,不知道是上下表层或中间层的结果)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LS-DYNA1 Solver InterfaceHyperWorksAltair Engineering Contact InformationWeb site FTP site Address: or or /ftpLogin: ftpPassword: <your e-mail address>Location Telephone e-mailNorth America 248.614.2425 hwsupport@China 86.21.5393.0011 support@France 33.1.4133.0990 francesupport@Germany 49.7031.6208.22 hwsupport@altair.deIndia 91.80.6629.4500support@1.800.425.0234 (tollfree)Italy 39.800.905.595 support@altairtorino.itJapan 81.3.5396.1341support@altairjp.co.jp81.3.5396.2881Korea 82.31.716.4321 support@altair.co.krScandinavia 46.46.286.2052 support@altair.seUnited Kingdom 44.1926.468.600 support@Brazil 55.11.4223.5733 br_support@Australia 64.9.413.7981 anzsupport@New Zealand 64.9.413.7981 anzsupport@The following countries have distributors for Altair Engineering: Mexico, Romania, Russia, South Korea, Singapore, Spain, Taiwan and Turkey. See for complete contact information.© 2007 Altair Engineering, Inc. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated to another language without the written permission of Altair Engineering, Inc. To obtain this permission, write to the attention Altair Engineering legal department at: 1820 E. Big Beaver, Troy, Michigan, USA, or call +1-248-614-2400.Trademark and Registered Trademark AcknowledgmentsListed below are Altair® HyperWorks® applications. Copyright© Altair Engineering Inc., All Rights Reserved for:HyperMesh® 1990-2006; HyperView® 1999-2006; OptiStruct® 1996-2006; HyperStudy® 1999-2006; HyperGraph® 1995-2006; HyperGraph 3D 2005-2006; MotionView®1993-2006; MotionSolve® 2002-2006; HyperForm® 1998-2006; HyperXtrude®1999-2006; HyperOpt® 1996-2006; HyperView Player® 2001-2006; Process Manager™ 2003-2006; HyperWeb® 2002-2004; Data Manager™ 2005-2006; Templex™ 1990-2006; Manufacturing Solutions ™ 2005-2006All other trademarks and registered trademarks are the property of their respective owners.LS-DYNA Solver InterfaceHyperWorks 8.0HyperView and MotionView (1)Exporting MDL Models to LS-DYNA (1)MotionView Model API (5)MotionView Result API (13)HyperView Interfacing (17)HyperView LS-DYNA 3-D Results Reader (17)Post-processing LS-DYNA ALE Results (18)HyperMesh (19)LS-DYNA Interface Overview (19)Recommended Process (19)Supported LS-DYNA Keywords (22)Importing Decks (37)Summary Templates (38)Mass Calculation (39)LS-DYNA MAT100 Spotwelds (39)Duplicate Entity IDs (42)Components and Properties (43)Load Collectors (44)Loads, Constraints, and Boundary Conditions (45)HyperMesh Groups (46)Rigid Walls (49)Creating Cards (50)Equations (52)Curves (52)Control Volumes (53)Results Translation (54)Viewing the Results (61)Exporting Decks (61)LS-DYNA Utility Menu (62)Error Check (64)Part Info (65)Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 iProprietary Information of Altair EngineeringName Mapping (65)Clone Part (66)Create Part (66)Part Replacement Macro (66)Constrained Rgd Body (71)LS-DYNA Content Table (73)LS-DYNA Material Table (77)Customizing Views of the Material Table (77)Creating, Editing, and Loading Materials (78)Managing Materials (79)ii LS-DYNA Solver Interface - HyperWorks 8.0Altair EngineeringProprietary Information of Altair EngineeringHyperView and MotionViewExporting MDL Models to LS-DYNAMotionView MDL models can be exported to an LS-DYNA .key file.Gravity, Units, and Solver ParametersThis section explains how MotionView works with gravity, units, and solver parameters for DYNA. GravityGravity is an implicit data set, meaning that its definition is created automatically by MotionView. The values for gravity can be accessed through the Forms panel while in the Misc system of a model. Default values for gravity are set in the std_inc file that is part of the MotionView installation. A Templex template is also included in std_inc. This template allows you to write the gravity to the DYNA input file.UnitsAlthough MotionView is a "unitless" interface, it is often required that the units you are working with be communicated to the solver input deck. Therefore, the definitions of mass, length, time, and force are automatically generated by MotionView. To access this, go to the Forms panel and select Units under the Misc system. The default values as well as the Templex template used for exporting units to DYNA are generated from the std_inc file.Solver ParametersSolver parameters vary considerably between different solvers and are stored in datasets. There are two ways to generate solver parameter datasets.1. Data sets and their corresponding forms are created within the analysis task in the MDL library. Ifyou are creating your own MDL library, you need to verify that the solver parameter datasets are defined in each analysis task.2. No library is used to construct a model. This includes interactive model construction and themanual editing of .mdl files, or a combination of both. For this case, MotionView automatically generates the system containing the solver parameters based on a definition within the std_inc file.MDL Statement MappingThe mapping between MDL and the corresponding DYNA entities are described below.Note All property data for these entities are set in the corresponding *Set() statementsMDL Statement DYNA Entity*ActionOnlyForce() None*ActionReactionForce() None*AtPointJoint() Spherical (Joint)*BallJoint() Spherical (Joint)*Beam() None*Body() Part_Inertia*Bush() Element_DiscreteAltair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 1Proprietary Information of Altair Engineering*CoilSpring() None*ControlSISO() None*Coupler() None*Curve() AMPLITUDE*CVJoint() Constant_Velocity*CylJoint() Cylindrical*FixedJoint() Rigid_Bodies*Graphic() None*HookeJoint() Universal*InlineJoint() Trans+D.B.+Sph*InplaneJoint() Planar+D.B.+Univ*Marker()*Motion() Constrained_Joint#_Motor*OrientJoint() Trans+D.B.+Tran+D.B.+Trans*Output() None*ParallelAxisJoint() Planar+D.B.+Trans*PerpAxisJoint() Cyl+D.B.+Planar*PlanarJoint() Planar*Polybeam() None*RevJoint() Revolute*SetFlexbodyComplaince() n/a*SolverArray() None*SolverDiffEquation() None*SolverString() None*SolverVariables() None*TorsionSpring() None*TransJoint() Translational*UniversalJoint() UniversalMDL CommandSet MappingCommandSet's do not apply to the DYNA solver.2 LS-DYNA Solver Interface - HyperWorks 8.0Altair EngineeringProprietary Information of Altair EngineeringTemplex Templates and solvermodeTemplex templates can be used to export syntax directly to the solver input deck, including parametric substitution if required. For the LS-DYNA solver, there is a dependency on the position of the syntax within the solver input deck. The four keywords listed below allow you to position the extra text. These keywords must be the first line of the Templex template. The remaining text of the template is written according to the position specified.<@ABAQ/MODEL/HEAD> Designates text that is written at the top of the model data.<@ABAQ/MODEL/TAIL> Indicates the end of the model data.<@ABAQ/HISTO/HEAD> Indicates the top of the history data.<@ABAQ/HISTO/TAIL> Indicates the end of the history data.solvermodeOne MDL model can be used to export to more than one solver. In this case, create the instance of the Templex template using the solvermode reserved keyword. This can be done in two ways:For example, an MDL model containing:if( solvermode == "DYNA" )*Template(.....1...)else*Template(.....2...)endifresults in the entire template 1 being used when DYNA is selected from the Solvers menu. When another solver is selected, template 2 is used. When a template is used, it means that it is displayed in the interface on the Templates panel and is acted upon when saving the solver input deck.To use the keyword, put the required string in the first line of the template. For example, an MDL model containing:*DefineTemplate(........)<@DYNA/MODEL/HEAD>text for dyna*EndDefine()results in "text for dyna" being exported to the input deck when you select DYNA as the solver. The same applies for the portion of template that is displayed in the user interface.Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 3Proprietary Information of Altair EngineeringTemplate TypesA Templex template can have several destinations as well as unique default behavior.• A USER template does not get exported into any solver file but can be used to get parametrically based text into another file (by using the Templex open and close commands) or for text targeted for the GUI only.• A SOLVER_INPUT template results in the template text being exported to the .key file for DYNA.•The following templates do not apply to the DYNA solver:o SOLVER_PARAMo GRAPHICSo ADAMSo ACFFunction ExpressionsMotionView supports function expressions for many of its entities. These expressions can be a function of time and state variables. You can create function expressions that are exported directly as part of a corresponding solver entity.The solver neutrality is somewhat limited because the solver needs to handle the syntax that MotionView exports. For the DYNA solver, supported expressions and curves must be a function of time. Expressions that are a function of an axial distance between two points are also supported. MotionView converts these to X/Y pairs for the input deck.Flexbodies/SubstructuresFlexbodies are not supported in DYNA.User SubroutinesUser subroutines do not apply to DYNA. Entities with a reference to user subs are not used when exporting to the solver input deck.Launching Solvers from MotionViewMotionView allows you to launch a process automatically after the solver input deck is exported. For LS-DYNA, the installation contains default launch sessions located inaltair/utilities/mbd/launch_scripts. One or more of these launch sessions can be registered through the preferences.mvw file and then selected from the Run panel by using the*RegisterSolverScript() preference statement.Post-ProcessingDYNA post-processing is described below:Animation - Transient with Rigid Bodies OnlyRigid body model animation is not supported.PlottingPlotting rigid body model results is not supported.4 LS-DYNA Solver Interface - HyperWorks 8.0Altair EngineeringProprietary Information of Altair EngineeringMotionView Model APIPlease contact MotionView Support to obtain information about a model API example.The Model API consists mainly of a group of SendOff functions that serve as the interface for passing model data from the MDL file to your solver writer program. They are activated by callingAPI_MDLModelRead(const char *filename).Model data is passed via the arguments in the SendOff functions. These functions are defined as virtual in the class "Model_API". You must define your own class derived from "Model_API" then handles the passed data in the derived class. The relationship is transparent in the working examples.Presently,only one of the virtual functions is an Inquiry Function, i.e.,API_InquiryFlexBodySendOffOption which returns your selection back to the API. All other API functions, except the Inquiry Function and API_MDLModelRead are one-directional, (they only send off data to the user).The following is the Model_API class that includes a list of the SendOff functions. The names of the functions are self-explanatory.class MODEL_API Model_API{public:bool API_MDLModelRead(const char *filename);bool API_MDLModelRead(MDL *user_mdl);static ostream &(* apiOut)();private:bool _API_MDLModelRead(MDL *user_mdl, const char *filename);// #1virtual void API_SendOffModelUnit(const char* force_unit, const char*length_unit,const char* mass_unit, const char* time_unit) {}// #2virtual void API_SendOffGravityVector(const double gravity_x, const double gravity_y,const double gravity_z) {}// #3virtual void API_SendOffMarker(const int num_marker, const int idx,const int id, const int body_id, const int node_id,const double x, const double y, const double z,const double a00, const double a01, const double a02,const double a10, const double a11, const double a12,const double a20, const double a21, const double a22) {}// #4virtual void API_SendOffRigidBody(const int num_rigid_body, const int idx, const int id, const bool IsGround,const int cg_id, const int im_id, const int lprf_id,const double mass, const double ixx, const double iyy, const double izz,const double ixy, const double iyz, const double ixz,Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 5Proprietary Information of Altair Engineeringconst double vx, const double vy, const double vz,const double wx, const double wy, const double wz) {}// #5// option: <=0 -> gloabal property (rigid body property only)// : 1 -> SIMPACK SID_FEM file along with other info// : 2 -> DADS fdf file along with other info// : 3 -> ADAMS mtx file along with other info// : 4 -> MADYMO dat file along with other info// : >=5 -> modal matrix info (nodal mass, node position,// translational mode shapes, rotational mode shapes,// diagonal of modal stiffness matrix)virtual int API_InquiryFlexBodySendOffOption(const int num_flex_body,constint idx,const int id) {return 999999;}// #6virtual void API_SendOffFlexBodyGlobalProperty(const int num_flex_body,const int idx,const int id, const int lprf_id, const double mass,const double cm_x, const double cm_y, const double cm_z,const double ixx, const double iyy, const double izz,const double ixy, const double iyz, const double ixz,const double vx, const double vy, const double vz,const double wx, const double wy, const double wz) {}// #7virtual void API_SendOffFlexBody(const int num_flex_body, const int idx, const int id, const int lprf_id, const char* h3d_file,const char* fdf_file, const int sel_mode_count,const int *sel_mode, const double *mode_freq, const double*cdamp_ratio,const double *DMode, const double *VMode,const double vx, const double vy, const double vz,const double wx, const double wy, const double wz) {}// #8virtual void API_SendOffNodeInfo(const int num_flex_body, const int idx, const int id, const int num_nodes, const int *node_id,const double *node_position_x, const double *node_position_y,const double *node_position_z,const double *node_mass, const int HasNodeInertia) {}// #9virtual void API_SendOffNodeInertia(const int num_flex_body, const int idx, const int id, const int num_nodes,const double *ixx, const double *iyy, const double *izz,const double *ixy, const double *iyz, const double *ixz) {}// #10virtual void API_SendOffOrthogonalizedModeInfo(const int num_flex_body,const int idx,const int id, const int num_modes, const int mode_idx, const intmode_id, const double frequency,const double modal_stiffness, const double modal_mass, const intnum_nodes,const double *modeshape_x, const double *modeshape_y, const double*modeshape_z,6 LS-DYNA Solver Interface - HyperWorks 8.0Altair EngineeringProprietary Information of Altair Engineeringconst double *modeshape_rx, const double *modeshape_ry, const double *modeshape_rz) {}// #11virtual void API_SendOffBallJoint(const int num_ball_joint, const int idx, const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #12virtual void API_SendOffFixedJoint(const int num_fixed_joint, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #13virtual void API_SendOffRevJoint(const int num_rev_joint, const int idx, const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #14virtual void API_SendOffTransJoint(const int num_trans_joint, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #15virtual void API_SendOffCylJoint(const int num_cyl_joint, const int idx, const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #16virtual void API_SendOffUnivJoint(const int num_univ_joint, const int idx, const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #17virtual void API_SendOffInlineJoint(const int num_inline_joint, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #18virtual void API_SendOffOrientationJoint(const int num_orientation_joint, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #19virtual void API_SendOffCVJoint(const int num_convel_joint, const int idx, const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #20virtual void API_SendOffPerpendicularJoint(const intnum_perpendicular_joint,const int idx,const int id, const int i_marker_id, const int j_marker_id, constint body1_id,const int body2_id) {}// #21virtual void API_SendOffInplaneJoint(const int num_inplane_joint,const int idx, const int id,Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 7const int i_marker_id, const int j_marker_id, const int body1_id, const int body2_id) {}// #22virtual void API_SendOffPlanarJoint(const int num_planar_joint,const int idx, const int id,const int i_marker_id, const int j_marker_id, const int body1_id, const int body2_id) {}// #23virtual void API_SendOffParallelAxesJoint(const int num_par_axes_joint, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id) {}// #24virtual void API_SendOffThreeJointCoupler(const intnum_three_joint_coupler,const int idx, const int id,const int i_marker_id_joint1, const int j_marker_id_joint1,const int body1_id_joint1, const int body2_id_joint1,const char joint_type_joint1,const int i_marker_id_joint2, const int j_marker_id_joint2,const int body1_id_joint2, const int body2_id_joint2,const char joint_type_joint2,const int i_marker_id_joint3, const int j_marker_id_joint3,const int body1_id_joint3, const int body2_id_joint3,const char joint_type_joint3,const double ratio1, const double ratio2) {}// #25virtual void API_SendOffTwoJointCoupler(const int num_two_joint_coupler, const int idx, const int id,const int i_marker_id_joint1, const int j_marker_id_joint1,const int body1_id_joint1, const int body2_id_joint1,const char joint_type_joint1,const int i_marker_id_joint2, const int j_marker_id_joint2,const int body1_id_joint2, const int body2_id_joint2,const char joint_type_joint2,const double ratio) {}// #26virtual void API_SendOffConstantJointMotion(const int num_expr_motion, const int idx,const int id, const int joint_id, const char joint_type,const char motion_type, const double val) {}// #27virtual void API_SendOffExpressionJointMotion(const int num_expr_motion, const int idx,const int id, const int joint_id, const char joint_type,const char motion_type, const char *motion_expr) {}// #28virtual void API_SendOffCurveJointMotion(const int num_curve_motion, const int idx, const int id,const int joint_id, const char joint_type, const char motion_type,const char *interpol_type, const int curve_id) {}// #29virtual void API_SendOffLinearTranslationalSpringDamper(const intnum_lin_tsd,const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id,const double length, const double stiffness, const double damping, const double preload) {}// #30virtual void API_SendOffGeneralTranslationalSpringDamper(const int num_general_tspdp, const int idx, const int id,const int i_marker_id,const int j_marker_id,const int body1_id,const int body2_id,const double length,const int is_k_expression, const char *k_expression,const int is_c_expression, const char *c_expression,const int is_k_curve, const char *k_interpol_type,const char *k_indep_var, const int k_curve_id,const int is_c_curve, const char *c_interpol_type,const char *c_indep_var, const int c_curve_id) {}// #31virtual void API_SendOffLinearRotationalSpringDamper(const int num_lin_rsd, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id,const double length, const double stiffness, const double damping, const double preload) {}// #32virtual void API_SendOffGeneralRotationalSpringDamper(const int num_general_rspdp, const int idx, const int id,const int i_marker_id,const int j_marker_id,const int body1_id,const int body2_id,const double length,const int is_k_expression, const char *k_expression,const int is_c_expression, const char *c_expression,const int is_k_curve, const char *k_interpol_type,const char *k_indep_var, const int k_curve_id,const int is_c_curve, const char *c_interpol_type,const char *c_indep_var, const int c_curve_id) {}// #33virtual void API_SendOffBeam(const int num_beam, const int idx,const int id, const int i_marker_id,const int j_marker_id, const int body1_id, const int body2_id,const double length, const double E, const double G, const double area,const double ixx, const double iyy, const double ASY, const double ASZ,const double cratio) {}// #34virtual void API_SendOffLinearBushing(const int num_lin_bush,const int idx, const int id,const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id,Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 9const double kx, const double cx, const double preload_x,const double ky, const double cy, const double preload_y,const double kz, const double cz, const double preload_z,const double ktx, const double ctx, const double preload_tx,const double kty, const double cty, const double preload_ty,const double ktz, const double ctz, const double preload_tz) {} // #35virtual void API_SendOffGeneralBushing(const int num_general_bush, const int idx, const int id,const int i_marker_id,const int j_marker_id,const int body1_id,const int body2_id,const int is_kx_expression, const char *kx_expression,const int is_cx_expression, const char *cx_expression,const int is_kx_curve, const char *kx_interpol_type,const char *kx_indep_var, const int kx_curve_id,const int is_cx_curve, const char *cx_interpol_type,const char *cx_indep_var, const int cx_curve_id,const int is_ky_expression, const char *ky_expression,const int is_cy_expression, const char *cy_expression,const int is_ky_curve, const char *ky_interpol_type,const char *ky_indep_var, const int ky_curve_id,const int is_cy_curve, const char *cy_interpol_type,const char *cy_indep_var, const int cy_curve_id,const int is_kz_expression, const char *kz_expression,const int is_cz_expression, const char *cz_expression,const int is_kz_curve, const char *kz_interpol_type,const char *kz_indep_var, const int kz_curve_id,const int is_cz_curve, const char *cz_interpol_type,const char *cz_indep_var, const int cz_curve_id,const int is_ktx_expression, const char *ktx_expression,const int is_ctx_expression, const char *ctx_expression,const int is_ktx_curve, const char *ktx_interpol_type,const char *ktx_indep_var, const int ktx_curve_id,const int is_ctx_curve, const char *ctx_interpol_type,const char *ctx_indep_var, const int ctx_curve_id,const int is_kty_expression, const char *kty_expression,const int is_cty_expression, const char *cty_expression,const int is_kty_curve, const char *kty_interpol_type,const char *kty_indep_var, const int kty_curve_id,const int is_cty_curve, const char *cty_interpol_type,const char *cty_indep_var, const int cty_curve_id,const int is_ktz_expression, const char *ktz_expression,const int is_ctz_expression, const char *ctz_expression,const int is_ktz_curve, const char *ktz_interpol_type,const char *ktz_indep_var, const int ktz_curve_id,const int is_ctz_curve, const char *ctz_interpol_type,const char *ctz_indep_var, const int ctz_curve_id) {}// #36virtual void API_SendOffActionOnlyConstantForce(const int num_action_only_const_force, const int idx,const int id, const int i_marker_id, const int ref_marker_id,const int body_id, const int ref_body_id,const double fx, const double fy, const double fz) {}// #37virtual void API_SendOffActionOnlyConstantTorque(const int num_action_only_const_torque, const int idx,const int id, const int i_marker_id,const int ref_marker_id, const int body_id, const int ref_body_id,const double tx, const double ty, const double tz) {}// #38virtual void API_SendOffActionReactionConstantForce(const int num_action_reac_const_force, const int idx,const int id, const int i_marker_id,const int j_floating_marker_id, const int ref_marker_id,const int body1_id, const int body2_id, const int ref_body_id,const double fx, const double fy, const double fz) {}// #39virtual void API_SendOffActionReactionConstantTorque(const int num_action_reac_const_torque, const int idx,const int id, const int i_marker_id,const int j_floating_marker_id, const int ref_marker_id,const int body1_id, const int body2_id, const int ref_body_id,const double tx, const double ty, const double tz) {}// #40virtual void API_SendOffConstantScalarForce(const int num_const_scalar_force, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id, const double force) {}// #41virtual void API_SendOffConstantScalarTorque(const int num_const_scalar_torque, const int idx,const int id, const int i_marker_id, const int j_marker_id,const int body1_id, const int body2_id, const double torque) {}// #42virtual void API_SendOffActionOnlyGeneralForce(const int num_action_only_const_force, const int idx,const int id, const int i_marker_id,const int ref_marker_id, const int body_id, const int ref_body_id,const int is_fx_expression, const char *fx_expression,const int is_fy_expression, const char *fy_expression,const int is_fz_expression, const char *fz_expression,const int is_fx_curve, const char *fx_interpol_type,const char *fx_indep_var, const int fx_curve_id,const int is_fy_curve, const char *fy_interpol_type,const char *fy_indep_var, const int fy_curve_id,const int is_fz_curve, const char *fz_interpol_type,const char *fz_indep_var, const int fz_curve_id) {}// #43virtual void API_SendOffActionOnlyGeneralTorque(const int num_action_only_general_torque, const int idx,const int id, const int i_marker_id,Altair Engineering LS-DYNA Solver Interface - HyperWorks 8.0 11。

相关文档
最新文档