diff options
Diffstat (limited to 'openEMS/openems.cpp')
-rw-r--r-- | openEMS/openems.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/openEMS/openems.cpp b/openEMS/openems.cpp index 1d08ef7..4e32bf8 100644 --- a/openEMS/openems.cpp +++ b/openEMS/openems.cpp @@ -182,13 +182,13 @@ bool openEMS::parseCommandLineArgument( const char *argv ) else if (strcmp(argv,"--debug-PEC")==0) { cout << "openEMS - dumping PEC info to 'PEC_dump.vtk'" << endl; - m_debugPEC = true; + DebugPEC(); return true; } else if (strcmp(argv,"--debug-CSX")==0) { cout << "openEMS - dumping CSX geometry to 'debugCSX.xml'" << endl; - m_debugCSX = true; + DebugCSX(); return true; } else if (strcmp(argv,"--engine=basic")==0) @@ -217,7 +217,7 @@ bool openEMS::parseCommandLineArgument( const char *argv ) } else if (strncmp(argv,"--numThreads=",13)==0) { - m_engine_numThreads = atoi(argv+13); + this->SetNumberOfThreads(atoi(argv+13)); cout << "openEMS - fixed number of threads: " << m_engine_numThreads << endl; return true; } @@ -284,7 +284,7 @@ void openEMS::WelcomeScreen() cout << " ---------------------------------------------------------------------- " << endl; cout << " | openEMS " << bits << " -- version " GIT_VERSION << endl; - cout << " | (C) 2010-2016 Thorsten Liebig <thorsten.liebig@gmx.de> GPL license" << endl; + cout << " | (C) 2010-2018 Thorsten Liebig <thorsten.liebig@gmx.de> GPL license" << endl; cout << " ---------------------------------------------------------------------- " << endl; cout << openEMS::GetExtLibsInfo("\t") << endl; } @@ -472,9 +472,9 @@ bool openEMS::SetupProcessing() CSPropDumpBox* db = DumpProps.at(i)->ToDumpBox(); if (db) { - if ((db->GetDumpType()>=0) && (db->GetDumpType()<=3)) + if ((db->GetDumpType()>=0) && (db->GetDumpType()<=5)) ProcField = new ProcessFieldsTD(NewEngineInterface(db->GetMultiGridLevel())); - else if ((db->GetDumpType()>=10) && (db->GetDumpType()<=13)) + else if ((db->GetDumpType()>=10) && (db->GetDumpType()<=15)) ProcField = new ProcessFieldsFD(NewEngineInterface(db->GetMultiGridLevel())); else if ( ((db->GetDumpType()>=20) && (db->GetDumpType()<=22)) || (db->GetDumpType()==29) ) { @@ -518,8 +518,12 @@ bool openEMS::SetupProcessing() ProcField->SetDumpType(ProcessFields::SAR_RAW_DATA); //SetupMaterialStorages() has previewed storage needs... refresh here to prevent cleanup!!! - if ( ProcField->NeedConductivity() && Enable_Dumps ) + if ( ProcField->NeedPermittivity() && Enable_Dumps) + FDTD_Op->SetMaterialStoreFlags(0,true); + if ( ProcField->NeedConductivity() && Enable_Dumps) FDTD_Op->SetMaterialStoreFlags(1,true); + if ( ProcField->NeedPermeability() && Enable_Dumps) + FDTD_Op->SetMaterialStoreFlags(2,true); ProcField->SetDumpMode((Engine_Interface_Base::InterpolationType)db->GetDumpMode()); ProcField->SetFileType((ProcessFields::FileType)db->GetFileType()); @@ -567,6 +571,10 @@ bool openEMS::SetupMaterialStorages() (db->GetDumpType()==20) || (db->GetDumpType()==21) || (db->GetDumpType()==22)) && // SAR dump types Enable_Dumps ) FDTD_Op->SetMaterialStoreFlags(1,true); //tell operator to store kappa material data + if ( ((db->GetDumpType()==4) || (db->GetDumpType()==14)) || Enable_Dumps) // electric flux density storage + FDTD_Op->SetMaterialStoreFlags(0,true); //tell operator to store epsR material data + if ( ((db->GetDumpType()==5) || (db->GetDumpType()==15)) || Enable_Dumps) // magnetic flux density storage + FDTD_Op->SetMaterialStoreFlags(2,true); //tell operator to store mueR material data } return true; } |