当前 TGV 的 Unst_Res 不能作为可靠的非线性残差或双时间内迭代收敛判据:
Unst_Res
ComputeUnsteadyResidual
TGV_Unsteady_Residual
LinSysRes
INNER_ITER=5
CONV_STARTITER=5
相关入口:
SU2_CFD/include/solvers/CFVMFlowSolverBase.inl::ComputeUnsteadyResidual
SU2_CFD/include/solvers/CFVMFlowSolverBase.inl::ImplicitEuler_Iteration
SU2_CFD/src/iteration/CFluidIteration.cpp
bscc-m9-hq53
把“残差定义、并行聚合、history 输出、收敛判断”作为一件事完成:
W
Inner_Iter
INNER_ITER
RMS_DENSITY
OMP_NUM_THREADS=1
4
未设置到期时间。
未设置依赖项。
删除分支是永久的。虽然已删除的分支在实际被删除前有可能会短时间存在,但这在大多数情况下无法撤销。是否继续?
背景
当前 TGV 的
Unst_Res不能作为可靠的非线性残差或双时间内迭代收敛判据:ComputeUnsteadyResidual在 OpenMP 下使用线程私有向量和标量,最终只有 master 分片进入 MPI 归约;各线程还会竞争写TGV_Unsteady_Residual。LinSysRes与更新后的守恒量组合,状态时刻不一致。INNER_ITER=5、CONV_STARTITER=5固定跑满五轮,没有基于聚合非线性残差的提前结束。相关入口:
SU2_CFD/include/solvers/CFVMFlowSolverBase.inl::ComputeUnsteadyResidualSU2_CFD/include/solvers/CFVMFlowSolverBase.inl::ImplicitEuler_IterationSU2_CFD/src/iteration/CFluidIteration.cpp的 inner-iteration 循环与收敛判断bscc-m9-hq53目标
把“残差定义、并行聚合、history 输出、收敛判断”作为一件事完成:
W上计算残差与归一化分母,不混用更新前 RHS 和更新后解。Inner_Iter的可配置提前收敛判据;INNER_ITER仍是上限,未达到阈值时必须跑到上限。设计约束
RMS_DENSITY等单一守恒分量冒充全系统聚合残差。Unst_Res的兼容或替换策略需在实现前确定。验收条件
OMP_NUM_THREADS=1与4的残差时间序列在浮点容差内一致,无数据竞态。Inner_Iter追踪。INNER_ITER上限控制。