C++ main module for emicrom Package
1.0
|
This class describes the mass matrix where is the Q1 function which is 1 on the point i and 0 otherwise. More...
#include <EMM_BlockMassMatrix.h>
Public Member Functions | |
virtual SP::MATH_Matrix | NewInstance () const |
return a share pointer to a new instance of this More... | |
virtual void | setSize (const tUIndex &nRows, const tUIndex &nCols) |
set the number of points in all directions 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 tULLInt | getMemorySize () const |
return the memory size in byte More... | |
virtual tBoolean | isSymmetric () const |
return true if the matrix is symmetric More... | |
virtual tBoolean | solve (MATH_Solver &solver, EMM_RealField &B) |
sole AX=B thanks to the solver More... | |
virtual void | product (const tReal &alpha, const MATH_Vector &x, const tReal &beta, MATH_Vector &y) const |
y:=alpha. T . x + beta y 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.AX More... | |
virtual tString | toString () const |
return the string representatio of the class 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_LimitConditionArray & | getLimitConditionPoints () const |
get the limit condition for each points More... | |
const tUSInt & | getBlockSize () const |
get the block size More... | |
const EMM_CellFlagArray & | getNeighborsIndicator () const |
get the neighbor indicator of each cell More... | |
const tUInteger & | getPointsNumber (const tDimension &k) const |
get the number of points in the direction k More... | |
const tUInteger * | getPointsNumber () const |
get the number of points in all directions More... | |
const tCellFlag & | getPeriodicIndicator () const |
get the periodicity indicator More... | |
tBoolean | isXPeriodic () const |
tBoolean | isYPeriodic () const |
tBoolean | isZPeriodic () const |
const tReal & | getElementVolume () const |
virtual void | discretize (const EMM_Grid3D &mesh, SPC::EMM_LimitConditionArray lc) |
discretize the matrix 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... | |
tBoolean | isSymmetric (const tReal &eps, const MATH_Vector &w) const |
return true if the matrix is symmetric More... | |
virtual const MATH_Vector & | conditioning (const MATH_Vector &x) const |
conditioning of a vector : suppose A is conditioned by C. It solves More... | |
Static Public Member Functions | |
static SP::EMM_BlockMassMatrix | 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_Out & | out () |
get the output More... | |
static SP::CORE_Out | getOut () |
get the output More... | |
static CORE_Thread & | getThread () |
get the profilier More... | |
static const tBoolean & | isMemoryChecked () |
get if the memory checking is used More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string representation of a pointer More... | |
static void | printObjectsInMemory (ostream &f) |
print object in memory More... | |
static void | printObjectsInMemory () |
print object in memory in the standart output More... | |
static tChar | getMaxChar () |
get the max value for tChar type More... | |
static tChar | getMinChar () |
get the min value for tChar type More... | |
static tUChar | getMaxUChar () |
get the max value for tUChar type More... | |
static tUChar | getMinUChar () |
get the min value for tUChar type More... | |
static tSInt | getMaxSInt () |
get the max value for tSInt type More... | |
static tSInt | getMinSInt () |
get the min value for tSInt type More... | |
static tUSInt | getMaxUSInt () |
get the max value for tUSInt type More... | |
static tUSInt | getMinUSInt () |
get the min value for tUSInt type More... | |
static tInt | getMaxInt () |
get the max value for tInt type More... | |
static tInt | getMinInt () |
get the min value for tInt type More... | |
static tUInt | getMaxUInt () |
get the max value for tUInt type More... | |
static tUInt | getMinUInt () |
get the min value for tUInt type More... | |
static tLInt | getMaxLInt () |
get the max value for tLInt type More... | |
static tLInt | getMinLInt () |
get the min value for tLInt type More... | |
static tULInt | getMaxULInt () |
get the max value for tULInt type More... | |
static tULInt | getMinULInt () |
get the min value for tULInt type More... | |
static tLLInt | getMaxLLInt () |
get the max value for tULInt type More... | |
static tLLInt | getMinLLInt () |
get the min value for tLLInt type More... | |
static tULLInt | getMaxULLInt () |
get the max value for tULLInt type More... | |
static tULLInt | getMinULLInt () |
get the min value for tULLInt type More... | |
static tFloat | getMaxFloat () |
get the max value for tFloat type More... | |
static tFloat | getMinFloat () |
get the min value for tFloat type More... | |
template<class T > | |
static T | getEpsilon () |
get the epsilon value for T type More... | |
template<class T > | |
static T | getInfinity () |
get the infinity for T type More... | |
static tFloat | getFloatEpsilon () |
get the epsilon value for tFloat type More... | |
static tFloat | getFloatInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getMaxDouble () |
get the max value for tDouble type More... | |
static tDouble | getMinDouble () |
get the min value for tDouble type More... | |
static tDouble | getDoubleInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getDoubleEpsilon () |
get the epsilon value for tDouble type More... | |
static tLDouble | getMinLDouble () |
get the min value for tLDouble type More... | |
static tLDouble | getMaxLDouble () |
get the max value for tLDouble type More... | |
static tLDouble | getLDoubleEpsilon () |
get the epsilon value for tLDouble type More... | |
static tDouble | getLDoubleInfinity () |
get the infinity value for tDouble type More... | |
static tIndex | getMaxIndex () |
get the max value for the array/vector indexing type More... | |
static tIndex | getMinIndex () |
get the min value for the array/vector indexing type More... | |
static tUIndex | getMaxUIndex () |
get the max value for difference the array/vector indexing type More... | |
static tUIndex | getMinUIndex () |
get the min value for difference the array/vector indexing type More... | |
static tFlag | getMaxFlag () |
get the max value for the tFlag type More... | |
static tFlag | getMinFlag () |
get the min value for the tFlag type More... | |
static tUInteger | getMaxUInteger () |
get the max value for the unsigned integer type More... | |
static tUInteger | getMinUInteger () |
get the min value for the unsigned integer type More... | |
static tInteger | getMaxInteger () |
get the max value for the integer type More... | |
static tInteger | getMinInteger () |
get the min value for the integer type More... | |
static tReal | getMaxReal () |
get the max value for the real type More... | |
static tReal | getMinReal () |
get the min value for the real type More... | |
static tReal | getRealEpsilon () |
get the eps which is the difference between 1 and the least value greater than 1 that is representable. More... | |
static tReal | getRealInfinity () |
get the infinity value More... | |
template<class T > | |
static T | computeEpsilon () |
compute epsilon More... | |
Static Public Attributes | |
static const 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_BlockMassMatrix (void) | |
create More... | |
virtual | ~EMM_BlockMassMatrix (void) |
destroy 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... | |
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_BlockMassMatrix) | |
void | product (const tUIndex &n, const tDimension &dim, const tReal &alpha, const tReal *x, const tReal &beta, tReal *y) const |
y:=beta.y+ alpha. T . x where T is this More... | |
tReal | symmetricDot (const tUIndex &n, const tDimension &dim, const tReal *x, const tReal *y) const |
More... | |
tReal | symmetricDot (const tUIndex &n, const tDimension &dim, const tReal *D, const tReal *x, const tReal *y) const |
More... | |
Private Attributes | |
SP::MATH_Vector | mW |
SP::MATH_Vector | mY |
SP::MATH_Vector | mB |
This class describes the mass matrix where is the Q1 function which is 1 on the point i and 0 otherwise.
The Block matrix is composed by diagonal matrix of size 3 at each row i and column j.
|
protected |
|
protectedvirtual |
destroy
|
inlinestaticinherited |
compute epsilon
|
inlinevirtualinherited |
conditioning of a vector : suppose A is conditioned by C. It solves
x | vector to condition |
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().
|
virtualinherited |
discretize the matrix
Reimplemented in EMM_CondensedMassMatrix.
References EMM_Grid3D::getAdimensionizedVolume(), EMM_Grid3D::getNeighborsIndicatorsByReference(), EMM_Grid3D::getSegmentsNumber(), EMM_Grid3D::getVerticesNumber(), EMM_Grid3D::isDirectionPeriodic(), EMM_MassMatrix::setElementVolume(), EMM_MassMatrix::setLimitConditionPoints(), EMM_MassMatrix::setNeighborsIndicator(), EMM_MassMatrix::setPeriodicIndicator(), EMM_MassMatrix::setPointsNumber(), EMM_MassMatrix::setSize(), tBoolean, tUIndex, and tUInteger.
Referenced by EMM_CondensedMassMatrix::discretize(), EMM_MassMatrix::getElementVolume(), EMM_VelocitySolverTest::massMatrixTest(), and EMM_VelocitySolverTest::massMatrixTrivialSolverTest().
|
inlineinherited |
get the block size
References EMM_MassMatrix::mBlockSize.
Referenced by product(), setSize(), symmetricDot(), and toString().
|
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 |
|
inlinevirtual |
get the columns number of the matrix
Reimplemented from EMM_MassMatrix.
References EMM_MassMatrix::getColumnsNumber().
Referenced by product().
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
References EMM_MassMatrix::discretize(), EMM_MassMatrix::isSymmetric(), EMM_MassMatrix::mVolume, EMM_MassMatrix::product(), EMM_MassMatrix::solve(), EMM_MassMatrix::symmetricDot(), tBoolean, tReal, EMM_Object::X, and EMM_Object::Y.
Referenced by EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
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(), toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), EMM_Grid3D::toString(), and EMM_LandauLifschitzSystem::toString().
|
inlinestaticinherited |
get the infinity for T type
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inlineinherited |
get the limit condition for each points
References CORE_Array< T >::get().
Referenced by EMM_CanonicalMassMatrix::product(), EMM_CondensedMassMatrix::product(), product(), and EMM_CondensedMassMatrix::solve().
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tInt type
Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the real type
Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for difference the array/vector indexing type
Referenced by CORE_Vector< T >::addAfterIndices(), CORE_Vector< T >::search(), CORE_Test::testType(), CORE_Integer::toHexString(), and CORE_Integer::toString().
|
inlinestaticinherited |
get the max value for tUInt type
Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the unsigned integer type
Referenced by MATH_Pn::computeExtrenums(), EMM_MultiScaleGrid::computeLevelsNumber(), EMM_Input::restoreBackup(), MATH_P0::solve(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinevirtual |
return the memory size in byte
Reimplemented from EMM_MassMatrix.
References EMM_MassMatrix::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().
|
inlineinherited |
get the neighbor indicator of each cell
References null.
Referenced by EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
inlinestaticinherited |
|
inlineinherited |
get the periodicity indicator
References EMM_MassMatrix::mPeriodicity.
Referenced by EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlineinherited |
get the number of points in the direction k
k | direction in [0,3[ |
|
inlineinherited |
get the number of points in all directions
References EMM_MassMatrix::mPointsNumber.
Referenced by EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
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().
|
inlinevirtual |
get the rows number of the matrix
Reimplemented from EMM_MassMatrix.
References EMM_MassMatrix::getRowsNumber().
Referenced by product(), and toString().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
|
inlinestaticinherited |
get the profilier
Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), EMM_CondensedMassMatrix::product(), product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().
|
inlinestaticinherited |
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
|
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().
|
inherited |
return true if the matrix is symmetric
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(), isSymmetric(), and MATH_ConjugateGradient::solve().
|
inlinevirtual |
return true if the matrix is symmetric
Implements EMM_MassMatrix.
References MATH_Matrix::isSymmetric(), and MATH_ArrayVector::New().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinestatic |
create a mass matrix
References EMM_BlockMassMatrix().
Referenced by EMM_VelocitySolverTest::blockMassMatrixTest(), EMM_VelocitySolverTest::blockMassMatrixTrivialSolverTest(), NewInstance(), and EMM_DisplacementFEMOperator::NewMassMatrix().
|
inlinevirtual |
return a share pointer to a new instance of this
Implements MATH_Matrix.
References New().
|
inlinestaticinherited |
get the output
Referenced by EMM_Matter::adimensionize(), EMM_DisplacementFVMOperator::backup(), EMM_DisplacementOperator::backup(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), EMM_Test::caseTest(), EMM_Test::caseTests(), EMM_MatterField::computeAnisotropyDirectionsField(), EMM_OptimalTimeStep::computeOptimalTimeStep(), MATH_MultiLevelsToeplitzMatrix::copy(), CORE_Exception::CORE_Exception(), EMM_MatterField::createAnisotropyOperator(), CORE_Run::createIO(), EMM_ElementaryTest::defaultBackupTest(), EMM_ElementaryTest::defaultTest(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), EMM_DisplacementFVMOperator::discretize(), EMM_MagnetostrictionOperator::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), EMM_Grid3D::loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), EMM_Grid3D::saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().
|
staticinherited |
return the string representation of a pointer
obj | : oject to get the string pointer |
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().
|
staticinherited |
print object in memory
f | : output to print the objects in memory |
References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.
|
inlinestaticinherited |
print object in memory in the standart output
Referenced by CORE_Object::is32Architecture(), and main().
|
inlineprotectedvirtual |
y:=alpha T . x +beta y where T is this
n | size of x and y |
alpha | factor of T |
incX | increment of vector x |
x | values of x of size n x incX |
beta | factor of y |
incY | increment of vector y |
y | values of y of size n x incy |
References solve(), symmetricDot(), tBoolean, tDimension, tReal, and tUIndex.
Referenced by product(), and toString().
|
private |
y:=beta.y+ alpha. T . x where T is this
n | number of points |
dim | dimension of each point |
alpha | factor of T |
x | values of x of size n x dim |
beta | factor of y |
y | values of y of size n x dim |
start=iq+Px.(jq+Py.kq)
References EMM_Grid3D::DIRICHLET_LIMIT_CONDITION, EMM_Grid3D::ELEMENT_POINTS, EMM_Grid3D::GET_MASTER_PERIODIC_POINT(), EMM_MassMatrix::getBlockSize(), EMM_MassMatrix::getElementVolume(), EMM_MassMatrix::getLimitConditionPoints(), EMM_MassMatrix::getNeighborsIndicator(), EMM_MassMatrix::getPeriodicIndicator(), EMM_MassMatrix::getPointsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_MassMatrix::INT_PHI2, EMM_MassMatrix::INT_PHI2_FACTOR, EMM_Grid3D::IS_ELEMENT_MAGNETIZED(), null, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, EMM_Grid3D::POINTS_NUMBER_PER_ELEMENT, EMM_Grid3D::SLAVE_LIMIT_CONDITION, tBoolean, tCellFlag, tDimension, tInteger, tLimitCondition, tReal, tUCInt, tUIndex, and tUInteger.
|
inlinevirtual |
y:=alpha. T . x + beta y where T is this
alpha | factor of x |
x | vector to multiply by this |
beta | factor of y |
y | result vector |
Implements MATH_Matrix.
References getColumnsNumber(), getRowsNumber(), MATH_Vector::getSize(), product(), CORE_Integer::toString(), and tUIndex.
|
inlinevirtual |
Y=alpha.T.x where T is this.
alpha | multiplicator factor |
x | vector to multiply by this |
y | result vector |
Implements MATH_Matrix.
References getColumnsNumber(), getRowsNumber(), MATH_Vector::getSize(), product(), MATH_Vector::setSize(), CORE_Integer::toString(), and tUIndex.
|
inlinevirtual |
b=T.x where T is this
x | vector to multiply by this |
y | result vector |
Implements MATH_Matrix.
References getColumnsNumber(), getRowsNumber(), MATH_Vector::getSize(), product(), MATH_Vector::setSize(), symmetricDot(), CORE_Integer::toString(), toString(), tReal, tString, tUIndex, EMM_Object::X, and EMM_Object::Y.
|
virtual |
compute Y=alpha.Y+beta.A.X
alpha | X factor |
X | field to compute the product |
beta | : Y factor |
Y | input/output field |
Implements EMM_MassMatrix.
References EMM_RealField::getDimension(), EMM_RealField::getSize(), EMM_RealField::getValues(), product(), EMM_RealField::setDimension(), EMM_RealField::setSize(), tDimension, tReal, and tUIndex.
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlineprotectedinherited |
set the block size of the matrix
b | the size of the diagonal block |
|
inlineinherited |
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlineinherited |
set the limit condition points
Referenced by EMM_MassMatrix::discretize().
|
inlineinherited |
set the neighbor indicator of each cell
neighbors | the neighbor indicator of all cell |
Referenced by EMM_MassMatrix::discretize().
|
inlinestaticinherited |
|
inlineinherited |
set the periodicity indicator
p | periodicity indicator in 6 bytes {110000,001100,000011,111100,110011,001111,111111}={3,12,48,15,51,60,63} |
Referenced by EMM_MassMatrix::discretize().
|
inlineinherited |
set the number of points in all directions
Px | number of points in the x direction |
Py | number of points on the y direction |
Pz | number of points on the z direction |
References EMM_MassMatrix::mBlockSize, EMM_MassMatrix::mPointsNumber, and tUInteger.
Referenced by EMM_MassMatrix::discretize().
|
inlinevirtual |
set the number of points in all directions
nRows | : number of blocks per row |
nCols | : number of blocks per column |
Reimplemented from EMM_MassMatrix.
References EMM_MassMatrix::getBlockSize(), and EMM_MassMatrix::setSize().
|
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().
|
virtual |
sole AX=B thanks to the solver
solver | the iterative linear system solver |
B | the constant field |
It computes :
Implements EMM_MassMatrix.
References MATH_Vector::copy(), EMM_RealField::getValues(), mB, mW, mY, MATH_Vector::setValuesByReference(), MATH_Solver::solve(), tReal, tUIndex, and EMM_Object::Y.
Referenced by product().
|
private |
|
private |
n | number of points |
dim | dimension of each point |
x | values of x of size n x dim |
y | values of y of size n x dim It computes |
References EMM_Grid3D::ELEMENT_POINTS, EMM_MassMatrix::getBlockSize(), EMM_MassMatrix::getElementVolume(), EMM_MassMatrix::getNeighborsIndicator(), EMM_MassMatrix::getPeriodicIndicator(), EMM_MassMatrix::getPointsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_MassMatrix::INT_PHI2, EMM_MassMatrix::INT_PHI2_FACTOR, EMM_Grid3D::IS_ELEMENT_MAGNETIZED(), null, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, EMM_Grid3D::POINTS_NUMBER_PER_ELEMENT, tBoolean, tCellFlag, tDimension, tInteger, tReal, tUCInt, tUIndex, and tUInteger.
Referenced by product(), and symmetricDot().
|
private |
n | number of points |
dim | dimension of each point |
D | the diagonal matrix |
x | values of x of size n x dim |
y | values of y of size n x dim It computes |
start=iq+Px.(jq+Py.kq)
References EMM_Grid3D::ELEMENT_POINTS, EMM_MassMatrix::getBlockSize(), EMM_MassMatrix::getElementVolume(), EMM_MassMatrix::getNeighborsIndicator(), EMM_MassMatrix::getPeriodicIndicator(), EMM_MassMatrix::getPointsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), EMM_MassMatrix::INT_PHI2, EMM_MassMatrix::INT_PHI2_FACTOR, EMM_Grid3D::IS_ELEMENT_MAGNETIZED(), null, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT_REDUCTION, EMM_Grid3D::POINTS_NUMBER_PER_ELEMENT, tBoolean, tCellFlag, tDimension, tInteger, tReal, tUCInt, tUIndex, and tUInteger.
|
virtual |
compute tXAX
X | field to compute the symmetric dot |
Implements EMM_MassMatrix.
References EMM_RealField::getDimension(), EMM_RealField::getValues(), symmetricDot(), tDimension, tReal, and tUIndex.
|
virtual |
compute tX.W.AX
W | : weight per cell |
X | field to compute the symmetric dot |
Implements EMM_MassMatrix.
References EMM_RealField::getDimension(), CORE_Array< T >::getSize(), EMM_RealField::getValues(), symmetricDot(), tDimension, tReal, and tUIndex.
|
inlineprotectedvirtualinherited |
method called after the setting of the shared pointer this method can only be called once.
Reimplemented from CORE_Object.
Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, and EMM_GradGaussLegendreRelaxation.
Referenced by EMM_GaussLegendreRelaxation::toDoAfterThisSetting(), and EMM_DisplacementOperator::toDoAfterThisSetting().
|
virtual |
return the string representatio of the class
Reimplemented from MATH_Matrix.
References EMM_MassMatrix::getBlockSize(), CORE_Object::getIdentityString(), getRowsNumber(), product(), CORE_Array< T >::setSize(), CORE_Real::toString(), CORE_Integer::toString(), tString, tUIndex, tUSInt, EMM_Object::X, and EMM_Object::Y.
Referenced by product().
|
staticinherited |
|
staticinherited |
Referenced by EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
staticinherited |
Referenced by EMM_CanonicalMassMatrix::product(), product(), EMM_CanonicalMassMatrix::symmetricDot(), and symmetricDot().
|
private |
Referenced by solve().
|
staticinherited |
Referenced by EMM_MatterField::adimensionize(), EMM_MagnetostrictionOperator::adimensionize(), EMM_Matter::adimensionize(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitation(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitationGradient(), EMM_Test::createMatters(), EMM_MatterField::getElasticTensorAdimensionizedParameter(), and EMM_MatterTest::testAdimensionize().
|
private |
Referenced by solve().
|
private |
Referenced by EMM_BlockMassMatrix(), and solve().
|
staticinherited |
Referenced by EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_Interpolator::interpolateUAtEdge(), and EMM_DisplacementFVM_Interpolator::interpolateUAtVertices().
|
staticinherited |
|
staticinherited |
Referenced by EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_RealField::fitToSize(), EMM_MassMatrix::getElementVolume(), EMM_CanonicalMassMatrix::isSymmetric(), product(), EMM_CondensedMassMatrix::product(), EMM_RealField::setValue(), EMM_CanonicalMassMatrix::solve(), solve(), toString(), and EMMG_RealField::wedge().
|
staticinherited |