Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Marmot::Materials::ADVonMises Class Reference

Implementation of a isotropic J2-plasticity material for 3D stress states using automatic differentiation. More...

#include <ADVonMises.h>

Inheritance diagram for Marmot::Materials::ADVonMises:
[legend]

Classes

class  ADVonMisesModelStateVarManager
 

Public Member Functions

 ADVonMises (const double *materialProperties, int nMaterialProperties, int materialNumber)
 
- Public Member Functions inherited from MarmotMaterialHypoElasticAD
virtual void computeStress (double *stress, double *dStressDDStrain, const double *dStrain, const double *timeOld, const double dT, double &pNewDT) override
 
- Public Member Functions inherited from MarmotMaterialHypoElastic
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)
 
- Public Member Functions inherited from MarmotMaterialMechanical
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)
 
- Public Member Functions inherited from MarmotMaterial
 MarmotMaterial (const double *materialProperties, int nMaterialProperties, int materialNumber)
 
virtual ~MarmotMaterial ()
 
double * getAssignedStateVars ()
 
int getNumberOfAssignedStateVars ()
 
virtual void initializeYourself ()
 
virtual double getDensity ()
 

Public Attributes

const double & E
 
const double & nu
 
const double & yieldStress
 
const double & HLin
 
const double & deltaYieldStress
 
const double & delta
 
const double G
 
- Public Attributes inherited from MarmotMaterialHypoElastic
double characteristicElementLength
 Characteristic element length. More...
 
- Public Attributes inherited from MarmotMaterial
const int materialNumber
 

Protected Member Functions

void computeStressAD (autodiff::dual *stress, const autodiff::dual *dStrain, const double *timeOld, const double dT, double &pNewDT) override
 
int getNumberOfRequiredStateVars () override
 
void assignStateVars (double *stateVars, int nStateVars) override
 
StateView getStateView (const std::string &result) override
 
template<typename T >
fy (T kappa_)
 
template<typename T >
f (const T rho_, const double kappa_)
 
template<typename T >
g (const T rhoTrial, const double kappa, const T deltaKappa)
 

Protected Attributes

std::unique_ptr< ADVonMisesModelStateVarManagermanagedStateVars
 
- Protected Attributes inherited from MarmotMaterial
const double * materialProperties
 
const int nMaterialProperties
 
double * stateVars
 
int nStateVars
 

Detailed Description

Implementation of a isotropic J2-plasticity material for 3D stress states using automatic differentiation.

Constructor & Destructor Documentation

◆ ADVonMises()

Marmot::Materials::ADVonMises::ADVonMises ( const double *  materialProperties,
int  nMaterialProperties,
int  materialNumber 
)

Member Function Documentation

◆ computeStressAD()

void Marmot::Materials::ADVonMises::computeStressAD ( autodiff::dual *  stress,
const autodiff::dual *  dStrain,
const double *  timeOld,
const double  dT,
double &  pNewDT 
)
overrideprotectedvirtual

◆ getNumberOfRequiredStateVars()

int Marmot::Materials::ADVonMises::getNumberOfRequiredStateVars ( )
inlineoverrideprotectedvirtual

Implements MarmotMaterial.

◆ assignStateVars()

void Marmot::Materials::ADVonMises::assignStateVars ( double *  stateVars,
int  nStateVars 
)
overrideprotectedvirtual

Reimplemented from MarmotMaterial.

◆ getStateView()

StateView Marmot::Materials::ADVonMises::getStateView ( const std::string &  result)
overrideprotectedvirtual

Implements MarmotMaterial.

◆ fy()

template<typename T >
T Marmot::Materials::ADVonMises::fy ( kappa_)
inlineprotected

◆ f()

template<typename T >
T Marmot::Materials::ADVonMises::f ( const T  rho_,
const double  kappa_ 
)
inlineprotected

◆ g()

template<typename T >
T Marmot::Materials::ADVonMises::g ( const T  rhoTrial,
const double  kappa,
const T  deltaKappa 
)
inlineprotected

Member Data Documentation

◆ E

const double& Marmot::Materials::ADVonMises::E

◆ nu

const double& Marmot::Materials::ADVonMises::nu

◆ yieldStress

const double& Marmot::Materials::ADVonMises::yieldStress

◆ HLin

const double& Marmot::Materials::ADVonMises::HLin

◆ deltaYieldStress

const double& Marmot::Materials::ADVonMises::deltaYieldStress

◆ delta

const double& Marmot::Materials::ADVonMises::delta

◆ G

const double Marmot::Materials::ADVonMises::G

◆ managedStateVars

std::unique_ptr< ADVonMisesModelStateVarManager > Marmot::Materials::ADVonMises::managedStateVars
protected

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