|
C++ main module for emicrom Package
1.0
|
This class describes the linear demagnetized operator of the Landau Lifschitz system EMM_LandauLifschitzSystem. More...
#include <EMM_DemagnetizedOperator.h>


Public Member Functions | |
| void | setMultiScaleGridName (const tString &name) |
| set the multi scale grid name to use More... | |
| void | setStorage (const tString &storage) |
| set the storage of the toeplitz matrix More... | |
| void | setLevelsNumber (const tUInteger &l) |
| set the levels number in case of periodicicity of the domain More... | |
| void | setZonalLevelsNumber (const tInteger &l) |
| set the levels number in case of periodicicity of the domain More... | |
| void | setIsLevelsNumberAutoComputed (const tBoolean &v) |
| if the levels number is automatically computed More... | |
| EMM_MultiScaleGrid & | getMultiScaleGrid () |
| get the multi scale grid More... | |
| const tString & | getMultiScaleGridName () const |
| get the multi scale grid name to use More... | |
| const tBoolean & | isLevelsNumberAutoComputed () const |
| get if the levels number is automatically computed More... | |
| const tUInteger & | getLevelsNumber () const |
| get the levels number in case of periodicicity of the domain More... | |
| virtual tULLInt | getMemorySize () const |
| return the memory size in bytes More... | |
| virtual tBoolean | discretize (const EMM_LandauLifschitzSystem &system) |
| discretize the operator depending on method More... | |
| const MATH_MultiLevelsToeplitzMatrix & | getToeplitzMatrix () const |
| get the toeplitz matrix More... | |
| virtual void | computeMagneticExcitationField (const tUIndex &nCells, const tDimension &dim, const tReal *sigmaM, tReal *H) const |
| compute the excitation magnetic field at M More... | |
| virtual tString | toString () const |
| return the string representation of the operator More... | |
| virtual tBoolean | isAffine () const |
| return true if the operator is either constant or linear More... | |
| virtual tBoolean | isGradientComputationable () const |
| return true if the gradient of the magnetic excitation is computationable More... | |
| virtual tBoolean | resetToInitialState (const EMM_LandauLifschitzSystem &system) |
| reset the data of the operator to its initial step t=0 More... | |
| virtual tBoolean | computeFieldsAtTime (const tReal &t, const tFlag &order, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0) |
| compute the fields of operator at time More... | |
| virtual tBoolean | updateAtNextTimeStep (const tReal &dt, const EMM_RealArray &sigma, const EMM_RealField &Mt) |
| update the data of operator at next time step More... | |
| virtual tBoolean | computeMagneticExcitationFieldGradient (const EMM_RealArray &sigma, const EMM_RealField &M, const EMM_RealField &D, EMM_RealField &gradH) const |
| compute the gradient of the magnetic excitation field at M in the direction D More... | |
| virtual tReal | computeEnergy (const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, EMM_RealField &W) const |
| compute the energy E of the operator More... | |
| virtual void | computeMagneticExcitationField (const EMM_RealArray &sigma, const EMM_RealField &M, EMM_RealField &H) const =0 |
| compute the magnetic excitation field More... | |
| tReal | computeMagneticExcitationFieldAndEnergy (const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, EMM_RealField &Ht) const |
| compute the energy of the operator More... | |
| virtual tString | getName () const |
| return an human reading name of the operator More... | |
| const tBoolean & | isCubicVolume () const |
| return the true if the element is cubic More... | |
| const tReal & | getElementVolume () const |
| return the adimensionized volume of the element More... | |
| virtual void | adimensionize (const tReal &Le, const tReal &Ms, const tReal &T, const tReal &L) |
| adimensionize the operator More... | |
| virtual tUSInt | getDataFieldsNumber () const |
| get the number of feild used in the operator More... | |
| virtual tBoolean | getDataFieldSpace (const tUSInt &index, tString &dataName, tFlag &supportType, tString &dFieldType, tUIndex &n, tDimension &dim) const |
| get the data field at index for saving data in vtk,txt,... files. More... | |
| virtual tBoolean | getDataField (const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const float *&values) const |
| get the data field at index for saving data in vtk,txt,... files. More... | |
| virtual tBoolean | getDataField (const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const double *&values) const |
| get the data field at index for saving data in vtk,txt,... files. More... | |
| virtual tBoolean | getDataField (const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const long double *&values) const |
| get the data field at index for saving data in vtk,txt,... files. More... | |
| virtual tBoolean | backup (const tString &prefix, const tString &suffix, const tString &ext) const |
| backup of the operator data into file(s) used for restoring More... | |
| virtual tBoolean | restore (const EMM_LandauLifschitzSystem &system, const tString &prefix, const tString &suffix, const tString &ext) |
| restore the operator data from file(s) 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 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 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 | |
| EMM_DemagnetizedOperator (void) | |
| create the class More... | |
| virtual | ~EMM_DemagnetizedOperator (void) |
| destroy the class More... | |
| virtual tReal | computeEnergyWithMagneticExcitation (const tReal &t, const EMM_RealArray &sigma, const EMM_RealField &Mt, const EMM_RealField &Ht) const |
| compute the energy E of the operator 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 (EMM_DemagnetizedOperator) | |
Private Attributes | |
| tString | mMultiScaleGridName |
| tUInteger | mLevelsNumber |
| tInteger | mZonalLevelsNumber |
| tBoolean | mIsLevelsNumberAutoComputed |
| SP::MATH_MultiLevelsToeplitzMatrix | mToeplitzMatrix |
| SP::EMM_MultiScaleGrid | mMultiScaleGrid |
This class describes the linear demagnetized operator of the Landau Lifschitz system EMM_LandauLifschitzSystem.
The demagnetized field
is defined by :

where 
By the decomposition theorem of Hodge, it is known that it exists an unical scalar field
regular enought to ensure that
.
By combiniing the definition of
and its null divergence, we obtain:

If we introduce the Green function
which verifies
with
when X=Y, 0 otherwise, we have
where 
For the cell i, the magnetic excitation is the mean of the magnetic excitation over the cell i :

where N is the number of cells of the domain
.
If we consider M constant on the domain
,

So, the formule becomes in matricial form:
where
.
We adimensionized the preceeding equation by
,
,
such that
is turn into
in the cell i,


Which becomes:
![$ h^i_d(m)= \displaystyle \sum_j \left [ \frac{1}{|\omega_i|} \int_{\omega_i} grad_x\left(div_x \left ( \int_{\omega_j} \frac{1}{4\pi |x-y|}dy\right ) \right ) dx \right ] \sigma_j m_j$](form_289.png)
If the adimensionized dimensions of the cell is
,
and
on cell i, with

We see that the element (i,j) of the matrix depends only on |i-j| , so T is a symmetric 3-levels Toeplitz matrix MATH_MultiLevelsToeplitzMatrix (see Mathematical Toeplitz Package for E-MicroM package) with symmetric leaf block and whose elements are computed in EMM_ElementaryDemagnetizedMatrix class.
The energy of the system is
.
By applying green formulas,
.

The normalized energy
.
For computing the magnetic excitation field in periodical mesh, a multi scale grid (see EMM_MultiScaleGrid ) is computed and the method EMM_MultiScaleGrid::computeMultiGridExcitationField() is called.
|
protected |
create the class
References mIsLevelsNumberAutoComputed, mLevelsNumber, mMultiScaleGridName, mZonalLevelsNumber, and setStorage().

|
protectedvirtual |
destroy the class
|
inlinevirtualinherited |
adimensionize the operator
| [in] | Le | adimensionizing parameter |
| [in] | Ms | magnetization at saturation |
| [in] | T | caracterictic time |
| [in] | L | caracteristic length |
Do nothing by default
Reimplemented in EMM_MagnetostrictionOperator, and EMM_DisplacementOperator.
References EMM_Operator::discretize(), EMM_Operator::resetToInitialState(), and tBoolean.

|
inlinevirtualinherited |
backup of the operator data into file(s) used for restoring
| prefix | : common prefix of the saving files |
| suffix | : common suffix of the saving files |
| ext | : common extension of the saving files |
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, and EMM_DisplacementFVMOperator.
|
inlinevirtualinherited |
compute the energy E of the operator
| t | the time in [0,dt[ where dt is the time step |
| sigma | the weight of each element |
| Mt | the normalized magnetization field |
| W | a working array |
compute the energy E which verifies the general relation:
Implements EMM_MagneticExcitationOperator.
References EMM_MagneticExcitationOperator::computeMagneticExcitationFieldAndEnergy().

|
inlineprotectedvirtualinherited |
compute the energy E of the operator
| t | the time in [0,dt[ where dt is the time step |
| sigma | the weight of each element |
| Mt | : the normalized magnetization field |
| Ht | : the magnetic excitation field |
compute the energy:
in the normalized domain 
E verifies the general relation:
Implements EMM_MagneticExcitationOperator.
References EMM_RealField::dot(), and EMM_Operator::getElementVolume().

|
inlinestaticinherited |
compute epsilon
|
inlinevirtualinherited |
compute the fields of operator at time
| t | the time |
| order | order of integration of the fields with respect of time 1 or 2 |
| sigma | the magnetized weight of each cell |
| dM_dt0 | the variation of M at time 0 |
| M0 | the M at time 0 |
Implements EMM_Operator.
|
pure virtualinherited |
compute the magnetic excitation field
| sigma | the weight of each cell |
| M | the magnetization field |
| H | the temporary computed excitation magnetic field |
Implemented in EMM_ZeemanOperator, EMMG_SLDemagnetizedOperator, EMMG_DemagnetizedOperator, EMMG_UniaxialAnisotropyOperator, EMMG_LinearAnisotropyOperator, EMMG_FullExchangeOperator, EMMG_MinimalExchangeOperator, EMMG_AnisotropyOperator, EMMG_MagnetostrictionOperator, EMMG_StaticMagneticTensorOperator, EMMG_StaticMagnetostrictionOperator, EMMG_PlanarAnisotropyOperator, and EMMG_CubicAnisotropyOperator.
Referenced by EMM_MagneticExcitationOperator::computeMagneticExcitationFieldAndEnergy(), EMM_MagneticExcitationLinearOperator::computeMagneticExcitationFieldGradient(), and EMM_MagneticExcitationOperator::~EMM_MagneticExcitationOperator().

|
virtual |
compute the excitation magnetic field at M
| nCells | : number of cells of the mesh |
| dim | dimension of each point of the mesh |
| sigmaM | magnetization values of size nCells x dim not necessarly normalized : sigmaM=sigma.M |
| H | return excitation magnetic values of size nCells x dim |
References mMultiScaleGrid, mToeplitzMatrix, and null.
Referenced by EMMG_DemagnetizedOperator::computeMagneticExcitationField(), and getToeplitzMatrix().

|
inlineinherited |
compute the energy of the operator
| t | time in [0,dt[ where dt will be the next time step |
| sigma | weight of each cell |
| Mt | the magnetization field |
| Ht | the return magnetic excitation field |
References EMM_MagneticExcitationOperator::computeEnergy(), EMM_MagneticExcitationOperator::computeEnergyWithMagneticExcitation(), EMM_MagneticExcitationOperator::computeMagneticExcitationField(), and tReal.
Referenced by EMM_MagneticExcitationLinearOperator::computeEnergy(), and EMMG_AnisotropyOperator::computeEnergy().


|
inlinevirtualinherited |
compute the gradient of the magnetic excitation field at M in the direction D
| sigma | the weight of element |
| M | the magnetization field |
| D | the gradient direction |
| gradH | : the return gradient of the magnetic excitation field at M in the direction D |
gradH is unchanged
Implements EMM_MagneticExcitationOperator.
References EMM_MagneticExcitationOperator::computeMagneticExcitationField().

|
virtual |
discretize the operator depending on method
| system | landau lifschitz system used to discretize the operator |
Reimplemented from EMM_Operator.
Reimplemented in EMMG_SLDemagnetizedOperator.
References EMM_LandauLifschitzSystem::getMesh(), EMM_Grid3D::getSegmentsNumber(), CORE_Object::getThread(), EMM_Grid3D::isPeriodic(), mMultiScaleGrid, mMultiScaleGridName, CORE_String::New(), CORE_Thread::startChrono(), tUIndex, and tUInteger.
Referenced by getMemorySize().


|
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 |
|
inlinevirtualinherited |
get the data field at index for saving data in vtk,txt,... files.
| index | index of the field in [0,getDataFieldsNumber()[ |
| dataName | name of the field |
| n | number of element of the field |
| dim | dimension of the field in [1,3[ |
| values | values of the field |
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, and EMM_ZeemanOperator.
Referenced by EMM_OperatorsTest::compareDiscretizedData().

|
inlinevirtualinherited |
get the data field at index for saving data in vtk,txt,... files.
| index | index of the field in [0,getDataFieldsNumber()[ |
| dataName | name of the field |
| n | number of element of the field |
| dim | dimension of the field in [1,3[ |
| values | values of the field |
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, and EMM_ZeemanOperator.
|
inlinevirtualinherited |
get the data field at index for saving data in vtk,txt,... files.
| index | index of the field in [0,getDataFieldsNumber()[ |
| dataName | name of the field |
| n | number of element of the field |
| dim | dimension of the field in [1,3[ |
| values | values of the field |
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, and EMM_ZeemanOperator.
|
inlinevirtualinherited |
get the number of feild used in the operator
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, EMM_ZeemanOperator, and EMMG_SLDemagnetizedOperator.
|
inlinevirtualinherited |
get the data field at index for saving data in vtk,txt,... files.
| index | index of the field in [0,getDataFieldsNumber()[ |
| dataName | name of the field |
| supportType | : mesh element whre the field is applied EMM_Grid3D::ELEMENT or EMM_Grid3D::POINT |
| dFieldType | : type of the field double,float,int,.... |
| n | number of element of the field |
| dim | dimension of the field in [1,3[ |
Reimplemented in EMM_DisplacementFEMOperator, EMM_DisplacementFVMOperator, EMM_MagnetostrictionOperator, and EMM_ZeemanOperator.
References EMM_Grid3D::ELEMENT.
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().

|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the adimensionized volume of the element
References EMM_Operator::mElementVolume.
Referenced by EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_ZeemanOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_MagneticExcitationLinearOperator::computeEnergyWithMagneticExcitation(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_ZeemanOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeMagneticStress(), and EMM_DisplacementOperator::computePotentialEnergy().

|
inlinestaticinherited |
get the epsilon value for T type
|
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(), EMMG_SLPeriodicMultiScale::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
|
inline |
get the levels number in case of periodicicity of the domain
References mLevelsNumber.
|
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().

|
inlinevirtual |
return the memory size in bytes
Reimplemented from EMM_Operator.
Reimplemented in EMMG_SLDemagnetizedOperator.
References discretize(), EMM_Operator::getMemorySize(), and tBoolean.

|
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().

|
inline |
|
inline |
get the multi scale grid name to use
References mMultiScaleGridName.
Referenced by EMMG_SLDemagnetizedOperator::discretize().

|
inlinevirtualinherited |
return an human reading name of the operator
References CORE_Object::getClassName(), EMM_Operator::isAffine(), EMM_Operator::isGradientComputationable(), tBoolean, tString, and tUIndex.

|
inlinestaticinherited |
|
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 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(), 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().

|
inline |
get the toeplitz matrix
References computeMagneticExcitationField(), tDimension, toString(), tReal, tString, and tUIndex.

|
inlinestaticinherited |
|
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().

|
inlinevirtualinherited |
return true if the operator is either constant or linear
Implements EMM_Operator.
|
inlineinherited |
return the true if the element is cubic
References EMM_Operator::mIsCubic.
Referenced by EMM_FullExchangeOperator::discretize(), and EMM_MinimalExchangeOperator::discretize().

|
inlinevirtualinherited |
return true if the gradient of the magnetic excitation is computationable
Implements EMM_Operator.
|
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().

|
inline |
get if the levels number is automatically computed
References mIsLevelsNumberAutoComputed.
|
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().

|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlinevirtualinherited |
reset the data of the operator to its initial step t=0
| system | the data to initialize the operator |
do nothing : have no state
Implements EMM_Operator.
|
inlinevirtualinherited |
restore the operator data from file(s)
| system | : general data to restore the operator |
| prefix | : common prefix of the saving files |
| suffix | : common suffix of the saving files |
| ext | : common extension of the saving files |
Reimplemented in EMM_DisplacementOperator, EMM_MagnetostrictionOperator, and EMM_DisplacementFVMOperator.
References EMM_Operator::computeFieldsAtTime(), tBoolean, tFlag, tReal, and EMM_Operator::updateAtNextTimeStep().

|
inline |
if the levels number is automatically computed
| v | true if the levels number is automatically computed |
The levels number is set to min(N[d]) for all periodic directions where N[d] is the number of segments long d-direction
|
inlinestaticinherited |
set if the memory checking is used
| v | : true to check memory |
Referenced by main().

|
inline |
set the levels number in case of periodicicity of the domain
| l | : number of coarse grids |
|
inline |
set the multi scale grid name to use
| name | : name of the multi scale grid (either "RP" or "") |
References setStorage(), and tString.

|
inlinestaticinherited |
| void EMM_DemagnetizedOperator::setStorage | ( | const tString & | storage | ) |
set the storage of the toeplitz matrix
| storage | type of storage
|
References mToeplitzMatrix, MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix::New(), and MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::New().
Referenced by EMM_DemagnetizedOperator(), and setMultiScaleGridName().


|
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().

|
inline |
set the levels number in case of periodicicity of the domain
| l | : number of coarse grids |
|
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 string representation of the operator
Reimplemented from CORE_Object.
Reimplemented in EMMG_SLDemagnetizedOperator.
References mToeplitzMatrix.
Referenced by getToeplitzMatrix().

|
inlinevirtualinherited |
update the data of operator at next time step
| dt | the time step |
| sigma | the magnetized weight of each cell |
| Mt | the magnetization field at each point at next time step |
Implements EMM_Operator.
|
staticinherited |
|
private |
Referenced by EMM_DemagnetizedOperator(), and isLevelsNumberAutoComputed().
|
private |
Referenced by EMM_DemagnetizedOperator(), and getLevelsNumber().
|
private |
Referenced by computeMagneticExcitationField(), and discretize().
|
private |
Referenced by discretize(), EMM_DemagnetizedOperator(), and getMultiScaleGridName().
|
private |
Referenced by computeMagneticExcitationField(), setStorage(), and toString().
|
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().
|
private |
Referenced by EMM_DemagnetizedOperator().
|
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 |
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 |
1.8.13