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());