本系列旨在探讨在LS-DYNA仿真分析中若干问题的解决方案和优化策略,涵盖了从4节点壳单元的质量计算,计算不稳定的原因和解决方案,包括处理复合材料和薄壳接触问题的方法,如何初始化几何图形和使用LS-PrePost进行位移输出的指导等多个方面,以帮助用户更有效地利用LS-DYNA进行工程模拟和分析。
前期:
How to | LS-DYNA使用技巧(一)
How to | LS-DYNA使用技巧(二)
How to | LS-DYNA使用技巧(三)
How to | LS-DYNA使用技巧(四)
How to | LS-DYNA使用技巧(五)
How to | LS-DYNA使用技巧(六)
How to | LS-DYNA使用技巧(七)
一个单元中的有效应变率不仅取决于加载速率,还取决于试样的形状和尺寸等因素。如果我们假设试样在单轴试验中均匀拉伸(没有颈缩/局部化),使得应变率在整个试样上空间均匀,那么以下情况是正确的:
- 长度变化 = ΔL = r*时间
- 工程应变 = ΔL/L = r*时间/L
- 工程应变率 = 每单位时间的应变 = r/L
- 真实应变 = ln(1+工程应变)= ln(1+r*时间/L)
- 真(有效)应变率随时间变化 = d(真应变)/dt = [ln(1+r*time2/L) - ln(1+r*time1/L)]/(time2-time1)
L=加载方向上的试样长度;r=加载速率
当然,如果应变率在试样上不是空间均匀的,那么它就不那么简单了,在分析中需要考虑一系列应变率。为了近似这个应变率范围,你可能需要运行初步分析,并写入应变数据(在 *DATABASE_EXTENT_BINARY中设置 STRFLG=1)。为此,您可以使用*DATABASE_BINARY_D3THDT 和*DATABASE_HISTORY_SHELL。(建议在 *DATABASE_EXTENT_BINARY 中设置N3THDT=1,以尽量减少写入D3THDT数据库的数据。)
// 绘制应变率有两种方法
1、使用*DATABASE_EXTENT_BINARY 将STRFLG设置为1,以便将应变直接写入输出数据库。将非常高的分辨率输出写入D3THDT或ELOUT,以用于几个感兴趣的单元。使用*DATABAE_HISTORY_... 选择这些单元。在*DATABASE_EXTENT_BINARY 中设置 N3THDT=1以最小化输出。运行作业后,将d3thdt读入LS-Prepost并绘制应变时间历史图。在时间历史窗口中选择“Oper”,然后选择“differentiate”(您可能需要关闭然后重新打开“differentiate”以使其激活),然后选择“Apply”。这种方法允许您选择壳体中的贯穿厚度位置(下、中、上)。
2、使用Fcomp > SRate生成由节点位移计算的应变率的条纹图。接下来,使用History > Scalar绘制应变率的时间历程。该应变率对应于壳体的中面。必须使用方法1来获取其它厚度位置的应变率。
使用任何一种方法,应变率的精度取决于输出的分辨率。应变率的单位是模型中使用的每单位时间的应变。
// 局部壳体单元系统中的应变率
以下两种方法中的任何一种都将产生由单元连接定义的壳单元局部系统中的应变率时间历程。LS-PrePost不支持在任意局部坐标系中输出。
方法1:使用“切换”下拉菜单或“设置”按钮切换局部坐标轴。使用S.Rate按钮计算边缘应变率。使用“历史”下的“标量”选项绘制应变率的时间历史图(这是壳体中面的应变率;NG表示任何其他厚度位置)。
方法2:确保将*DATABASE_EXTENT_BINARY 中的STRFLG设置为1。使用历史下的“单元”选项绘制应变时间历史图;“局部”必须被选中。使用“Oper ”求导应变时间,以给出近似应变率(精度取决于应变时间历史的分辨率;适用于任何贯穿厚度的位置)。
如果您碰巧使用复合材料模型,则可以使用*DATABASE_EXTENT_BINARY中的复合输出标志来获取局部材料方向上的应变输出。然后,您可以对应变时间历程进行微分,以获得近似应变率。
GLSTAT中报告的总能量(见*DATABASE_GLSTAT)是以下各项的总和:
● 内能
● 动能,动量
● 接触(滑动)能量
● 沙漏能量
● 系统阻尼能量
● 刚性墙能量
glstat文件中报告的弹簧和阻尼器能量是离散单元、安全带单元的内能和与联结刚度(*CONSTRAINED_JOINT_STIFFNESS....)相关的能量的总和。内能包括弹簧和阻尼器能量以及所有其他单元类型的内能。因此,弹簧和阻尼器能量是内能的一个子集。
SMP5434a写入glstat 的联结内能与*CONSTRAINED_JOINT_STIFFNESS无关。它似乎与*CONSTRAINED_JOINT_REVOLUTE(_spherical 等)的惩罚刚度有关。这是 SMP版本5434a之前缺失的能量项。
与“CONSTRAINED_JOINT_STIFFNESS”相关的能量出现在jntforc文件中,并包含在弹簧和阻尼器能量和内能中的glstat中。回顾一下,弹簧和阻尼器能量,无论是来自节点刚度还是离散单元,总是包含在内能中。
能量值以部件为单位写入MATSUM(参见*DATABASE_MATSUM)。
只有在 *CONTROL_ENERGY 中将 HGEN 设置为2时,才会计算并写入沙漏能量。同样,只有分别将 RWEN 和 RYLEN 设置为2时,才会计算并写入刚性墙能量和系统阻尼能量。
刚度阻尼能量被归入内能。质量阻尼能量以单独的分类作为系统阻尼能量出现。
在970版的4748修订版之前,没有计算由于壳体体积粘度而消耗的能量。随后,可以选择将这部分能量纳入能量平衡。
如果总能量=初始总能量+外部功,或者换句话说,如果能量比(在GLSTAT中称为总能量/初始能量,尽管它实际上是总能量/(初始能量+外部功))等于1.0,则能量平衡是完美的。
菜单History > Global energies不包括侵蚀单元的贡献,而GLSTAT能量则包括这些贡献。请注意,这些侵蚀贡献可以通过ASCII > GLSTAT绘制为侵蚀动能和侵蚀内能。
侵蚀能量是与删除的单元(内能)和删除的节点(动能)相关的能量。通常,如果没有删除单元,则无侵蚀能量的能量比w/o等于1,如果单元被删除,则小于1。删除的单元对总能量/初始能量比没有影响。总体能量比的增长可归因于其它事件,例如,增加的质量。
附上一个例子。请注意,如果将*CONTROL_CONTACT中的ENMASS设置为2,则与已删除单元关联的节点不会被删除,且侵蚀动能等于零。
通过History > Global energies只是KE和内能的总和,因此不包括接触能或沙漏能等贡献。
// 壳层内部负能量
为了对抗这种虚假效应,请关闭壳体变薄(ISTUPD),调用壳体的体积粘度(在*CONTROL_BULK_VISCOSITY中设置TYPE = -2),使用*DAMPING_PART_STIFFNESS表示呈现负值的零件。首先尝试一个较小的值,例如0.01。如果*CONROL_ENERGY中的RYLEN=2,则计算并包括刚度阻尼的能量在内。(案例研究见negative_internal_energy_in_shells)
// 正接触能量
当接触定义中包含摩擦时,预计会出现正接触。摩擦应导致正接触能。在没有摩擦的情况下,你希望看到一个小的净接触能(净接触能=从侧能量和主侧能量的总和)。小是判断的问题--在没有接触摩擦的情况下,10%的峰值内能可以被认为是可以接受的接触能。
// 负接触能量
负接触能量的突然增加可能是由于未检测到的初始穿透造成的。谨慎定义初始几何形状,以便适当考虑壳体偏移通常是降低负接触能量的最有效步骤。有关接触能量的更多信息,请参考《LS-DYNA理论手册》(1998年5月)第23.8.3节和第23.8.4节。
当零件彼此相对滑动时,有时会产生负接触能量。这与摩擦无关。我说的是来自正常接触力和正常渗透的负能量。当一个渗透节点从其原始主段滑向相邻但未连接的主段,并立即检测到渗透时,就会产生负接触能量。
如果内能反映了负接触能,即glstat中内能曲线的斜率与负接触能曲线的斜率相等且相反,则问题可能非常局部化,对解决方案的整体有效性影响很小。您可以通过限制壳体零件的内能(LS-POST中的Fcomp>Misc>internal energy)来隔离局部问题区域。内能中的热点通常表示负接触能集中的位置。
如果定义了多个接触,则sleout文件(*DATABASE_SLEOUT)将报告每个接触的接触能量,从而可以缩小负接触能量研究的重点。
// 以下是一些对抗负接触能量的通用建议
● 消除初始渗透(在消息文件中查找警告)。
● 检查并消除冗余接触条件。您不应有多个接触定义处理相同两个零件或表面之间的接触。
● 减小时间步长缩放因子。
● 将接触控制设置恢复为默认值,但设置SOFT=1和IGNORE=1(可选卡C)除外。
● 对于尖锐表面之间的接触,请将SOFT设置为2(仅适用于段与段之间的接触)。此外,在v.970中,建议将SBOPT(以前称为EDGE)设置为4,以用于SOFT=2接触,其中零件之间发生相对滑动。为了改善边与边之间的SOFT=2接触行为,请将DEPTH设置为5。请注意,SOFT=2接触会产生一些额外费用,特别是在使用非默认的SBOPT或DEPTH值时,因此应仅在其它接触选项(SOFT=0或SOFT=1)不足时使用。
模型的特定要求可能要求使用其他方法。
文章来源:
https://www.dynasupport.com/howtos/general/strain-rate
https://www.dynasupport.com/howtos/general/total-energy