summaryrefslogtreecommitdiff
path: root/openEMS/openems.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'openEMS/openems.cpp')
-rw-r--r--openEMS/openems.cpp22
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;
}