C++ mpi module for stochmagnet_main Package
SMOMPI_HeunSystem.h
1 #ifndef SMOMPI_HeunSystem_H
2 #define SMOMPI_HeunSystem_H
3 
4 //super class header
5 #include "SMOMPI_LandauLifschitzSystem.h"
6 
7 
28 
29  //attributes
30 private :
31  SM_RealField mDeltaSc;//corrector dS
32  SM_RealField mSp;//predicted S
33 
34 public:
35  // CONSTRUCTORS
39  //store the brownian field
41  }
42 
43  // DESTRUCTORS
46  virtual ~SMOMPI_HeunSystem(void) {
47  }
48 
49 public :
50 
54  inline static CORE_UniquePointer<SMOMPI_HeunSystem> New() {
55  return CORE_UniquePointer<SMOMPI_HeunSystem>(new SMOMPI_HeunSystem(),
57  }
58 
59  //MEMORY
60 
74  virtual tMemSize getMemorySize() const {
75  return sizeof(*this)+getContentsMemorySize();
76  }
77 
86  virtual tMemSize getContentsMemorySize() const {
88  mem+=mDeltaSc.getContentsMemorySize();
89  mem+=mSp.getContentsMemorySize();
90  return mem;
91  }
92 public:
93 
94 
95 public:
99  virtual void discretize() override;
100 
101 
102 
103 public:
104 
110  void computeFixedBrownianVariationMagneticField(const tReal& dt,const SM_RealField& dWt,SM_RealField& H) const;
111 
124  virtual tBoolean computeMagneticMomentDirectionsAtNextTimeStep(const tReal& dt,
125  const tReal& epsilon_t,
126  const SM_RealField& deltaSp,
127  SM_RealField& St) final;
128 private:
129 
130 
131 
132 };
133 
134 
135 #endif
virtual tMemSize getContentsMemorySize() const override
return the memory size of the included associations
Definition: CORE_Field.h:102
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class implements the Heun algorithm:
Definition: SMOMPI_HeunSystem.h:27
void computeFixedBrownianVariationMagneticField(const tReal &dt, const SM_RealField &dWt, SM_RealField &H) const
computes
Definition: SMOMPI_HeunSystem.cpp:19
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SMOMPI_HeunSystem.h:86
static CORE_UniquePointer< SMOMPI_HeunSystem > New()
build a new instance of a system
Definition: SMOMPI_HeunSystem.h:54
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SMOMPI_HeunSystem.h:74
virtual tBoolean computeMagneticMomentDirectionsAtNextTimeStep(const tReal &dt, const tReal &epsilon_t, const SM_RealField &deltaSp, SM_RealField &St) final
compute direction of magnetic moments at next time step
Definition: SMOMPI_HeunSystem.cpp:57
SMOMPI_HeunSystem(void)
create a class
Definition: SMOMPI_HeunSystem.h:38
virtual ~SMOMPI_HeunSystem(void)
destroy the class
Definition: SMOMPI_HeunSystem.h:46
virtual void discretize() override
discretize the system It computes the Stratonovich constant depending on the parameters of the Landau...
Definition: SMOMPI_HeunSystem.cpp:7
This class describes an MPI implementation of SM_LandauLifschitzSystem.
Definition: SMOMPI_LandauLifschitzSystem.h:18
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_LandauLifschitzSystem.h:160
void setIsRealBrownianVariable(const tBoolean &v)
set if the brownian variable is a field or a real
Definition: SM_LandauLifschitzSystem.h:393