From d9a58912d045b990882dbe243bddaaf60e8e150c Mon Sep 17 00:00:00 2001 From: Sebastian Held Date: Mon, 16 Aug 2010 23:17:19 +0200 Subject: [PATCH] new command line switch: --no-simulation This allows to run only the debug functions (and some time later also export functions: x3d, pov, ...) --- main.cpp | 1 + openems.cpp | 12 +++++++++++- openems.h | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/main.cpp b/main.cpp index 28d975c..261efad 100644 --- a/main.cpp +++ b/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) cout << "\t\t--engine=sse_compressed\t\tengine using compressed operator + sse vector extensions" << endl; cout << "\t\t--engine=multithreaded\t\tengine using compressed operator + sse vector extensions + multithreading" << endl; cout << "\t--numThreads=\tForce use n threads for multithreaded engine (needs: --engine=multithreaded)" << endl; + cout << "\t--no-simulation\tonly run preprocessing; do not simulate" << endl; cout << endl; exit(-1); } diff --git a/openems.cpp b/openems.cpp index 50caa4e..21b6d1d 100644 --- a/openems.cpp +++ b/openems.cpp @@ -54,7 +54,7 @@ openEMS::openEMS() DebugMat = false; DebugOp = false; m_debugCSX = false; - m_debugBox = m_debugPEC = false; + m_debugBox = m_debugPEC = m_no_simulation = false; endCrit = 1e-6; m_OverSampling = 4; @@ -149,6 +149,12 @@ bool openEMS::parseCommandLineArgument( const char *argv ) m_engine = EngineType_Multithreaded; return true; } + else if (strcmp(argv,"--no-simulation")==0) + { + cout << "openEMS - disabling simulation => preprocessing only" << endl; + m_no_simulation = true; + return true; + } return false; } @@ -253,6 +259,10 @@ int openEMS::SetupFDTD(const char* file) else NrTS = help; + // if the command line switch --no-simulation is used, fix NrTS + if (m_no_simulation) + NrTS = 0; + help = 0; FDTD_Opts->QueryIntAttribute("CylinderCoords",&help); if (help==1) diff --git a/openems.h b/openems.h index eae1bc7..8f67a0c 100644 --- a/openems.h +++ b/openems.h @@ -53,7 +53,7 @@ protected: bool DebugMat; bool DebugOp; bool m_debugCSX; - bool m_debugBox, m_debugPEC; + bool m_debugBox, m_debugPEC, m_no_simulation; double endCrit; int m_OverSampling; Operator* FDTD_Op;