1 #ifndef EMMG_SLRPPeriodicMultiScale_H 2 #define EMMG_SLRPPeriodicMultiScale_H 49 inline static SP::EMMG_SLRPPeriodicMultiScale
New() {
160 SV::EMMG_RealField& nearMs)
const;
194 SV::EMMG_RealField& zoneMs)
const;
215 const SV::EMMG_RealField& levelHs,
216 const SV::EMMG_RealField& zoneHs,
217 const SV::EMMG_RealField& nearHs,
218 tReal *fineMagnetism)
const;
void computeNearMagnetism(const tUInteger &nx, const tUInteger &ny, const tUInteger &nz, const tDimension &dim, const tBoolean isMeshPeriodic[3], const tReal *M, SV::EMMG_RealField &nearMs) const
compute the near aimantation from aimantation M nearMs[l]=0 & set to M in zone were there are periodi...
Definition: EMMG_SLRPPeriodicMultiScale.cpp:23
This class describes a generic real field.
Definition: EMMG_RealField.h:17
#define tUInteger
Definition: types.h:91
SV::EMMG_RealField mLevelMagnetisms
Definition: EMMG_SLRPPeriodicMultiScale.h:25
This class describes the PeriodicMultiScale for matrix-vector product of complex toeplitz matrix...
Definition: EMMG_SLPeriodicMultiScale.h:23
#define tBoolean
Definition: types.h:139
static SP::EMMG_SLRPPeriodicMultiScale New()
create a PeriodicRPMultiScale class
Definition: EMMG_SLRPPeriodicMultiScale.h:49
virtual ~EMMG_SLRPPeriodicMultiScale(void)
destroy
Definition: EMMG_SLRPPeriodicMultiScale.cpp:18
#define tDimension
Definition: EMM_Types.h:10
SV::EMMG_RealField mZoneMagnetisms
Definition: EMMG_SLRPPeriodicMultiScale.h:26
void sumContributions(const tUInteger &nx, const tUInteger &ny, const tUInteger &nz, const tDimension &dim, const tBoolean isMeshPeriodic[3], const SV::EMMG_RealField &levelHs, const SV::EMMG_RealField &zoneHs, const SV::EMMG_RealField &nearHs, tReal *fineMagnetism) const
Sum the contributions from diadiques coarse meshes for each cell of the computational domain (ie the ...
Definition: EMMG_SLRPPeriodicMultiScale.cpp:317
virtual void computeZonalDemagnetizedFieldAndNextLevelMagnetizationField(const tUInteger &twoPowerL, const tUIndex &nCells, const tDimension &dim, const tReal *Ml, tReal *Mz, tReal *Mlp1, tReal *H0) const
compute the zonal demagnetized field added to demagnetized field at level 0 and compute the magnetiza...
Definition: EMMG_SLRPPeriodicMultiScale.h:89
virtual void computeZonalCenteredDemagnetizedFieldFromLevel(const tUInteger &twoPowerL, const tUIndex &nCells, const tDimension &dim, tReal *Ml, tReal *Mz, tReal *H0) const
compute the centered demagnetized field of level l outside zone anad add it to demagnetized field at ...
Definition: EMMG_SLRPPeriodicMultiScale.h:107
SV::EMMG_RealField mNearZoneMagnetisms
Definition: EMMG_SLRPPeriodicMultiScale.h:27
#define tUIndex
Definition: types.h:126
void computeZoneMagnetism(const tUInteger &nx, const tUInteger &ny, const tUInteger &nz, const EMMG_RealField &M, SV::EMMG_RealField &zoneMs) const
compute the near aimantation from aimantation M level2Ms[l]=M & set to 0 in zone l ...
Definition: EMMG_SLRPPeriodicMultiScale.cpp:210
This class describes the PeriodicRPMultiScale for matrix-vector product of complex toeplitz matrix...
Definition: EMMG_SLRPPeriodicMultiScale.h:17
EMMG_SLRPPeriodicMultiScale(void)
create
Definition: EMMG_SLRPPeriodicMultiScale.cpp:14
SP_OBJECT(EMMG_SLRPPeriodicMultiScale)
DEFINE_SPTR(EMMG_SLRPPeriodicMultiScale)
virtual void computeMultiGridExcitationField(const tUIndex &nCells, const tDimension &dim, const tReal *M, tReal *H)
compute the magnbetic excitation field by superposition of multi scale grids
Definition: EMMG_SLRPPeriodicMultiScale.cpp:552
#define tReal
Definition: types.h:118
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141