|
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 | computeStress (autodiff::dual *stress, const autodiff::dual *dStrain, const double *timeOld, const double dT, double &pNewDT)=0 |
|
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 () |
|
virtual int | getNumberOfRequiredStateVars ()=0 |
|
virtual void | assignStateVars (double *stateVars, int nStateVars) |
|
virtual StateView | getStateView (const std::string &stateName)=0 |
|
double * | getAssignedStateVars () |
|
int | getNumberOfAssignedStateVars () |
|
virtual void | initializeYourself () |
|
Derived abstract base class for elastic materials expressed purely in rate form.
In general, the nominal stress rate tensor \( \sigRate \) can be written as a function of the nominal stress tensor \( \sig \), the stretching rate tensor \( \epsRate \) and the time \( t \).
\[ \displaystyle \sigRate = f( \sig, \epsRate, t, ...) \]
In course of numerical time integration, this relation will be formulated incrementally as
\[ \displaystyle \Delta \sig = f ( \sig_n, \Delta\eps, \Delta t, t_n, ...) \]
with
\[ \displaystyle \Delta\eps = \epsRate\, \Delta t \]
and the algorithmic tangent
\[ \displaystyle \frac{d \sig }{d \eps } = \frac{d \Delta \sig }{d \Delta \eps } \]
This formulation is compatible with an Abaqus interface.