如果分析包含任何类型的接触(面面接触,接触或联结单元、碰撞面等),则另请参见执行接触分析页面。
非线性分析的日志文件和收敛图
机械运动仿真 (MES) 和其他非线性分析期间的主要问题是模型是否收敛以及其收敛的难易程度。迭代开始后,监视收敛行为有助于用户确定是否需要停止分析以更改某些参数。
在此页面上,将讨论分析日志文件中包含收敛历史记录的列。此外,可以以图形方式显示收敛历史记录。可通过分析窗口中的“分析信息”下拉列表选择以下两个选项之一:
在求解迭代过程中,收敛历史记录将累积在日志文件中。以下将介绍包含收敛历史记录的列(请参见表 1):
特别是,当前时间步大小 DT 与时间步级别 L 的关系如下:
其中 n 是在“分析参数: 高级: 时间步”选项卡下输入的“时间步更改因子”。“时间步更改因子”的默认值为 2。若要加快减小时间步的速度(如果模型开始收敛,则加快增大的速度),请将“时间步更改因子”设置为较大的值。
行号 |
时间 |
百分比 |
DT |
L |
迭代次数 |
残差 |
01 |
0.000000 |
0.00 |
0.050000 |
1 |
0 |
0.0000E+00 |
02 |
0.050000 |
2.50 |
0.050000 |
1 |
1 |
6.3147E-01 |
03 |
0.050000 |
2.50 |
0.050000 |
1 |
2 |
2.5240E-02 |
04 |
0.050000 |
2.50 |
0.050000 |
1 |
3 |
4.8034E-04 |
05 |
0.050000 |
2.50 |
0.050000 |
1 |
4 |
1.3060E-05c |
06 |
0.100000 |
5.00 |
0.050000 |
1 |
1 |
1.0000E+00 |
07 |
0.075000 |
3.75 |
0.025000 |
2 |
1 |
1.5186E-01 |
08 |
0.075000 |
3.75 |
0.025000 |
2 |
2 |
5.0903E-03 |
09 |
0.100000 |
3.75 |
0.025000 |
2 |
3 |
1.5940E-05c |
10 |
0.100000 |
5.00 |
0.025000 |
2 |
1 |
1.2368E-01 |
11 |
0.100000 |
5.00 |
0.025000 |
2 |
2 |
3.1349E-03 |
12 |
0.100000 |
5.00 |
0.025000 |
2 |
3 |
4.5975E-06c |
13 |
0.125000 |
6.25 |
0.025000 |
2 |
1 |
1.4627E-01 |
14 |
0.125000 |
6.25 |
0.025000 |
2 |
2 |
1.2403E-03 |
15 |
0.125000 |
6.25 |
0.025000 |
2 |
3 |
4.7008E-06c |
16 |
0.150000 |
7.50 |
0.025000 |
2 |
1 |
1.8106E-01 |
17 |
0.150000 |
7.50 |
0.025000 |
2 |
2 |
1.3597E-04 |
18 |
0.150000 |
7.50 |
0.025000 |
2 |
3 |
4.9347E-07c |
19 |
0.200000 |
10.00 |
0.050000 |
1 |
1 |
3.1410E-01 |
20 |
0.200000 |
10.00 |
0.050000 |
1 |
2 |
5.4314E-03 |
21 |
0.200000 |
10.00 |
0.050000 |
1 |
3 |
2.5865E-04 |
22 |
0.200000 |
10.00 |
0.050000 |
1 |
4 |
1.1274E-04 |
23 |
0.200000 |
10.00 |
0.050000 |
1 |
5 |
2.7762E-05c |
表 1:MES/非线性应力日志文件中的文本示例
(分析日志文件不含第一列。添加行号是为了便于下面的说明。)
|
记住上面的说明后,日志文件示例可如下进行解释:
- 第一个时间步(捕获速率 20 步/秒、DT=0.05、时间 = 0.05 秒)需要 4 次迭代才能收敛(行 05,残差 = 1.306E-5,小于默认收敛容差 1E-4)。
- 在第二个时间步中,处理器检测到解在发散(行 06,残差 = 1E+0)。因此,处理器减小了时间步(行 07,DT = 0.025 秒、L=2)。
- 第二个时间步(现在,时间 = 0.075 秒)需要 3 次迭代才能收敛(行 09)。由于此时间不是捕获速率的增量,因此不会输出此收敛解(除非“分析参数: 输出: 输出所有时间步的结果”选项处于激活状态)。
- 第三个时间步(时间 = 0.1)需要 3 次迭代才能收敛(行 12)。由于此时间是捕获速率的增量,因此将输出此收敛解。“结果”环境中会提供结果,而模型将继续求解。
- 迭代在 L=2 处继续,且需要 3 次迭代才能收敛(时间 = 0.125 秒,行 15)。
- 迭代在 L=2 处继续,需要 3 次迭代才能收敛(时间 = 0.15 秒,行 18)。由于模型已完全收敛,因此处理器会尝试为下一个时间步增加时间步(返回 L = 1,行 19)。事实上,此模型能够在 5 次迭代内收敛(L = 1,行 23)。
注: 有关以图形的方式显示收敛历史记录的信息,请参见
收敛图页面。
Riks 法分析:
Riks 法分析的日志文件非常类似于上面的 MES 和非线性应力日志文件。输出中会显示一个额外的列:“载荷级别”列。(请参见表 2。)“载荷级别”是模型中所有节点力和力矩的乘子。
行号 |
时间 |
百分比 |
DT |
L |
迭代次数 |
残差 |
荷载级别 |
01 |
0.000000 |
0.00 |
1.000000 |
1 |
0 |
0.0000E+00 |
|
02 |
1.000000 |
0.20 |
1.000000 |
1 |
1 |
1.0000E+00 |
1.0000E+00 |
03 |
1.000000 |
0.20 |
1.000000 |
1 |
2 |
4.0357E-03 |
1.0000E+00 |
04 |
1.000000 |
0.20 |
1.000000 |
1 |
3 |
1.0000E-04 |
1.0000E+00c |
05 |
2.000000 |
0.40 |
1.000000 |
1 |
1 |
1.0000E+00 |
2.0000E+00 |
06 |
2.000000 |
0.40 |
1.000000 |
1 |
2 |
4.1056E-03 |
2.0000E+00 |
07 |
2.000000 |
0.40 |
1.000000 |
1 |
3 |
1.0000E-04 |
2.0000E+00c |
08 |
3.000000 |
0.60 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.0000E+00 |
… {为简便起见省略文本} …
|
09 |
30.000000 |
6.00 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.0000E+01c |
10 |
31.000000 |
6.20 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.1000E+01 |
11 |
31.000000 |
6.20 |
1.000000 |
1 |
2 |
8.0425E-03 |
3.1000E+01 |
12 |
31.000000 |
6.20 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.1000E+01c |
13 |
32.000000 |
6.40 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.2000E+01 |
14 |
32.000000 |
6.40 |
1.000000 |
1 |
2 |
8.3103E-03 |
3.2000E+01 |
15 |
32.000000 |
6.40 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.2000E+01c |
16 |
33.000000 |
6.60 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.2693E+01 |
17 |
33.000000 |
6.60 |
1.000000 |
1 |
2 |
1.0976E-04 1 |
3.2689E+01 |
18 |
33.000000 |
6.60 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.2689E+01c |
19 |
34.000000 |
6.80 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.3373E+01 |
20 |
34.000000 |
6.80 |
1.000000 |
1 |
2 |
1.1202E-04 |
3.3369E+01 |
21 |
34.000000 |
6.80 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.3369E+01c |
22 |
35.000000 |
7.00 |
1.000000 |
1 |
1 |
1.0000E+00 |
3.4046E+01 |
23 |
35.000000 |
7.00 |
1.000000 |
1 |
2 |
1.1427E-04 |
3.4041E+01 |
24 |
35.000000 |
7.00 |
1.000000 |
1 |
3 |
1.0000E-04 |
3.4041E+01c |
表 2:Riks 法分析日志文件中的文本示例
(分析日志文件不含第一列。添加行号是为了便于下面的说明。)
|
在此示例中,根据用户定义的“初始载荷系数增量”1,在每个时间步收敛后(行 04、07、09 和 12),载荷乘子将从初始值开始以线性速率 1 增大。下一个时间步也在三次迭代内收敛(行 15)。但是,下一收敛时间步的载荷级别(行 18)仅增加了 0.689 (= 32.689-32.000)。后续收敛时间步指明载荷级别的变化速率继续减小(行 21 和 24 显示分别增加了 0.680 和 0.672)。如果模型接近屈曲或突弹跳变,则载荷级别可减小为 0,然后变为负值。
常见的非线性分析错误消息:
在运行分析过程中,可能出现处理器发出的错误或警告消息。下面列出了常见的处理器消息以及每条消息的简短说明。
提示: 如果警告或错误消息与基于结果的载荷曲线一起出现,通常是因为未正确设置载荷曲线变量。这其中很多错误由查寻值方程中的错误造成。若要编辑方程,请转到“分析: 参数”并选择相应的载荷曲线,然后选择“定义/编辑查询值”以查看查寻值设置。
- 错误 (1)
- 用于通知用户分析无法完成的常规错误。在日志文件中从此点向后浏览,以找到指明问题的注释或其他文本。
- 错误:未在部件(编号 = P,截面 ID = L)中定义梁横截面
- 原因:部件 P 中指定给“通用”截面类型(在“单元定义”下)的梁单元绘制在层编号 L 上。“通用”截面类型仅可以支持层 1。
- 措施:在指示的部件中将所有直线更改到层 1。(在树视图或显示区域中通过“选择”“选择”“部件”选择部件,然后单击鼠标右键并选择“选择相关项”“直线”。单击鼠标右键并选择“编辑属性”将层编号更改为 1。)
- 错误:在基于结果的载荷曲线中出现除数为零的情况。
- 基于结果的载荷错误(请参见以下提示)。计算查寻值的方程时,出现除数为零的情况。检查方程的准确性,如果可以进行调整以防止分母为零。
- 错误:在基于结果的载荷曲线:函数中出现空括号。
- 基于结果的载荷错误(请参见以下提示)。查寻值方程的语法中存在括号 () 分组问题。检查方程的准确性,并对其进行纠正。
- 错误:数学错误,acos(x) 中的 |x| 必须小于等于 1。
- 基于结果的载荷错误(请参见以下提示)。数学函数的变量超出可接受的限值。x 必须介于 -1 和 1 之间。
- 错误:数学错误,asin(x) 中的 |x| 必须小于等于 1。
- 基于结果的载荷错误(请参见以下提示)。数学函数的变量超出可接受的限值。x 必须介于 -1 和 1 之间。
- 错误:数学错误,未定义的结果 0**0。
- 基于结果的载荷错误(请参见以下提示)。查寻值方程正在计算未定义的表达式。
- 错误:数学错误,log(x) 中的 x 必须为正值。
- 基于结果的载荷错误(请参见以下提示)。数学函数的变量超出可接受的限值。
- 错误:数学错误,log10(x) 中的 x 必须为正值。
- 基于结果的载荷错误(请参见以下提示)。数学函数的变量超出可接受的限值。
- 错误:数学错误,sqrt(x) 中的 x 必须为正值。
- 基于结果的载荷错误(请参见以下提示)。数学函数的变量超出可接受的限值。
- 错误:检测到负的活动间隔,间隔编号:N
- 原因:规定位移的消亡时间小于等于出生时间。指定给活动范围编号 N 的位移出现该问题。
- 措施:在 FEA 编辑器中编辑任何规定的位移,然后单击“活动范围”字段的“数据”按钮。(所有规定位移共享“活动范围”电子表格,因此修改哪一个并不重要。)“索引”行对应于所有规定位移的活动范围。对于在错误消息中指示的行,请更改出生和消亡时间,以便消亡时间晚于出生时间。同时,对于为所有规定位移定义的每个活动范围,请确认存在“索引”行。
- 错误:基于结果的载荷曲线不支持规定位移。
- 基于结果的载荷错误(请参见以下提示)。无法将规定位移和激励器单元指定给基于结果的载荷曲线。需要将它们指定给基于时间的载荷曲线。
- 错误:无法在非线性部件中使用截面类型 1。
- 请参见上面的“错误:未在部件中定义梁横截面”。
- 错误:截面类型必须介于 2 到 7 之间。单元组编号 = P,截面 ID = L
- 请参见上面的“错误:未在部件中定义梁横截面”。
- 错误:在基于结果的载荷曲线:函数中出现不成对的括号。
- 基于结果的载荷错误(请参见以下提示)。查寻值方程的语法中存在括号 () 分组问题。检查方程的准确性,并对其进行纠正。
- 错误:在基于结果的载荷曲线:函数中存在未知输入。
- 基于结果的载荷错误(请参见以下提示)。查寻值的方程包含无法识别的文本。请检查方程并与上面给出的可接受的运算符和函数表进行比较。
- 错误:在基于结果的载荷曲线:函数中存在未知运算符。
- 基于结果的载荷错误(请参见以下提示)。查寻值的方程包含无法识别的文本。请检查方程并与上面给出的可接受的运算符和函数表进行比较。
- 错误:在基于结果的载荷曲线中存在未知变量。
- 基于结果的载荷错误(请参见以下提示)。查寻值的方程包含无法识别的文本。必须在变量电子表格中定义方程中的每个变量。检查方程的准确性,并根据需要对其进行纠正。
- 错误:使用的模式与具有线性和非线性单元部件的模型不兼容
- 原因:不同的输入可能导致处理器将部件视为线性或非线性部件。(对此造成影响的设置包括压力载荷、“单元定义”对话框中“小位移”或“大位移”的“分析类型”、材料模型等等。)此错误消息指明处理器无法求解模型,因为模型既包含线性部件又包含非线性部件。
- 措施:执行以下操作可解决该问题:
-
- 将所有部件的“分析类型”设置为相同的选择,即“小位移”或“大位移”。(“单元定义”下的“通用”选项卡)
- 保留“分析类型”设置,但为所有部件将“兼容性”更改为“强制”。(“单元定义”下的“高级”选项卡)
- 无正对角线!
- 原因:刚度矩阵的对角线上存在零值。此类矩阵无法求解且指明模型设置存在问题。
- 措施:对于非线性静态应力分析,请确定模型中各子装配件的所有方向均已已被约束。对于接触模型,可能需要添加人工弹簧以实现部件不接触的迭代稳定性。(尽管理论上部件应接触,但是平衡迭代可能进入零件不接触的情况。)对于 MES 分析,请确定每个子装配件均具有质量(提供平动刚度)和有关转动轴的质量惯性矩(提供转动刚度)。检查材料属性(在 FEA 编辑器中和在分析摘要文件中)以确认已输入所有属性。
- 注意:因为已为部件 N 选择了“大刚体转动”,因此迭代方法已更改为“不采用线性搜索的完全牛顿法”
- 如果任何梁单元部件激活了“大刚体转动”选项,则处理器必须使用“不采用线性搜索的完全牛顿法”迭代求解方法。此注意事项指明处理器在出现“大刚体转动”切换时切换到此求解器。否则,不需要采取任何措施。有关详细信息,请参见梁单元页面的“高级梁单元参数”部分。
- 已达到 AutoTM 极限。
- 原因:分析已将时间步缩减了 18 次 (L=19),但仍无法收敛。由于现在时间步非常小,因此模型可能存在某类型的稳定性问题。
- 措施:如果时间步级别 L 立即从 1 下降到 19,则模型缺少一些刚度。下面是能够导致刚度问题的一些常见问题:
-
- 非线性静态分析中的模型非静态稳定。
- 在完整的“机械运动仿真”分析中,如果部件没有质量且非静态稳定,则可能出现刚度问题。(如果部件没有质量或刚度,则在任意力的作用下可以一直移动。)
- 如果模型包含垫片单元,请检查是否已定义垫片的顶面和底面。(请参见三维垫片单元页面中的“使用三维垫片单元的基本步骤”段落。)
- 如果模型在段落时间内收敛但随后时间步级别 L 下降到 L = 19,则可能是因为模型变得不稳定或过度刚化。例如,如果使用的是钢筋混凝土材料模型,则可能是混凝土横截面完全失效;请在“结果”环境中检查失效状态。或由于大变形效应,模型可能已从稳态变为非稳态(如突弹跳变或屈曲)。
- 对于面面接触,如果接触刚度过大,则接触时,时间步可能缩减到较小的值(L 增加到较大的值);处理器将缩减时间步以从接触前的无刚度更改为接触后的大刚度。
- 如果分析收敛速度缓慢且如果模型包含块体单元,则可尝试以下两种方法:用更粗糙的块体网格或将网格更改为四面体网格。(这两种方法均需要重新划分模型的网格。)采取这两种方法的目的是改进单元形状,从而改善收敛。因此,可能只需要提高几个特定部件的网格质量。尽管问题的严重程度足以生成扭曲单元警告,但在此情况下,非正雅可比错误或扭曲单元页面中的方法还可以用于查看和提高网格质量。请记住,该页面介绍的实体网格统计信息适用于未变形的形状;分析期间发生的变形可能导致其他变形。
- 停止:超出非线性部件编号
- 原因:不同的输入可能导致处理器将部件视为线性或非线性部件。(对此造成影响的设置包括压力载荷、“单元定义”对话框中“小位移”或“大位移”的“分析类型”、材料模型等等。)此错误消息指明处理器无法求解模型,因为模型既包含线性部件又包含非线性部件。
- 措施:执行以下操作可解决该问题:
-
- 将所有部件的“分析类型”设置为相同的选择,即“小位移”或“大位移”。(“单元定义”下的“通用”选项卡)
- 保留“分析类型”设置,但为所有部件将“兼容性”更改为“强制”。(“单元定义”下的“高级”选项卡)
- 停止:温度超出输入材料属性温度的范围!
- 已找到的温度 = T
- 应在范围内:(Tmin Tmax)
- 原因:部件的材料模型被设置为使用温度相关的材料属性。但是计算得出的温度 T 超出在材料属性中输入的温度范围(Tmin 到 Tmax)。由于处理器无法推断材料属性,因此分析无法继续。
- 措施:此错误的难点是计算得出的温度 T 通常与用户定义的温度无关,尤其是使用中节点时。这由 FEA 的行为导致。计算得出的温度 T 在积分点处,理论上,这些温度通常不在节点处的温度之间。例如,角节点、偏移中节点和对角处的温度为 60、40 和 70 时,可能导致积分点处的温度为 35,此温度没有对应的材料属性。检查模型中的以下项:
-
- 请确认已在所有节点处(如果适用,则包括中节点)定义温度且为合理值。
- 将材料属性扩展到输入温度范围外以覆盖内部计算得出的温度。扩展材料属性并重新运行分析可以解决第一次运行时报告的问题,但是可能会遇到内部温度进一步超出预期范围的其他单元,并因此给出包含其他计算得出的温度 T 的相同消息。
温度曲线插值(蓝点)会产生小于任何用户定义温度的最小值(红点)。
- 停止:无法通过指定的混凝土强度确定混凝土材料常数(C0、A1、A2、A3)。检查输入或直接指定材料常数。单元组编号 = X
- 原因:已使用为钢筋混凝土材料输入的材料属性计算失效参数(C0、A1、A2、A3),但无法找到这些参数方程式的解。(错误消息给出了部件或组编号。)
- 措施:由于这些参数通过“材料属性”的“强度”选项卡中输入的强度进行计算,因此请检查输入的强度是否正确。
- 否则,如果这些参数已知,则可以直接将其输入在材料属性(“高级”选项卡上)中,而不需要处理器尝试计算它们。有关从测试数据获取常数的说明,请参见钢筋混凝土理论描述页面。即使参数未知,尝试对其进行计算可以深入了解为什么处理器无法计算这些参数。哪些输入有问题?
- 时间步缩减原因:tttt
- 如果平衡迭代收敛,则残差数后面的字母 c 将指示收敛。除了求解中的这一点外,还将检查其他准则以确定其是否满足收敛。如果违反任何附加因素,则遇到第一个问题后将打印此消息和说明 (tttt),如时间步缩减原因:接触渗透。
- 警告:未在数据库中指定基于结果的载荷曲线条件。
- 基于结果的载荷错误(请参见以下提示)。“分析参数”上的“条件”文本包含未定义的查寻值。检查条件的准确性并对其进行纠正,或定义条件文本中使用的变量。或者,“条件”文本可以空白,这是可接受的,并不是问题。
- 警告:请维持部件 P 中的扭曲单元 N 的完整性!
- 如果单元发生严重扭曲,导致单元的行列式小于 0,则将无法找到解。如果发生这种情况,分析应停止。但是,可能在一些中间迭代中出现该警告,并在之后的迭代中恢复。时间步收敛时的最终迭代可能具有有限的单元扭曲,因此是可接受的。此警告消息指明以下工况:零件编号 P 中的单元编号 N 发生扭曲。为了继续分析,已调整其刚度以获取解。
-
注意:
-
- 处理单元过度变形的默认方法是缩减时间步。仅当选项“如果有扭曲单元则缩减时间步”处于禁用状态时,才会出现此错误。此选项位于“分析参数 ... 高级”对话框的“时间步”选项卡中。
- 可以限制每个时间步(而不是每次迭代)给出的警告数量。根据设置,日志文件可能不会指示最后一次迭代期间时间步收敛时是否出现任何警告。有关详细信息,请参见控制输出文件页面。
- 警告:滑轮(部件编号:n)的从动节点已到达滑轮。
- 警告:滑轮(部件编号:n)的驱动节点已到达滑轮。
- 原因:滑轮单元 n 上的节点(分别为从动节点或驱动节点)移动距离过远,现在正在接触滑轮。如果该节点继续向滑轮移动,则数学运算将违反物理现实。连接到滑轮单元的单元将穿过滑轮的主体。
- 措施:重新定义滑轮并将端点节点移动到更远处。
- 警告:缺少材料 (ID = n) 的硬化模量
- 原因:已为部件 n 设置了塑性材料模型,但材料属性缺少一些计算应变硬化模量所需的数据。
- 操作:编辑部件 n 的材料属性并输入缺少的数据。有关详细信息,请参见 von Mises 材料属性页面。
- 警告:节点坐标小于整体定义的壁面坐标下限
- 模型中存在碰撞面,指示的节点位于碰撞面的下方。如果该警告很重要,请使用“结果”环境查找参考节点编号(“查询: 结果: 指定”),然后更正碰撞面或模型的位置。如果节点对运动来说不重要(例如梁的 k 节点(通常在非常大的坐标中)),则该警告无关紧要。
- 警告!找到非正主拉伸值。
- 此消息指示在超弹性材料模型中检测到负主拉伸值,主拉伸值会设置为 1 以保持单元完整性。当大变形导致单元的雅可比行列式为负时,将出现负主拉伸值。
- 警告:在分析中使用(通用)接触单元时,建议使用 <非线性材料模型 MES>。
- 原因:分析类型设置为“非线性材料模型静态应力”且包括单元类型“接触”或“通用接触”。此类组合会导致收敛速度很慢。
- 措施:首先,请确保模型的所有部件均静态稳定,未使用接触单元。由于无法保证每次迭代中接触单元均会接合,因此可能导致模型在某些迭代中非静态稳定。如果发生这种情况,则分析可能停止或缓慢收敛。根据需要添加边界条件和弱弹簧单元以使模型稳定。
- 其次,将分析类型切换为“机械运动仿真 (MES)”可能会达到更好的收敛效果。由于 MES 将计算部件的惯性,因此这些部件将无法在时间步内无限移动(如果部件具有质量)。
- 警告:在分析中使用(通用)接触单元时,建议使用 <采用线性搜索的完全牛顿法> 求解方法。
- 原因:分析包含单元类型“接触”或“通用接触”,而“非线性迭代求解方法”未设置为“采用线性搜索的完全牛顿法”。此类情况会导致收敛速度很慢。
- 措施:将“分析参数: 高级: 平衡: 非线性迭代求解方法”更改为“自动”或“采用线性搜索的完全牛顿法”。如果设置为“自动”,则处理器将选择最佳求解方法。