1 #ifndef EMM_SLElementaryDemagnetizedMatrix_H 2 #define EMM_SLElementaryDemagnetizedMatrix_H 54 inline static SP::EMM_SLElementaryDemagnetizedMatrix
New() {
98 static inline tReal integrateKxx(
const int& index,
const int& dx,
const int& dy,
const int& dz,
99 const int& r,
const int& s,
const int& t,
106 work[0]=(m4GaussianPoints[i]-1)/2;
107 work[1]=(m4GaussianPoints[j]-1)/2;
108 work[2]=(m4GaussianPoints[k]-1)/2;
109 int01Kxx+=(m4GaussianWeights[i]*m4GaussianWeights[j]*m4GaussianWeights[k]/8)*
110 Kxx(index,dx,dy,dz,work,r,s,t);
118 const int& r,
const int& s,
const int& t,
125 work[0]=(m4GaussianPoints[i]-1)/2;
126 work[1]=(m4GaussianPoints[j]-1)/2;
127 work[2]=(m4GaussianPoints[k]-1)/2;
128 int01Kxy+=(m4GaussianWeights[i]*m4GaussianWeights[j]*m4GaussianWeights[k]/8)*
129 Kxy(index,dx,dy,dz,work,r,s,t);
148 x[3]=x[k]*sqrt(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]);
152 kxx=-atan(x[(k+1)%3]*x[(k+2)%3]/x[3]);
180 tReal kxy=x[(k+2)%3];
184 kxy+=sqrt(kxy*kxy+x[3]);
186 kxy=log(kxy/sqrt(x[3]));
static tReal integrateKxx(const int &index, const int &dx, const int &dy, const int &dz, const int &r, const int &s, const int &t, tReal work[4])
Definition: EMM_SLElementaryDemagnetizedMatrix.h:98
static tReal Kxy(const int &k, const int &dx, const int &dy, const int &dz, tReal x[4], const int &r, const int &s, const int &t)
Definition: EMM_SLElementaryDemagnetizedMatrix.h:162
tReal KaaG(const int &x, const int &y, const int &z, const int &dx, const int &dy, const int &dz, tBoolean &succeeds) const
compute
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:25
static tReal getRealInfinity()
get the infinity value
Definition: CORE_Object.h:633
EMM_SLElementaryDemagnetizedMatrix(void)
create
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:16
static const tReal m4GaussianPoints[]
Definition: EMM_SLElementaryDemagnetizedMatrix.h:26
tReal KaaDG(const int &dx, const int &dy, const int &dz, tBoolean &suceeds) const
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:225
#define tBoolean
Definition: types.h:139
This class describes gaussian interpolation.
Definition: EMM_SLElementaryDemagnetizedMatrix.h:15
DEFINE_SPTR(EMM_SLElementaryDemagnetizedMatrix)
tReal KabDG(const int &dx, const int &dy, const int &dz, tBoolean &succeeds) const
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:165
static SP::EMM_SLElementaryDemagnetizedMatrix New()
build a new instance of class
Definition: EMM_SLElementaryDemagnetizedMatrix.h:54
abstract base class for most classes.
Definition: CORE_Object.h:53
static tReal Kxx(const int &k, const int &dx, const int &dy, const int &dz, tReal x[4], const int &r, const int &s, const int &t)
Definition: EMM_SLElementaryDemagnetizedMatrix.h:136
SP_OBJECT(EMM_SLElementaryDemagnetizedMatrix)
tReal KabG(const int &x, const int &y, const int &z, const int &dx, const int &dy, const int &dz, tBoolean &succeeds) const
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:98
static tReal integrateKxy(const int &index, const int &dx, const int &dy, const int &dz, const int &r, const int &s, const int &t, tReal work[4])
Definition: EMM_SLElementaryDemagnetizedMatrix.h:117
#define tReal
Definition: types.h:118
static const tReal m4GaussianWeights[]
Definition: EMM_SLElementaryDemagnetizedMatrix.h:25
virtual ~EMM_SLElementaryDemagnetizedMatrix(void)
destroy
Definition: EMM_SLElementaryDemagnetizedMatrix.cpp:20
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141