C++ main module for emicrom Package
1.0
|
This class describes the PeriodicMultiScale for matrix-vector product of complex toeplitz matrix. More...
#include <EMMG_SLPeriodicMultiScale.h>
Public Member Functions | |
void | setDemagnetizedOperator (SP::EMMG_SLDemagnetizedOperator dem) |
SP::EMMG_SLDemagnetizedOperator | getDemagnetizedOperator () const |
void | fineToCoarse (const tUInteger &nx, const tUInteger &ny, const tUInteger &nz, const tBoolean isMeshPeriodic[3], const EMMG_RealField &fineMagnetism, EMMG_RealField &coarseMagnetism) const |
Projects a field defined on a fine grid on a mesh of dyadic 2 times greater. We use the periodicity of the field and medium. More... | |
void | coarseMinusFine (const tUInteger &nx, const tUInteger &ny, const tUInteger &nz, EMMG_RealField &fineMagnetism) const |
Sets the field to 0 on dyadic coarse grid cells covered by the fine mesh level just lower 2 times greater. We use the periodicity of the field and medium. More... | |
void | coarseMinusFine (const EMM_Grid3D &mesh, EMMG_RealField &fineMagnetism) const |
Sets the field to 0 on dyadic coarse grid cells covered by the fine mesh level just lower. More... | |
virtual tString | toString () const |
return the class information in a tString More... | |
void | setToeplitzMatrix (SP::MATH_MultiLevelsToeplitzMatrix toeplitz) |
setthe toeplitz associated matrix More... | |
tUInteger | computeLevelsNumber (const tUInteger &Nx, const tUInteger &Ny, const tUInteger &Nz, const tBoolean &isXPeriodic, const tBoolean &isYPeriodic, const tBoolean &isZPeriodic) const |
compute the optimal levels number More... | |
virtual void | initialize (const tDimension &dim, const tUInteger &Nx, const tUInteger &Ny, const tUInteger &Nz, const tBoolean &Px, const tBoolean &Py, const tBoolean &Pz, const tUInteger &l) |
set the discretization More... | |
const tUCInt & | getFineElementsNumberPerCoarseElement () const |
get the number of elements of the fine grid per cell of the corse grid More... | |
void | getSegmentsNumber (tUInteger &Nx, tUInteger &Ny, tUInteger &Nz) const |
get the segments number in all directions More... | |
const tUInteger * | getSegmentsNumber () const |
get the segments number per dierction More... | |
const tBoolean * | getPeriodicDirections () const |
get the periodicity per direction More... | |
void | getPeriodicDirections (tBoolean &isXPeriodic, tBoolean &isYPeriodic, tBoolean &isZPeriodic) const |
get the periodicity per direction More... | |
const tUInteger & | getLevelsNumber () const |
get the leves number More... | |
const MATH_MultiLevelsToeplitzMatrix & | getToeplitzMatrix () const |
get the toeplitz matrix More... | |
EMM_RealField & | getLevelMagnetizationField () |
get the magnetization field at level l More... | |
EMM_RealField & | getLevelUpMagnetizationField () |
get the magnetization field at level l+1 More... | |
EMM_RealField & | getZonalMagnetizationField () |
get the magnetization field at zone More... | |
virtual void | computeMultiGridExcitationField (const tUIndex &nCells, const tDimension &dim, const tReal *sigmaM, tReal *H) |
compute the magnetic excitation field by superposition of multi scale grids More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
test if the clas T is an instance of this class More... | |
tBoolean | isInstanceOf (const tString &name) const |
test if the object is an instance of className More... | |
Static Public Member Functions | |
static tBoolean | resetBlockValues (const tDimension &dim, const tUInteger &Nx, const tUInteger &Ny, const tUInteger &Nz, const tUInteger &iMin, const tUInteger &iMax, const tUInteger &jMin, const tUInteger &jMax, const tUInteger &kMin, const tUInteger &kMax, tReal *M) |
reset the values in a block grid [iMin,iMax[x[jMin,jMax[x[kMin,kMax[ of dimension dim per point inside a grid of size [0,Nx[x[0,Ny[x[0,Nz[ More... | |
static void | setIsMemoryChecked (const tBoolean &v) |
set if the memory checking is used More... | |
static void | setOut (SP::CORE_Out out) |
set the output stream More... | |
static void | resetOut () |
reset the output stream More... | |
static void | setThread (SP::CORE_Thread thread) |
set the thread More... | |
static void | resetThread () |
reset the output stream More... | |
static CORE_Out & | out () |
get the output More... | |
static SP::CORE_Out | getOut () |
get the output More... | |
static CORE_Thread & | getThread () |
get the profilier More... | |
static const tBoolean & | isMemoryChecked () |
get if the memory checking is used More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string representation of a pointer More... | |
static void | printObjectsInMemory (ostream &f) |
print object in memory More... | |
static void | printObjectsInMemory () |
print object in memory in the standart output More... | |
static tChar | getMaxChar () |
get the max value for tChar type More... | |
static tChar | getMinChar () |
get the min value for tChar type More... | |
static tUChar | getMaxUChar () |
get the max value for tUChar type More... | |
static tUChar | getMinUChar () |
get the min value for tUChar type More... | |
static tSInt | getMaxSInt () |
get the max value for tSInt type More... | |
static tSInt | getMinSInt () |
get the min value for tSInt type More... | |
static tUSInt | getMaxUSInt () |
get the max value for tUSInt type More... | |
static tUSInt | getMinUSInt () |
get the min value for tUSInt type More... | |
static tInt | getMaxInt () |
get the max value for tInt type More... | |
static tInt | getMinInt () |
get the min value for tInt type More... | |
static tUInt | getMaxUInt () |
get the max value for tUInt type More... | |
static tUInt | getMinUInt () |
get the min value for tUInt type More... | |
static tLInt | getMaxLInt () |
get the max value for tLInt type More... | |
static tLInt | getMinLInt () |
get the min value for tLInt type More... | |
static tULInt | getMaxULInt () |
get the max value for tULInt type More... | |
static tULInt | getMinULInt () |
get the min value for tULInt type More... | |
static tLLInt | getMaxLLInt () |
get the max value for tULInt type More... | |
static tLLInt | getMinLLInt () |
get the min value for tLLInt type More... | |
static tULLInt | getMaxULLInt () |
get the max value for tULLInt type More... | |
static tULLInt | getMinULLInt () |
get the min value for tULLInt type More... | |
static tFloat | getMaxFloat () |
get the max value for tFloat type More... | |
static tFloat | getMinFloat () |
get the min value for tFloat type More... | |
template<class T > | |
static T | getEpsilon () |
get the epsilon value for T type More... | |
template<class T > | |
static T | getInfinity () |
get the infinity for T type More... | |
static tFloat | getFloatEpsilon () |
get the epsilon value for tFloat type More... | |
static tFloat | getFloatInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getMaxDouble () |
get the max value for tDouble type More... | |
static tDouble | getMinDouble () |
get the min value for tDouble type More... | |
static tDouble | getDoubleInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getDoubleEpsilon () |
get the epsilon value for tDouble type More... | |
static tLDouble | getMinLDouble () |
get the min value for tLDouble type More... | |
static tLDouble | getMaxLDouble () |
get the max value for tLDouble type More... | |
static tLDouble | getLDoubleEpsilon () |
get the epsilon value for tLDouble type More... | |
static tDouble | getLDoubleInfinity () |
get the infinity value for tDouble type More... | |
static tIndex | getMaxIndex () |
get the max value for the array/vector indexing type More... | |
static tIndex | getMinIndex () |
get the min value for the array/vector indexing type More... | |
static tUIndex | getMaxUIndex () |
get the max value for difference the array/vector indexing type More... | |
static tUIndex | getMinUIndex () |
get the min value for difference the array/vector indexing type More... | |
static tFlag | getMaxFlag () |
get the max value for the tFlag type More... | |
static tFlag | getMinFlag () |
get the min value for the tFlag type More... | |
static tUInteger | getMaxUInteger () |
get the max value for the unsigned integer type More... | |
static tUInteger | getMinUInteger () |
get the min value for the unsigned integer type More... | |
static tInteger | getMaxInteger () |
get the max value for the integer type More... | |
static tInteger | getMinInteger () |
get the min value for the integer type More... | |
static tReal | getMaxReal () |
get the max value for the real type More... | |
static tReal | getMinReal () |
get the min value for the real type More... | |
static tReal | getRealEpsilon () |
get the eps which is the difference between 1 and the least value greater than 1 that is representable. More... | |
static tReal | getRealInfinity () |
get the infinity value More... | |
template<class T > | |
static T | computeEpsilon () |
compute epsilon More... | |
Static Public Attributes | |
static tBoolean | SAVE_H_M_AT_LEVEL_1 =false |
static const tReal | Mu0 =4*M_PI*1e-07 |
static const tReal | Gamma =-1.7e11 |
static const tDimension | X =0 |
static const tDimension | Y =1 |
static const tDimension | Z =2 |
static const tReal | NULL_VALUE [] ={0,0,0} |
Protected Member Functions | |
EMMG_SLPeriodicMultiScale (void) | |
create More... | |
virtual | ~EMMG_SLPeriodicMultiScale (void) |
destroy More... | |
virtual void | computeZonalDemagnetizedFieldAndNextLevelMagnetizationField (const tUInteger &twoPowerL, const tUIndex &nCells, const tDimension &dim, const tReal *Ml, tReal *Mz, tReal *Mlp1, tReal *H0) const =0 |
compute the zonal demagnetized field added to demagnetized field at level 0 and compute the magnetization field at level l+1 More... | |
virtual void | computeZonalCenteredDemagnetizedFieldFromLevel (const tUInteger &twoPowerL, const tUIndex &nCells, const tDimension &dim, tReal *Ml, tReal *Mz, tReal *H0) const =0 |
compute the centered demagnetized field of level l outside zone anad add it to demagnetized field at level 0 More... | |
tUInteger & | getLevelComputationsNumber () |
return the number of calls of the level computations only for debug More... | |
const tUInteger & | getLevelComputationsNumber () const |
return the number of calls of the level computations only for debug More... | |
virtual void | toDoAfterThisSetting () |
method called after the setting of the shared pointer this method can only be called once. More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
Private Member Functions | |
SP_OBJECT (EMMG_SLPeriodicMultiScale) | |
Private Attributes | |
int | mGridDivision |
WP::EMMG_SLDemagnetizedOperator | mDemagnetizedOperator |
This class describes the PeriodicMultiScale for matrix-vector product of complex toeplitz matrix.
The main method of this class is EMMG_SLPeriodicMultiScale::computeDemagnetizedField()*
|
protected |
create
References mGridDivision.
|
protectedvirtual |
destroy
void EMMG_SLPeriodicMultiScale::coarseMinusFine | ( | const tUInteger & | nx, |
const tUInteger & | ny, | ||
const tUInteger & | nz, | ||
EMMG_RealField & | fineMagnetism | ||
) | const |
Sets the field to 0 on dyadic coarse grid cells covered by the fine mesh level just lower 2 times greater. We use the periodicity of the field and medium.
Sets the field to 0 on dyadic coarse grid cells covered by the fine mesh level just lower.
nx | number of segments on 1-direction |
ny | number of segments on 2-direction |
nz | number of segments on 3-direction |
fineMagnetism | the output ; the magnetism for all elements |
m0 | m1 | m2 | m3 | *m4 | m5 | m6 | m7 | ||||||||||||||||||||||||||||||||||||||||||
give | |||||||||||||||||||||||||||||||||||||||||||||||||
m0 | m1 | 0 | 0 | *0 | 0 | m6 | m7 | *
|
inline |
Sets the field to 0 on dyadic coarse grid cells covered by the fine mesh level just lower.
mesh | mesh of the domain |
fineMagnetism | the output ; the magnetism for all elements |
References coarseMinusFine(), EMM_Grid3D::getSegmentsNumber(), toString(), tString, and tUInteger.
|
inlinestaticinherited |
compute epsilon
|
inherited |
compute the optimal levels number
Nx | number of segments along x-direction |
Ny | number of segments along y-direction |
Nz | number of segments along z-direction |
isXPeriodic | true if the x-direction is periodic |
isYPeriodic | true if the y-direction is periodic |
isZPeriodic | true if the z-direction is periodic |
The level number per direction is such that if If the domain is not periodic the level number is 0
References CORE_Object::getMaxUInteger(), tBoolean, tUInteger, and tUSInt.
Referenced by EMM_MultiScaleGrid::setToeplitzMatrix().
|
virtualinherited |
compute the magnetic excitation field by superposition of multi scale grids
[in] | nCells | : number of cells of the mesh |
[in] | dim | dimension of each point of the mesh |
[in] | sigmaM | magnetization values of size nCells x dim not necessarly normalized : sigmaM=sigma.M |
[out] | H | return excitation magnetic values of size nCells x dim |
The following algorithm needs 3 temporary fields , and for computing by zone
Computes the magnetic excitation field as follow:
Reimplemented in EMMG_SLSDXPeriodicMultiScale, and EMMG_SLRPPeriodicMultiScale.
References EMM_MultiScaleGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), EMM_MultiScaleGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField(), EMM_MultiScaleGrid::getLevelMagnetizationField(), EMM_MultiScaleGrid::getLevelsNumber(), EMM_MultiScaleGrid::getLevelUpMagnetizationField(), EMM_MultiScaleGrid::getToeplitzMatrix(), EMM_MultiScaleGrid::getZonalMagnetizationField(), EMM_MultiScaleGrid::mLevelComputationsNumber, EMM_MultiScaleGrid::mN, null, EMM_MultiScaleGrid::SAVE_H_M_AT_LEVEL_1, EMM_Output::saveVTI(), CORE_Integer::toString(), tReal, tUIndex, tUInteger, and MATH_MultiLevelsToeplitzMatrix::vectorProduct().
Referenced by EMM_MultiScaleGrid::getZonalMagnetizationField().
|
protectedpure virtualinherited |
compute the centered demagnetized field of level l outside zone anad add it to demagnetized field at level 0
[in] | twoPowerL | : ratio size of the grid at level l |
[in] | nCells | : number of cells of the mesh |
[in] | dim | dimension of each point of the mesh |
[in,out] | Ml | magnetization values of size nCells x dim at level l |
[out] | Mz | magnetization at zone . Working field |
[in,out] | H0 | : demagnetized excitation field at level 0 |
Implemented in EMM_MultiScaleSDGrid, EMM_MultiScaleCDGrid, EMMG_SLSDXPeriodicMultiScale, and EMMG_SLRPPeriodicMultiScale.
Referenced by EMM_MultiScaleGrid::computeMultiGridExcitationField(), and EMM_MultiScaleGrid::getZonalMagnetizationField().
|
protectedpure virtualinherited |
compute the zonal demagnetized field added to demagnetized field at level 0 and compute the magnetization field at level l+1
[in] | twoPowerL | : ratio size of the grid at level l |
[in] | nCells | : number of cells of the mesh |
[in] | dim | dimension of each point of the mesh |
[in] | Ml | magnetization at level l |
[out] | Mz | magnetization at zone . Working field |
[in,out] | Mlp1 | magnetization values of size nCells x dim at level l+1 |
[in,out] | H0 | : demagnetized excitation field at level 0 |
Implemented in EMM_MultiScaleSDGrid, EMM_MultiScaleCDGrid, EMMG_SLSDXPeriodicMultiScale, and EMMG_SLRPPeriodicMultiScale.
Referenced by EMM_MultiScaleGrid::computeMultiGridExcitationField(), and EMM_MultiScaleGrid::getZonalMagnetizationField().
void EMMG_SLPeriodicMultiScale::fineToCoarse | ( | const tUInteger & | nx, |
const tUInteger & | ny, | ||
const tUInteger & | nz, | ||
const tBoolean | isMeshPeriodic[3], | ||
const EMMG_RealField & | fineMagnetism, | ||
EMMG_RealField & | coarseMagnetism | ||
) | const |
Projects a field defined on a fine grid on a mesh of dyadic 2 times greater. We use the periodicity of the field and medium.
nx | number of segments on 1-direction |
ny | number of segments on 2-direction |
nz | number of segments on 3-direction |
isMeshPeriodic | peridicity along the 3 directions |
fineMagnetism | the input ; the magnetism for all elements |
coarseMagnetism | output the output magnetism converted for all elements |
m0 | m1 | m2 | m3 | *m4 | m5 | m6 | m7 | ||||||||||||||||||||||||||||||||||||||||||
give | |||||||||||||||||||||||||||||||||||||||||||||||||
~H2 | ~H3 | H0=(m0+m1)/2 | H1=(m2+m3)/2 | *H2=(m4+m5)/2 | H3=(m6+m7)/2 | ~H0 | ~H1 | *
m0 | m1 | m2 | m3 | *m4 | m5 | m6 | m7 | ||||||||||||||||||||||||||||||||||||||||||
give | |||||||||||||||||||||||||||||||||||||||||||||||||
m0 | m1 | 0 | 0 | *0 | 0 | m6 | m7 | *
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().
return the class name of the object
identityString | the identity string of the object |
|
inline |
References coarseMinusFine(), fineToCoarse(), tBoolean, and tUInteger.
Referenced by EMMG_SLSDXPeriodicMultiScale::computeLevelDemagnetizedField(), and EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField().
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlinestaticinherited |
get the epsilon value for T type
|
inlineinherited |
get the number of elements of the fine grid per cell of the corse grid
References EMM_MultiScaleGrid::mFineElementsNumberPerCoarseElement.
Referenced by EMM_MultiScaleCDGrid::meanValuesFromFineToCoarseGrid(), and EMM_MultiScaleSDGrid::meanValuesFromShiftFineGridToCoarseGrid().
|
inlinestaticinherited |
get the epsilon value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by MATH_GaussLegendreIntegration::copy(), EMM_MultiScaleGrid::initialize(), CORE_Object::isInstanceOf(), CORE_Object::printObjectsInMemory(), MATH_Matrix::toString(), toString(), EMM_Stepper::toString(), EMM_AnisotropyDirectionsField::toString(), EMM_BlockMassMatrix::toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), EMM_Grid3D::toString(), and EMM_LandauLifschitzSystem::toString().
|
inlinestaticinherited |
get the infinity for T type
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inlineprotectedinherited |
return the number of calls of the level computations only for debug
References EMM_MultiScaleGrid::mLevelComputationsNumber.
Referenced by EMM_MultiScaleCDGrid::addValuesFromCoarseGridToFinestGrid(), EMM_MultiScaleSDGrid::addValuesFromGridToZoneFinestGrid(), EMM_MultiScaleCDGrid::computeDemagnetizedExcitationFieldFromLevel(), EMM_MultiScaleSDGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), and EMM_MultiScaleSDGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField().
|
inlineprotectedinherited |
return the number of calls of the level computations only for debug
References EMM_MultiScaleGrid::mLevelComputationsNumber, EMM_MultiScaleGrid::toString(), and tString.
|
inlineinherited |
get the magnetization field at level l
Referenced by EMM_MultiScaleGrid::computeMultiGridExcitationField().
|
inlineinherited |
get the leves number
References EMM_MultiScaleGrid::mLevelsNumber.
Referenced by EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), and EMM_MultiScaleGrid::computeMultiGridExcitationField().
|
inlineinherited |
get the magnetization field at level l+1
Referenced by EMM_MultiScaleGrid::computeMultiGridExcitationField().
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tInt type
Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the real type
Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for difference the array/vector indexing type
Referenced by CORE_Vector< T >::addAfterIndices(), CORE_Vector< T >::search(), CORE_Test::testType(), CORE_Integer::toHexString(), and CORE_Integer::toString().
|
inlinestaticinherited |
get the max value for tUInt type
Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the unsigned integer type
Referenced by MATH_Pn::computeExtrenums(), EMM_MultiScaleGrid::computeLevelsNumber(), EMM_Input::restoreBackup(), MATH_P0::solve(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the real type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
|
inlineinherited |
get the periodicity per direction
References EMM_MultiScaleGrid::mIsPeriodic.
Referenced by EMM_MultiScaleCDGrid::completeValuesOutsideFineGridByPeriodicityByExclusion(), EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMM_MultiScaleSDGrid::computeValuesOnShiftFineGrid(), and EMM_MultiScaleCDGrid::meanValuesFromFineToCoarseGrid().
|
inlineinherited |
get the periodicity per direction
isXPeriodic | : true if the x-direction is periodic |
isYPeriodic | : true if the y-direction is periodic |
isZPeriodic | : true if the z-direction is periodic |
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinestaticinherited |
get the eps which is the difference between 1 and the least value greater than 1 that is representable.
Referenced by MATH_P4::solveP4De(), and CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value
Referenced by BrentFunction::BrentFunction(), EMM_OperatorsTest::compareDiscretizedData(), EMM_IterativeTimeStep::EMM_IterativeTimeStep(), EMM_SLElementaryDemagnetizedMatrix::Kxy(), NRFunction::NRFunction(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and CORE_Test::testType().
|
inlineinherited |
get the segments number in all directions
Nx | the segments number in x-direction |
Ny | the segments number in y-direction |
Nz | the segments number in z-direction |
|
inlineinherited |
get the segments number per dierction
References EMM_MultiScaleGrid::mN.
Referenced by EMM_MultiScaleCDGrid::addValuesFromCoarseGridToFinestGrid(), EMM_MultiScaleSDGrid::addValuesFromCoarseGridToFinestGrid(), EMM_MultiScaleSDGrid::addValuesFromShiftFineGridToFinestGrid(), EMM_MultiScaleCDGrid::completeValuesOutsideFineGridByPeriodicityByExclusion(), EMM_MultiScaleCDGrid::computeDemagnetizedExcitationFieldFromLevel(), EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMM_MultiScaleSDGrid::computeValuesOnShiftFineGrid(), EMM_MultiScaleSDGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), EMM_MultiScaleSDGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField(), EMM_MultiScaleSDGrid::getShiftZone(), EMM_MultiScaleCDGrid::meanValuesFromFineToCoarseGrid(), EMM_MultiScaleSDGrid::meanValuesFromShiftFineGridToCoarseGrid(), EMM_MultiScaleCDGrid::resetValuesWithinCenteredZone(), and EMM_MultiScaleSDGrid::resetValuesWithinShiftZone().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
|
inlinestaticinherited |
get the profilier
Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().
|
inlineinherited |
get the toeplitz matrix
Referenced by EMM_MultiScaleCDGrid::computeDemagnetizedExcitationFieldFromLevel(), EMMG_SLSDXPeriodicMultiScale::computeLevelDemagnetizedField(), EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField(), EMM_MultiScaleGrid::computeMultiGridExcitationField(), EMM_MultiScaleSDGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), and EMM_MultiScaleSDGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField().
|
inlinestaticinherited |
|
inlineinherited |
get the magnetization field at zone
References EMM_MultiScaleGrid::computeMultiGridExcitationField(), EMM_MultiScaleGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), EMM_MultiScaleGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField(), EMM_MultiScaleGrid::resetBlockValues(), tBoolean, tDimension, tReal, tUIndex, and tUInteger.
Referenced by EMM_MultiScaleGrid::computeMultiGridExcitationField(), and EMM_MultiScaleSDGrid::initialize().
|
virtualinherited |
set the discretization
dim | dimension of the field |
Nx | : number of segements along x-direction |
Ny | : number of segements along y-direction |
Nz | : number of segements along z-direction |
Px | : periodicity along x-direction |
Py | : periodicity along y-direction |
Pz | : periodicity along z-direction |
l | : number of levels |
Reimplemented in EMM_MultiScaleCDGrid, and EMM_MultiScaleSDGrid.
References CORE_Object::getIdentityString(), EMM_MultiScaleGrid::mFineElementsNumberPerCoarseElement, EMM_MultiScaleGrid::mIsPeriodic, EMM_MultiScaleGrid::mLevelsNumber, EMM_MultiScaleGrid::mMl, EMM_MultiScaleGrid::mMlp1, EMM_MultiScaleGrid::mN, CORE_Object::out(), CORE_Out::println(), tBoolean, CORE_Integer::toString(), tUIndex, and tUInteger.
Referenced by EMM_MultiScaleCDGrid::initialize(), and EMM_MultiScaleGrid::setToeplitzMatrix().
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
|
inlineinherited |
test if the clas T is an instance of this class
References null.
Referenced by MATH_ToeplitzTest::toeplitzTest().
test if the object is an instance of className
name | name of the class |
References CORE_Object::getIdentityString().
|
inlinestaticinherited |
get if the memory checking is used
References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.
Referenced by main().
|
inlinestaticinherited |
get the output
Referenced by EMM_Matter::adimensionize(), EMM_DisplacementFVMOperator::backup(), EMM_DisplacementOperator::backup(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), EMM_Test::caseTest(), EMM_Test::caseTests(), EMM_MatterField::computeAnisotropyDirectionsField(), EMM_OptimalTimeStep::computeOptimalTimeStep(), MATH_MultiLevelsToeplitzMatrix::copy(), CORE_Exception::CORE_Exception(), EMM_MatterField::createAnisotropyOperator(), CORE_Run::createIO(), EMM_ElementaryTest::defaultBackupTest(), EMM_ElementaryTest::defaultTest(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), EMM_DisplacementFVMOperator::discretize(), EMM_MagnetostrictionOperator::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), EMM_Grid3D::loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), EMM_Grid3D::saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().
|
staticinherited |
return the string representation of a pointer
obj | : oject to get the string pointer |
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().
|
staticinherited |
print object in memory
f | : output to print the objects in memory |
References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.
|
inlinestaticinherited |
print object in memory in the standart output
Referenced by CORE_Object::is32Architecture(), and main().
|
staticinherited |
reset the values in a block grid [iMin,iMax[x[jMin,jMax[x[kMin,kMax[ of dimension dim per point inside a grid of size [0,Nx[x[0,Ny[x[0,Nz[
[in] | dim | dimension of point |
[in] | Nx | : size of the grid in the x direction |
[in] | Ny | : size of the grid in the y direction |
[in] | Nz | : size of the grid in the z direction |
[in] | iMin | bounds if the block grid in [0,Nx[ |
[in] | iMax | bounds if the block grid in [0,Nx[ |
[in] | jMin | bounds if the block grid in [0,Ny[ |
[in] | jMax | bounds if the block grid in [0,Ny[ |
[in] | kMin | bounds if the block grid in [0,Nz[ |
[in] | kMax | bounds if the block grid in [0,Nz[ |
[in,out] | M | : field to reset values within the block grid |
M is set to 0 on all points inside the grid [iMin,iMax[x[jMin,jMax[x[kMin,kMax[
References null, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, tReal, tUIndex, and tUInteger.
Referenced by EMM_MultiScaleGrid::getZonalMagnetizationField(), EMM_MultiScaleCDGrid::resetValuesWithinCenteredZone(), and EMM_MultiScaleSDGrid::resetValuesWithinShiftZone().
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inline |
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlinestaticinherited |
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
inlineinherited |
setthe toeplitz associated matrix
toeplitz | the toeplitz matrix to set |
References EMM_MultiScaleGrid::computeLevelsNumber(), EMM_MultiScaleGrid::initialize(), tBoolean, tDimension, and tUInteger.
|
private |
|
inlineprotectedvirtualinherited |
method called after the setting of the shared pointer this method can only be called once.
Reimplemented from CORE_Object.
Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, and EMM_GradGaussLegendreRelaxation.
Referenced by EMM_GaussLegendreRelaxation::toDoAfterThisSetting(), and EMM_DisplacementOperator::toDoAfterThisSetting().
|
virtual |
return the class information in a tString
Reimplemented from EMM_MultiScaleGrid.
References CORE_Object::getIdentityString().
Referenced by coarseMinusFine().
|
staticinherited |
|
private |
|
private |
Referenced by coarseMinusFine(), EMMG_SLPeriodicMultiScale(), and fineToCoarse().
|
staticinherited |
Referenced by EMM_MatterField::adimensionize(), EMM_MagnetostrictionOperator::adimensionize(), EMM_Matter::adimensionize(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitation(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitationGradient(), EMM_Test::createMatters(), EMM_MatterField::getElasticTensorAdimensionizedParameter(), and EMM_MatterTest::testAdimensionize().
|
staticinherited |
Referenced by EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_Interpolator::interpolateUAtEdge(), and EMM_DisplacementFVM_Interpolator::interpolateUAtVertices().
|
staticinherited |
|
staticinherited |
|
staticinherited |
Referenced by EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_RealField::fitToSize(), EMM_MassMatrix::getElementVolume(), EMM_CanonicalMassMatrix::isSymmetric(), EMM_BlockMassMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_RealField::setValue(), EMM_CanonicalMassMatrix::solve(), EMM_BlockMassMatrix::solve(), EMM_BlockMassMatrix::toString(), and EMMG_RealField::wedge().
|
staticinherited |