From 2fbb8ffdf5546d43b3c53191168bf263ab7d08a8 Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Wed, 5 Jan 2011 12:11:59 +0100 Subject: [PATCH] mesh fix in not interpolated H-field dumps --- Common/processfields.cpp | 3 ++- openems.cpp | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Common/processfields.cpp b/Common/processfields.cpp index 938249c..88663e5 100644 --- a/Common/processfields.cpp +++ b/Common/processfields.cpp @@ -77,8 +77,9 @@ void ProcessFields::SetDumpMode(Engine_Interface_Base::InterpolationType mode) m_Eng_Interface->SetInterpolationType(mode); if (mode==Engine_Interface_Base::CELL_INTERPOLATE) m_dualMesh=true; - else + else if (mode==Engine_Interface_Base::NODE_INTERPOLATE) m_dualMesh=false; + //else keep the preset/user defined case } void ProcessFields::DefineStartStopCoord(double* dstart, double* dstop) diff --git a/openems.cpp b/openems.cpp index 60944c1..49ec04e 100644 --- a/openems.cpp +++ b/openems.cpp @@ -540,7 +540,11 @@ int openEMS::SetupFDTD(const char* file) ProcField->SetEnable(Enable_Dumps); ProcField->SetProcessInterval(Nyquist/m_OverSampling); if ((db->GetDumpType()==1) || (db->GetDumpType()==11)) + { ProcField->SetDualTime(true); + //make dualMesh the default mesh for h-field dumps, maybe overwritten by interpolation type (node-interpolation) + ProcField->SetDualMesh(true); + } if ((db->GetDumpType()==10) || (db->GetDumpType()==11)) ProcField->AddFrequency(db->GetFDSamples()); if (db->GetDumpType()>=10)