C++ main module for emicrom Package  1.0
EMM_MagneticExcitationOperator.h
Go to the documentation of this file.
1 #ifndef EMM_MagneticExcitationOperator_H
2 #define EMM_MagneticExcitationOperator_H
3 
4 #include "EMM_Operator.h"
5 
16 
18  // ATTRIBUTES
19 
20 public:
21 
22 
23 
24 protected:
25  // METHODS
26 
27  // CONSTRUCTORS
28 
32  }
33 
34 
35 
36  // DESTRUCTORS
37 
38 
42  }
43 
44 
45  // SET methods
46 
47 
48 public:
49 
50 
51  //Magnetic excitation field methods
52  //=================================
53 
60  virtual void computeMagneticExcitationField(const EMM_RealArray& sigma,const EMM_RealField& M,EMM_RealField& H) const=0;
61 
70  const EMM_RealField& M,
71  const EMM_RealField& D,
72  EMM_RealField& gradH) const=0;
73 
74 
75 
76 
77  //ENERGY Methods
78  //==============
79 
93  const EMM_RealArray& sigma,
94  const EMM_RealField& Mt,
95  EMM_RealField& Ht) const {
96  computeMagneticExcitationField(sigma,Mt,Ht);
97  return computeEnergyWithMagneticExcitation(t,sigma,Mt,Ht);
98  }
99 
100 
101 protected:
102 
116  const EMM_RealArray& sigma,
117  const EMM_RealField& Mt,
118  const EMM_RealField& Ht) const=0;
119 public:
120 
133  virtual tReal computeEnergy(const tReal& t,
134  const EMM_RealArray& sigma,
135  const EMM_RealField& Mt,
136  EMM_RealField& W) const=0;
137 
138 
139 
140 
141 };
142 
143 #endif
EMM_MagneticExcitationOperator(void)
create
Definition: EMM_MagneticExcitationOperator.h:31
SP_OBJECT(EMM_MagneticExcitationOperator)
#define tBoolean
Definition: types.h:139
virtual tReal computeEnergy(const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, EMM_RealField &W) const =0
compute the energy E of the operator
This class is an operator of a E-MicromM package which computes the field of the operator with respec...
Definition: EMM_Operator.h:24
DEFINE_SPTR(EMM_MagneticExcitationOperator)
This class describes a real array.
Definition: EMM_RealArray.h:16
DEFINE_SVPTR(EMM_MagneticExcitationOperator)
virtual ~EMM_MagneticExcitationOperator(void)
destroy
Definition: EMM_MagneticExcitationOperator.h:41
This class is an operator of a E-MicromM package wich compute a magnetic excitation operator...
Definition: EMM_MagneticExcitationOperator.h:15
This class describes a real field.
Definition: EMM_RealField.h:21
virtual void computeMagneticExcitationField(const EMM_RealArray &sigma, const EMM_RealField &M, EMM_RealField &H) const =0
compute the magnetic excitation field
#define tReal
Definition: types.h:118
tReal computeMagneticExcitationFieldAndEnergy(const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, EMM_RealField &Ht) const
compute the energy of the operator
Definition: EMM_MagneticExcitationOperator.h:92
virtual tBoolean computeMagneticExcitationFieldGradient(const EMM_RealArray &sigma, const EMM_RealField &M, const EMM_RealField &D, EMM_RealField &gradH) const =0
compute the gradient of the magnetic excitation field at M in the direction D
virtual tReal computeEnergyWithMagneticExcitation(const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, const EMM_RealField &Ht) const =0
compute the energy E of the operator