C++ main module for emicrom Package  1.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
EMM_4Tensors Class Reference

This class describes a morse array of tensors of 4 order. More...

#include <EMM_4Tensors.h>

Inheritance diagram for EMM_4Tensors:
Inheritance graph
[legend]
Collaboration diagram for EMM_4Tensors:
Collaboration graph
[legend]

Public Member Functions

 EMM_4Tensors ()
 create a 4 order tensor More...
 
virtual ~EMM_4Tensors (void)
 destroy More...
 
virtual SP::EMM_Tensors NewInstance () const
 create a new instance More...
 
virtual const tRealoperator() (const tUIndex &index, const tUSInt &p, const tUSInt &q, const tUSInt &r, const tUSInt &s) const
 get the values at index p,q,r,s of the tensor at index More...
 
virtual tRealoperator() (const tUIndex &index, const tUSInt &p, const tUSInt &q, const tUSInt &r, const tUSInt &s)
 get the values at index p,q,r,s of the tensor at index More...
 
void setValue (const tUIndex &index, const tUSInt &i, const tUSInt &j, const tUSInt &k, const tUSInt &l, const tReal &v)
 set the value of the tensor at index and at coordinates i,j,k,l to v More...
 
const tRealgetValue (const tUIndex &index, const tUSInt &i, const tUSInt &j, const tUSInt &k, const tUSInt &l) const
 get the value of the tensor at index and at coordinates i,j,k,l More...
 
virtual tUSInt getTensorSize () const
 get thememory size of the storage of each tensor More...
 
virtual tUSInt getIndex (const tUSInt &p, const tUSInt &q, const tUSInt &r, const tUSInt &s, const tUSInt &dim) const
 get the index of element (p,q,r,s) More...
 
virtual void doubleDotCrossProduct (const tUIndex &n, const tUSInt &dim, const tReal &beta, const tUSInt &m, const tBoolean &incS, const tReal *S, const tBoolean &incU, const tReal *U, const tBoolean &incV, const tReal *V, const tBoolean &incW, const tReal *W, const tReal &alpha, tReal *Z) const
 compute the vector Z=alpha.Z+beta. S^m . (T:UxV)W More...
 
virtual void doubleDotProduct (const tUIndex &n, const tUSInt &dim, const tReal &beta, const tUSInt &m, const tBoolean &incS, const tReal *S, const EMM_2PackedSymmetricTensors &phi, const tBoolean &incU, const tReal *U, const tReal &alpha, tReal *Z) const
 compute the vector Z=alpha.Z+beta. S^m (T:phi) U More...
 
virtual tReal squaredDoubleDotScalar (const EMM_2PackedSymmetricTensors &psi, const EMM_2PackedSymmetricTensors &phi) const
 compute the scalar $ (T:\psi):\phi $ More...
 
virtual tReal doubleDotCrossDoubleDotScalar (const tUIndex &n, const tUSInt &dim, const tUSInt &p, const tBoolean &incS, const tReal *S, const tBoolean &incU, const tReal *U, const tBoolean &incV, const tReal *V, const EMM_2PackedSymmetricTensors &phi) const
 compute the scalar $ S^p. ((T:UxV):\phi) $ where T is this 4 tensor More...
 
virtual tReal squaredDoubleDotCrossScalar (const tUIndex &n, const tUSInt &dim, const tUSInt &p, const tBoolean &incS, const tReal *S, const EMM_2PackedSymmetricTensors &phi, const tBoolean &incU, const tReal *U, const tBoolean &incV, const tReal *V) const
 compute the scalar $ S^p. ((T:\phi):UxV) $ where T is this 4 tensor More...
 
virtual tReal doubleDotCrossSquaredScalar (const tUIndex &n, const tUSInt &dim, const tUSInt &p, const tBoolean &incS, const tReal *S, const tBoolean &incU, const tReal *U, const tBoolean &incV, const tReal *V, const tBoolean &incW, const tReal *W, const tBoolean &incZ, const tReal *Z) const
 compute the scalar $ S^p.((T:UxV):WxZ) $ where T is this 4 tensor More...
 
const tRealoperator[] (const tUIndex &index) const
 get the first tensor values at index in [0,getTensorsNumber()[ for reading only More...
 
tRealoperator[] (const tUIndex &index)
 get the first tensor values at index in [0,getTensorsNumber()[ for reading only More...
 
SP::EMM_Tensors NewCopyInstance () const
 create a new copy instance More...
 
virtual void setDimension (const tUSInt &dim)
 set the dimension of the tensor More...
 
void setTensorsNumber (const tUIndex &n, const tUInteger &nPacks)
 set the tensors number More...
 
void setTensorsNumber (const tUIndex &n)
 set the tensors number More...
 
void setUniformTensorsNumber (const tUIndex &n)
 set the tensors number : all the tensor are the same More...
 
void reset ()
 reset the values More...
 
void init (const tUIndex &index, const tReal &v)
 init the tensor at index to uniform value More...
 
void init (const tUIndex &index, const vector< tReal > &v)
 init the tensor at index to uniform value More...
 
void init (const tUIndex &index, const tUSInt &nv, const tReal *v)
 init the tensor at index to uniform value More...
 
virtual tULLInt getMemorySize () const
 return the memory size in byte More...
 
const tUSIntgetDimension () const
 get the dimension of the tensor More...
 
const tUIndexgetTensorsNumber () const
 get the number of tensors More...
 
const CORE_RealMorseArraygetValues () const
 get the values as a morse array of the tensors More...
 
CORE_RealMorseArraygetValues ()
 get the values as a morse array of the tensors More...
 
tBoolean isUniform () const
 
tBoolean isNull (const tUIndex &i) const
 
tBoolean isNotNull (const tUIndex &i) const
 
tBoolean saveToFile (const tString &fn) const
 save the tensor into file More...
 
tBoolean loadFromFile (const tString &fn)
 load the tensor from file More...
 
virtual tString toString () const
 return the string representation of the class 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 SP::EMM_4Tensors New ()
 builds a full tensor 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_Outout ()
 get the output More...
 
static SP::CORE_Out getOut ()
 get the output More...
 
static CORE_ThreadgetThread ()
 get the profilier More...
 
static const tBooleanisMemoryChecked ()
 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...
 

Protected Member Functions

virtual void copy (const EMM_Tensors &tensors)
 copy More...
 
void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Private Member Functions

 SP_OBJECT (EMM_4Tensors)
 

Detailed Description

This class describes a morse array of tensors of 4 order.

By default, the storage is full : T(p,q,r,s)=T[s+dim*(r+dim*(q+dim*p))]

Author
Stéphane Despréaux
Version
1.0

Constructor & Destructor Documentation

◆ EMM_4Tensors()

EMM_4Tensors::EMM_4Tensors ( )

create a 4 order tensor

Referenced by New().

Here is the caller graph for this function:

◆ ~EMM_4Tensors()

EMM_4Tensors::~EMM_4Tensors ( void  )
virtual

destroy

Member Function Documentation

◆ computeEpsilon()

template<class T >
static T CORE_Object::computeEpsilon ( )
inlinestaticinherited

compute epsilon

Returns
the epsilon value eps=10^{-p/3} where p is defined by getEpsilon()=10^{-p}

◆ copy()

virtual void EMM_Tensors::copy ( const EMM_Tensors tensors)
inlineprotectedvirtualinherited

copy

Parameters
tensorstensors to copy

References CORE_MorseArray< T >::copy(), EMM_Tensors::getDimension(), and EMM_Tensors::getValues().

Here is the call graph for this function:

◆ doubleDotCrossDoubleDotScalar()

tReal EMM_4Tensors::doubleDotCrossDoubleDotScalar ( const tUIndex n,
const tUSInt dim,
const tUSInt p,
const tBoolean incS,
const tReal S,
const tBoolean incU,
const tReal U,
const tBoolean incV,
const tReal V,
const EMM_2PackedSymmetricTensors phi 
) const
virtual

compute the scalar $ S^p. ((T:UxV):\phi) $ where T is this 4 tensor

Parameters
nsize of fields
dimdimension of fields
ppower of s
incSincrement of S either 0 or 1
Svalues of the array of size n or 1 is incS=0
incUincrement on field U (1 or 0 for uniform field)
Uvalues of the field of size dim x n or dim x 1 is incU=0
incVincerement on feild V (1 or 0 for uniform field)
Vvalues of the field of size dim x n or dim x 1 is incV=0
phiis a 2 order packed symmetric tensor
Returns
the scalar value $ \displaystyle \sum_{p,q=0}^{dim-1} \phi_pq. \sum_{i,j=0}^{dim-1} T_{pqij}.U_i.V_j $

References CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, EMM_Tensors::getDimension(), CORE_Exception::getMessage(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_Tensors::getValues(), OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, CORE_Object::out(), CORE_Out::println(), CORE_MorseArrayConstIterator< T >::size(), tReal, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayConstIterator< T >::values().

Referenced by EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), and getIndex().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doubleDotCrossProduct()

void EMM_4Tensors::doubleDotCrossProduct ( const tUIndex n,
const tUSInt dim,
const tReal beta,
const tUSInt m,
const tBoolean incS,
const tReal S,
const tBoolean incU,
const tReal U,
const tBoolean incV,
const tReal V,
const tBoolean incW,
const tReal W,
const tReal alpha,
tReal Z 
) const
virtual

compute the vector Z=alpha.Z+beta. S^m . (T:UxV)W

Parameters
nsize of Z
dimdimension of Z
betasaclar multiplicator value
mpower of each element of multiplicator array S
incSincrement of S either 0 or 1
Svalues of the array of size n or 1 is incS=0
incUincrement of U either 0 or 1
Uvalues of the field of size dim x n or dim x 1 is incU=0
incVincrement of V either 0 or 1
Vvalues of the field of size dim x n or dim x 1 is incV=0
incWincrement of W either 0 or 1
Wvalues of the field of size dim x n or dim x 1 is incW=0
alphamultiplicator factor of Z
Zthe return vector Z

References ASSERT_IN, CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, EMM_Tensors::getDimension(), EMM_Tensors::getTensorsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_Tensors::getValues(), OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, CORE_Object::out(), CORE_Out::println(), CORE_MorseArrayConstIterator< T >::size(), tReal, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayConstIterator< T >::values().

Referenced by EMM_TensorsTest::doubleDotCrossProductTests(), and getIndex().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doubleDotCrossSquaredScalar()

tReal EMM_4Tensors::doubleDotCrossSquaredScalar ( const tUIndex n,
const tUSInt dim,
const tUSInt p,
const tBoolean incS,
const tReal S,
const tBoolean incU,
const tReal U,
const tBoolean incV,
const tReal V,
const tBoolean incW,
const tReal W,
const tBoolean incZ,
const tReal Z 
) const
virtual

compute the scalar $ S^p.((T:UxV):WxZ) $ where T is this 4 tensor

Parameters
nsize of fields
dimdimension of fields
ppower of s
incSincrement of S either 0 or 1
Svalues of the array of size n or 1 is incS=0
incUincrement on field U (1 or 0 for uniform field)
Uvalues of the field of size dim x n or dim x 1 is incU=0
incVincerement on feild V (1 or 0 for uniform field)
Vvalues of the field of size dim x n or dim x 1 is incV=0
incWincrement on field W (1 or 0 for uniform field)
Wvalues of the field of size dim x n or dim x 1 is incW=0
incZincerement on fizld Z (1 or 0 for uniform field)
Zvalues of the field of size dim x n or dim x 1 is incZ=0
Returns
the scalar value $ \displaystyle \sum_{p,q=0}^{dim-1} W_p Z_q \sum_{i,j=0}^{dim-1} T_{pqij}.U_i.V_j $

References CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, CORE_Exception::getMessage(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_Tensors::getValues(), OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, CORE_Object::out(), CORE_Out::println(), CORE_MorseArrayConstIterator< T >::size(), tReal, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayConstIterator< T >::values().

Referenced by EMM_MagnetostrictionOperator::computeEnergy(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), and getIndex().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doubleDotProduct()

void EMM_4Tensors::doubleDotProduct ( const tUIndex n,
const tUSInt dim,
const tReal beta,
const tUSInt m,
const tBoolean incS,
const tReal S,
const EMM_2PackedSymmetricTensors phi,
const tBoolean incU,
const tReal U,
const tReal alpha,
tReal Z 
) const
virtual

compute the vector Z=alpha.Z+beta. S^m (T:phi) U

Parameters
nsize of Z
dimdimension of Z
betasaclar multiplicator value
mpower of each element of multiplicator array S
incSincrement of S either 0 or 1
Svalues of the array of size n or 1 is incS=0
incUincrement of U either 0 or 1
Uvalues of the field of size dim x n or dim x 1 is incU=0
phi2 packed symmetri ctensor
alphamultiplicator factor of Z
Zthe return vector Z

References CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, EMM_Tensors::getDimension(), CORE_Exception::getMessage(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_Tensors::getValues(), OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, CORE_Object::out(), CORE_Out::println(), CORE_MorseArrayConstIterator< T >::size(), tReal, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayConstIterator< T >::values().

Referenced by EMM_TensorsTest::doubleDotProductTests(), and getIndex().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClassName() [1/2]

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().

Here is the caller graph for this function:

◆ getClassName() [2/2]

static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object

Parameters
identityStringthe identity string of the object
Returns
the class name

◆ getDimension()

const tUSInt& EMM_Tensors::getDimension ( ) const
inlineinherited

◆ getDoubleEpsilon()

static tDouble CORE_Object::getDoubleEpsilon ( )
inlinestaticinherited

get the epsilon value for tDouble type

Returns
the epsilon value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getDoubleInfinity()

static tDouble CORE_Object::getDoubleInfinity ( )
inlinestaticinherited

get the infinity value for tFloat type

Returns
the intinity value for tFloat type

◆ getEpsilon()

template<class T >
static T CORE_Object::getEpsilon ( )
inlinestaticinherited

get the epsilon value for T type

Returns
the epsilon value for T type

◆ getFloatEpsilon()

static tFloat CORE_Object::getFloatEpsilon ( )
inlinestaticinherited

get the epsilon value for tFloat type

Returns
the epsilon value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getFloatInfinity()

static tFloat CORE_Object::getFloatInfinity ( )
inlinestaticinherited

get the infinity value for tFloat type

Returns
the intinity value for tFloat type

◆ getIdentityString()

tString CORE_Object::getIdentityString ( ) const
inlineinherited

◆ getIndex()

virtual tUSInt EMM_4Tensors::getIndex ( const tUSInt p,
const tUSInt q,
const tUSInt r,
const tUSInt s,
const tUSInt dim 
) const
inlinevirtual

get the index of element (p,q,r,s)

Parameters
p1st index of element
q2nd index of element
r3rd index of element
s4rd index of element
dimdimension of each index of the tensor
Returns
the index into $ [0,dim^4[ $

References doubleDotCrossDoubleDotScalar(), doubleDotCrossProduct(), doubleDotCrossSquaredScalar(), doubleDotProduct(), squaredDoubleDotCrossScalar(), squaredDoubleDotScalar(), tBoolean, tReal, tUIndex, and tUSInt.

Referenced by EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), and operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInfinity()

template<class T >
static T CORE_Object::getInfinity ( )
inlinestaticinherited

get the infinity for T type

Returns
the infinity value for T type

◆ getLDoubleEpsilon()

static tLDouble CORE_Object::getLDoubleEpsilon ( )
inlinestaticinherited

get the epsilon value for tLDouble type

Returns
the epsilon value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getLDoubleInfinity()

static tDouble CORE_Object::getLDoubleInfinity ( )
inlinestaticinherited

get the infinity value for tDouble type

Returns
the infinity value for tDouble type

◆ getMaxChar()

static tChar CORE_Object::getMaxChar ( )
inlinestaticinherited

get the max value for tChar type

Returns
the max value for tChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxDouble()

static tDouble CORE_Object::getMaxDouble ( )
inlinestaticinherited

get the max value for tDouble type

Returns
the max value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxFlag()

static tFlag CORE_Object::getMaxFlag ( )
inlinestaticinherited

get the max value for the tFlag type

Returns
the max value for the tFlag type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxFloat()

static tFloat CORE_Object::getMaxFloat ( )
inlinestaticinherited

get the max value for tFloat type

Returns
the max value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxIndex()

static tIndex CORE_Object::getMaxIndex ( )
inlinestaticinherited

get the max value for the array/vector indexing type

Returns
the max value for the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxInt()

static tInt CORE_Object::getMaxInt ( )
inlinestaticinherited

get the max value for tInt type

Returns
the max value for tInt type

Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxInteger()

static tInteger CORE_Object::getMaxInteger ( )
inlinestaticinherited

get the max value for the integer type

Returns
the max value for the integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLDouble()

static tLDouble CORE_Object::getMaxLDouble ( )
inlinestaticinherited

get the max value for tLDouble type

Returns
the max value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLInt()

static tLInt CORE_Object::getMaxLInt ( )
inlinestaticinherited

get the max value for tLInt type

Returns
the max value for tLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLLInt()

static tLLInt CORE_Object::getMaxLLInt ( )
inlinestaticinherited

get the max value for tULInt type

Returns
the max value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxReal()

static tReal CORE_Object::getMaxReal ( )
inlinestaticinherited

get the max value for the real type

Returns
he max value for the real type

Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxSInt()

static tSInt CORE_Object::getMaxSInt ( )
inlinestaticinherited

get the max value for tSInt type

Returns
the max value for tSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUChar()

static tUChar CORE_Object::getMaxUChar ( )
inlinestaticinherited

get the max value for tUChar type

Returns
the max value for tUChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUIndex()

static tUIndex CORE_Object::getMaxUIndex ( )
inlinestaticinherited

get the max value for difference the array/vector indexing type

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

Here is the caller graph for this function:

◆ getMaxUInt()

static tUInt CORE_Object::getMaxUInt ( )
inlinestaticinherited

get the max value for tUInt type

Returns
the max value for tUInt type

Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUInteger()

static tUInteger CORE_Object::getMaxUInteger ( )
inlinestaticinherited

get the max value for the unsigned integer type

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

Here is the caller graph for this function:

◆ getMaxULInt()

static tULInt CORE_Object::getMaxULInt ( )
inlinestaticinherited

get the max value for tULInt type

Returns
the max value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxULLInt()

static tULLInt CORE_Object::getMaxULLInt ( )
inlinestaticinherited

get the max value for tULLInt type

Returns
the max value for tULLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUSInt()

static tUSInt CORE_Object::getMaxUSInt ( )
inlinestaticinherited

get the max value for tUSInt type

Returns
the max value for tUSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMemorySize()

virtual tULLInt EMM_Tensors::getMemorySize ( ) const
inlinevirtualinherited

return the memory size in byte

Returns
the memory size of the storage in bytes 1 Kb = 1024 bytes 1 Mb = 1024 Kb 1 Gb = 1024 Mb 1 Tb = 1024 Gb 1 Hb = 1024 Tb

References CORE_MorseArray< T >::getMemorySize().

Referenced by EMM_DisplacementOperator::getMemorySize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMinChar()

static tChar CORE_Object::getMinChar ( )
inlinestaticinherited

get the min value for tChar type

Returns
the min value for tChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinDouble()

static tDouble CORE_Object::getMinDouble ( )
inlinestaticinherited

get the min value for tDouble type

Returns
the min value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinFlag()

static tFlag CORE_Object::getMinFlag ( )
inlinestaticinherited

get the min value for the tFlag type

Returns
the min value for the tFlag type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinFloat()

static tFloat CORE_Object::getMinFloat ( )
inlinestaticinherited

get the min value for tFloat type

Returns
the min value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinIndex()

static tIndex CORE_Object::getMinIndex ( )
inlinestaticinherited

get the min value for the array/vector indexing type

Returns
the min value for the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinInt()

static tInt CORE_Object::getMinInt ( )
inlinestaticinherited

get the min value for tInt type

Returns
the min value for tInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinInteger()

static tInteger CORE_Object::getMinInteger ( )
inlinestaticinherited

get the min value for the integer type

Returns
the minin value for the integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLDouble()

static tLDouble CORE_Object::getMinLDouble ( )
inlinestaticinherited

get the min value for tLDouble type

Returns
the min value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLInt()

static tLInt CORE_Object::getMinLInt ( )
inlinestaticinherited

get the min value for tLInt type

Returns
the min value for tLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLLInt()

static tLLInt CORE_Object::getMinLLInt ( )
inlinestaticinherited

get the min value for tLLInt type

Returns
the min value for tLLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinReal()

static tReal CORE_Object::getMinReal ( )
inlinestaticinherited

get the min value for the real type

Returns
the min value for the real type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinSInt()

static tSInt CORE_Object::getMinSInt ( )
inlinestaticinherited

get the min value for tSInt type

Returns
the min value for tSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUChar()

static tUChar CORE_Object::getMinUChar ( )
inlinestaticinherited

get the min value for tUChar type

Returns
the min value for tUChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUIndex()

static tUIndex CORE_Object::getMinUIndex ( )
inlinestaticinherited

get the min value for difference the array/vector indexing type

Returns
the min value for difference the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUInt()

static tUInt CORE_Object::getMinUInt ( )
inlinestaticinherited

get the min value for tUInt type

Returns
the min value for tUInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUInteger()

static tUInteger CORE_Object::getMinUInteger ( )
inlinestaticinherited

get the min value for the unsigned integer type

Returns
the min value for the unsigned integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinULInt()

static tULInt CORE_Object::getMinULInt ( )
inlinestaticinherited

get the min value for tULInt type

Returns
the min value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinULLInt()

static tULLInt CORE_Object::getMinULLInt ( )
inlinestaticinherited

get the min value for tULLInt type

Returns
the min value for tULLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUSInt()

static tUSInt CORE_Object::getMinUSInt ( )
inlinestaticinherited

get the min value for tUSInt type

Returns
the min value for tUSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getOut()

static SP::CORE_Out CORE_Object::getOut ( )
inlinestaticinherited

get the output

Returns
the shared pointer to the output stream

References CORE_Object::OUT.

◆ getPointerAddress()

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

◆ getRealEpsilon()

static tReal CORE_Object::getRealEpsilon ( )
inlinestaticinherited

get the eps which is the difference between 1 and the least value greater than 1 that is representable.

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

Here is the caller graph for this function:

◆ getRealInfinity()

static tReal CORE_Object::getRealInfinity ( )
inlinestaticinherited

◆ getSharedPointer() [1/2]

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited

◆ getSharedPointer() [2/2]

void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

Parameters
p: shared pointer of the class This

◆ getTensorSize()

virtual tUSInt EMM_4Tensors::getTensorSize ( ) const
inlinevirtual

◆ getTensorsNumber()

const tUIndex& EMM_Tensors::getTensorsNumber ( ) const
inlineinherited

◆ getThread()

static CORE_Thread& CORE_Object::getThread ( )
inlinestaticinherited

get the profilier

Returns
the profiler

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(), doubleDotCrossDoubleDotScalar(), doubleDotCrossProduct(), doubleDotCrossSquaredScalar(), 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(), squaredDoubleDotCrossScalar(), squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().

Here is the caller graph for this function:

◆ getTypeName()

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

Returns
the type name of the class

References tString.

◆ getValue()

const tReal& EMM_4Tensors::getValue ( const tUIndex index,
const tUSInt i,
const tUSInt j,
const tUSInt k,
const tUSInt l 
) const
inline

◆ getValues() [1/2]

const CORE_RealMorseArray& EMM_Tensors::getValues ( ) const
inlineinherited

◆ getValues() [2/2]

CORE_RealMorseArray& EMM_Tensors::getValues ( )
inlineinherited

get the values as a morse array of the tensors

Returns
the tensors as a morse array

References EMM_Tensors::mValues.

◆ init() [1/3]

void EMM_Tensors::init ( const tUIndex index,
const tReal v 
)
inlineinherited

init the tensor at index to uniform value

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
vvalue of the tensor

set the tensor to v for all its elements

References EMM_Tensors::getTensorSize(), tReal, and tUSInt.

Referenced by EMM_StaticMagnetostrictionOperator::setStressTensor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init() [2/3]

void EMM_Tensors::init ( const tUIndex index,
const vector< tReal > &  v 
)
inlineinherited

init the tensor at index to uniform value

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
vvalues of the tensor as a vector

set the tensor to v for all its elements

References EMM_Tensors::getTensorSize(), tReal, and tUSInt.

Here is the call graph for this function:

◆ init() [3/3]

void EMM_Tensors::init ( const tUIndex index,
const tUSInt nv,
const tReal v 
)
inlineinherited

init the tensor at index to uniform value

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
nvnumber of values v
vvalues of the tensor as a vector

set the tensor to v for all its elements

References EMM_Tensors::getTensorSize(), tReal, and tUSInt.

Here is the call graph for this function:

◆ is32Architecture()

static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

Returns
true is the computing is done in a 32 bits machine

References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.

Referenced by CORE_Test::testType().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is64Architecture()

static tBoolean CORE_Object::is64Architecture ( )
inlinestaticinherited

return true if the machine is a 64 bits machine

Returns
true is the computing is done in a 64 bits machine

Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ isInstanceOf() [1/2]

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

test if the clas T is an instance of this class

Returns
true if the object is an instance of T

References null.

Referenced by MATH_ToeplitzTest::toeplitzTest().

Here is the caller graph for this function:

◆ isInstanceOf() [2/2]

tBoolean CORE_Object::isInstanceOf ( const tString name) const
inlineinherited

test if the object is an instance of className

Parameters
namename of the class
Returns
true if the object is an instance of class Name

References CORE_Object::getIdentityString().

Here is the call graph for this function:

◆ isMemoryChecked()

static const tBoolean& CORE_Object::isMemoryChecked ( )
inlinestaticinherited

get if the memory checking is used

Returns
true: if the memory checking is used.

References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNotNull()

tBoolean EMM_Tensors::isNotNull ( const tUIndex i) const
inlineinherited
Returns
true is the i-th tensor is not null
Parameters
iindex of the tensor

References CORE_MorseArray< T >::getSize().

Referenced by EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), and EMM_DisplacementFEMOperator::computeMagneticStress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNull()

tBoolean EMM_Tensors::isNull ( const tUIndex i) const
inlineinherited
Returns
true is the i-th tensor is null
Parameters
iindex of the tensor

References CORE_MorseArray< T >::getSize().

Here is the call graph for this function:

◆ isUniform()

tBoolean EMM_Tensors::isUniform ( ) const
inlineinherited
Returns
true if all the tensors are the same

References CORE_MorseArray< T >::isUniform().

Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadFromFile()

tBoolean EMM_Tensors::loadFromFile ( const tString fn)
inlineinherited

load the tensor from file

Parameters
fnname of the file
Returns
true if the loading has succeeded

The file format is has follow :

comment

M is the number of element ie getSize()

P is the max values per element ie getMaxValuesNumberPerElement()

M P

is 1: if the tensor is uniform over the domain, 0: otherwise

U

M[i][0] M[i][1] .... M[i][d] with d< P and i in [0,getSize()[ and line may be empty for no data on element i

...

References CORE_MorseArray< T >::loadFromFile().

Here is the call graph for this function:

◆ New()

static SP::EMM_4Tensors EMM_4Tensors::New ( )
inlinestatic

builds a full tensor

Returns
a shared pointer to this

References EMM_4Tensors().

Referenced by EMM_4SymmetricTensors::doubleDot(), EMM_TensorsClassFactory::NewInstance(), NewInstance(), and EMM_4SymmetricTensors::squaredDoubleDot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NewCopyInstance()

SP::EMM_Tensors EMM_Tensors::NewCopyInstance ( ) const
inlineinherited

create a new copy instance

Returns
a shared pointer to a new instance of this

References EMM_Tensors::NewInstance().

Here is the call graph for this function:

◆ NewInstance()

virtual SP::EMM_Tensors EMM_4Tensors::NewInstance ( ) const
inlinevirtual

create a new instance

Returns
a shared pointer to a new instance of this

Implements EMM_Tensors.

Reimplemented in EMM_4SymmetricTensors.

References New().

Here is the call graph for this function:

◆ operator()() [1/2]

virtual const tReal& EMM_4Tensors::operator() ( const tUIndex index,
const tUSInt p,
const tUSInt q,
const tUSInt r,
const tUSInt s 
) const
inlinevirtual

get the values at index p,q,r,s of the tensor at index

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
pindex of the element in the tensor in [0,getDimension()[
qindex of the element in the tensor in [0,getDimension()[
rindex of the element in the tensor in [0,getDimension()[
sindex of the element in the tensor in [0,getDimension()[
Returns
the value of the tensor

References EMM_Tensors::getDimension(), and getIndex().

Here is the call graph for this function:

◆ operator()() [2/2]

virtual tReal& EMM_4Tensors::operator() ( const tUIndex index,
const tUSInt p,
const tUSInt q,
const tUSInt r,
const tUSInt s 
)
inlinevirtual

get the values at index p,q,r,s of the tensor at index

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
pindex of the element in the tensor in [0,getDimension()[
qindex of the element in the tensor in [0,getDimension()[
rindex of the element in the tensor in [0,getDimension()[
sindex of the element in the tensor in [0,getDimension()[
Returns
the value of the tensor

References EMM_Tensors::getDimension(), and getIndex().

Here is the call graph for this function:

◆ operator[]() [1/2]

const tReal* EMM_Tensors::operator[] ( const tUIndex index) const
inlineinherited

get the first tensor values at index in [0,getTensorsNumber()[ for reading only

Parameters
indexindex of the tensor
Returns
the first value of the tensor at index of size getTensorSize();

◆ operator[]() [2/2]

tReal* EMM_Tensors::operator[] ( const tUIndex index)
inlineinherited

get the first tensor values at index in [0,getTensorsNumber()[ for reading only

Parameters
indexindex of the tensor
Returns
the first value of the tensor at index of size getTensorSize();

◆ out()

static CORE_Out& CORE_Object::out ( )
inlinestaticinherited

get the output

Returns
the output stream

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(), doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), 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(), squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), 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().

Here is the caller graph for this function:

◆ pointer2String()

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string representation of a pointer

Parameters
obj: oject to get the string pointer
Returns
the string pointer of the object

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

◆ printObjectsInMemory() [1/2]

void CORE_Object::printObjectsInMemory ( ostream &  f)
staticinherited

print object in memory

Parameters
f: output to print the objects in memory

References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.

Here is the call graph for this function:

◆ printObjectsInMemory() [2/2]

static void CORE_Object::printObjectsInMemory ( )
inlinestaticinherited

print object in memory in the standart output

Referenced by CORE_Object::is32Architecture(), and main().

Here is the caller graph for this function:

◆ reset()

void EMM_Tensors::reset ( )
inlineinherited

reset the values

References CORE_MorseArray< T >::reset().

Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetOut()

static void CORE_Object::resetOut ( )
inlinestaticinherited

reset the output stream

Referenced by run().

Here is the caller graph for this function:

◆ resetThread()

static void CORE_Object::resetThread ( )
inlinestaticinherited

reset the output stream

Referenced by run().

Here is the caller graph for this function:

◆ saveToFile()

tBoolean EMM_Tensors::saveToFile ( const tString fn) const
inlineinherited

save the tensor into file

Parameters
fnname of the file
Returns
true if the saving has succeeded

The file format is has follow :

comment

M is the number of element ie getSize()

P is the max values per element ie getMaxValuesNumberPerElement()

M P

is 1: if the tensor is uniform over the domain, 0: otherwise

U

M[i][0] M[i][1] .... M[i][d] with d< P and i in [0,getSize()[ and line may be empty for no data on element i

...

References CORE_MorseArray< T >::saveToFile().

Referenced by EMM_DisplacementOperator::backup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDimension()

virtual void EMM_Tensors::setDimension ( const tUSInt dim)
inlinevirtualinherited

set the dimension of the tensor

Returns
the dimension of the tensor

Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().

Here is the caller graph for this function:

◆ setIsMemoryChecked()

static void CORE_Object::setIsMemoryChecked ( const tBoolean v)
inlinestaticinherited

set if the memory checking is used

Parameters
v: true to check memory

Referenced by main().

Here is the caller graph for this function:

◆ setOut()

static void CORE_Object::setOut ( SP::CORE_Out  out)
inlinestaticinherited

set the output stream

Parameters
out: the shared pointer to the new output stream

References null.

◆ setTensorsNumber() [1/2]

void EMM_Tensors::setTensorsNumber ( const tUIndex n,
const tUInteger nPacks 
)
inlineinherited

◆ setTensorsNumber() [2/2]

void EMM_Tensors::setTensorsNumber ( const tUIndex n)
inlineinherited

set the tensors number

Parameters
nnumber of tensors

References CORE_MorseArray< T >::getIndices(), EMM_Tensors::getTensorSize(), EMM_Tensors::setTensorsNumber(), tUIndex, and tUSInt.

Here is the call graph for this function:

◆ setThis()

void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

Parameters
p: shared pointer of the class This

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

◆ setThread()

static void CORE_Object::setThread ( SP::CORE_Thread  thread)
inlinestaticinherited

set the thread

Parameters
threadthe shared pointer to the thread

References null.

Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().

Here is the caller graph for this function:

◆ setUniformTensorsNumber()

void EMM_Tensors::setUniformTensorsNumber ( const tUIndex n)
inlineinherited

set the tensors number : all the tensor are the same

Parameters
nnumber of tensors

References EMM_Tensors::getTensorSize(), CORE_MorseArray< T >::setUniformSize(), and tUSInt.

Referenced by EMM_4SymmetricTensors::doubleDot(), EMM_StaticMagnetostrictionOperator::EMM_StaticMagnetostrictionOperator(), and EMM_4SymmetricTensors::squaredDoubleDot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setValue()

void EMM_4Tensors::setValue ( const tUIndex index,
const tUSInt i,
const tUSInt j,
const tUSInt k,
const tUSInt l,
const tReal v 
)
inline

set the value of the tensor at index and at coordinates i,j,k,l to v

Parameters
indexindex of the tensor in [0,getTensorsNumber()[
iindex of the element in [0,getDimension()[
jindex of the element in [0,getDimension()[
kindex of the element in [0,getDimension()[
lindex of the element in [0,getDimension()[
vvalue to set

◆ SP_OBJECT()

EMM_4Tensors::SP_OBJECT ( EMM_4Tensors  )
private

◆ squaredDoubleDotCrossScalar()

tReal EMM_4Tensors::squaredDoubleDotCrossScalar ( const tUIndex n,
const tUSInt dim,
const tUSInt p,
const tBoolean incS,
const tReal S,
const EMM_2PackedSymmetricTensors phi,
const tBoolean incU,
const tReal U,
const tBoolean incV,
const tReal V 
) const
virtual

compute the scalar $ S^p. ((T:\phi):UxV) $ where T is this 4 tensor

Parameters
nsize of fields
dimdimension of fields
ppower of s
incSincrement of S either 0 or 1
Svalues of the array of size n or 1 is incS=0
phiis a 2 order packed symmetric tensor
incUincrement on field U (1 or 0 for uniform field)
Uvalues of the field of size dim x n or dim x 1 is incU=0
incVincrement on feild V (1 or 0 for uniform field)
Vvalues of the field of size dim x n or dim x 1 is incV=0
Returns
the scalar value $ \displaystyle \sum_{p,q=0}^{dim-1} U_p Vq \sum_{i,j=0}^{dim-1} T_{pqij}. \phi_{ij} $

References CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, EMM_Tensors::getDimension(), CORE_Exception::getMessage(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_Tensors::getValues(), OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, CORE_Object::out(), CORE_Out::println(), CORE_MorseArrayConstIterator< T >::size(), tReal, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayConstIterator< T >::values().

Referenced by getIndex(), and EMM_TensorsTest::squaredDoubleDotCrossScalarTests().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ squaredDoubleDotScalar()

tReal EMM_4Tensors::squaredDoubleDotScalar ( const EMM_2PackedSymmetricTensors psi,
const EMM_2PackedSymmetricTensors phi 
) const
virtual

◆ toDoAfterThisSetting()

virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited

method called after setThis() method this method can oly be called once.

Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, EMM_GradGaussLegendreRelaxation, and EMM_Object.

Referenced by CORE_Object::setThis().

Here is the caller graph for this function:

◆ toString()

virtual tString EMM_Tensors::toString ( ) const
inlinevirtualinherited

return the string representation of the class

Returns
the string representaton on the class

Reimplemented from CORE_Object.

References CORE_Object::getIdentityString(), and CORE_MorseArray< T >::toString().

Here is the call graph for this function:

The documentation for this class was generated from the following files: