From 95ec8e7486dd93f2d26d5e03753908c78e15431e Mon Sep 17 00:00:00 2001 From: lvjunjie Date: Fri, 5 Jun 2026 16:58:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=8F=82=E6=95=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ML/Training/Runner/runner_main.cpp | 26 ++++++++++++-------------- Src/nmNum/nmData/nmDataReservoir.cpp | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/ML/Training/Runner/runner_main.cpp b/ML/Training/Runner/runner_main.cpp index c29f7e2..a8202c1 100644 --- a/ML/Training/Runner/runner_main.cpp +++ b/ML/Training/Runner/runner_main.cpp @@ -360,20 +360,18 @@ int main(int argc, char** argv) return runServer(argv[2], argv[3], argv[4]); } - // 默认单次模式 - std::string dataDir = exeDir + "\\..\\..\\nmWTAI-ML\\data\\temp"; - - std::string datasetPath = dataDir + "\\dataset.bin"; - std::string paramsPath = dataDir + "\\params.bin"; - std::string resultPath = dataDir + "\\result.bin"; - std::string dllPath = exeDir + "\\HX_NWTM.dll"; - std::string licPath = exeDir + "\\..\\..\\..\\Bin\\Res\\license\\HXNWTM_license.dat"; - - if (argc >= 2) datasetPath = argv[1]; - if (argc >= 3) paramsPath = argv[2]; - if (argc >= 4) resultPath = argv[3]; - if (argc >= 5) dllPath = argv[4]; - if (argc >= 6) licPath = argv[5]; + // Single-run mode requires explicit paths. Do not fall back to exeDir\\HX_NWTM.dll, + // because Runner and HX_NWTM.dll must be built against the same PEBI header version. + if (argc < 6) { + std::cerr << "Usage: runner.exe \n"; + return 2; + } + + std::string datasetPath = argv[1]; + std::string paramsPath = argv[2]; + std::string resultPath = argv[3]; + std::string dllPath = argv[4]; + std::string licPath = argv[5]; if (!fileExistsA(datasetPath)) { std::cerr << "ERROR: dataset not found\n"; return 10; } if (!fileExistsA(paramsPath)) { std::cerr << "ERROR: params not found\n"; return 11; } diff --git a/Src/nmNum/nmData/nmDataReservoir.cpp b/Src/nmNum/nmData/nmDataReservoir.cpp index 4432c88..f6028bf 100644 --- a/Src/nmNum/nmData/nmDataReservoir.cpp +++ b/Src/nmNum/nmData/nmDataReservoir.cpp @@ -5,7 +5,7 @@ nmDataReservoir::nmDataReservoir() { m_initialPressure = nmDataAttribute("Initial Pressure",40.0, "MPa", UNIT_TYPE_PRESSURE, QStringList(), QStringList() << "psia" << "Pa" << "kPa" << "atm" << "bara" << "kg/cm^2" << "m" << "psig" << "bar" << "MPa" << "kPag"); m_reservoirType = nmDataAttribute("Reservoir type", "Homogeneous", "", UNIT_TYPE_DIMENSIONLESS, QStringList() << "Homogeneous" << "Dual porosity pseudo steady state", QStringList()); m_Bo = nmDataAttribute("Bo", 1.2, ""); - m_permeability = nmDataAttribute("Permeability", 0.001, "Darcy", UNIT_TYPE_PERMEABILITY, QStringList(), QStringList() << "md" << "Darcy" << "m^2" << "cm^2" << "um^2"); + m_permeability = nmDataAttribute("Permeability", 0.025, "Darcy", UNIT_TYPE_PERMEABILITY, QStringList(), QStringList() << "md" << "Darcy" << "m^2" << "cm^2" << "um^2"); m_thickness = nmDataAttribute("Thickness", 10.0, "m", UNIT_TYPE_LENGTH, QStringList(), QStringList() << "ft" << "m" << "cm" << "mm" << "in" << "0.1 in" << "mile" << "km"); m_porosity = nmDataAttribute("Porosity", 0.1, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList()); m_Ct = nmDataAttribute("Ct", 0.001, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList());