C++ main module for emicrom Package
1.0
|
This class describes a morse array of tensors of 4 order. More...
#include <EMM_4Tensors.h>
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 tReal & | operator() (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 tReal & | operator() (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 tReal & | getValue (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 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 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 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 where T is this 4 tensor More... | |
const tReal * | operator[] (const tUIndex &index) const |
get the first tensor values at index in [0,getTensorsNumber()[ for reading only More... | |
tReal * | operator[] (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 tUSInt & | getDimension () const |
get the dimension of the tensor More... | |
const tUIndex & | getTensorsNumber () const |
get the number of tensors More... | |
const CORE_RealMorseArray & | getValues () const |
get the values as a morse array of the tensors More... | |
CORE_RealMorseArray & | getValues () |
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_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... | |
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) | |
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))]
EMM_4Tensors::EMM_4Tensors | ( | ) |
|
virtual |
destroy
|
inlinestaticinherited |
compute epsilon
|
inlineprotectedvirtualinherited |
copy
tensors | tensors to copy |
References CORE_MorseArray< T >::copy(), EMM_Tensors::getDimension(), and EMM_Tensors::getValues().
|
virtual |
compute the scalar where T is this 4 tensor
n | size of fields |
dim | dimension of fields |
p | power of s |
incS | increment of S either 0 or 1 |
S | values of the array of size n or 1 is incS=0 |
incU | increment on field U (1 or 0 for uniform field) |
U | values of the field of size dim x n or dim x 1 is incU=0 |
incV | incerement on feild V (1 or 0 for uniform field) |
V | values of the field of size dim x n or dim x 1 is incV=0 |
phi | is a 2 order packed symmetric tensor |
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().
|
virtual |
compute the vector Z=alpha.Z+beta. S^m . (T:UxV)W
n | size of Z |
dim | dimension of Z |
beta | saclar multiplicator value |
m | power of each element of multiplicator array S |
incS | increment of S either 0 or 1 |
S | values of the array of size n or 1 is incS=0 |
incU | increment of U either 0 or 1 |
U | values of the field of size dim x n or dim x 1 is incU=0 |
incV | increment of V either 0 or 1 |
V | values of the field of size dim x n or dim x 1 is incV=0 |
incW | increment of W either 0 or 1 |
W | values of the field of size dim x n or dim x 1 is incW=0 |
alpha | multiplicator factor of Z |
Z | the 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().
|
virtual |
compute the scalar where T is this 4 tensor
n | size of fields |
dim | dimension of fields |
p | power of s |
incS | increment of S either 0 or 1 |
S | values of the array of size n or 1 is incS=0 |
incU | increment on field U (1 or 0 for uniform field) |
U | values of the field of size dim x n or dim x 1 is incU=0 |
incV | incerement on feild V (1 or 0 for uniform field) |
V | values of the field of size dim x n or dim x 1 is incV=0 |
incW | increment on field W (1 or 0 for uniform field) |
W | values of the field of size dim x n or dim x 1 is incW=0 |
incZ | incerement on fizld Z (1 or 0 for uniform field) |
Z | values of the field of size dim x n or dim x 1 is incZ=0 |
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().
|
virtual |
compute the vector Z=alpha.Z+beta. S^m (T:phi) U
n | size of Z |
dim | dimension of Z |
beta | saclar multiplicator value |
m | power of each element of multiplicator array S |
incS | increment of S either 0 or 1 |
S | values of the array of size n or 1 is incS=0 |
incU | increment of U either 0 or 1 |
U | values of the field of size dim x n or dim x 1 is incU=0 |
phi | 2 packed symmetri ctensor |
alpha | multiplicator factor of Z |
Z | the 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().
|
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 |
|
inlineinherited |
get the dimension of the tensor
References EMM_Tensors::getTensorSize(), EMM_Tensors::mDimension, and tUSInt.
Referenced by EMM_Tensors::copy(), EMM_4SymmetricTensors::doubleDot(), doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_2PackedSymmetricTensors::getTensorSize(), EMM_2Tensors::getTensorSize(), getTensorSize(), EMM_2Tensors::operator()(), operator()(), EMM_2PackedSymmetricTensors::product(), EMM_4SymmetricTensors::squaredDoubleDot(), squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), squaredDoubleDotScalar(), EMM_TensorsTest::verifyCenterSymmetry(), EMM_TensorsTest::verifyLeftSymmetry(), and EMM_TensorsTest::verifyRightSymmetry().
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlinestaticinherited |
get the epsilon value for T type
|
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().
|
inlinevirtual |
get the index of element (p,q,r,s)
p | 1st index of element |
q | 2nd index of element |
r | 3rd index of element |
s | 4rd index of element |
dim | dimension of each index of the tensor |
References doubleDotCrossDoubleDotScalar(), doubleDotCrossProduct(), doubleDotCrossSquaredScalar(), doubleDotProduct(), squaredDoubleDotCrossScalar(), squaredDoubleDotScalar(), tBoolean, tReal, tUIndex, and tUSInt.
Referenced by EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), and operator()().
|
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
|
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().
|
inlinevirtualinherited |
return the memory size in byte
References CORE_MorseArray< T >::getMemorySize().
Referenced by EMM_DisplacementOperator::getMemorySize().
|
inlinestaticinherited |
get the min value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the real type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
|
inlineinherited |
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 |
|
inlinevirtual |
get thememory size of the storage of each tensor
Implements EMM_Tensors.
References EMM_Tensors::getDimension(), and tUSInt.
Referenced by EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().
|
inlineinherited |
get the number of tensors
References CORE_MorseArray< T >::getSize().
Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_4SymmetricTensors::doubleDot(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_TensorsTest::doubleDotProductTests(), EMM_2PackedSymmetricTensors::product(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), squaredDoubleDotScalar(), EMM_TensorsTest::verifyCenterSymmetry(), EMM_TensorsTest::verifyLeftSymmetry(), and EMM_TensorsTest::verifyRightSymmetry().
|
inlinestaticinherited |
get the profilier
Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), 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().
|
inlinestaticinherited |
|
inline |
get the value of the tensor at index and at coordinates i,j,k,l
index | index of the tensor in [0,getTensorsNumber()[ |
i | index of the element in [0,getDimension()[ |
j | index of the element in [0,getDimension()[ |
k | index of the element in [0,getDimension()[ |
l | index of the element in [0,getDimension()[ |
Referenced by EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_TensorsTest::doubleDotProductTests(), EMM_TensorsTest::doubleDotTests(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_TensorsTest::verifyCenterSymmetry(), EMM_TensorsTest::verifyLeftSymmetry(), and EMM_TensorsTest::verifyRightSymmetry().
|
inlineinherited |
get the values as a morse array of the tensors
References EMM_Tensors::mValues.
Referenced by EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_Tensors::copy(), EMM_4SymmetricTensors::doubleDot(), doubleDotCrossDoubleDotScalar(), doubleDotCrossProduct(), doubleDotCrossSquaredScalar(), doubleDotProduct(), EMM_2PackedSymmetricTensors::product(), EMM_4SymmetricTensors::squaredDoubleDot(), squaredDoubleDotCrossScalar(), and squaredDoubleDotScalar().
|
inlineinherited |
get the values as a morse array of the tensors
References EMM_Tensors::mValues.
init the tensor at index to uniform value
index | index of the tensor in [0,getTensorsNumber()[ |
v | value of the tensor |
set the tensor to v for all its elements
References EMM_Tensors::getTensorSize(), tReal, and tUSInt.
Referenced by EMM_StaticMagnetostrictionOperator::setStressTensor().
init the tensor at index to uniform value
index | index of the tensor in [0,getTensorsNumber()[ |
v | values of the tensor as a vector |
set the tensor to v for all its elements
References EMM_Tensors::getTensorSize(), tReal, and tUSInt.
|
inlineinherited |
init the tensor at index to uniform value
index | index of the tensor in [0,getTensorsNumber()[ |
nv | number of values v |
v | values of the tensor as a vector |
set the tensor to v for all its elements
References EMM_Tensors::getTensorSize(), tReal, and tUSInt.
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
|
inlineinherited |
test if the clas T is an instance of this class
References null.
Referenced by MATH_ToeplitzTest::toeplitzTest().
test if the object is an instance of className
name | name of the class |
References CORE_Object::getIdentityString().
|
inlinestaticinherited |
get if the memory checking is used
References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.
Referenced by main().
i | index of the tensor |
References CORE_MorseArray< T >::getSize().
Referenced by EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), and EMM_DisplacementFEMOperator::computeMagneticStress().
i | index of the tensor |
References CORE_MorseArray< T >::getSize().
|
inlineinherited |
References CORE_MorseArray< T >::isUniform().
Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().
load the tensor from file
fn | name of the file |
The file format is has follow :
M P
U
...
References CORE_MorseArray< T >::loadFromFile().
|
inlinestatic |
builds a full tensor
References EMM_4Tensors().
Referenced by EMM_4SymmetricTensors::doubleDot(), EMM_TensorsClassFactory::NewInstance(), NewInstance(), and EMM_4SymmetricTensors::squaredDoubleDot().
|
inlineinherited |
create a new copy instance
References EMM_Tensors::NewInstance().
|
inlinevirtual |
create a new instance
Implements EMM_Tensors.
Reimplemented in EMM_4SymmetricTensors.
References New().
|
inlinevirtual |
get the values at index p,q,r,s of the tensor at index
index | index of the tensor in [0,getTensorsNumber()[ |
p | index of the element in the tensor in [0,getDimension()[ |
q | index of the element in the tensor in [0,getDimension()[ |
r | index of the element in the tensor in [0,getDimension()[ |
s | index of the element in the tensor in [0,getDimension()[ |
References EMM_Tensors::getDimension(), and getIndex().
|
inlinevirtual |
get the values at index p,q,r,s of the tensor at index
index | index of the tensor in [0,getTensorsNumber()[ |
p | index of the element in the tensor in [0,getDimension()[ |
q | index of the element in the tensor in [0,getDimension()[ |
r | index of the element in the tensor in [0,getDimension()[ |
s | index of the element in the tensor in [0,getDimension()[ |
References EMM_Tensors::getDimension(), and getIndex().
get the first tensor values at index in [0,getTensorsNumber()[ for reading only
index | index of the tensor |
get the first tensor values at index in [0,getTensorsNumber()[ for reading only
index | index of the tensor |
|
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(), 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().
|
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().
|
inlineinherited |
reset the values
References CORE_MorseArray< T >::reset().
Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().
|
inlinestaticinherited |
|
inlinestaticinherited |
save the tensor into file
fn | name of the file |
The file format is has follow :
M P
U
...
References CORE_MorseArray< T >::saveToFile().
Referenced by EMM_DisplacementOperator::backup().
|
inlinevirtualinherited |
set the dimension of the tensor
Referenced by EMM_4SymmetricTensors::doubleDot(), and EMM_4SymmetricTensors::squaredDoubleDot().
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlinestaticinherited |
set the tensors number
n | number of tensors |
nPacks | number of packs |
References EMM_Tensors::getTensorSize(), and CORE_MorseArray< T >::setSize().
Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_4SymmetricTensors::doubleDot(), EMM_TensorsTest::doubleDotProductTests(), EMM_TensorsTest::packedSymmetricTensorsTests(), EMM_Tensors::setTensorsNumber(), and EMM_4SymmetricTensors::squaredDoubleDot().
|
inlineinherited |
set the tensors number
n | number of tensors |
References CORE_MorseArray< T >::getIndices(), EMM_Tensors::getTensorSize(), EMM_Tensors::setTensorsNumber(), tUIndex, and tUSInt.
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
inlineinherited |
set the tensors number : all the tensor are the same
n | number 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().
|
inline |
set the value of the tensor at index and at coordinates i,j,k,l to v
index | index of the tensor in [0,getTensorsNumber()[ |
i | index of the element in [0,getDimension()[ |
j | index of the element in [0,getDimension()[ |
k | index of the element in [0,getDimension()[ |
l | index of the element in [0,getDimension()[ |
v | value to set |
|
private |
|
virtual |
compute the scalar where T is this 4 tensor
n | size of fields |
dim | dimension of fields |
p | power of s |
incS | increment of S either 0 or 1 |
S | values of the array of size n or 1 is incS=0 |
phi | is a 2 order packed symmetric tensor |
incU | increment on field U (1 or 0 for uniform field) |
U | values of the field of size dim x n or dim x 1 is incU=0 |
incV | increment on feild V (1 or 0 for uniform field) |
V | values of the field of size dim x n or dim x 1 is incV=0 |
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().
|
virtual |
compute the scalar
psi | is a 2 order packed symmetric tensor |
phi | is a 2 order packed symmetric tensor |
References CORE_MorseArray< T >::begin(), CORE_Out::ERROR_MSG, EMM_Tensors::getDimension(), CORE_Exception::getMessage(), EMM_Tensors::getTensorsNumber(), 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::squaredDoubleDotScalarTests().
|
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().
|
inlinevirtualinherited |
return the string representation of the class
Reimplemented from CORE_Object.
References CORE_Object::getIdentityString(), and CORE_MorseArray< T >::toString().