C++ mpi module for stochmagnet_main Package
SMOMPI_StratonovichNormalizedSystem.h
1 #ifndef SMOMPI_StratonovichNormalizedSystem_H
2 #define SMOMPI_StratonovichNormalizedSystem_H
3 
4 
5 //super class header
6 #include "SMOMPI_LandauLifschitzSystem.h"
7 
8 
16 
17  //attributes
18 private :
19 
20 
21 
22  tReal mK;//the stratonovich constant for LL function
23 
24 public:
25  // CONSTRUCTORS
29 
30  }
31 
32  // DESTRUCTORS
36  }
37 
38 
39 public :
40 
44  inline static CORE_UniquePointer<SMOMPI_StratonovichNormalizedSystem> New() {
45  return CORE_UniquePointer<SMOMPI_StratonovichNormalizedSystem>(new SMOMPI_StratonovichNormalizedSystem(),
47  }
48 
49  //MEMORY
50 
64  virtual tMemSize getMemorySize() const {
65  return sizeof(*this)+getContentsMemorySize();
66  }
67 
68 
69 public:
70 
75  inline const tReal& getK() const {
76  return mK;
77  }
78 
79 public:
83  virtual void discretize() override {
86  const tReal& alpha=ll.getAlpha();
87  const tReal& lambda=ll.getLambda();
88  mK=alpha*alpha*(1+lambda*lambda);
89 
90  }
91 
92 
93 
94 public:
95 
96 
109  virtual tBoolean computeMagneticMomentDirectionsAtNextTimeStep(const tReal& dt,const tReal& epsilon_t,
110  const SM_RealField& deltaSt,
111  SM_RealField& St) final;
112 
113 };
114 
115 
116 #endif
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
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: SMOMPI_LandauLifschitzSystem.h:76
void discretize() override
discretize the fields
Definition: SMOMPI_LandauLifschitzSystem.cpp:23
This class is a simulation of one trajectory class for Stoch Microm package based on Stratonovich sys...
Definition: SMOMPI_StratonovichNormalizedSystem.h:15
virtual tBoolean computeMagneticMomentDirectionsAtNextTimeStep(const tReal &dt, const tReal &epsilon_t, const SM_RealField &deltaSt, SM_RealField &St) final
compute direction of magnetic moments at next time step
Definition: SMOMPI_StratonovichNormalizedSystem.cpp:6
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SMOMPI_StratonovichNormalizedSystem.h:64
static CORE_UniquePointer< SMOMPI_StratonovichNormalizedSystem > New()
build a new instance of a system
Definition: SMOMPI_StratonovichNormalizedSystem.h:44
virtual ~SMOMPI_StratonovichNormalizedSystem(void)
destroy the class
Definition: SMOMPI_StratonovichNormalizedSystem.h:35
const tReal & getK() const
return the stratonovich constant
Definition: SMOMPI_StratonovichNormalizedSystem.h:75
virtual void discretize() override
discretize the system It computes the Stratonovich constant depending on the parameters of the Landau...
Definition: SMOMPI_StratonovichNormalizedSystem.h:83
SMOMPI_StratonovichNormalizedSystem(void)
create a class
Definition: SMOMPI_StratonovichNormalizedSystem.h:28
This class describes a landau lifschitz function of the form :
Definition: SM_LandauLifschitzFunction.h:30
const tReal & getLambda() const
get the lambda parameter
Definition: SM_LandauLifschitzFunction.h:201
const tReal & getAlpha() const
get the alpha parameter
Definition: SM_LandauLifschitzFunction.h:194
const SM_LandauLifschitzFunction & getLandauLifschitzFunction() const
get the Landau Lifschitz function return the Landau lifschitz function for reading
Definition: SM_LandauLifschitzSystem.h:423