From 8d807413c4dbd570f75bf9af9e931fe9e00a2850 Mon Sep 17 00:00:00 2001 From: lvjunjie Date: Tue, 22 Sep 2026 10:41:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(nmNum):=20=E5=8F=96=E6=B6=88=E9=AB=98?= =?UTF-8?q?=E5=BA=A6=E8=B0=83=E6=95=B4=E6=AC=A1=E6=95=B0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bin/Config/Lang/cn/nmNum_cn.qm | Bin 147243 -> 147327 bytes Bin/Config/Lang/cn/nmNum_cn.ts | 8 ++++---- .../nmCalculation/nmCalculationAutoFitLM.cpp | 11 +++++------ 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Bin/Config/Lang/cn/nmNum_cn.qm b/Bin/Config/Lang/cn/nmNum_cn.qm index a0b706a0031440ddad072be980c7a0d71e81241e..3cf81428bf4af72037805cfb519fd4178f06df91 100644 GIT binary patch delta 13811 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 delta 13707 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 diff --git a/Bin/Config/Lang/cn/nmNum_cn.ts b/Bin/Config/Lang/cn/nmNum_cn.ts index 623ec74d..6759fa7a 100644 --- a/Bin/Config/Lang/cn/nmNum_cn.ts +++ b/Bin/Config/Lang/cn/nmNum_cn.ts @@ -1113,8 +1113,8 @@ Reason: %1 目标井名称为空 - LM stage 1: align curve height using permeability only (up to %1 evaluations). - LM 阶段一:仅调整渗透率对齐曲线高度(最多求解 %1 次)。 + LM stage 1: align curve height using permeability only; no fixed evaluation limit, effective improvement threshold 10%. + LM 阶段一:仅调整渗透率对齐曲线高度,不限制试算次数,有效改善门槛为 10%。 Permeability alignment: k=%1, height error=%2, shape error=%3, result=%4 @@ -1141,8 +1141,8 @@ Reason: %1 渗透率高度对齐结束:%1 - height evaluation budget reached - 达到高度调整求解预算 + no feasible permeability step or step too small + 无可行的渗透率调整步或步长过小 stopped by user diff --git a/Src/nmNum/nmCalculation/nmCalculationAutoFitLM.cpp b/Src/nmNum/nmCalculation/nmCalculationAutoFitLM.cpp index 55d8c7a6..e3f6579b 100644 --- a/Src/nmNum/nmCalculation/nmCalculationAutoFitLM.cpp +++ b/Src/nmNum/nmCalculation/nmCalculationAutoFitLM.cpp @@ -2087,15 +2087,14 @@ StopReasonLM nmCalculationAutoFitLM::runTrustRegionFitting() // 高度预调整只改变用户勾选的渗透率。ln(k) 的初始变化由有符号高度差 // 给出,真实求解后用割线估计修正;拒绝时缩步,不让其他参数补偿高度。 const int permeabilityColumn = m_enabledParamIndices.indexOf(0); - const int heightBudget = qMin(4, qMax(0, (maximumEvaluations - m_totalEvaluations - dimensions - 2) / 6)); double heightBaseline = current.breakdown.verticalLoss; int heightStagnation = 0; double heightScale = 1.0; double heightSlope = -1.0; if(permeabilityColumn >= 0) { - emit logMessageGenerated(tr("LM stage 1: align curve height using permeability only (up to %1 evaluations).") - .arg(heightBudget)); - for(int trial = 0; trial < heightBudget && processPauseAndStop(); ++trial) { + emit logMessageGenerated(tr("LM stage 1: align curve height using permeability only; no fixed evaluation limit, effective improvement threshold 10%.")); + // 不限制试算次数,由高度对齐、改善停滞及可行步长决定何时结束。 + while(processPauseAndStop()) { const double bias = current.breakdown.verticalCommonBias; if(!current.breakdown.verticalReliable || qAbs(bias) <= 0.01 || heightStagnation >= 2) break; const double k = current.parameters[permeabilityColumn]; @@ -2127,7 +2126,7 @@ StopReasonLM nmCalculationAutoFitLM::runTrustRegionFitting() heightScale *= 0.5; } restoreEvaluationState(current); - if(heightBaseline - current.breakdown.verticalLoss >= qMax(1.0e-4, 0.01 * heightBaseline)) { + if(heightBaseline - current.breakdown.verticalLoss >= qMax(1.0e-4, 0.10 * heightBaseline)) { heightBaseline = current.breakdown.verticalLoss; heightStagnation = 0; } else ++heightStagnation; @@ -2136,7 +2135,7 @@ StopReasonLM nmCalculationAutoFitLM::runTrustRegionFitting() .arg(candidate.breakdown.verticalLoss, 0, 'e', 4).arg(candidate.breakdown.shapeLoss, 0, 'e', 4) .arg(accepted ? tr("accepted") : tr("rejected"))); } - QString heightReason = tr("height evaluation budget reached"); + QString heightReason = tr("no feasible permeability step or step too small"); if(m_shouldStop) heightReason = tr("stopped by user"); else if(!current.breakdown.verticalReliable) heightReason = tr("pressure and derivative height directions conflict"); else if(current.breakdown.verticalLoss <= 0.01) heightReason = tr("curve height is approximately aligned");