![]() |
Implementation of a linear elastic material according to the LinearViscoelasticPowerLaw model by Bazant et al. (2015) generalized for 3D stress states. More...
#include <LinearViscoelasticPowerLaw.h>
Classes | |
class | LinearViscoelasticPowerLawStateVarManager |
Public Member Functions | |
LinearViscoelasticPowerLaw (const double *materialProperties, int nMaterialProperties, int materialLabel) | |
void | computeStress (double *stress, double *dStressDDStrain, const double *dStrain, const double *timeOld, const double dT, double &pNewDT) |
int | getNumberOfRequiredStateVars () |
void | assignStateVars (double *stateVars_, int nStateVars) |
StateView | getStateView (const std::string &stateName) |
![]() | |
void | setCharacteristicElementLength (double length) |
virtual void | computeStress (double *stress, double *dStressDDStrain, const double *FOld, const double *FNew, const double *timeOld, const double dT, double &pNewDT) override |
virtual void | computePlaneStress (double *stress2D, double *dStress_dStrain2D, const double *dStrain2D, const double *timeOld, const double dT, double &pNewDT) |
virtual void | computeUniaxialStress (double *stress1D, double *dStress_dStrain1D, const double *dStrain, const double *timeOld, const double dT, double &pNewDT) |
virtual void | computePlaneStress (double *stress2D, double *dStress_dF2DNew, const double *FOld2D, const double *FNew2D, const double *timeOld, const double dT, double &pNewDT) |
virtual void | computeUniaxialStress (double *stress1D, double *dStress1D_dF1DNew, const double *F1DOld, const double *F1DNew, const double *timeOld, const double dT, double &pNewDT) |
![]() | |
virtual void | computePlaneStress (double *stress2D, double *dStress_dF2DNew, const double *FOld2D, const double *FNew2D, const double *timeOld, const double dT, double &pNewDT) |
virtual void | computeUniaxialStress (double *stress1D, double *dStress1D_dF1DNew, const double *F1DOld, const double *F1DNew, const double *timeOld, const double dT, double &pNewDT) |
MarmotMaterial (const double *materialProperties, int nMaterialProperties, int materialNumber) | |
![]() | |
MarmotMaterial (const double *materialProperties, int nMaterialProperties, int materialNumber) | |
virtual | ~MarmotMaterial () |
double * | getAssignedStateVars () |
int | getNumberOfAssignedStateVars () |
virtual void | initializeYourself () |
virtual double | getDensity () |
Private Attributes | |
const double & | E |
Young's modulus. More... | |
const double & | nu |
Poisson's ratio. More... | |
const double & | m |
power law compliance parameter More... | |
const double & | n |
power law exponent More... | |
const size_t | nKelvin |
number of Kelvin units to approximate the viscoelastic compliance More... | |
const double & | minTau |
minimal retardation time used in the viscoelastic Kelvin chain More... | |
const double & | timeToDays |
ratio of simulation time to days More... | |
std::unique_ptr< LinearViscoelasticPowerLawStateVarManager > | stateVarManager |
KelvinChain::Properties | elasticModuli |
KelvinChain::Properties | retardationTimes |
double | zerothKelvinChainCompliance |
Static Private Attributes | |
static constexpr int | powerLawApproximationOrder = 2 |
Additional Inherited Members | |
![]() | |
double | characteristicElementLength |
Characteristic element length. More... | |
![]() | |
const int | materialNumber |
![]() | |
const double * | materialProperties |
const int | nMaterialProperties |
double * | stateVars |
int | nStateVars |
Implementation of a linear elastic material according to the LinearViscoelasticPowerLaw model by Bazant et al. (2015) generalized for 3D stress states.
For further information see B4 Model.
Marmot::Materials::LinearViscoelasticPowerLaw::LinearViscoelasticPowerLaw | ( | const double * | materialProperties, |
int | nMaterialProperties, | ||
int | materialLabel | ||
) |
|
virtual |
For a given linearized strain increment \(\Delta\boldsymbol{\varepsilon}\) at the old and the current time, compute the Cauchy stress and the algorithmic tangent \(\frac{\partial\boldsymbol{\sigma}^{(n+1)}}{\partial\boldsymbol{\varepsilon}^{(n+1)}}\).
[in,out] | stress | Cauchy stress |
[in,out] | dStressDDstrain | Algorithmic tangent representing the derivative of the Cauchy stress tensor with respect to the linearized strain |
[in] | dStrain | linearized strain increment |
[in] | timeOld | Old (pseudo-)time |
[in] | dt | (Pseudo-)time increment from the old (pseudo-)time to the current (pseudo-)time |
[in,out] | pNewDT | Suggestion for a new time increment |
Implements MarmotMaterialHypoElastic.
|
virtual |
Implements MarmotMaterial.
|
virtual |
Reimplemented from MarmotMaterial.
|
virtual |
Implements MarmotMaterial.
|
private |
Young's modulus.
|
private |
Poisson's ratio.
|
private |
power law compliance parameter
|
private |
power law exponent
|
private |
number of Kelvin units to approximate the viscoelastic compliance
|
private |
minimal retardation time used in the viscoelastic Kelvin chain
|
private |
ratio of simulation time to days
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |