#include <PerezFougetSubstepperExplicitMarkII.h>
Public Types | |
typedef Eigen::Matrix< double, nSizeMatTangent, nSizeMatTangent > | TangentSizedMatrix |
typedef Eigen::Matrix< double, nSizeMatTangent, 6 > | MatrixStateStrain |
typedef Eigen::Matrix< double, nSizeMatTangent, nSizeMatTangent > | TangentSizedMatrix |
Public Member Functions | |
PerezFougetSubstepper (double initialStepSize, double minimumStepSize, double scaleUpFactor, double scaleDownFactor, int nPassesToIncrease, const Matrix6d &Cel) | |
bool | isFinished () |
check if subincrementation process has finished More... | |
double | getNextSubstep () |
get the next subincrement size More... | |
bool | decreaseSubstepSize () |
decrease the next subincrement More... | |
void | finishElasticSubstep () |
finish an elastic only subincrement More... | |
void | finishSubstep (const TangentSizedMatrix &dXdY, const TangentSizedMatrix &dYdXOld) |
Matrix6d | consistentStiffness () |
get the consistent algorithmic tangent More... | |
PerezFougetSubstepper (double initialStepSize, double minimumStepSize, double scaleUpFactor, double scaleDownFactor, int nPassesToIncrease, const Matrix6d &Cel) | |
bool | isFinished () |
check if the subincrement process has finished More... | |
double | getNextSubstep () |
get the next subincrement size More... | |
bool | decreaseSubstepSize () |
decreas the subincrement size More... | |
void | finishElasticSubstep () |
finish an elastic only subincrement More... | |
void | finishSubstep (const TangentSizedMatrix &dXdY) |
finish a subincrement, pass the inverse material tangent More... | |
Matrix6d | consistentStiffness () |
get the overall consistent algorithmic tangent More... | |
Private Attributes | |
const double | initialStepSize |
const double | minimumStepSize |
const double | scaleUpFactor |
const double | scaleDownFactor |
const int | nPassesToIncrease |
double | currentProgress |
double | currentSubstepSize |
int | passedSubsteps |
const Matrix6d & | Cel |
MatrixStateStrain | I76 |
TangentSizedMatrix | I77 |
MatrixStateStrain | consistentTangent |
TangentSizedMatrix | consistentTangent |
Substepper for (linear elastic) elastoplastic materials, semi-explicit return mapping version
Substepper for (linear elastic) elastoplastic materials, implicit return mapping version
typedef Eigen::Matrix< double, nSizeMatTangent, nSizeMatTangent > Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::TangentSizedMatrix |
typedef Eigen::Matrix< double, nSizeMatTangent, 6 > Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::MatrixStateStrain |
typedef Eigen::Matrix< double, nSizeMatTangent, nSizeMatTangent > Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::TangentSizedMatrix |
Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::PerezFougetSubstepper | ( | double | initialStepSize, |
double | minimumStepSize, | ||
double | scaleUpFactor, | ||
double | scaleDownFactor, | ||
int | nPassesToIncrease, | ||
const Matrix6d & | Cel | ||
) |
Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::PerezFougetSubstepper | ( | double | initialStepSize, |
double | minimumStepSize, | ||
double | scaleUpFactor, | ||
double | scaleDownFactor, | ||
int | nPassesToIncrease, | ||
const Matrix6d & | Cel | ||
) |
bool Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::isFinished |
check if subincrementation process has finished
double Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::getNextSubstep |
get the next subincrement size
bool Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::decreaseSubstepSize |
decrease the next subincrement
void Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::finishElasticSubstep |
finish an elastic only subincrement
void Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::finishSubstep | ( | const TangentSizedMatrix & | dXdY, |
const TangentSizedMatrix & | dYdXOld | ||
) |
finish an elastoplastic subincremnt
dXdY | inverse of the material tangent |
dXdYOld | inverse of the previous material tangent |
Matrix6d Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::consistentStiffness |
get the consistent algorithmic tangent
bool Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::isFinished | ( | ) |
check if the subincrement process has finished
double Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::getNextSubstep | ( | ) |
get the next subincrement size
bool Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::decreaseSubstepSize | ( | ) |
decreas the subincrement size
void Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::finishElasticSubstep | ( | ) |
finish an elastic only subincrement
void Marmot::NumericalAlgorithms::PerezFougetSubstepper< n >::finishSubstep | ( | const TangentSizedMatrix & | dXdY | ) |
finish a subincrement, pass the inverse material tangent
Matrix6d Marmot::NumericalAlgorithms::PerezFougetSubstepper< nSizeMatTangent >::consistentStiffness | ( | ) |
get the overall consistent algorithmic tangent
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |