C++ main module for emicrom Package  1.0
EMM_FullExchangeOperator.h
Go to the documentation of this file.
1 #ifndef EMM_FullExchangeOperator_H
2 #define EMM_FullExchangeOperator_H
3 
5 
6 
30 
32  // ATTRIBUTES
33 
34 
35 private:
36 
37 
38 
39 public:
40 
41 
42  // ASSOCIATION
43 
44 private:
45 
46  //leading dimension of the matrices (7)
48 
52 
53 
54 
55 
56 protected:
57 
58  // METHODS
59 
60  // CONSTRUCTORS
61 
65 
66  // DESTRUCTORS
67 
70  virtual ~EMM_FullExchangeOperator(void);
71 
72 
73 
74  //DATA Methods
75  //============
76 public:
77 
83  virtual tBoolean discretize(const EMM_LandauLifschitzSystem& system);
84 
85 
86 private:
87 
88 
98  void buildMatrix(const CORE_UIndexMorseArray& N,
99  const EMM_RealArray& sigma,
100  const EMM_RealArray& A,
101  const tReal *L2,
102  CORE_RealMorseArray& matA) const;
103 public:
104 
113  virtual tULLInt getMemorySize() const {
115 
116  }
117 
118 
119  //MAGNETIC Excitation field methods
120  //==================================
121 
122 public:
123 
132  virtual void computeMagneticExcitationField(const tUIndex& nCells,
133  const tDimension& dim,
134  const tReal *M,
135  tReal *H) const;
136 
137 
138 };
139 
140 #endif
141 
void buildMatrix(const CORE_UIndexMorseArray &N, const EMM_RealArray &sigma, const EMM_RealArray &A, const tReal *L2, CORE_RealMorseArray &matA) const
build the exchange matrix A when
Definition: EMM_FullExchangeOperator.cpp:56
virtual void computeMagneticExcitationField(const tUIndex &nCells, const tDimension &dim, const tReal *M, tReal *H) const
compute the excitation magnetic field at M
Definition: EMM_FullExchangeOperator.cpp:294
CORE_RealMorseArray mMatA
contains the exchange matrix of size nMagnetizedCells x nMagnetizedNeighbors
Definition: EMM_FullExchangeOperator.h:51
#define tBoolean
Definition: types.h:139
virtual tBoolean discretize(const EMM_LandauLifschitzSystem &system)
discretize the operator depending on method
Definition: EMM_FullExchangeOperator.cpp:15
DEFINE_SPTR(EMM_FullExchangeOperator)
#define tDimension
Definition: EMM_Types.h:10
EMM_FullExchangeOperator(void)
create th eexchange operator
Definition: EMM_FullExchangeOperator.cpp:6
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
This class describes an implementation of the exchange operator EMM_ExchangeOperator.
Definition: EMM_MinimalExchangeOperator.h:34
SP_OBJECT(EMM_FullExchangeOperator)
tUIndex mLD
Definition: EMM_FullExchangeOperator.h:47
#define tULLInt
Definition: types.h:45
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: EMM_FullExchangeOperator.h:113
virtual ~EMM_FullExchangeOperator(void)
destroy the exchange operator
Definition: EMM_FullExchangeOperator.cpp:12
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: EMM_MinimalExchangeOperator.h:113
#define tReal
Definition: types.h:118
This class describes an implementation of the exchange operator EMM_MinimalExchangeOperator.
Definition: EMM_FullExchangeOperator.h:29