C++ main module for emicrom Package
1.0
|
This class compute the new time step by using the optimal time step and with a golden method if the taylor approximation is too bad for big time step. More...
#include <EMM_OptimalIterativeTimeStep.h>
Public Member Functions | |
tBoolean | computeNewTimeStep (tReal &dt, tUInteger &nEvaluations) |
compute the new time step More... | |
virtual tBoolean | optimizeTimeFunction (tReal &dt, const tReal &dt_bound, tUInteger &evaluationsNumber) |
optimize the time step function More... | |
void | setMinTimeStep (const tReal &dt) |
set the min time step of iterative time step computing More... | |
void | setInitialTimeType (const tFlag &t) |
set the initial time type More... | |
void | setInitialTimeType (const tString &t) |
set the initial time type More... | |
void | resetInitialTimeStepToOptimalOne (const tBoolean &isReset) |
set if the initial time step is set to optimal time step More... | |
void | setIntegrationOrder (const tFlag &order) |
set the order of evaluation the time function More... | |
void | setMaximumEvaluationsNumber (const tUInteger &n) |
set the max evalution of Energy for finding the best dt for which the variation of energy is <0 More... | |
void | setZoomOutFactor (const tReal &z) |
set the zoom out factor >1 More... | |
void | setZoomInFactor (const tReal &z) |
set the zoom in factor <1 More... | |
void | setMaxTimeStepGap (const tReal &dt) |
set the max gap betewen 2 time step More... | |
void | setTimeStepBound (const tReal &dt) |
set the max time step More... | |
const tReal & | getMinTimeStep () const |
get the min time step of iterative time step computing More... | |
const tFlag & | getInitialTimeType () const |
get the initial type type More... | |
const tUInteger & | getMaximumEvaluationsNumber () const |
get the max evalution of Energy for finding the best dt for which the variation of energy is <0 More... | |
const tReal & | getZoomOutFactor () const |
set the zoom out factor >1 More... | |
const tReal & | getZoomInFactor () const |
set the zoom in factor <1 More... | |
const tFlag & | getIntegrationOrder () const |
get integration order More... | |
const tReal & | getMaximumTimeStepGap () const |
get the maximum time step gap More... | |
const tReal & | getTimeStepBound () const |
get the max time step More... | |
tReal | computeInitialTimeStep () |
compute initial time steps More... | |
tReal | computeTimeFunction (const tReal &t) |
compute the time function at t More... | |
const tReal & | computeTimeFunction () const |
compute the time function at 0 More... | |
tReal | computeTimeFunctionDerivative (const tReal &t, tReal &dF_dt) |
compute the time function at t and its first derivative More... | |
const tReal & | computeTimeFunctionDerivative (tReal &dF_dt_0) const |
compute the time function at 0 and its first derivative at time =0 More... | |
virtual tString | toString () const |
turn the regular time into a string More... | |
tBoolean | setSystem (SP::EMM_LandauLifschitzSystem system) |
set the reverse system relation More... | |
void | resetSystem () |
reset the reverse system relation More... | |
void | setCharacteristicTime (const tReal &t) |
set the characteristic time the real time will be t. mTc in seconds More... | |
void | setTargetTime (const tReal &t) |
set the end time with respect of the characteristic time real time = t * getCharacteristicTime() More... | |
void | setDt (const tReal &dt) |
set the time step More... | |
void | setDtFactor (const tReal &f) |
set the dt factor More... | |
void | setTimeStepsNumber (const tUInteger &n) |
set the time steps number More... | |
const tReal & | getDtFactor () const |
get the dt factor More... | |
const tReal & | getTargetTime () const |
get the end time More... | |
const tReal & | getCharacteristicTime () const |
get the characteristic time More... | |
const tUInteger & | getTimeStepsNumber () const |
get the time steps number More... | |
const tReal & | getDt () const |
get the time step More... | |
tReal & | getDt () |
get the time step More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
test if the clas T is an instance of this class More... | |
tBoolean | isInstanceOf (const tString &name) const |
test if the object is an instance of className More... | |
Static Public Member Functions | |
static SP::EMM_OptimalIterativeTimeStep | New () |
build a shared pointer associated to the class 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 tFlag | INITIAL_TIME_AS_REGULAR =0 |
static const tFlag | INITIAL_TIME_AS_OPTIMAL_AFFINE_H =1 |
static const tFlag | INITIAL_TIME_AS_MAX_LINEAR_CONSTANT_H =2 |
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_OptimalIterativeTimeStep (void) | |
create More... | |
virtual | ~EMM_OptimalIterativeTimeStep (void) |
destroy More... | |
void | computeOptimalTimeSteps (tReal &dt_c, tReal &dt_l) |
compute optimal time steps More... | |
virtual tBoolean | isSystemCompatible (SPC::EMM_LandauLifschitzSystem system) const |
return true if the system is compatible More... | |
SPC::EMM_LandauLifschitzSystem | getSystem () const |
get system for reading More... | |
SP::EMM_LandauLifschitzSystem | getSystem () |
get system for writing 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_OptimalIterativeTimeStep) | |
This class compute the new time step by using the optimal time step and with a golden method if the taylor approximation is too bad for big time step.
|
inlineprotected |
|
inlineprotectedvirtual |
destroy
|
inlinestaticinherited |
compute epsilon
|
inherited |
compute initial time steps
References EMM_IterativeTimeStep::computeOptimalTimeSteps(), EMM_Stepper::getDt(), EMM_IterativeTimeStep::INITIAL_TIME_AS_MAX_LINEAR_CONSTANT_H, EMM_IterativeTimeStep::INITIAL_TIME_AS_REGULAR, EMM_IterativeTimeStep::mInitialTimeType, and tReal.
Referenced by EMM_IterativeTimeStep::computeNewTimeStep(), and EMM_IterativeTimeStep::getTimeStepBound().
|
virtual |
compute the new time step
dt | the new time step |
nEvaluations | the number of evaluation of M to compute the new dt |
Reimplemented from EMM_IterativeTimeStep.
References EMM_IterativeTimeStep::computeOptimalTimeSteps(), EMM_IterativeTimeStep::computeTimeFunction(), EMM_IterativeTimeStep::getTimeStepBound(), EMM_IterativeTimeStep::getZoomOutFactor(), EMM_GoldenNumberIterativeTimeStep::optimizeTimeFunction(), and tReal.
Referenced by New().
|
protectedinherited |
compute optimal time steps
[out] | dt_c | optimal time step when H is constant |
[out] | dt_l | optimal time step when H is linear & self-adjointness |
Referenced by EMM_IterativeTimeStep::computeInitialTimeStep(), computeNewTimeStep(), and EMM_IterativeTimeStep::getTimeStepBound().
compute the time function at t
t | time to compute the function to optimize |
Referenced by BrentFunction::operator()().
|
inherited |
compute the time function at 0
References EMM_Stepper::getSystem(), and tReal.
Referenced by computeNewTimeStep(), EMM_IterativeTimeStep::getTimeStepBound(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), EMM_QuadraticNumberIterativeTimeStep::optimizeTimeFunction(), and EMM_GoldenNumberIterativeTimeStep::optimizeTimeFunction().
|
inherited |
compute the time function at t and its first derivative
t | time to compute the function to optimize |
dF_dt | : the derivative of the time function |
Referenced by EMM_IterativeTimeStep::getTimeStepBound(), EMM_QuasiNewtonIterativeTimeStep::optimizeTimeFunction(), and EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction().
|
inherited |
compute the time function at 0 and its first derivative at time =0
dF_dt_0 | : the derivative of the time function |
References EMM_Stepper::getSystem().
|
inlineinherited |
get the characteristic time
References EMM_Stepper::mCharacteristicTime.
|
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 |
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
get the time step
References EMM_Stepper::mDt.
Referenced by EMM_IterativeTimeStep::computeInitialTimeStep(), and EMM_RegularTimeStep::computeNewTimeStep().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
get the epsilon value for T type
|
inlinestaticinherited |
get the epsilon value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by MATH_GaussLegendreIntegration::copy(), EMM_MultiScaleGrid::initialize(), CORE_Object::isInstanceOf(), CORE_Object::printObjectsInMemory(), MATH_Matrix::toString(), EMMG_SLPeriodicMultiScale::toString(), EMM_Stepper::toString(), EMM_AnisotropyDirectionsField::toString(), EMM_BlockMassMatrix::toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), EMM_Grid3D::toString(), and EMM_LandauLifschitzSystem::toString().
|
inlinestaticinherited |
get the infinity for T type
|
inlineinherited |
get the initial type type
References EMM_IterativeTimeStep::mInitialTimeType.
|
inlineinherited |
get integration order
References EMM_IterativeTimeStep::mOrder.
Referenced by EMM_SecondOrderIterativeTimeStep::computeTimeFunctionDerivatives().
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlineinherited |
get the max evalution of Energy for finding the best dt for which the variation of energy is <0
References EMM_IterativeTimeStep::mMaxEvaluationsNumber.
Referenced by EMM_QuasiNewtonIterativeTimeStep::optimizeTimeFunction(), EMM_QuadraticNumberIterativeTimeStep::optimizeTimeFunction(), and EMM_GoldenNumberIterativeTimeStep::optimizeTimeFunction().
|
inlineinherited |
get the maximum time step gap
References EMM_IterativeTimeStep::mMaxTimeStepGap.
|
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().
|
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().
|
inlineinherited |
get the min time step of iterative time step computing
References EMM_IterativeTimeStep::mMinTimeStep.
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinestaticinherited |
get the eps which is the difference between 1 and the least value greater than 1 that is representable.
Referenced by MATH_P4::solveP4De(), and CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value
Referenced by BrentFunction::BrentFunction(), EMM_OperatorsTest::compareDiscretizedData(), EMM_IterativeTimeStep::EMM_IterativeTimeStep(), EMM_SLElementaryDemagnetizedMatrix::Kxy(), NRFunction::NRFunction(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and CORE_Test::testType().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
|
inlineprotectedinherited |
get system for reading
Referenced by EMM_OptimalTimeStep::computeNewTimeStep(), EMM_IterativeTimeStep::computeTimeFunction(), EMM_IterativeTimeStep::computeTimeFunctionDerivative(), and EMM_SecondOrderIterativeTimeStep::computeTimeFunctionDerivatives().
|
inlineprotectedinherited |
get system for writing
References EMM_Stepper::computeNewTimeStep(), tBoolean, EMM_Stepper::toString(), tReal, tString, and tUInteger.
|
inlineinherited |
|
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(), EMM_BlockMassMatrix::product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().
|
inlineinherited |
get the max time step
References EMM_IterativeTimeStep::computeInitialTimeStep(), EMM_IterativeTimeStep::computeNewTimeStep(), EMM_IterativeTimeStep::computeOptimalTimeSteps(), EMM_IterativeTimeStep::computeTimeFunction(), EMM_IterativeTimeStep::computeTimeFunctionDerivative(), EMM_IterativeTimeStep::mTimeStepBound, EMM_IterativeTimeStep::optimizeTimeFunction(), tBoolean, EMM_IterativeTimeStep::toString(), tReal, tString, and tUInteger.
Referenced by EMM_SecondOrderIterativeTimeStep::computeNewTimeStep(), and computeNewTimeStep().
|
inlineinherited |
get the time steps number
References EMM_Stepper::mTimeStepsNumber.
|
inlinestaticinherited |
|
inlineinherited |
set the zoom in factor <1
References EMM_IterativeTimeStep::mZoomInFactor.
Referenced by EMM_QuasiNewtonIterativeTimeStep::optimizeTimeFunction(), EMM_QuadraticNumberIterativeTimeStep::optimizeTimeFunction(), and EMM_GoldenNumberIterativeTimeStep::optimizeTimeFunction().
|
inlineinherited |
set the zoom out factor >1
References EMM_IterativeTimeStep::mZoomOutFactor.
Referenced by EMM_SecondOrderIterativeTimeStep::computeNewTimeStep(), computeNewTimeStep(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), EMM_QuadraticNumberIterativeTimeStep::optimizeTimeFunction(), and EMM_GoldenNumberIterativeTimeStep::optimizeTimeFunction().
|
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().
|
inlineprotectedvirtualinherited |
return true if the system is compatible
system | : system to optimize |
Reimplemented in EMM_OptimalTimeStep, and EMM_ODETimeStep.
References null.
Referenced by EMM_ODETimeStep::isSystemCompatible(), EMM_OptimalTimeStep::isSystemCompatible(), and EMM_Stepper::setSystem().
|
inlinestatic |
build a shared pointer associated to the class
References computeNewTimeStep(), EMM_OptimalIterativeTimeStep(), tBoolean, tReal, and tUInteger.
Referenced by EMM_TimeClassFactory::NewInstance().
|
virtualinherited |
optimize the time step function
dt |
|
dt_bound | : max value for dt |
evaluationsNumber | the number of calling of the method. |
The algorithm is as follow:
Implements EMM_IterativeTimeStep.
Reimplemented in EMM_QuadraticNumberIterativeTimeStep, and EMM_PolynomialInterpolationTimeStep.
References CORE_String::boolean2String(), EMM_IterativeTimeStep::computeTimeFunction(), EMM_IterativeTimeStep::getMaximumEvaluationsNumber(), EMM_IterativeTimeStep::getZoomInFactor(), EMM_IterativeTimeStep::getZoomOutFactor(), tBoolean, CORE_Real::toString(), CORE_Integer::toString(), tReal, and tUInteger.
Referenced by computeNewTimeStep(), EMM_GoldenNumberIterativeTimeStep::New(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and EMM_QuadraticNumberIterativeTimeStep::optimizeTimeFunction().
|
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().
|
inlineinherited |
set if the initial time step is set to optimal time step
isReset | : true to recompute the initial time step from the optimal one |
|
inlinestaticinherited |
|
inherited |
reset the reverse system relation
References EMM_Stepper::mSystem, and null.
Referenced by EMM_Stepper::setSystem().
|
inlinestaticinherited |
|
inlineinherited |
set the characteristic time the real time will be t. mTc in seconds
Referenced by EMM_LandauLifschitzSystem::adimensionize().
|
inlineinherited |
set the time step
[in] | dt | : time step |
Referenced by EMMH_Hysteresis::run().
|
inlineinherited |
set the dt factor
[in] | f | the multiply factor of dt |
|
inlineinherited |
set the initial time type
t | : intitial time type in {INITIAL_TIME_AS_REGULAR,INTIAL_TIME_AS_LINEAR_H} |
|
inlineinherited |
set the initial time type
t | : intitial time type in {"regular","optimal-linear","max-optimal-linear-constant} |
References EMM_IterativeTimeStep::INITIAL_TIME_AS_MAX_LINEAR_CONSTANT_H.
|
inlineinherited |
set the order of evaluation the time function
order | is iether 1 or 2 |
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlineinherited |
set the max evalution of Energy for finding the best dt for which the variation of energy is <0
n | the max loops number |
|
inlineinherited |
set the max gap betewen 2 time step
dt | max time set gap |
|
inlineinherited |
set the min time step of iterative time step computing
dt | : is the min value of the time step under which the computing is stopped |
|
inlinestaticinherited |
|
inherited |
set the reverse system relation
system | : the system to set |
References CORE_Object::getThis(), EMM_Stepper::isSystemCompatible(), EMM_Stepper::mSystem, null, and EMM_Stepper::resetSystem().
|
inlineinherited |
set the end time with respect of the characteristic time real time = t * getCharacteristicTime()
t | target time |
References EMM_Stepper::mEndTime, and EMM_Stepper::mTimeStepsNumber.
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
inlineinherited |
set the max time step
dt | max time step |
|
inlineinherited |
set the time steps number
|
inlineinherited |
set the zoom in factor <1
z | zoom in factor |
|
inlineinherited |
set the zoom out factor >1
z | zoom out factor |
|
private |
|
inlineprotectedvirtualinherited |
method called after the setting of the shared pointer this method can only be called once.
Reimplemented from CORE_Object.
Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, and EMM_GradGaussLegendreRelaxation.
Referenced by EMM_GaussLegendreRelaxation::toDoAfterThisSetting(), and EMM_DisplacementOperator::toDoAfterThisSetting().
|
virtualinherited |
turn the regular time into a string
Reimplemented from EMM_Stepper.
References CORE_String::boolean2String(), EMM_IterativeTimeStep::INITIAL_TIME_AS_MAX_LINEAR_CONSTANT_H, EMM_IterativeTimeStep::INITIAL_TIME_AS_OPTIMAL_AFFINE_H, EMM_IterativeTimeStep::INITIAL_TIME_AS_REGULAR, EMM_IterativeTimeStep::mInitialTimeType, EMM_IterativeTimeStep::mIsInitialTimeStepReset, EMM_IterativeTimeStep::mMaxEvaluationsNumber, EMM_IterativeTimeStep::mMaxTimeStepGap, EMM_IterativeTimeStep::mMinTimeStep, EMM_IterativeTimeStep::mOrder, EMM_IterativeTimeStep::mTimeStepBound, EMM_IterativeTimeStep::mZoomInFactor, EMM_IterativeTimeStep::mZoomOutFactor, CORE_Real::toString(), CORE_Integer::toString(), EMM_Stepper::toString(), and tString.
Referenced by EMM_IterativeTimeStep::getTimeStepBound().
|
staticinherited |
|
staticinherited |
|
staticinherited |
Referenced by EMM_IterativeTimeStep::toString().
|
staticinherited |
Referenced by EMM_IterativeTimeStep::computeInitialTimeStep(), and EMM_IterativeTimeStep::toString().
|
staticinherited |
Referenced by EMM_MatterField::adimensionize(), EMM_MagnetostrictionOperator::adimensionize(), EMM_Matter::adimensionize(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitation(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitationGradient(), EMM_Test::createMatters(), EMM_MatterField::getElasticTensorAdimensionizedParameter(), and EMM_MatterTest::testAdimensionize().
|
staticinherited |
Referenced by EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_Interpolator::interpolateUAtEdge(), and EMM_DisplacementFVM_Interpolator::interpolateUAtVertices().
|
staticinherited |
|
staticinherited |
Referenced by EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_RealField::fitToSize(), EMM_MassMatrix::getElementVolume(), EMM_CanonicalMassMatrix::isSymmetric(), EMM_BlockMassMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_RealField::setValue(), EMM_CanonicalMassMatrix::solve(), EMM_BlockMassMatrix::solve(), EMM_BlockMassMatrix::toString(), and EMMG_RealField::wedge().
|
staticinherited |