求解#

关键字:

  • *CONTROLS

此选项用于修改迭代控制参数,仅建议那些了解其含义并且在该领域有专业知识的用户使用

有两个互斥的子关键字

  • RESET:重置控制参数为默认值

*CONTROLS, RESET
  • PARAMETERS:用于更改默认设置,可选参数控制如下

参数选项

控制范围

TIME INCREMENTATION

增量迭代控制

FIELD

收敛准则

LINE SEARCH

线搜索参数(仅用于面-面接触罚方法)

NETWORK

网络迭代的收敛准则

CFD

流体计算

CONTACT

面-面接触罚方法收敛准则

*CONTROLS, PARAMETERS = TIME INCREMENTATION
......

参考示例:

TIME INCREMENTATION#

在非线性有限元分析中,求解器在每个时间步的求解中,通常采用增量-迭代法(Newton-Raphon)。TIME INCREMENTATION 相关参数控制着每个时间步内的迭代行为,以及遇到发散或收敛缓慢时自动调整时间步长的策略。这些参数直接影响分析的稳定性、收敛速度和计算效率

子关键字分为两行,第一行与时间步内迭代次数相关

参数

意义

默认值

典型建议

\(I_{0}\)         

检查残差连续增加的次数,若超过 \(I_{0}\),则当前时间步长乘以 \(D_{f}\)
防止解持续发散,及时缩小时间步长提高收敛性

\(4\)               

若模型易发散,可适当减小

\(I_{R}\)

每隔 \(I_{R}\) 次迭代进行一次对数收敛速率检查,预测当迭代次数为 \(I_{C}\) 时是否能够收敛,若不能,当前时间步长乘以 \(D_{C}\)
防止解长时间缓慢收敛,及时调整时间步长

\(8\)

若模型收敛慢,可适当增大

\(I_{P}\)

从第 \(I_{P}\) 次迭代起,残差收敛判据由 \(R_{n}^{\alpha}\) 切换为 \(R_{p}^{\alpha}\)(更宽松)
允许初始阶段使用严格标准,后期切换为宽松标准,加快收敛

\(9\)

一般无需更改

\(I_{C}\)

当前时间步允许的最大迭代次数,若超过则强制缩小时间步长重试
防止无休止迭代浪费计算资源

\(16\)

对于极难收敛问题可适当增大

\(I_{L}\)

若当前时间步内的迭代次数超过 \(I_{L}\),则下一个时间步长乘以 \(D_{B}\)
当发现收敛困难时自动减小步长,增加稳定性

\(10\)

对于大变形/非线性强问题可适当减小

\(I_{G}\)

若连续两个时间步的迭代次数都小于 \(I_{G}\),下一个时间步长乘以 \(D_{D}\)
若解收敛非常容易,自动加快分析进度

\(4\)

若追求快速分析可适当减小

\(I_{S}\)

当前未使用

-

-

\(I_{A}\)

当前时间步允许的最大时间步长减小次数,若超过则报错终止
防止无限制重试导致死循环

5

建议默认即可

\(I_{J}\)

当前未使用

-

-

\(I_{T}\)

当前未使用

-

-

第二行与时间步长的缩放因子相关

参数

意义

默认值

典型建议

\(D_{f}\)         

残差连续增加超过 \(I_{0}\) 次时,当前时间步长乘以 \(D_{f}\)
强制减小时间步长以便恢复收敛

\(0.25\)               

若模型极不稳定可减小至 \(0.1\sim0.2\)

\(D_{C}\)

对数检查不通过时(\(I_{R}\)),当前时间步长乘以 \(D_{C}\)
解决收敛速度过慢问题

\(0.5\)

一般无需更改

\(D_{B}\)

当前时间步迭代次数超过 \(I_{L}\) 时,下一时间步长乘以 \(D_{B}\)
根据上一步的收敛表现动态调整步长

\(0.75\)

若希望更保守可减小

\(D_{A}\)

若连续两个时间步的温度变化超过 DELTMX,下一时间步长乘以 \(D_{A}\)
用于热-结构耦合,防止温度突变导致收敛失败

\(0.85\)

热分析时可适当减小

\(D_{S}\)

当前未使用

-

-

\(D_{H}\)

当前未使用

-

-

\(D_{D}\)

若连续两个时间步迭代次数都小于 \(I_{G}\),下一个时间步长乘以 \(D_{D}\)
自动加快分析速度

\(1.5\)

若对收敛有信心可增大至 \(2\)

\(W_{G}\)

当前未使用

-

-

FIELD#

在非线性有限元分析中,场变量(如温度、浓度、电势等)的求解通常采用增量-迭代法(如 Newton-Raphson 方法)。FIELD 参数用于控制场变量在每个时间步内的收敛判据和迭代策略。合理设置这些参数,有助于保证收敛准确性、提升求解效率和分析稳定性,在强非线性、多场耦合或极端工况下尤为重要

参数

意义

默认值

典型建议

\(R_{n}^{\alpha}\)         

最大残差与平均力之比,衡量场变量(如温度、浓度)是否收敛到平衡状态
主要残差收敛判据

\(0.005\)               

若收敛困难可适当放宽(如 \(0.01\));对精度要求高可收紧(如 \(0.001\))。适合大多数热/扩散/场耦合问题

\(C_{n}^{\alpha}\)

解的最大相对修正量
最大解增量收敛判据

\(0.01\)

若解变化剧烈可放宽(如 \(0.02\));若需更严格收敛可收紧(如 \(0.005\)),通常与 \(R_{n}^{\alpha}\) 配合使用

\(q_{0}^{\alpha}\)

初始(第一个时间步)平均力,用于归一化残差

上步值或 \(0.01\)

通常无需调整。若第一步物理量极小或极大时,可手动设置以改善归一化效果

\(q_{u}^{\alpha}\)

用户自定义的平均力

-

若设置,平均力不再自动计算,直接采用此值。适用于特殊归一化需求,比如某些物理量非常小或非常大时

\(R_{p}^{\alpha}\)

若牛顿迭代次数达到 \(I_{P}\) 后仍未收敛,收敛标准从 \(R_{n}^{\alpha}\) 切换为 \(R_{p}^{\alpha}\)
备用残差收敛判据

\(0.02\)

若遇到局部极难收敛问题可适当放宽;如需严格控制收敛质量可收紧

\(\epsilon^{\alpha}\)

判断系统是否已“无流动/无通量”(如热流为0),常用于稳态场问题
零通量判据

\(10^{-5}\)

若稳态判定太敏感可放宽;如需极严格稳态判定可收紧

\(C_{\epsilon}^{\alpha}\)

解的最大相对修正量
零通量下最大解增量判据

\(10^{-3}\)

若解变量波动大可适当放宽;如需极严格稳态判定可收紧

\(R_{l}^{\alpha}\)

目前看和 \(R_{n}^{\alpha}\) 似乎没有区别

\(10^{-8}\)

通常不需修改

NETWORK#

NETWORK 关键字通过网格单元的几何/物理量变化来设定牛顿迭代的收敛判据,确保仿真结果达到预期精度后终止迭代

子关键字分为两行,第一行与相对变化相关,当这些量小于目标值时,则可判断牛顿迭代步收敛

参数

意义

默认值

\(c_{1t}\)

能量守恒残差/平均能量守恒残差

\(5\cdot10^{-7}\)

\(c_{1f}\)

质量守恒残差/平均质量守恒残差

\(5\cdot10^{-7}\)

\(c_{1p}\)

单元平衡残差/平均单元平衡残差

\(5\cdot10^{-7}\)

\(c_{2t}\)

温度变化/所有牛顿步的最大温度变化

\(5\cdot10^{-7}\)

\(c_{2f}\)

质量流量变化/所有牛顿步的最大质量流量变化

\(5\cdot10^{-7}\)

\(c_{2p}\)

压力变化/所有牛顿步的最大压力变化

\(5\cdot10^{-7}\)

\(c_{2a}\)

几何变化/所有牛顿步的最大几何变化

\(5\cdot10^{-7}\)

例如

  • 能量守恒残差:当前牛顿步后计算的所有单元的最大能量守恒残差

  • 平均能量守恒残差:当前牛顿步后计算的所有单元的平均能量守恒残差

  • 温度变化:当前牛顿迭代步中所有网格单元的最大温度变化

  • 所有牛顿步的最大温度变化:当前时间步内所有牛顿迭代步的单元温度变化的最大值

第二行与绝对变化相关,当这些量大于目标值时,则可判断牛顿迭代步发散

参数

意义

默认值

\(a_{1t}\)

能量守恒残差的绝对最大值

\(10^{20}[\mathrm{M}][\mathrm{L}]^{2}/[\mathrm{t}]^{3}\)

\(a_{1f}\)

质量守恒残差的绝对最大值

\(10^{20}[\mathrm{M}]/[\mathrm{t}]\)

\(a_{1p}\)

单元平衡残差的绝对最大值

\(10^{20}[\mathrm{-}]\)

\(a_{2t}\)

温度变化的绝对最大值

\(10^{20}[\mathrm{T}]\)

\(a_{2f}\)

质量流量变化的绝对最大值

\(10^{20}[\mathrm{M}]/[\mathrm{t}]\)

\(a_{2p}\)

压力变化的绝对最大值

\(10^{20}[\mathrm{M}]/([\mathrm{t}]^{2}[\mathrm{L}])\)

\(a_{2a}\)

几何变化的绝对最大值

\(10^{20}[\mathrm{L}]\)

\([\mathrm{M}]\)\([\mathrm{L}]\)\([\mathrm{T}]\)\([\mathrm{t}]\) 分别代表质量,长度,温度和时间的单位

CFD#

在 CFD 数值求解中,很多过程都需要多次迭代才能收敛。CFD 参数的作用在于对迭代过程进行设置

CCX 支持流固耦合分析,每当结构发生新的力学加载步时,需要更新流体场,保证力学场和流体场匹配。CCX 会根据流体的物理属性再细分为多个流体增量,以便更好地捕捉流体随时间或状态的变化。在每个流体增量中,都需要不断迭代直至收敛,\(\mathrm{iitt}\) 用于设置最大的迭代次数

单元面中心的数值量(如通量)是基于单元中心的量插值计算得到的,若网格是非正交的,插值计算会引入误差,需要多次迭代修正,\(\mathrm{iitg}\)\(\mathrm{iitp}\) 分别用来设置面插值修正和压力场修正的迭代次数

在热-力耦合的问题中,压力和温度相互依赖,通常需要压力-温度迭代求解,以逼近真实解。\(\mathrm{jit}\) 用来设置迭代求解的最大次数,通常流体越可压缩、耦合越强,通常需要的迭代次数越多

参数

意义

默认值

典型建议

\(\mathrm{iitt}\)         

每个流体增量内的最大迭代次数

\(20\)            

收敛困难则适当增加

\(\mathrm{iitg}\)

因网格非正交导致的面插值修正迭代次数

\(0\)

网格非正交性强即可适当增大

\(\mathrm{iitp}\)

因网格非正交导致的压力场修正迭代次数

\(1\)

网格非正交性强即可适当增大

\(\mathrm{jit}\)

压力-温度耦合的迭代次数

\(1\)

对于不可压缩流体或有粘可压缩流体,应使用默认值;对于无粘可压缩流体,可能需要增加到 \(4\)

CONTACT#

CONTACT 参数用于更改面-面接触罚方法的算法默认设置

在非线性有限元接触分析中,每一个时间步或载荷增量内通常需要进行多次牛顿迭代。在每一次迭代过程中,节点的位移都会发生变化,这可能导致接触状态的改变。因此,在每次迭代结束后,都需要重新检测接触状态,以确定哪些单元或节点处于接触状态。\(\mathrm{delcon}\) 用来指定相邻牛顿迭代中,接触单元数量的最大相对变化,低于此值是收敛的必要条件

在接触迭代过程中,偶尔会陷入“局部极小值”,即残差无法进一步下降。此时可以考虑“随机移除”一部分接触单元,重新开启当前增量步的牛顿迭代,以跳出收敛困境,\(\mathrm{alea}\) 用来控制被移除的接触单元的比例

如果接触算法出现“发散”或“收敛太慢”,通常可能是由接触刚度(法向弹簧刚度)过大导致的数值不稳定性引起的,这时可以适当减小接触刚度和粘结斜率,以改善收敛性,\(\mathrm{kscalemax}\) 用来设置刚度缩减因子

\(\mathrm{itf2f}\) 用来设置每个增量内,接触收敛迭代的最大次数

参数

意义

默认值

典型建议

\(\mathrm{delcon}\)         

相邻牛顿迭代接触单元数量的相对变化

\(0.001\)            

\(\mathrm{delcon}\) 越小,收敛判据越严格;过大,则可能导致假收敛

\(\mathrm{alea}\)

被移除的接触单元的比例

\(0.1\)

\(\mathrm{alea}\) 越大,跳出局部极值能力越强,但可能导致解异常

\(\mathrm{kscalemax}\)

刚度缩减因子

\(100\)

\(\mathrm{kscalemax}\) 越大,刚度下降越多,更易收敛,但模型也更加失真

\(\mathrm{itf2f}\)

最大迭代次数

\(60\)

综合收敛性能和计算性能适当调整