LS-DYNA常见问题汇总2.0 yuminhust2005 2008-10-12 7. 负体积
泡沫材料的负体积(或其它软的材料)
对于承受很大变形的材料,比如说泡沫,一个单元可能变得非常扭曲以至于单元的体积计算得到一个负值。这可能发生在材料还没有达到失效标准前。对一个拉格朗日(Lagrangian)网格在没有采取网格光滑(mesh smoothing)或者重划分(remeshing)时能适应多大变形有个内在的限制。LS-DYNA中计算得到负体积(negative volume)会导致计算终止,除非在*control_timestep卡里面设置ERODE选项为1,而且在*control_termination里设置DTMIN项为任何非零的值,在这种情况下,出现负体积的单元会被删掉而且计算继续进行(大多数情况)。有时即使ERODE和DTMIN换上面说的设置了,负体积可能还是会导致因错误终止。
有助于克服负体积的一些方法如下:
* 简单的把材料应力-应变曲线在大应变时硬化。这种方法会非常有效。
* 有时候修改初始网格来适应特定的变形场将阻止负体积的形成。此外,负体积通常只对非常严重的变形情况是个问题,而且特别是仅发生在像泡沫这样的软的材料上面。
* 减小时间步缩放系数(timestep scale factor)。缺省的0.9可能不足以防止数值不稳定。
* 避免用全积分的体单元(单元类型2和3),它们在包含大变形和扭曲的仿真中往往不是很稳定。全积分单元在大变形的时候鲁棒性不如单点积分单元,因为单元的一个积分点可能出现负的Jacobian而整个单元还维持正的体积。在计算中用全积分单元因计算出现负的Jacobian而终止会比单元积分单元来得快。
* 用缺省的单元方程(单点积分体单元)和类型4或者5的沙漏(hourglass)控制(将会刚化响应)。对泡沫材料首先的沙漏方程是:如果低速冲击type 6,系数1.0; 高速冲击type 2或者3。
* 对泡沫用四面体(tetrahedral)单元来建模,使用类型10体单元。 * 增加DAMP参数(foam model 57)到最大的推荐值0.5。
* 对包含泡沫的接触,用*contact选项卡B来关掉shooting node logic。 * 使用*contact_interior卡
用part set来定义需要用contact_interior来处理的parts,在set_part卡1的第5项DA4来定义contact_interior类型。缺省类型是1,推荐用于单一的压缩。在版本970里,类型1的体单元可以设置type=2,这样可以处理压缩和减切混合的模式。
* 如果用mat_126,尝试ELFORM=0
* 尝试用EFG方程(*section_solid_EFG)。因为这个方程非常费时,所以只用在变形严重的地方,而且只用于六面体单元。
第 10 页
LS-DYNA常见问题汇总2.0 yuminhust2005 2008-10-12 8. 能量平衡
GLSTAT(参见*database_glstat)文件中报告的总能量是下面几种能量的和: 内能 internal energy 动能 kinetic energy
接触(滑移)能 contact(sliding) energy 沙漏能 houglass energy
系统阻尼能 system damping energy 刚性墙能量 rigidwall energy
GLSTAT中报告的弹簧阻尼能‖Spring and damper energy‖是离散单元(discrete elements)、安全带单元
(seatbelt elements)内能及和铰链刚度相关的内能(*constrained_joint_stiffness…)之和。而内能‖Internal Energy‖包含弹簧阻尼能‖Spring and damper energy‖和所有其它单元的内能。 因此弹簧阻尼能‖Spring and damper energy‖是内能‖Internal energy‖的子集。
由SMP 5434a版输出到glstat文件中的铰链内能‖joint internal energy‖跟*constrained_joing_stiffness不相关。它似乎与*constrained_joint_revolute(_spherical,etc)的罚值刚度相关连。这是SMP 5434a之前版本都存在的缺失的能量项,对MPP 5434a也一样。这种现象在用拉格朗日乘子(Lagrange Multiplier)方程时不会出现。
与*constrained_joint_stiffness相关的能量出现在jntforc文件中,也包含在glstat文件中的弹簧和阻尼能和内能中。回想弹簧阻尼能‖spring and damper energy‖,不管是从铰链刚度还是从离散单元而来,总是包含在内能里面。
在MATSUM文件中能量值是按一个part一个part的输出的(参见*database_matsum)。
沙漏能Hourglass energy仅当在卡片*control_energy中设置HGEN项为2时才计算和输出。同样,刚性墙能和阻尼能仅当上面的卡片中RWEN和RYLEN分别设置为2时才会计算和输出。刚性阻尼能集中到内能里面。质量阻尼能以单独的行‖system damping energy‖出现。由于壳的体积粘性(bulk viscosity)而产生的能量耗散(energy dissipated)在版本970.4748之前是不计算的。在后续子版本中,设置TYPE=-2来在能量平衡中包含它。
最理想的情况下能量平衡:
总能量total energy = 初始总能量 + 外力功external work
换句话说,如果能量比率energy ratio(指的是glstat中的total energy/initial energy,实际上是total energy/(initial energy + external work)) 等于1.0。注意,质量缩放而增加质量可能会导致能量比率增加。
注意在LSprepost的History>Global energies中不包含删掉的单元(eroded elements)的能量贡献,然而GLSTAT文件中的能量包含了它们。注意它们的贡献可以通过ASCII>glstat中的‖Eroded Kinetic Energy‖& ―Eroded Internal Energy‖来绘制。侵蚀能量(Eroded energy)是与删掉的单元相关的内能和删掉的节点相关的动能。 典型来说,如果没有单元删掉‖energy ratio w/o eroded energy‖等于1,如果有单元被删掉则小于1。删掉的单元与‖total energy/initial energy‖比率没有关系。总能量比率增加要归于其它原因,比如增加质量。重述一下,将一个单元删掉时,文件glstat中的内能和动能不会反映能量的丢失。取而代之的是能量的丢失记录在glstat文件的‖eroded internal energy‖ & ―eroded kinetic energy‖中。 如果用内能减去‖eroded internal energy‖将得到分析中还存在的单元的内能。对动能也一样。
matsum文件中的内能和动能只包含余下(noneroded)的单元的贡献。 注意,如果在*control_contact卡中将ENMASS设置为2,则与删掉的单元的相关的节点不会删掉,‖eroded kinetic energy‖是0。
在LSprepost中History>Global 只是动能和内能的简单相加,因此不包含接触能和沙漏能等的贡献。 壳的负内能:为了克服这种不真实的效应
--关掉考虑壳的减薄(ISTUPD in *control_shell)
--调用壳的体积粘性(set TYPE=-2 在*control_bulk_viscosity卡中)
--对在matsum文件中显示为负的内能的parts使用*damping_part_stiffness;
先试着用一个小的值,比如0.01。如果在*control_energy中设置RYLEN=2,因为刚性阻尼而能会计算且包含在内能中。
正的接触能:当在接触定义中考虑了摩擦时将得到正的接触能。摩擦将导致正的接触能。如果没有设置接触
第 11 页
LS-DYNA常见问题汇总2.0 yuminhust2005 2008-10-12 阻尼和接触摩擦系数,你将会看到净接触能为零或者一个很小的值(净接触能=从边和主边能量和)。 所说的小是根据判断-在没有接触摩擦系数时,接触能为峰值内能的10%内可以被认为是可接受的。
负的接触能:突然增加的负接触能可能是由于未检测到的初始穿透造成的。在定义初始几何时考虑壳的厚度偏置通常是最有效的减小负接触能的步骤。查阅LS-DYNA理论手册的23.8.3&23.8.4节可得到更多接触能的信息。
负接触能有时候因为parts之间的相对滑动而产生。这跟摩擦没有关系,这里说的负接触能从法向接触力和法向穿透产生。当一个穿透的节点从它原来的主面滑动到临近的没有连接的主面时,如果穿透突然检测到,则产生负的接触能。
如果内能为负接触能的镜像,例如glstat文件中内能曲线梯度与负接触能曲线梯度值相等,问题可能是非常局部化的,对整体求解正确性冲击较小。你可以在LS-prepost中分离出有问题的区域,通绘制壳单元部件内能云图(Fcomp > Misc > Internal energy)。实际上,显示的是内能密度,比如内能/体积。内能密度云图中的热点通常表示着负的接触能集中于那里。
如果有多于一个的接触定义,sleout文件(*database_sleout)将报告每一个接触对的接触能量,因此缩小了研究负接触能集中处的范围。
克服负接触能的一般的建议如下:
-消除初始穿透(initial penetration)。(在message文件中查找‖warning‖)
-检查和排除冗余的接触条件。不应该在相同的两个parts之间定义多于一个的接触。 -减小时间步缩放系数
-设置接触控制参数到缺省值,SOFT=1 & IGNORE=1除外(接触定义选项卡C)
-对带有尖的边的接触面,设置SOFT=2(仅用于segment-to-segment接触)。而且,在版本970中推荐设置SBOPT(之前的EDGE)为4对于部件之间有相对滑移的SOFT=2的接触。为了改进edge-to-edge SOFT=2接触行为,设置DEPTH=5。请注意SOFT=2接触增加了额外的计算开消,尤其是当SBOPT或者DEPTH不是缺省值时,因此应该仅在其它接触选项(SOFT=0或者SOFT=1)不能解决问题时。模型的细节可能会指示可用其它的一些方法。
第 12 页
LS-DYNA常见问题汇总2.0 yuminhust2005 2008-10-12 9. 沙漏控制
沙漏(hourglass)模式是一种非物理的零能变形模式,产生零应变和应力。沙漏模式仅发生在减缩积分(单积分点)体、壳和厚壳单元上。LS-DYNA里面有多种算法用于抑制沙漏模式。缺省的算法(type 1)通常不是最有效的算法,但却是最经济的。
一种完全消除沙漏的方法是转换到全积分或者选择减缩积分(S/R)方程的单元。但这种方法是一种下策。例如,第一,类型2体单元比缺省的单点积分体单元计算开消大; 其二,在大变形应用时更不稳定(更容易出现负体积);其三,类型2体单元当单元形状比较差时在一些应用中会趋向于剪切锁死(shear-lock),因而表现得过于刚硬。
三角形壳和四面体单元没有沙漏模式,但缺点是在许多应用中被认为过于刚硬。 减小沙漏的一个好的方法是细化网格,但这当然并不总是现实的。
加载方式会影响沙漏程度。施加压力载荷优于在单点上加载,因为后者更容易激起沙漏模式。
为了评估沙漏能,在*control_energy卡片中设置HGEN=2,而且用*database_glstat和*database_matsum卡分别输出系统和每一个部件的沙漏能。这一点是要确认非物理的沙漏能相对于每一个part的峰值内能要小(经验上来说<10%)。对于壳单元,可以绘制出沙漏能密度云图,但事先在*database_extent_binary卡中设置SHGE=2。然后在LS-Prepost中选择Fcomp>Misc>hourglass energy。
对于流体部件,缺省的沙漏系数通常是不合适的(太高)。因此对于流体,沙漏系数通常要缩小一到两个数量级。对流体用基于粘性的沙漏控制。缺省的沙漏方程(type 1)对流体通常是可以的。
对于结构部件一般来说基于刚性的沙漏控制(type 4,5)比粘性沙漏控制更有效。通常,当使用刚性沙漏控制时,习惯于减小沙漏系数到0.03~0.05的范围,这样最小化非物理的硬化响应同时又有效抑制沙漏模式。对于高速冲击,即使对于固体结构部件,推荐采用基于粘性的沙漏控制(type 1,2,3)。
粘性沙漏控制仅仅是抑制沙漏模式的进一步发展,刚性沙漏控制将使单元朝未变形的方向变形。
类型8沙漏控制仅用于单元类型16的壳。这种沙漏类型激活了16号壳的翘曲刚度,因此单元的翘曲不会使解退化。如果使用沙漏控制8,16号壳单元可以用于解被称为扭曲梁(Twisted Beam)问题。
对于单元类型1的体和减缩积分2D体(shell types 13 & 15)类型6沙漏控制调用了一种假设应变协同转动方程。使用沙漏控制类型6和系数1.0,一个弹性部件在厚度方向仅仅需要划分一层类型1的体单元就可以获得正确的弯曲刚度。在隐式计算里面,对于类型1的体单元应该总是使用类型6的沙漏控制(实际上,在V970里面这是自动设置的)。
(More on type 6 HG control from Lee Bindeman)
类型6的沙漏控制与类型4,5不在于它用了一个假设应变场和材料属性来估算出假设应力场。这个应力在单元封闭域内进行积分得到沙漏力,因此单元表现的像一个有同样假设应变场的全积分单元。这种假设应变场设计成用来阻止纯弯曲中不真实的剪切变形和近似不可压材料中的体积锁死。
类型4和5的沙漏控制基于单元体积,波速和密度像在LS-DYNA理论手册中方程3.21那样来计算沙漏刚度。
沙漏类型6主要的改进是应力场在单元域内积分。这使得当使用大的长细比或者歪斜形状的体单元时沙漏控制非常鲁棒。类型4和5的沙漏控制对大长细比和歪斜形状单元反应变不好,它趋向于对某些沙漏模式反应的过于刚硬而对其它模式反应得过弱。
沙漏控制类型6另一个理论上的优点是对在厚度方向只有一个单元的梁可以在弹性弯曲问题中得到准确的解。要做到这一点,设置沙漏刚度参数为1.0。同样,对弹性材料方形截面杆的扭曲问题,当沙漏系数设为1.0时可以用很少的单元来解。然而,对于非线性材料,用粗糙的网格得到好的结果是不可能的,因为应力场不是像沙漏类型6假设的那样线性变化的。在梁厚度方向上如果没有更多积分点的话,没有办法捕获应力场的非线性状态。
对于选择沙漏控制,下面几个问题要考虑。对于单元有大的长细比或者明显歪斜(不管是初始还是变形过程中),推荐采用类型6的沙漏控制。类型6的沙漏控制通常对软的材料更好,像泡沫或蜂窝材料在计算中会有非常明显的变形。
在材料不是特别软或者单元有合理的形状且网格不是太粗糙时,类型4,5和6沙漏控制似乎都能得到同样的结果。这种情况推荐用类型4的沙漏控制,因为它比其它的更快。
类型6的沙漏控制在LS-DYNA User’s Manual中参考的Belytschko和Bindeman的论文中有更详细的描述。
第 13 页