Public Types | Public Member Functions | Private Attributes | List of all members
Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState > Class Template Reference

#include <PerezFougetSubstepperTime.h>

Public Types

typedef Eigen::Matrix< double, sizeMaterialState, sizeMaterialState > TangentSizedMatrix
 Matrix to carry the Jacobian of a material state. More...
 

Public Member Functions

 PerezFougetSubstepperTime (double initialStepSize, double minimumStepSize, double scaleUpFactor, double scaleDownFactor, int nPassesToIncrease)
 
bool isFinished ()
 Check if the subincrementation has finished. More...
 
double getNextSubstep ()
 get the next subincrement size More...
 
double getFinishedProgress ()
 get the total finished progress of the subincrementation process More...
 
bool decreaseSubstepSize ()
 decrease the next subincrement More...
 
void extendConsistentTangent (const Matrix6d &CelT)
 
void extendConsistentTangent (const Matrix6d &CelT, const TangentSizedMatrix &matTangent)
 
Matrix6d consistentStiffness ()
 

Private Attributes

const double initialStepSize
 
const double minimumStepSize
 
const double scaleUpFactor
 
const double scaleDownFactor
 
const int nPassesToIncrease
 
double currentProgress
 
double currentSubstepSize
 
int passedSubsteps
 
TangentSizedMatrix elasticTangent
 
TangentSizedMatrix consistentTangent
 

Detailed Description

template<int sizeMaterialState>
class Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >

Modified Version of the Perez-Fouget Substepper, to account for time-variant elastic Stiffness Tensor Cel(t_n+1) NO changes in algorithmic formulation!

modifications:

Member Typedef Documentation

◆ TangentSizedMatrix

template<int sizeMaterialState>
typedef Eigen::Matrix< double, sizeMaterialState, sizeMaterialState > Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::TangentSizedMatrix

Matrix to carry the Jacobian of a material state.

Constructor & Destructor Documentation

◆ PerezFougetSubstepperTime()

template<int s>
Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::PerezFougetSubstepperTime ( double  initialStepSize,
double  minimumStepSize,
double  scaleUpFactor,
double  scaleDownFactor,
int  nPassesToIncrease 
)

Member Function Documentation

◆ isFinished()

template<int s>
bool Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::isFinished

Check if the subincrementation has finished.

◆ getNextSubstep()

template<int s>
double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::getNextSubstep

get the next subincrement size

◆ getFinishedProgress()

template<int s>
double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::getFinishedProgress

get the total finished progress of the subincrementation process

◆ decreaseSubstepSize()

template<int s>
bool Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::decreaseSubstepSize

decrease the next subincrement

◆ extendConsistentTangent() [1/2]

template<int s>
void Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::extendConsistentTangent ( const Matrix6d CelT)

◆ extendConsistentTangent() [2/2]

template<int s>
void Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::extendConsistentTangent ( const Matrix6d CelT,
const TangentSizedMatrix matTangent 
)

◆ consistentStiffness()

template<int s>
Matrix6d Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< s >::consistentStiffness

Member Data Documentation

◆ initialStepSize

template<int sizeMaterialState>
const double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::initialStepSize
private

◆ minimumStepSize

template<int sizeMaterialState>
const double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::minimumStepSize
private

◆ scaleUpFactor

template<int sizeMaterialState>
const double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::scaleUpFactor
private

◆ scaleDownFactor

template<int sizeMaterialState>
const double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::scaleDownFactor
private

◆ nPassesToIncrease

template<int sizeMaterialState>
const int Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::nPassesToIncrease
private

◆ currentProgress

template<int sizeMaterialState>
double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::currentProgress
private

◆ currentSubstepSize

template<int sizeMaterialState>
double Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::currentSubstepSize
private

◆ passedSubsteps

template<int sizeMaterialState>
int Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::passedSubsteps
private

◆ elasticTangent

template<int sizeMaterialState>
TangentSizedMatrix Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::elasticTangent
private

◆ consistentTangent

template<int sizeMaterialState>
TangentSizedMatrix Marmot::NumericalAlgorithms::PerezFougetSubstepperTime< sizeMaterialState >::consistentTangent
private

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