1 #ifndef EMM_LandauLifschitzRelaxation_H 2 #define EMM_LandauLifschitzRelaxation_H 53 SP::EMM_RealField
mMt;
57 SP::EMM_RealField
mHt;
97 mTimeIntegrationOrder=order;
174 mTimeIntegrationOrder,
virtual void integrate(const tBoolean &isRestoring, tSInt &retCode)
solve the system
Definition: EMM_LandauLifschitzRelaxation.h:258
EMM_RealField & getMagneticExcitationFieldAtTime() const
get the temporary magnetic excitation field at t
Definition: EMM_LandauLifschitzRelaxation.h:142
virtual const tUInteger & getTimeStepsNumber() const
return the computed time steps
Definition: EMM_LandauLifschitzRelaxation.h:110
EMM_LandauLifschitzRelaxation(void)
create the class
Definition: EMM_LandauLifschitzRelaxation.cpp:14
tBoolean computeMagnetizationFieldAtTime(const tReal &dt, EMM_RealField &Mt)
compute the fields of all operators at time
Definition: EMM_LandauLifschitzRelaxation.h:191
#define tUInteger
Definition: types.h:91
SP::EMM_RealField mHt
Definition: EMM_LandauLifschitzRelaxation.h:57
#define tUCInt
Definition: types.h:21
virtual ~EMM_LandauLifschitzRelaxation(void)
destroy the class
Definition: EMM_LandauLifschitzRelaxation.cpp:51
#define tBoolean
Definition: types.h:139
tReal computeEnergyTimeDerivativeAtTime(const tReal &t, const tFlag &order, tReal &dE_dt)
compute 0-th time derivative and first time derivative of the energy used in EMM_QuasiNewtonIterative...
Definition: EMM_LandauLifschitzRelaxation.cpp:102
virtual const tReal & getTimeStep() const
return the current time step
Definition: EMM_LandauLifschitzRelaxation.h:122
EMM_RealField & getMagnetizationFieldAtTime() const
get the temporary magnetization field at t
Definition: EMM_LandauLifschitzRelaxation.h:136
const EMM_RealArray & getSigma() const
get the sigma parameters
Definition: EMM_LandauLifschitzSystem.h:643
const tUCInt & getTimeIntegrationOrder() const
get the time integration order
Definition: EMM_LandauLifschitzRelaxation.h:103
tUInteger mTimeStep
Definition: EMM_LandauLifschitzRelaxation.h:48
tReal mDt
Definition: EMM_LandauLifschitzRelaxation.h:49
#define tSInt
Definition: types.h:30
SP_OBJECT(EMM_LandauLifschitzRelaxation)
tBoolean integrateMagnetizationFieldAtTime(const tReal &t, EMM_RealField &Mt)
integrate the magnetization field at time t from time and derivative field at time 0 ...
Definition: EMM_LandauLifschitzRelaxation.h:171
This class describes a resolution of landau-lifschitz system of the Core Package for E-MicroM...
Definition: EMM_LandauLifschitzSystem.h:88
tReal mT
Definition: EMM_LandauLifschitzRelaxation.h:50
virtual tBoolean integrateMagnetizationFieldAtTime(const tReal &t, const tFlag &order, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0, EMM_RealField &Mt)=0
integrate the magnetization field at time t from time and derivative field at time 0 ...
This class describes a real array.
Definition: EMM_RealArray.h:16
virtual const tReal & getTime() const
return the current time
Definition: EMM_LandauLifschitzRelaxation.h:116
This class describes a resolution of landau-lifschitz system of the Core Package for E-MicroM...
Definition: EMM_LandauLifschitzRelaxation.h:32
virtual void normalize()=0
normalize the field
void computeFieldsAtTime(const tReal &t, const tFlag &order, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0, EMM_RealField &Mt)
compute the fields of all operators and the magnetization field at time t
Definition: EMM_LandauLifschitzRelaxation.cpp:167
const EMM_RealField & getMagnetizationFieldTimeDerivative() const
get the magnetization variation field with respect to time at time 0 of the current time step ...
Definition: EMM_LandauLifschitzSystem.h:630
tReal computeEnergyAtTime(const tReal &t, const tFlag &order)
compute energy for t in [0,dt[ where dt will be the next time step used in EMM_IterativeTime::compute...
Definition: EMM_LandauLifschitzRelaxation.cpp:61
void makeRelaxation(const tBoolean &isRestoring, tSInt &retCode)
compute the relaxation
Definition: EMM_LandauLifschitzRelaxation.cpp:240
void setTimeIntegrationOrder(const int &order)
set the time integration order
Definition: EMM_LandauLifschitzRelaxation.h:96
This class describes a real field.
Definition: EMM_RealField.h:21
SP::EMM_RealField mMt
Definition: EMM_LandauLifschitzRelaxation.h:53
const EMM_RealField & getMagnetizationField() const
return the adimensionized magnetisation field associated to the problem for reading at time 0 of the ...
Definition: EMM_LandauLifschitzSystem.h:616
#define tReal
Definition: types.h:118
DEFINE_SPTR(EMM_LandauLifschitzRelaxation)
tUCInt mTimeIntegrationOrder
Definition: EMM_LandauLifschitzRelaxation.h:45
#define tFlag
Definition: types.h:74