C++ mpi module for stochmagnet_main Package
SMOMPI_StratonovichSystem.h
1 #ifndef SMOMPI_StratonovichSystem_H
2 #define SMOMPI_StratonovichSystem_H
3 
4 //super class header
5 #include "SMOMPI_LandauLifschitzSystem.h"
6 
7 
15 
16  //attributes
17 private :
18 
19  tReal mK;//the stratonovich constant for LL function
20 
21 
22 
23 public:
24  // CONSTRUCTORS
28 
29 
30  }
31 
32  // DESTRUCTORS
36  }
37 
38 
39 public :
40 
44  inline static CORE_UniquePointer<SMOMPI_StratonovichSystem> New() {
45  CORE_UniquePointer<SMOMPI_StratonovichSystem> p=CORE_UniquePointer<SMOMPI_StratonovichSystem>(new SMOMPI_StratonovichSystem(),SMOMPI_StratonovichSystem::Delete());
46  p->getLandauLifschitzFunction().setIsSNormalized(true);
47  return p;
48  }
49 
50  //MEMORY
51 
65  virtual tMemSize getMemorySize() const {
66  return sizeof(*this)+getContentsMemorySize();
67  }
68 
69 
70 public:
71 
72 
73 
78  inline const tReal& getK() const {
79  return mK;
80  }
81 
82 public:
88  virtual void discretize() override {
91  const tReal& alpha=ll.getAlpha();
92  const tReal& lambda=ll.getLambda();
93  mK=alpha*alpha*(1+lambda*lambda);
94 
95  }
96 
97 
110  virtual tBoolean computeMagneticMomentDirectionsAtNextTimeStep(const tReal& dt,const tReal& epsilon_t,
111  const SM_RealField& deltaSt,
112  SM_RealField& St) final;
113 
114 
115 };
116 
117 
118 #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_StratonovichSystem.h:14
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_StratonovichSystem.cpp:7
virtual void discretize() override
discretize the system It computes the Stratonovich constant depending on the parameters of the Landau...
Definition: SMOMPI_StratonovichSystem.h:88
SMOMPI_StratonovichSystem(void)
create a class
Definition: SMOMPI_StratonovichSystem.h:27
virtual ~SMOMPI_StratonovichSystem(void)
destroy the class
Definition: SMOMPI_StratonovichSystem.h:35
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SMOMPI_StratonovichSystem.h:65
const tReal & getK() const
return the stratonovich constant
Definition: SMOMPI_StratonovichSystem.h:78
static CORE_UniquePointer< SMOMPI_StratonovichSystem > New()
build a new instance of a system
Definition: SMOMPI_StratonovichSystem.h:44
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