template<int DisplacementDim>
class MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim >
Definition at line 268 of file Ehlers.h.
|
| std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables > | createMaterialStateVariables () const override |
| | SolidEhlers (NumLib::NewtonRaphsonSolverParameters nonlinear_solver_parameters, MaterialPropertiesParameters material_properties, std::unique_ptr< DamagePropertiesParameters > &&damage_properties, TangentType tangent_type) |
| double | computeFreeEnergyDensity (double const, ParameterLib::SpatialPosition const &, double const, KelvinVector const &eps, KelvinVector const &sigma, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override |
| std::optional< std::tuple< KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, KelvinMatrix > > | integrateStress (MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override |
| std::vector< typename MechanicsBase< DisplacementDim >::InternalVariable > | getInternalVariables () const override |
| MaterialProperties | evaluatedMaterialProperties (double const t, ParameterLib::SpatialPosition const &x) const |
| double | getBulkModulus (double const t, ParameterLib::SpatialPosition const &x, KelvinMatrix const *const) const override |
| DamageProperties | evaluatedDamageProperties (double const t, ParameterLib::SpatialPosition const &x) const |
| virtual void | initializeInternalStateVariables (double const, ParameterLib::SpatialPosition const &, typename MechanicsBase< DisplacementDim >::MaterialStateVariables &) const |
| virtual std::optional< std::tuple< KelvinVector, std::unique_ptr< MaterialStateVariables >, KelvinMatrix > > | integrateStress (MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, MaterialStateVariables const &material_state_variables) const =0 |
| virtual ConstitutiveModel | getConstitutiveModel () const |
| | Gets the type of constitutive model.
|
| virtual double | getTemperatureRelatedCoefficient (double const, double const, ParameterLib::SpatialPosition const &, double const, double const) const |
| virtual double | computeFreeEnergyDensity (double const t, ParameterLib::SpatialPosition const &x, double const dt, KelvinVector const &eps, KelvinVector const &sigma, MaterialStateVariables const &material_state_variables) const =0 |
| virtual | ~MechanicsBase ()=default |
template<int DisplacementDim>
Definition at line 534 of file Ehlers.cpp.
540{
547
550
554 state.setInitialConditions();
555
557
558
560
562
564
565
567
570
572
574
575
576
577
578
579 if ((
sigma.squaredNorm() == 0. ||
dt == 0. ||
583 state.eps_p.eff)) < 0.))
584 {
586 mp.K - 2. / 3 *
mp.G,
mp.G);
587 }
588 else
589 {
590
591
595
596 {
604
606
607
608
611
613 {
619
622
626
628 mp.kappa,
mp.hardening_coefficient,
637 };
638
640 {
643 };
644
647 {
651 };
652
656
658
660 {
661 return {};
662 }
663
664
665
666
667
669 {
671 }
672
675 }
676
677
685
687 {
690 }
693 {
699 {
701 }
702 }
703 else
704 {
706 "Unimplemented tangent type behaviour for the tangent type "
707 "'{}'.",
709 }
710 }
711
713
721}
static int const KelvinVectorSize
Eigen::Matrix< double, JacobianResidualSize, JacobianResidualSize, Eigen::RowMajor > JacobianMatrix
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix
Eigen::Matrix< double, JacobianResidualSize, 1 > ResidualVectorType
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > calculateDResidualDEps(double const K, double const G)
SolidEhlers< DisplacementDim >::JacobianMatrix calculatePlasticJacobian(double const dt, PhysicalStressWithInvariants< DisplacementDim > const &s, double const lambda, MaterialProperties const &mp)
double calculateIsotropicHardening(double const kappa, double const hardening_coefficient, double const eps_p_eff)
std::tuple< KelvinVector, PlasticStrain< KelvinVector >, double > splitSolutionVector(ResidualVector const &solution)
SolidEhlers< DisplacementDim >::KelvinVector predict_sigma(double const G, double const K, typename SolidEhlers< DisplacementDim >::KelvinVector const &sigma_prev, typename SolidEhlers< DisplacementDim >::KelvinVector const &eps, typename SolidEhlers< DisplacementDim >::KelvinVector const &eps_prev, double const eps_V)
SolidEhlers< DisplacementDim >::ResidualVectorType calculatePlasticResidual(MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_D, double const eps_V, PhysicalStressWithInvariants< DisplacementDim > const &s, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_p_D, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_p_D_dot, double const eps_p_V, double const eps_p_V_dot, double const eps_p_eff_dot, double const lambda, double const k, MaterialProperties const &mp)
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > elasticTangentStiffness(double const first_lame_parameter, double const shear_modulus)
References _mp, _nonlinear_solver_parameters, _tangent_type, MaterialLib::Solids::Ehlers::calculateDResidualDEps(), MaterialLib::Solids::Ehlers::calculateIsotropicHardening(), MaterialLib::Solids::Ehlers::calculatePlasticJacobian(), MaterialLib::Solids::Ehlers::calculatePlasticResidual(), MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::damage, MaterialLib::Solids::Ehlers::Elastic, MaterialLib::Solids::elasticTangentStiffness(), MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::eps_p, MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::eps_p_prev, MaterialLib::Solids::Ehlers::MaterialProperties::G, MaterialLib::Solids::Ehlers::MaterialProperties::hardening_coefficient, JacobianResidualSize, MaterialLib::Solids::Ehlers::MaterialProperties::K, MaterialLib::Solids::Ehlers::MaterialProperties::kappa, KelvinVectorSize, MaterialPropertyLib::VariableArray::mechanical_strain, OGS_FATAL, MaterialLib::Solids::Ehlers::Plastic, MaterialLib::Solids::Ehlers::PlasticDamageSecant, MaterialLib::Solids::Ehlers::predict_sigma(), MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::setInitialConditions(), MaterialLib::Solids::Ehlers::splitSolutionVector(), MaterialPropertyLib::VariableArray::stress, BaseLib::to_underlying(), MaterialLib::Solids::Ehlers::Damage::value(), and MaterialLib::Solids::Ehlers::yieldFunction().