Classes | Public Member Functions | List of all members
MarmotMaterialFiniteStrain Class Referenceabstract

#include <MarmotMaterialFiniteStrain.h>

Inheritance diagram for MarmotMaterialFiniteStrain:
[legend]

Classes

struct  AlgorithmicModuli
 
struct  ConstitutiveResponse
 
struct  Deformation
 
struct  TimeIncrement
 

Public Member Functions

virtual void computeStress (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &, const TimeIncrement &)=0
 
virtual void computeStress (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement, const std::tuple< double, double, double > &eigenDeformation)
 
virtual void computePlaneStrain (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &algorithmicModuli, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
virtual void computePlaneStrain (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &algorithmicModuli, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement, const std::tuple< double, double, double > &eigenDeformation)
 
virtual void computePlaneStress (ConstitutiveResponse< 2 > &response, AlgorithmicModuli< 2 > &algorithmicModuli, const Deformation< 2 > &deformation, const TimeIncrement &timeIncrement)
 
std::tuple< double, double, double > findEigenDeformationForEigenStress (const std::tuple< double, double, double > &initialGuess, const std::tuple< double, double, double > &eigenStress)
 
 MarmotMaterial (const double *materialProperties, int nMaterialProperties, int materialNumber)
 
- Public Member Functions inherited from MarmotMaterial
 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 ()
 
virtual double getDensity ()
 

Additional Inherited Members

- Public Attributes inherited from MarmotMaterial
const int materialNumber
 
- Protected Attributes inherited from MarmotMaterial
const double * materialProperties
 
const int nMaterialProperties
 
double * stateVars
 
int nStateVars
 

Class Documentation

◆ MarmotMaterialFiniteStrain::AlgorithmicModuli

struct MarmotMaterialFiniteStrain::AlgorithmicModuli

template<int nDim>
struct MarmotMaterialFiniteStrain::AlgorithmicModuli< nDim >

Class Members
Tensor< double, nDim, nDim, nDim, nDim > dTau_dF

◆ MarmotMaterialFiniteStrain::ConstitutiveResponse

struct MarmotMaterialFiniteStrain::ConstitutiveResponse

template<int nDim>
struct MarmotMaterialFiniteStrain::ConstitutiveResponse< nDim >

Class Members
Tensor< double, nDim, nDim > tau
double rho
double elasticEnergyDensity

◆ MarmotMaterialFiniteStrain::Deformation

struct MarmotMaterialFiniteStrain::Deformation

template<int nDim>
struct MarmotMaterialFiniteStrain::Deformation< nDim >

Class Members
Tensor< double, nDim, nDim > F

◆ MarmotMaterialFiniteStrain::TimeIncrement

struct MarmotMaterialFiniteStrain::TimeIncrement
Class Members
const double time
const double dT

Member Function Documentation

◆ computeStress() [1/2]

virtual void MarmotMaterialFiniteStrain::computeStress ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  ,
const TimeIncrement  
)
pure virtual

◆ computeStress() [2/2]

void MarmotMaterialFiniteStrain::computeStress ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement,
const std::tuple< double, double, double > &  eigenDeformation 
)
virtual

Compute Stress, but account for eigen deformations (e.g, geostatic stress states). Modifies algorithmic tangent accordingly.

◆ computePlaneStrain() [1/2]

void MarmotMaterialFiniteStrain::computePlaneStrain ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  algorithmicModuli,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)
virtual

◆ computePlaneStrain() [2/2]

void MarmotMaterialFiniteStrain::computePlaneStrain ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  algorithmicModuli,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement,
const std::tuple< double, double, double > &  eigenDeformation 
)
virtual

◆ computePlaneStress()

void MarmotMaterialFiniteStrain::computePlaneStress ( ConstitutiveResponse< 2 > &  response,
AlgorithmicModuli< 2 > &  algorithmicModuli,
const Deformation< 2 > &  deformation,
const TimeIncrement timeIncrement 
)
virtual

◆ findEigenDeformationForEigenStress()

std::tuple< double, double, double > MarmotMaterialFiniteStrain::findEigenDeformationForEigenStress ( const std::tuple< double, double, double > &  initialGuess,
const std::tuple< double, double, double > &  eigenStressComponents 
)

Find for given eigen stress the appropriate eigen deformation.

The basic implementation here assumes non-chirial, isotropic elastic behavior.

◆ MarmotMaterial()

MarmotMaterial::MarmotMaterial

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