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

This class describes the condensed mass matrix $ A_{ij}= \int_{\omega} \Phi_i(x). \Phi_j(x) dx = \delta_{ij} . |\omega| $ where $ \Phi_i $ is the P1 function with is 1 on the point i and 0 otherwise. More...

#include <EMM_CondensedMassMatrix.h>

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

Public Member Functions

virtual SP::MATH_Matrix NewInstance () const
 return a share pointer to a new instance of this More...
 
void setIsSolverExplicit (const tBoolean &b)
 set if the solver used is a explicit More...
 
virtual tULLInt getMemorySize () const
 return the memory size in byte More...
 
virtual void discretize (const EMM_Grid3D &mesh, SPC::EMM_LimitConditionArray lc)
 discretize the matrix More...
 
virtual tBoolean solve (MATH_Solver &solver, EMM_RealField &B)
 solve AX=B thanks to the solver More...
 
tBoolean solve (EMM_RealField &B)
 sole AX=B without solver because diagonal More...
 
virtual void product (const tReal &beta, const MATH_Vector &x, const tReal &alpha, MATH_Vector &y) const
 y:=alpha.y+beta. T . x where T is this More...
 
virtual void product (const tReal &alpha, const MATH_Vector &x, MATH_Vector &y) const
 Y=alpha.T.x where T is this. More...
 
virtual void product (const MATH_Vector &x, MATH_Vector &y) const
 b=T.x where T is this More...
 
virtual void product (const tReal &alpha, const EMM_RealField &X, const tReal &beta, EMM_RealField &Y) const
 compute Y=alpha.Y+beta.A.X More...
 
virtual tReal symmetricDot (const EMM_RealField &X) const
 compute tXAX More...
 
virtual tReal symmetricDot (const EMM_RealArray &W, const EMM_RealField &X) const
 compute tX.W.A.X More...
 
virtual tString toString () const
 return the string representatio of the class More...
 
virtual tUIndex getRowsNumber () const
 get the rows number of the matrix More...
 
virtual tUIndex getColumnsNumber () const
 get the columns number of the matrix More...
 
virtual void setSize (const tUIndex &nRows, const tUIndex &nCols)
 set the size of the matrix More...
 
virtual tBoolean isSymmetric () const
 return true if the matrix is symmetric More...
 
tBoolean isSymmetric (const tReal &eps, const MATH_Vector &w) const
 return true if the matrix is symmetric More...
 
void setLimitConditionPoints (SPC::EMM_LimitConditionArray pts)
 set the limit condition points More...
 
void setPeriodicIndicator (const tCellFlag &p)
 set the periodicity indicator More...
 
void setPointsNumber (const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz)
 set the number of points in all directions More...
 
void setNeighborsIndicator (SPC::EMM_CellFlagArray neighbors)
 set the neighbor indicator of each cell More...
 
void setElementVolume (const tReal &v)
 
const EMM_LimitConditionArraygetLimitConditionPoints () const
 get the limit condition for each points More...
 
const tUSIntgetBlockSize () const
 get the block size More...
 
const EMM_CellFlagArraygetNeighborsIndicator () const
 get the neighbor indicator of each cell More...
 
const tUIntegergetPointsNumber (const tDimension &k) const
 get the number of points in the direction k More...
 
const tUIntegergetPointsNumber () const
 get the number of points in all directions More...
 
const tCellFlaggetPeriodicIndicator () const
 get the periodicity indicator More...
 
tBoolean isXPeriodic () const
 
tBoolean isYPeriodic () const
 
tBoolean isZPeriodic () const
 
const tRealgetElementVolume () const
 
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...
 
virtual const MATH_Vectorconditioning (const MATH_Vector &x) const
 conditioning of a vector : suppose A is conditioned by C. It solves $ C^tC \cdot y = x $ More...
 

Static Public Member Functions

static SP::EMM_CondensedMassMatrix New ()
 create a mass matrix 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...
 

Static Public Attributes

static const tUCInt INT_PHI2 []
 
static const tUCInt INT_PHI2_FACTOR =216
 
static const tReal Mu0 =4*M_PI*1e-07
 
static const tReal Gamma =-1.7e11
 
static const tDimension X =0
 
static const tDimension Y =1
 
static const tDimension Z =2
 
static const tReal NULL_VALUE [] ={0,0,0}
 

Protected Member Functions

 EMM_CondensedMassMatrix (void)
 create More...
 
virtual ~EMM_CondensedMassMatrix (void)
 destroy More...
 
virtual void product (const tUIndex &n, const tReal &beta, const tUCInt &incX, const tReal *x, const tReal &alpha, const tUCInt &incY, tReal *y) const
 y:=alpha.y+beta. T . x where T is this More...
 
virtual void product (const tUIndex &n, const tReal &alpha, const tUSInt &incX, const tReal *x, const tReal &beta, const tUSInt &incY, tReal *y) const
 y:=alpha. T . x + beta y where T is this More...
 
virtual tReal symmetricDot (const tUSInt &incX, const tReal *x, const tUSInt &incY, const tReal *y) const
 $ s=x^t .T.x $ More...
 
virtual tReal symmetricDot (const tReal *D, const tUSInt &incX, const tReal *X, const tUSInt &incY, const tReal *Y) const
 $ s=x^t . sqrt(D)^t .T. sqrt(D) . x $ More...
 
void setBlockSize (const tUSInt &b)
 set the block size of the matrix More...
 
virtual void toDoAfterThisSetting ()
 method called after the setting of the shared pointer this method can only be called once. More...
 
void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 

Private Member Functions

 SP_OBJECT (EMM_CondensedMassMatrix)
 
void product (const tUIndex &n, const tDimension &dim, const tReal &beta, const tReal *x, const tReal &alpha, tReal *y) const
 y:=alpha.y + beta. T . x where T is this More...
 
tReal symmetricDot (const tUIndex &n, const tDimension &dim, const tReal *x, const tReal *y) const
 $ s=x^t.T.x $ More...
 
tReal symmetricDot (const tUIndex &n, const tDimension &dim, const tReal *D, const tReal *x, const tReal *y) const
 $ s=x^t. sqrt(D)^t.T. sqrt(d). x $ More...
 

Private Attributes

tBoolean mIsSolverExplicit
 
tBoolean mIsCondensedSymmetricDot
 
SP::MATH_ArrayVector mDiagonal
 

Detailed Description

This class describes the condensed mass matrix $ A_{ij}= \int_{\omega} \Phi_i(x). \Phi_j(x) dx = \delta_{ij} . |\omega| $ where $ \Phi_i $ is the P1 function with is 1 on the point i and 0 otherwise.

This matrix is diagonal

Author
Stéphane Despréaux
Version
1.0

Constructor & Destructor Documentation

◆ EMM_CondensedMassMatrix()

EMM_CondensedMassMatrix::EMM_CondensedMassMatrix ( void  )
protected

create

References mDiagonal, mIsCondensedSymmetricDot, and mIsSolverExplicit.

Referenced by New().

Here is the caller graph for this function:

◆ ~EMM_CondensedMassMatrix()

EMM_CondensedMassMatrix::~EMM_CondensedMassMatrix ( void  )
protectedvirtual

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}

◆ conditioning()

virtual const MATH_Vector& MATH_Matrix::conditioning ( const MATH_Vector x) const
inlinevirtualinherited

conditioning of a vector : suppose A is conditioned by C. It solves $ C^tC \cdot y = x $

Parameters
xvector to condition
Returns
y solution of $ C^tC \cdot y = x $

by default C=I

Reimplemented in EMM_BlockEquilibriumMatrix.

References MATH_Matrix::toString(), and tString.

Referenced by EMM_BlockEquilibriumMatrix::conditioning(), MATH_BiConjugateGradientStabilized::solve(), MATH_ConjugateGradientSquared::solve(), and MATH_ConjugateGradient::solve().

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

◆ discretize()

void EMM_CondensedMassMatrix::discretize ( const EMM_Grid3D mesh,
SPC::EMM_LimitConditionArray  lc 
)
virtual

◆ getBlockSize()

const tUSInt& EMM_MassMatrix::getBlockSize ( ) const
inlineinherited

get the block size

Returns
the size of the diagonal block

References EMM_MassMatrix::mBlockSize.

Referenced by EMM_BlockMassMatrix::product(), EMM_BlockMassMatrix::setSize(), EMM_BlockMassMatrix::symmetricDot(), and EMM_BlockMassMatrix::toString().

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

◆ getColumnsNumber()

virtual tUIndex EMM_CanonicalMassMatrix::getColumnsNumber ( ) const
inlinevirtualinherited

get the columns number of the matrix

Returns
the number of rows of the matrix

Reimplemented from EMM_MassMatrix.

References EMM_MassMatrix::getColumnsNumber().

Referenced by product().

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

◆ 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

◆ getElementVolume()

const tReal& EMM_MassMatrix::getElementVolume ( ) const
inlineinherited

◆ 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

◆ 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

◆ getLimitConditionPoints()

const EMM_LimitConditionArray& EMM_MassMatrix::getLimitConditionPoints ( ) const
inlineinherited

get the limit condition for each points

Returns
the array which indices if the point is a dirichlet point/slave peridical point/neumann point

References CORE_Array< T >::get().

Referenced by EMM_CanonicalMassMatrix::product(), product(), EMM_BlockMassMatrix::product(), and solve().

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

◆ 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_CondensedMassMatrix::getMemorySize ( ) const
inlinevirtual

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

Reimplemented from EMM_CanonicalMassMatrix.

References discretize(), and EMM_CanonicalMassMatrix::getMemorySize().

Here is the call 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:

◆ getNeighborsIndicator()

const EMM_CellFlagArray& EMM_MassMatrix::getNeighborsIndicator ( ) const
inlineinherited

get the neighbor indicator of each cell

Returns
the neighbor indicator of all cell

References null.

Referenced by discretize(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), and EMM_BlockMassMatrix::symmetricDot().

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.

◆ getPeriodicIndicator()

const tCellFlag& EMM_MassMatrix::getPeriodicIndicator ( ) const
inlineinherited

get the periodicity indicator

Returns
the periodicity indicator {110000,001100,000011,111100,110011,001111,111111}={3,12,48,15,51,60,63}

References EMM_MassMatrix::mPeriodicity.

Referenced by discretize(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), and EMM_BlockMassMatrix::symmetricDot().

Here is the caller graph for this function:

◆ 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:

◆ getPointsNumber() [1/2]

const tUInteger& EMM_MassMatrix::getPointsNumber ( const tDimension k) const
inlineinherited

get the number of points in the direction k

Parameters
kdirection in [0,3[

◆ getPointsNumber() [2/2]

const tUInteger* EMM_MassMatrix::getPointsNumber ( ) const
inlineinherited

get the number of points in all directions

References EMM_MassMatrix::mPointsNumber.

Referenced by discretize(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), and EMM_BlockMassMatrix::symmetricDot().

Here is the caller 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

◆ getRowsNumber()

virtual tUIndex EMM_CanonicalMassMatrix::getRowsNumber ( ) const
inlinevirtualinherited

get the rows number of the matrix

Returns
the number of rows of the matrix

Reimplemented from EMM_MassMatrix.

References EMM_MassMatrix::getRowsNumber().

Referenced by discretize(), EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().

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

◆ 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

◆ 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(), discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), 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(), solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), 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.

◆ 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:

◆ isSymmetric() [1/2]

tBoolean MATH_Matrix::isSymmetric ( const tReal eps,
const MATH_Vector w 
) const
inherited

return true if the matrix is symmetric

Parameters
eps: max tolerance value
w: the instance of vector to copy

References MATH_Matrix::getRowsNumber(), MATH_Vector::init(), MATH_Vector::NewInstance(), MATH_Matrix::product(), MATH_Vector::setSize(), MATH_Vector::setValue(), tReal, and tUIndex.

Referenced by MATH_Matrix::getMemorySize(), EMM_CanonicalMassMatrix::isSymmetric(), EMM_BlockMassMatrix::isSymmetric(), and MATH_ConjugateGradient::solve().

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

◆ isSymmetric() [2/2]

virtual tBoolean EMM_CanonicalMassMatrix::isSymmetric ( ) const
inlinevirtualinherited

◆ isXPeriodic()

tBoolean EMM_MassMatrix::isXPeriodic ( ) const
inlineinherited
Returns
true if the matrix is priodic among x direction

◆ isYPeriodic()

tBoolean EMM_MassMatrix::isYPeriodic ( ) const
inlineinherited
Returns
true if the matrix is priodic among y direction

◆ isZPeriodic()

tBoolean EMM_MassMatrix::isZPeriodic ( ) const
inlineinherited
Returns
true if the matrix is priodic among z direction

◆ New()

static SP::EMM_CondensedMassMatrix EMM_CondensedMassMatrix::New ( )
inlinestatic

create a mass matrix

Returns
a shared pointer to the mass matrix

References EMM_CondensedMassMatrix().

Referenced by EMM_VelocitySolverTest::condensedMassMatrixTest(), EMM_VelocitySolverTest::condensedMassMatrixTrivialSolverTest(), NewInstance(), and EMM_DisplacementFEMOperator::NewMassMatrix().

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

◆ NewInstance()

virtual SP::MATH_Matrix EMM_CondensedMassMatrix::NewInstance ( ) const
inlinevirtual

return a share pointer to a new instance of this

Returns
a shared pointer to a New instance of this

Reimplemented from EMM_CanonicalMassMatrix.

References New().

Here is the call graph for this function:

◆ 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(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), EMM_Grid3D::loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), EMM_Grid3D::saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().

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:

◆ product() [1/7]

virtual void EMM_CondensedMassMatrix::product ( const tUIndex n,
const tReal beta,
const tUCInt incX,
const tReal x,
const tReal alpha,
const tUCInt incY,
tReal y 
) const
inlineprotectedvirtual

y:=alpha.y+beta. T . x where T is this

Parameters
nsize of x and y
betafactor of T
incXincrement of vector x
xvalues of x of size n x incX
alphafactor of y
incYincrement of vector y
yvalues of y of size n x incy

References solve(), symmetricDot(), tBoolean, tDimension, tReal, and tUIndex.

Referenced by product().

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

◆ product() [2/7]

void EMM_CanonicalMassMatrix::product ( const tUIndex n,
const tReal alpha,
const tUSInt incX,
const tReal x,
const tReal beta,
const tUSInt incY,
tReal y 
) const
protectedvirtualinherited

◆ product() [3/7]

void EMM_CondensedMassMatrix::product ( const tUIndex n,
const tDimension dim,
const tReal beta,
const tReal x,
const tReal alpha,
tReal y 
) const
private

y:=alpha.y + beta. T . x where T is this

Parameters
nnumber of points
dimdimension of each point
betafactor of T
xvalues of x
alphafactor of y
yvalues of y

References EMM_Grid3D::DIRICHLET_LIMIT_CONDITION, EMM_MassMatrix::getLimitConditionPoints(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), mDiagonal, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, EMM_Grid3D::SLAVE_LIMIT_CONDITION, tDimension, tLimitCondition, tReal, tUIndex, and tUInteger.

Here is the call graph for this function:

◆ product() [4/7]

virtual void EMM_CondensedMassMatrix::product ( const tReal beta,
const MATH_Vector x,
const tReal alpha,
MATH_Vector y 
) const
inlinevirtual

y:=alpha.y+beta. T . x where T is this

Parameters
betafactor of T
xvector to multiply by this
alphafactor of y
yresult vector

Reimplemented from MATH_MaskMatrix.

References MATH_Vector::dot(), EMM_CanonicalMassMatrix::getColumnsNumber(), EMM_CanonicalMassMatrix::getRowsNumber(), MATH_Vector::getSize(), product(), tDimension, CORE_Integer::toString(), and tUIndex.

Here is the call graph for this function:

◆ product() [5/7]

virtual void EMM_CondensedMassMatrix::product ( const tReal alpha,
const MATH_Vector x,
MATH_Vector y 
) const
inlinevirtual

Y=alpha.T.x where T is this.

Parameters
alphamultiplicator factor
xvector to multiply by this
yresult vector

Reimplemented from MATH_MaskMatrix.

References EMM_CanonicalMassMatrix::getColumnsNumber(), EMM_CanonicalMassMatrix::getRowsNumber(), MATH_Vector::getSize(), MATH_Vector::init(), product(), MATH_Vector::setSize(), tDimension, CORE_Integer::toString(), and tUIndex.

Here is the call graph for this function:

◆ product() [6/7]

virtual void EMM_CondensedMassMatrix::product ( const MATH_Vector x,
MATH_Vector y 
) const
inlinevirtual

b=T.x where T is this

Parameters
xvector to multiply by this
yresult vector

Reimplemented from MATH_MaskMatrix.

References EMM_CanonicalMassMatrix::getColumnsNumber(), EMM_CanonicalMassMatrix::getRowsNumber(), MATH_Vector::getSize(), product(), MATH_Vector::setSize(), symmetricDot(), tDimension, CORE_Integer::toString(), tReal, tUIndex, EMM_Object::X, and EMM_Object::Y.

Here is the call graph for this function:

◆ product() [7/7]

void EMM_CondensedMassMatrix::product ( const tReal alpha,
const EMM_RealField X,
const tReal beta,
EMM_RealField Y 
) const
virtual

compute Y=alpha.Y+beta.A.X

Parameters
alphaX factor
Xfield to compute the product
beta: Y factor
Yinput/output field

Reimplemented from EMM_CanonicalMassMatrix.

References EMM_RealField::getDimension(), EMM_RealField::getSize(), EMM_RealField::getValues(), product(), EMM_RealField::setDimension(), EMM_RealField::setSize(), tDimension, tReal, and tUIndex.

Here is the call 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:

◆ setBlockSize()

void EMM_MassMatrix::setBlockSize ( const tUSInt b)
inlineprotectedinherited

set the block size of the matrix

Parameters
bthe size of the diagonal block

◆ setElementVolume()

void EMM_MassMatrix::setElementVolume ( const tReal v)
inlineinherited

Referenced by EMM_MassMatrix::discretize().

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:

◆ setIsSolverExplicit()

void EMM_CondensedMassMatrix::setIsSolverExplicit ( const tBoolean b)
inline

set if the solver used is a explicit

Parameters
btrue to use a direct solver

◆ setLimitConditionPoints()

void EMM_MassMatrix::setLimitConditionPoints ( SPC::EMM_LimitConditionArray  pts)
inlineinherited

set the limit condition points

Referenced by EMM_MassMatrix::discretize().

Here is the caller graph for this function:

◆ setNeighborsIndicator()

void EMM_MassMatrix::setNeighborsIndicator ( SPC::EMM_CellFlagArray  neighbors)
inlineinherited

set the neighbor indicator of each cell

Parameters
neighborsthe neighbor indicator of all cell

Referenced by EMM_MassMatrix::discretize().

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.

◆ setPeriodicIndicator()

void EMM_MassMatrix::setPeriodicIndicator ( const tCellFlag p)
inlineinherited

set the periodicity indicator

Parameters
pperiodicity indicator in 6 bytes {110000,001100,000011,111100,110011,001111,111111}={3,12,48,15,51,60,63}

Referenced by EMM_MassMatrix::discretize().

Here is the caller graph for this function:

◆ setPointsNumber()

void EMM_MassMatrix::setPointsNumber ( const tUInteger Px,
const tUInteger Py,
const tUInteger Pz 
)
inlineinherited

set the number of points in all directions

Parameters
Pxnumber of points in the x direction
Pynumber of points on the y direction
Pznumber of points on the z direction

References EMM_MassMatrix::mBlockSize, EMM_MassMatrix::mPointsNumber, and tUInteger.

Referenced by EMM_MassMatrix::discretize().

Here is the caller graph for this function:

◆ setSize()

virtual void EMM_CanonicalMassMatrix::setSize ( const tUIndex nRows,
const tUIndex nCols 
)
inlinevirtualinherited

set the size of the matrix

Parameters
nRowsnumber of rows
nCols: number of columns

Reimplemented from EMM_MassMatrix.

References EMM_MassMatrix::setSize().

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:

◆ solve() [1/2]

tBoolean EMM_CondensedMassMatrix::solve ( MATH_Solver solver,
EMM_RealField B 
)
virtual

solve AX=B thanks to the solver

Parameters
solverthe iterative linear system solver
Bthe constant field

It computes :

  • A.X=B
  • B:=X;

Reimplemented from EMM_CanonicalMassMatrix.

References mIsSolverExplicit, and EMM_CanonicalMassMatrix::solve().

Referenced by product().

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

◆ solve() [2/2]

tBoolean EMM_CondensedMassMatrix::solve ( EMM_RealField B)

◆ SP_OBJECT()

EMM_CondensedMassMatrix::SP_OBJECT ( EMM_CondensedMassMatrix  )
private

◆ symmetricDot() [1/6]

tReal EMM_CanonicalMassMatrix::symmetricDot ( const tUSInt incX,
const tReal x,
const tUSInt incY,
const tReal y 
) const
protectedvirtualinherited

◆ symmetricDot() [2/6]

tReal EMM_CanonicalMassMatrix::symmetricDot ( const tReal D,
const tUSInt incX,
const tReal X,
const tUSInt incY,
const tReal Y 
) const
protectedvirtualinherited

◆ symmetricDot() [3/6]

tReal EMM_CondensedMassMatrix::symmetricDot ( const tUIndex n,
const tDimension dim,
const tReal x,
const tReal y 
) const
private

$ s=x^t.T.x $

Parameters
nnumber of points
dimdimension of each point
xvalues of x
yvalues of y It computes $ s= \displaystyle \sum_{i,j=1}{n-1} A_{ij} \left ( \sum_{k=0}^{k=d-1} x^i_k . x^j_k \right ) $

References EMM_CanonicalMassMatrix::getRowsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), mDiagonal, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, tDimension, CORE_Integer::toString(), tReal, tUIndex, and tUInteger.

Referenced by product(), and symmetricDot().

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

◆ symmetricDot() [4/6]

tReal EMM_CondensedMassMatrix::symmetricDot ( const tUIndex n,
const tDimension dim,
const tReal D,
const tReal x,
const tReal y 
) const
private

$ s=x^t. sqrt(D)^t.T. sqrt(d). x $

Parameters
nnumber of points
dimdimension of each point
Dthe diagonal matrix
xvalues of x
yvalues of y It computes $ s= \displaystyle \sum_{i,j=1}{n-1} A_{ij} \left ( \sum_{k=0}^{k=d-1} x^i_k . x^j_k \right ) $

References EMM_CanonicalMassMatrix::getRowsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), mDiagonal, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, tDimension, CORE_Integer::toString(), tReal, tUIndex, and tUInteger.

Here is the call graph for this function:

◆ symmetricDot() [5/6]

tReal EMM_CondensedMassMatrix::symmetricDot ( const EMM_RealField X) const
virtual

compute tXAX

Parameters
Xfield to compute the symmetric dot

Reimplemented from EMM_CanonicalMassMatrix.

References EMM_RealField::getDimension(), EMM_RealField::getValues(), mIsCondensedSymmetricDot, EMM_CanonicalMassMatrix::symmetricDot(), symmetricDot(), tDimension, tReal, and tUIndex.

Here is the call graph for this function:

◆ symmetricDot() [6/6]

tReal EMM_CondensedMassMatrix::symmetricDot ( const EMM_RealArray W,
const EMM_RealField X 
) const
virtual

compute tX.W.A.X

Parameters
W: weight per cell
Xfield to compute the symmetric dot

Reimplemented from EMM_CanonicalMassMatrix.

References EMM_RealField::getDimension(), CORE_Array< T >::getSize(), EMM_RealField::getValues(), mIsCondensedSymmetricDot, EMM_CanonicalMassMatrix::symmetricDot(), symmetricDot(), tDimension, tReal, and tUIndex.

Here is the call graph for this function:

◆ toDoAfterThisSetting()

virtual void EMM_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited

method called after the setting of the shared pointer this method can only be called once.

Reimplemented from CORE_Object.

Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, and EMM_GradGaussLegendreRelaxation.

Referenced by EMM_GaussLegendreRelaxation::toDoAfterThisSetting(), and EMM_DisplacementOperator::toDoAfterThisSetting().

Here is the caller graph for this function:

◆ toString()

virtual tString EMM_CondensedMassMatrix::toString ( ) const
inlinevirtual

return the string representatio of the class

Returns
the string representation of the class

Reimplemented from EMM_CanonicalMassMatrix.

References EMM_CanonicalMassMatrix::toString().

Here is the call graph for this function:

Member Data Documentation

◆ Gamma

const tReal EMM_Object::Gamma =-1.7e11
staticinherited

◆ INT_PHI2

const tUCInt EMM_MassMatrix::INT_PHI2
staticinherited
Initial value:
={8,4,4,2,4,2,2,1,
4,8,2,4,2,4,1,2,
4,2,8,4,2,1,4,2,
2,4,4,8,1,2,2,4,
4,2,2,1,8,4,4,2,
2,4,1,2,4,8,2,4,
2,1,4,2,4,2,8,4,
1,2,2,4,2,4,4,8}

Referenced by EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), and EMM_BlockMassMatrix::symmetricDot().

◆ INT_PHI2_FACTOR

const tUCInt EMM_MassMatrix::INT_PHI2_FACTOR =216
staticinherited

◆ mDiagonal

SP::MATH_ArrayVector EMM_CondensedMassMatrix::mDiagonal
private

◆ mIsCondensedSymmetricDot

tBoolean EMM_CondensedMassMatrix::mIsCondensedSymmetricDot
private

◆ mIsSolverExplicit

tBoolean EMM_CondensedMassMatrix::mIsSolverExplicit
private

Referenced by EMM_CondensedMassMatrix(), and solve().

◆ Mu0

const tReal EMM_Object::Mu0 =4*M_PI*1e-07
staticinherited

◆ NULL_VALUE

const tReal EMM_Object::NULL_VALUE ={0,0,0}
staticinherited

◆ X

const tDimension EMM_Object::X =0
staticinherited

◆ Y

const tDimension EMM_Object::Y =1
staticinherited

◆ Z

const tDimension EMM_Object::Z =2
staticinherited

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