From c5a689b67ce590d125ad01f4cfc6a0c2204f386b Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Mon, 10 Jan 2011 11:14:23 +0100 Subject: [PATCH] fixed GetRawField handling --- FDTD/engine_interface_fdtd.cpp | 12 ++++++------ FDTD/engine_interface_fdtd.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/FDTD/engine_interface_fdtd.cpp b/FDTD/engine_interface_fdtd.cpp index 994fa1a..1f83a03 100644 --- a/FDTD/engine_interface_fdtd.cpp +++ b/FDTD/engine_interface_fdtd.cpp @@ -53,7 +53,7 @@ double* Engine_Interface_FDTD::GetRawInterpolatedField(const unsigned int* pos, for (int n=0; n<3; ++n) { delta = m_Op->GetEdgeLength(n,iPos); - out[n] = GetRawField(n,iPos); + out[n] = GetRawField(n,iPos,type); if (delta==0) { out[n]=0; @@ -67,7 +67,7 @@ double* Engine_Interface_FDTD::GetRawInterpolatedField(const unsigned int* pos, --iPos[n]; double deltaDown = m_Op->GetEdgeLength(n,iPos); double deltaRel = delta / (delta+deltaDown); - out[n] = out[n]*(1.0-deltaRel) + (double)GetRawField(n,iPos)*deltaRel; + out[n] = out[n]*(1.0-deltaRel) + (double)GetRawField(n,iPos,type)*deltaRel; ++iPos[n]; } break; @@ -81,13 +81,13 @@ double* Engine_Interface_FDTD::GetRawInterpolatedField(const unsigned int* pos, out[n] = 0; //electric field outside the field domain is always zero continue; } - out[n]=GetRawField(n,iPos); + out[n]=GetRawField(n,iPos,type); ++iPos[nP]; - out[n]+=GetRawField(n,iPos); + out[n]+=GetRawField(n,iPos,type); ++iPos[nPP]; - out[n]+=GetRawField(n,iPos); + out[n]+=GetRawField(n,iPos,type); --iPos[nP]; - out[n]+=GetRawField(n,iPos); + out[n]+=GetRawField(n,iPos,type); --iPos[nPP]; out[n]/=4; } diff --git a/FDTD/engine_interface_fdtd.h b/FDTD/engine_interface_fdtd.h index a725019..4da9ad6 100644 --- a/FDTD/engine_interface_fdtd.h +++ b/FDTD/engine_interface_fdtd.h @@ -53,8 +53,8 @@ protected: Operator* m_Op; Engine* m_Eng; - double* GetRawInterpolatedField(const unsigned int* pos, double* out, int type = 0) const; - double GetRawField(unsigned int n, const unsigned int* pos, int type = 0) const; + double* GetRawInterpolatedField(const unsigned int* pos, double* out, int type) const; + double GetRawField(unsigned int n, const unsigned int* pos, int type) const; }; #endif // ENGINE_INTERFACE_FDTD_H