1 #ifndef EMM_ODETimeStep_H 2 #define EMM_ODETimeStep_H 47 SP::EMM_RealField
mMt;
74 static inline SP::EMM_ODETimeStep
New() {
DEFINE_SPTR(EMM_ODETimeStep)
void setErrorNorm(const tString &n)
set the error norm in
Definition: EMM_ODETimeStep.h:114
#define tUInteger
Definition: types.h:91
static SP::EMM_ODETimeStep New()
build a shared pointer associated to the class
Definition: EMM_ODETimeStep.h:74
virtual tBoolean isSystemCompatible(SPC::EMM_LandauLifschitzSystem system) const
return true if the system is compatible
Definition: EMM_ODETimeStep.cpp:33
tReal mT
Definition: EMM_ODETimeStep.h:42
virtual ~EMM_ODETimeStep(void)
destroy
Definition: EMM_ODETimeStep.cpp:31
static const tFlag LINF_NORM
Definition: EMM_ODETimeStep.h:23
tReal mTolerance
Definition: EMM_ODETimeStep.h:31
#define tUSInt
Definition: types.h:28
#define tBoolean
Definition: types.h:139
tFlag mErrorNorm
Definition: EMM_ODETimeStep.h:33
const tFlag & getErrorNorm() const
get the error norm in {L2_NORM,LINF_NORM}
Definition: EMM_ODETimeStep.h:121
tUSInt mIterationsNumber
Definition: EMM_ODETimeStep.h:29
void setMaximumIterationsNumber(const tUSInt &n)
set the max iterations number for computing a new time step
Definition: EMM_ODETimeStep.h:92
void setErrorNorm(const tFlag &n)
set the error norm in
Definition: EMM_ODETimeStep.h:106
SP::EMM_RealField mMt
Definition: EMM_ODETimeStep.h:47
virtual tBoolean computeNewTimeStep(tReal &dt)
compute the new time step
Definition: EMM_ODETimeStep.cpp:39
const EMM_RealField & getMagnetizationFieldAtTime(tReal &t) const
get the temporary magnetization field at t
Definition: EMM_ODETimeStep.h:130
tUInteger mEvaluationsNumber
Definition: EMM_ODETimeStep.h:39
EMM_ODETimeStep(void)
create
Definition: EMM_ODETimeStep.cpp:8
SP_OBJECT(EMM_ODETimeStep)
const tReal & getError() const
get the current error of the estimation
Definition: EMM_ODETimeStep.h:138
#define tString
Definition: types.h:135
static const tFlag L2_NORM
Definition: EMM_ODETimeStep.h:22
void setMaximumError(const tReal &tol)
set the tolerance error to compute a new time step
Definition: EMM_ODETimeStep.h:98
This class describes a real field.
Definition: EMM_RealField.h:21
This class describes an ODE Time step.
Definition: EMM_ODETimeStep.h:15
#define tReal
Definition: types.h:118
tReal mError
Definition: EMM_ODETimeStep.h:36
This class describes a regular time.
Definition: EMM_RegularTimeStep.h:15
const tUInteger & getEvaluationsNumber() const
get the number of Landau Lifschitz function call
Definition: EMM_ODETimeStep.h:144
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141
#define tFlag
Definition: types.h:74