From 51eaa263f14767e2b9824b69ee0dbb8c44eb2b59 Mon Sep 17 00:00:00 2001 From: lvjunjie Date: Tue, 25 Aug 2026 16:35:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B8=97=E9=80=8F=E7=8E=87?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F=E8=8C=83=E5=9B=B4=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?PSO=E7=AE=97=E6=B3=95=E6=97=A0=E6=B3=95=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/nmNum/nmCalculation/nmCalculationAutoFitPSO.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Src/nmNum/nmCalculation/nmCalculationAutoFitPSO.cpp b/Src/nmNum/nmCalculation/nmCalculationAutoFitPSO.cpp index bb098bb..6d5ee8f 100644 --- a/Src/nmNum/nmCalculation/nmCalculationAutoFitPSO.cpp +++ b/Src/nmNum/nmCalculation/nmCalculationAutoFitPSO.cpp @@ -62,10 +62,10 @@ static const unsigned int kFixedPsoSeed = 1792008679u; // 当前固定 // ===== 代理模型训练域约束 ===== // // 这些范围必须与 ML/nmWTAI-ML/configs/data_gen_family_random_v2_q.yaml 中的 -// 数据生成范围保持一致。超出范围时,C++ 侧会强制退回真实求解器,避免代理模型 -// 在训练域外给出不可靠排序。 -static const double kSurrogateKMin = 1.0e-3; // 代理模型训练域:渗透率下界。 -static const double kSurrogateKMax = 10.0; // 代理模型训练域:渗透率上界。 +// 数据生成范围保持一致。PSO 中渗透率使用 mD,因此将训练配置中的 Darcy 范围 +// 乘以 1000 后再门控;超出范围时强制退回真实求解器。 +static const double kSurrogateKMin = 1.0; // 代理模型训练域:渗透率下界,单位 mD。 +static const double kSurrogateKMax = 10000.0; // 代理模型训练域:渗透率上界,单位 mD。 static const double kSurrogateSkinMin = -10.0; // 代理模型训练域:skin 下界。 static const double kSurrogateSkinMax = 10.0; // 代理模型训练域:skin 上界。 static const double kSurrogateWellboreCMin = 1.0e-4; // 代理模型训练域:井筒储集下界。 @@ -192,8 +192,8 @@ static bool getSurrogateParameterDomain(NM_SOLVER_MODEL_TYPE solverModelType, Su return true; case SMT_Gas_VariablePvt: - domain->kMin = 4.5e-6; - domain->kMax = 6.2e-6; + domain->kMin = 4.5e-3; + domain->kMax = 6.2e-3; domain->skinMin = 0.0; domain->skinMax = 4.5; domain->wellboreCMin = 5.0e-5;