![]() |
OGS
|
#include <Lubby2.h>
Classes | |
struct | MaterialStateVariables |
Public Types | |
using | KelvinVector |
using | KelvinMatrix |
using | ResidualVector = Eigen::Matrix<double, JacobianResidualSize, 1> |
using | JacobianMatrix |
Public Types inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim > | |
using | KelvinVector |
using | KelvinMatrix |
Public Member Functions | |
std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables > | createMaterialStateVariables () const override |
Lubby2 (NumLib::NewtonRaphsonSolverParameters nonlinear_solver_parameters, Lubby2MaterialProperties &material_properties) | |
double | computeFreeEnergyDensity (double const t, ParameterLib::SpatialPosition const &x, double const dt, KelvinVector const &eps, KelvinVector const &sigma, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override |
double | getBulkModulus (double const t, ParameterLib::SpatialPosition const &x, KelvinMatrix const *const) 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 |
Public Member Functions inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim > | |
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 std::vector< InternalVariable > | getInternalVariables () const |
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 |
Static Public Attributes | |
static int const | KelvinVectorSize |
static int const | JacobianResidualSize |
Private Member Functions | |
void | calculateResidualBurgers (double const dt, const KelvinVector &strain_curr, const KelvinVector &strain_t, const KelvinVector &stress_curr, const KelvinVector &stress_t, const KelvinVector &strain_Kel_curr, const KelvinVector &strain_Kel_t, const KelvinVector &strain_Max_curr, const KelvinVector &strain_Max_t, ResidualVector &res, detail::LocalLubby2Properties< DisplacementDim > const &properties) const |
Calculates the 18x1 residual vector. | |
void | calculateJacobianBurgers (double const t, ParameterLib::SpatialPosition const &x, double const dt, JacobianMatrix &Jac, double s_eff, const KelvinVector &sig_i, const KelvinVector &eps_K_i, detail::LocalLubby2Properties< DisplacementDim > const &properties) const |
Calculates the 18x18 Jacobian. |
Private Attributes | |
NumLib::NewtonRaphsonSolverParameters const | _nonlinear_solver_parameters |
Lubby2MaterialProperties | _mp |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::JacobianMatrix |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::KelvinMatrix |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::KelvinVector |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::ResidualVector = Eigen::Matrix<double, JacobianResidualSize, 1> |
|
inlineexplicit |
Definition at line 176 of file Lubby2.h.
References _mp, and _nonlinear_solver_parameters.
|
private |
Calculates the 18x18 Jacobian.
Definition at line 246 of file Lubby2.cpp.
References _mp, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::etaK, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::etaM, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GK, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GM0, and KelvinVectorSize.
Referenced by integrateStress().
|
private |
Calculates the 18x1 residual vector.
Definition at line 213 of file Lubby2.cpp.
References MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::etaK, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::etaM, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GK, MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GM0, and KelvinVectorSize.
Referenced by integrateStress().
|
inlineoverride |
Definition at line 184 of file Lubby2.h.
References _mp, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_K_j, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_K_t, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_M_j, and MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_M_t.
|
inlineoverridevirtual |
Polymorphic creator for MaterialStateVariables objects specific for a material model.
Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >.
Definition at line 151 of file Lubby2.h.
|
inlineoverridevirtual |
|
override |
Definition at line 75 of file Lubby2.cpp.
References _mp, _nonlinear_solver_parameters, calculateJacobianBurgers(), calculateResidualBurgers(), MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_K_j, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_K_t, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_M_j, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::eps_M_t, KelvinVectorSize, MaterialPropertyLib::VariableArray::mechanical_strain, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::setInitialConditions(), MaterialPropertyLib::VariableArray::stress, and MaterialLib::Solids::Lubby2::tangentStiffnessA().
|
private |
Definition at line 272 of file Lubby2.h.
Referenced by Lubby2(), calculateJacobianBurgers(), computeFreeEnergyDensity(), getBulkModulus(), and integrateStress().
|
private |
Definition at line 271 of file Lubby2.h.
Referenced by Lubby2(), and integrateStress().
|
static |
|
static |
Definition at line 159 of file Lubby2.h.
Referenced by MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::MaterialStateVariables(), MaterialLib::Solids::Lubby2::calculatedGdEBurgers(), calculateJacobianBurgers(), calculateResidualBurgers(), and integrateStress().