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

#include <FiniteStrainJ2Plasticity.h>

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

Classes

class  FiniteStrainJ2PlasticityStateVarManager
 

Public Member Functions

 FiniteStrainJ2Plasticity (const double *materialProperties, int nMaterialProperties, int materialLabel)
 
void computeStress (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
void computeStressWithScalarReturnMapping (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
void computeStressWithFullReturnMapping (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
void computeStressFDAF (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
void computeStressFDAC (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
void computeStressCSDA (ConstitutiveResponse< 3 > &response, AlgorithmicModuli< 3 > &tangents, const Deformation< 3 > &deformation, const TimeIncrement &timeIncrement)
 
int getNumberOfRequiredStateVars ()
 
void assignStateVars (double *stateVars, int nStateVars)
 
StateView getStateView (const std::string &result)
 
void initializeYourself ()
 
std::tuple< double, Tensor33d, double > yieldFunction (const Tensor33d &Fe, const double betaP)
 
template<typename T >
yieldFunctionFromStress (const Tensor33t< T > &mandelStress, const T betaP)
 
std::tuple< double, Tensor33d, Tensor3333d, double > yieldFunctionFromStress (const Tensor33d &mandelStress, const double betaP)
 
template<typename T >
std::tuple< T, Tensor33t< T >, T > yieldFunctionFromStressFirstOrderDerived (const Tensor33t< T > &mandelStress, const T betaP)
 
bool isYielding (const Tensor33d &Fe, const double betaP)
 
std::tuple< Tensor33d, Tensor3333dcomputeMandelStress (const Tensor33d &Fe)
 
template<typename T >
Tensor33t< T > computeMandelStressOnly (const Tensor33t< T > &Fe)
 
template<typename T >
computeBetaPOnly (const T alphaP)
 
std::tuple< double, double > computeBetaP (const double alphaP)
 
std::tuple< double, double > g (const Tensor33d &Fe_trial, const Tensor33d &df_dS, double dLambda, double betaP)
 
template<typename T >
Tensor33t< T > computeReturnMappingDirection (Tensor33t< T > Fe, T betaP)
 
template<typename T >
std::tuple< Tensor33d, Tensor33dcomputePlasticIncrement (Tensor33t< T > df_dS, T dLambda)
 
template<typename T >
VectorXt< T > computeResidualVector (const VectorXt< T > &X, const Tensor33d &FeTrial, const double alphaPTrial)
 
std::tuple< Eigen::VectorXd, Eigen::MatrixXd > computeResidualVectorAndTangent (const Eigen::VectorXd &X, const Tensor33d &FeTrial, const double alphaPTrial)
 
- Public Member Functions inherited from MarmotMaterialFiniteStrain
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 ()
 
double * getAssignedStateVars ()
 
int getNumberOfAssignedStateVars ()
 
virtual double getDensity ()
 

Public Attributes

const double K
 
const double G
 
const double fy
 
const double fyInf
 
const double eta
 
const double H
 
const int implementationType
 
std::unique_ptr< FiniteStrainJ2PlasticityStateVarManagerstateVars
 
- Public Attributes inherited from MarmotMaterial
const int materialNumber
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ FiniteStrainJ2Plasticity()

Marmot::Materials::FiniteStrainJ2Plasticity::FiniteStrainJ2Plasticity ( const double *  materialProperties,
int  nMaterialProperties,
int  materialLabel 
)

Member Function Documentation

◆ computeStress()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStress ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)
virtual

◆ computeStressWithScalarReturnMapping()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStressWithScalarReturnMapping ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)

◆ computeStressWithFullReturnMapping()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStressWithFullReturnMapping ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)

◆ computeStressFDAF()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStressFDAF ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)

◆ computeStressFDAC()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStressFDAC ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)

◆ computeStressCSDA()

void Marmot::Materials::FiniteStrainJ2Plasticity::computeStressCSDA ( ConstitutiveResponse< 3 > &  response,
AlgorithmicModuli< 3 > &  tangents,
const Deformation< 3 > &  deformation,
const TimeIncrement timeIncrement 
)

◆ getNumberOfRequiredStateVars()

int Marmot::Materials::FiniteStrainJ2Plasticity::getNumberOfRequiredStateVars ( )
inlinevirtual

Implements MarmotMaterial.

◆ assignStateVars()

void Marmot::Materials::FiniteStrainJ2Plasticity::assignStateVars ( double *  stateVars,
int  nStateVars 
)
virtual

Reimplemented from MarmotMaterial.

◆ getStateView()

StateView Marmot::Materials::FiniteStrainJ2Plasticity::getStateView ( const std::string &  result)
virtual

Implements MarmotMaterial.

◆ initializeYourself()

void Marmot::Materials::FiniteStrainJ2Plasticity::initializeYourself ( )
virtual

Reimplemented from MarmotMaterial.

◆ yieldFunction()

std::tuple< double, Tensor33d, double > Marmot::Materials::FiniteStrainJ2Plasticity::yieldFunction ( const Tensor33d Fe,
const double  betaP 
)
inline

◆ yieldFunctionFromStress() [1/2]

template<typename T >
T Marmot::Materials::FiniteStrainJ2Plasticity::yieldFunctionFromStress ( const Tensor33t< T > &  mandelStress,
const T  betaP 
)
inline

◆ yieldFunctionFromStress() [2/2]

std::tuple< double, Tensor33d, Tensor3333d, double > Marmot::Materials::FiniteStrainJ2Plasticity::yieldFunctionFromStress ( const Tensor33d mandelStress,
const double  betaP 
)
inline

◆ yieldFunctionFromStressFirstOrderDerived()

template<typename T >
std::tuple< T, Tensor33t< T >, T > Marmot::Materials::FiniteStrainJ2Plasticity::yieldFunctionFromStressFirstOrderDerived ( const Tensor33t< T > &  mandelStress,
const T  betaP 
)
inline

◆ isYielding()

bool Marmot::Materials::FiniteStrainJ2Plasticity::isYielding ( const Tensor33d Fe,
const double  betaP 
)
inline

◆ computeMandelStress()

std::tuple< Tensor33d, Tensor3333d > Marmot::Materials::FiniteStrainJ2Plasticity::computeMandelStress ( const Tensor33d Fe)
inline

◆ computeMandelStressOnly()

template<typename T >
Tensor33t< T > Marmot::Materials::FiniteStrainJ2Plasticity::computeMandelStressOnly ( const Tensor33t< T > &  Fe)
inline

◆ computeBetaPOnly()

template<typename T >
T Marmot::Materials::FiniteStrainJ2Plasticity::computeBetaPOnly ( const T  alphaP)
inline

◆ computeBetaP()

std::tuple< double, double > Marmot::Materials::FiniteStrainJ2Plasticity::computeBetaP ( const double  alphaP)
inline

◆ g()

std::tuple< double, double > Marmot::Materials::FiniteStrainJ2Plasticity::g ( const Tensor33d Fe_trial,
const Tensor33d df_dS,
double  dLambda,
double  betaP 
)
inline

◆ computeReturnMappingDirection()

template<typename T >
Tensor33t< T > Marmot::Materials::FiniteStrainJ2Plasticity::computeReturnMappingDirection ( Tensor33t< T >  Fe,
betaP 
)
inline

◆ computePlasticIncrement()

template<typename T >
std::tuple< Tensor33d, Tensor33d > Marmot::Materials::FiniteStrainJ2Plasticity::computePlasticIncrement ( Tensor33t< T >  df_dS,
dLambda 
)
inline

◆ computeResidualVector()

template<typename T >
VectorXt< T > Marmot::Materials::FiniteStrainJ2Plasticity::computeResidualVector ( const VectorXt< T > &  X,
const Tensor33d FeTrial,
const double  alphaPTrial 
)
inline

◆ computeResidualVectorAndTangent()

std::tuple< Eigen::VectorXd, Eigen::MatrixXd > Marmot::Materials::FiniteStrainJ2Plasticity::computeResidualVectorAndTangent ( const Eigen::VectorXd &  X,
const Tensor33d FeTrial,
const double  alphaPTrial 
)
inline

Member Data Documentation

◆ K

const double Marmot::Materials::FiniteStrainJ2Plasticity::K

◆ G

const double Marmot::Materials::FiniteStrainJ2Plasticity::G

◆ fy

const double Marmot::Materials::FiniteStrainJ2Plasticity::fy

◆ fyInf

const double Marmot::Materials::FiniteStrainJ2Plasticity::fyInf

◆ eta

const double Marmot::Materials::FiniteStrainJ2Plasticity::eta

◆ H

const double Marmot::Materials::FiniteStrainJ2Plasticity::H

◆ implementationType

const int Marmot::Materials::FiniteStrainJ2Plasticity::implementationType

◆ stateVars

std::unique_ptr< FiniteStrainJ2PlasticityStateVarManager > Marmot::Materials::FiniteStrainJ2Plasticity::stateVars

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