C++ main module for emicrom Package  1.0
EMM_LinearAnisotropyOperator.h
Go to the documentation of this file.
1 #ifndef EMM_LinearAnisotropyOperator_H
2 #define EMM_LinearAnisotropyOperator_H
3 
4 
6 
8 
53 
55  // ATTRIBUTES
56 
57 
58 private:
59 
60 
61 public:
62 
63 
64  // ASSOCIATION
65 
66 private:
67 
68  //values of the anisotropy
70 
71  //factor of the anisotropy matrix
73 
74 protected:
75 
76  // METHODS
77 
78  // CONSTRUCTORS
79 
83 
84  // DESTRUCTORS
85 
88  virtual ~EMM_LinearAnisotropyOperator(void);
89 
90 
91 public:
92 
93 
94  // SET methods
95  // ===========
96 
97  // GET methods
98  // ===========
99 
108  virtual tULLInt getMemorySize() const {
110 
111  }
112 
113 
114  //FIELDS Methods
115  //==============
116 
117 
118 
119  //DATA Methods
120  //=============
121 
122 
127  virtual tBoolean discretize(const EMM_LandauLifschitzSystem& system);
128 
129 
130 
131 protected:
146  virtual void buildAnisotropyMatrix(const tUIndex& nCells,
147  const EMM_Grid3D& mesh,
148  const CORE_UCharMorseArray& crystal,
149  const CORE_RealMorseArray& directions,
150  CORE_RealMorseArray& A) const;
151 
152 
153 
154  //Magnetic field methods
155  //======================
156 
166  virtual void computeMagneticExcitationField(const tUIndex & nCells,
167  const tDimension& dim,
168  const EMM_RealArray& sigma,
169  const tReal *M,
170  tReal *H) const;
171 public:
172 
173  //static methods calls for Mixed Anistropy class
174  // ==============================================
175 
190  static tUSInt ComputeMagneticExcitation(const tReal& KS,
191  const tReal* A,
192  const tDimension& dim,
193  const tReal* M,
194  tReal* H);
195 
196 
197  //ENERGY Method
198  //============
199 
200 
214  static void ComputeEnergy(const tReal& S,
215  const tDimension& dim,
216  const tReal* M,
217  const tReal* H,
218  tReal& E);
219 
220 };
221 
222 #endif
223 
virtual ~EMM_LinearAnisotropyOperator(void)
destroy
Definition: EMM_LinearAnisotropyOperator.cpp:17
This class describes a grid3d mesh.
Definition: EMM_Grid3D.h:48
virtual void buildAnisotropyMatrix(const tUIndex &nCells, const EMM_Grid3D &mesh, const CORE_UCharMorseArray &crystal, const CORE_RealMorseArray &directions, CORE_RealMorseArray &A) const
compute the anistropy matrix
Definition: EMM_LinearAnisotropyOperator.cpp:68
SP_OBJECT(EMM_LinearAnisotropyOperator)
This class describes the MagneticExcitationLinear operator for the E-MicroM system : EMM_LandauLisfch...
Definition: EMM_MagneticExcitationLinearOperator.h:23
#define tUSInt
Definition: types.h:28
CORE_RealMorseArray mK1
Definition: EMM_LinearAnisotropyOperator.h:72
#define tBoolean
Definition: types.h:139
This class describes the linear anistropy operator of the landau lifschitz system EMM_LandauLifschitz...
Definition: EMM_LinearAnisotropyOperator.h:52
#define tDimension
Definition: EMM_Types.h:10
static void ComputeEnergy(const tReal &S, const tDimension &dim, const tReal *M, const tReal *H, tReal &E)
compute the energy of the cell i for linear operator
Definition: EMM_LinearAnisotropyOperator.cpp:381
CORE_RealMorseArray mA
Definition: EMM_LinearAnisotropyOperator.h:69
This class describes a resolution of landau-lifschitz system of the Core Package for E-MicroM...
Definition: EMM_LandauLifschitzSystem.h:88
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: CORE_MorseArray.h:396
#define tUIndex
Definition: types.h:126
This class describes a real array.
Definition: EMM_RealArray.h:16
EMM_LinearAnisotropyOperator(void)
create
Definition: EMM_LinearAnisotropyOperator.cpp:12
virtual tBoolean discretize(const EMM_LandauLifschitzSystem &system)
discretize the operator depending on method
Definition: EMM_LinearAnisotropyOperator.cpp:21
virtual void computeMagneticExcitationField(const tUIndex &nCells, const tDimension &dim, const EMM_RealArray &sigma, const tReal *M, tReal *H) const
compute the normalized excitation magnetic field at M when anisotropy directions is uniform ...
Definition: EMM_LinearAnisotropyOperator.cpp:202
static tUSInt ComputeMagneticExcitation(const tReal &KS, const tReal *A, const tDimension &dim, const tReal *M, tReal *H)
compute the magnetic excitation at cell i
Definition: EMM_LinearAnisotropyOperator.cpp:345
#define tULLInt
Definition: types.h:45
#define tReal
Definition: types.h:118
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: EMM_LinearAnisotropyOperator.h:108
DEFINE_SPTR(EMM_LinearAnisotropyOperator)
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: EMM_Operator.h:71