Go to the documentation of this file.
72 { .name =
"kelvinStateVars", .length = 0 },
84 using MarmotMaterialHypoElastic::MarmotMaterialHypoElastic;
89 double* dStressDDStrain,
91 const double* dStrain,
92 const double* timeOld,
const double & nu
Poisson's ratio.
Definition: LinearViscoelasticPowerLaw.h:51
const double & m
power law compliance parameter
Definition: LinearViscoelasticPowerLaw.h:54
LinearViscoelasticPowerLaw(const double *materialProperties, int nMaterialProperties, int materialLabel)
Definition: LinearViscoelasticPowerLaw.cpp:18
Implementation of a linear elastic material according to the LinearViscoelasticPowerLaw model by Baza...
Definition: LinearViscoelasticPowerLaw.h:45
const double & timeToDays
ratio of simulation time to days
Definition: LinearViscoelasticPowerLaw.h:66
Eigen::Map< StateVarMatrix > mapStateVarMatrix
Definition: MarmotKelvinChain.h:42
LinearViscoelasticPowerLawStateVarManager(double *theStateVarVector, int nKelvinUnits)
Definition: LinearViscoelasticPowerLaw.h:77
Definition: MarmotKelvinChain.h:34
void assignStateVars(double *stateVars_, int nStateVars)
Definition: LinearViscoelasticPowerLaw.cpp:98
KelvinChain::Properties elasticModuli
Definition: LinearViscoelasticPowerLaw.h:103
const double & E
Young's modulus.
Definition: LinearViscoelasticPowerLaw.h:48
const double & n
power law exponent
Definition: LinearViscoelasticPowerLaw.h:57
KelvinChain::Properties retardationTimes
Definition: LinearViscoelasticPowerLaw.h:104
A convenience auxiliary class for managing multiple statevars with arbitrary length in a single conse...
Definition: MarmotStateVarVectorManager.h:37
std::unique_ptr< LinearViscoelasticPowerLawStateVarManager > stateVarManager
Definition: LinearViscoelasticPowerLaw.h:81
static const auto layout
Definition: LinearViscoelasticPowerLaw.h:71
Definition: MarmotUtils.h:29
const size_t nKelvin
number of Kelvin units to approximate the viscoelastic compliance
Definition: LinearViscoelasticPowerLaw.h:60
const double & minTau
minimal retardation time used in the viscoelastic Kelvin chain
Definition: LinearViscoelasticPowerLaw.h:63
KelvinChain::mapStateVarMatrix kelvinStateVars
Definition: LinearViscoelasticPowerLaw.h:75
Eigen::VectorXd Properties
Definition: MarmotKelvinChain.h:38
StateView getStateView(const std::string &stateName)
Definition: LinearViscoelasticPowerLaw.cpp:108
Definition: LinearViscoelasticPowerLaw.h:68
void computeStress(double *stress, double *dStressDDStrain, const double *dStrain, const double *timeOld, const double dT, double &pNewDT)
Definition: LinearViscoelasticPowerLaw.cpp:47
static StateVarVectorLayout makeLayout(const std::vector< StateVarEntryDefinition > &theEntries)
generate the statevar vector layout from a list of entries, defined by name and length
Definition: MarmotStateVarVectorManager.h:74
double zerothKelvinChainCompliance
Definition: LinearViscoelasticPowerLaw.h:105
static constexpr int powerLawApproximationOrder
Definition: LinearViscoelasticPowerLaw.h:107
int getNumberOfRequiredStateVars()
Definition: LinearViscoelasticPowerLaw.cpp:113
int nStateVars
Definition: MarmotMaterial.h:39
const int nMaterialProperties
Definition: MarmotMaterial.h:36
const double * materialProperties
Definition: MarmotMaterial.h:35
double & find(const std::string &name) const
get the reference to the first array element of an entry in the statevar vector
Definition: MarmotStateVarVectorManager.h:48
Definition: MarmotMaterialHypoElastic.h:54