OGS
|
#include <Lubby2.h>
Classes | |
struct | MaterialStateVariables |
Public Types | |
using | KelvinVector = MathLib::KelvinVector::KelvinVectorType< DisplacementDim > |
using | KelvinMatrix = MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > |
using | ResidualVector = Eigen::Matrix< double, JacobianResidualSize, 1 > |
using | JacobianMatrix = Eigen::Matrix< double, JacobianResidualSize, JacobianResidualSize, Eigen::RowMajor > |
Public Types inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim > | |
using | KelvinVector = MathLib::KelvinVector::KelvinVectorType< DisplacementDim > |
using | KelvinMatrix = MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > |
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 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. More... | |
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. More... | |
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. More... | |
Private Attributes | |
NumLib::NewtonRaphsonSolverParameters const | _nonlinear_solver_parameters |
Lubby2MaterialProperties | _mp |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::JacobianMatrix = Eigen::Matrix<double, JacobianResidualSize, JacobianResidualSize, Eigen::RowMajor> |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::KelvinMatrix = MathLib::KelvinVector::KelvinMatrixType<DisplacementDim> |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::KelvinVector = MathLib::KelvinVector::KelvinVectorType<DisplacementDim> |
using MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::ResidualVector = Eigen::Matrix<double, JacobianResidualSize, 1> |
|
inlineexplicit |
Definition at line 176 of file Lubby2.h.
|
private |
Calculates the 18x18 Jacobian.
Definition at line 248 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, and MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GM0.
|
private |
Calculates the 18x1 residual vector.
Definition at line 215 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, and MaterialLib::Solids::Lubby2::detail::LocalLubby2Properties< DisplacementDim >::GM0.
|
inlineoverride |
Definition at line 184 of file Lubby2.h.
References MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::_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 >.
|
inlineoverridevirtual |
Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >.
Definition at line 226 of file Lubby2.h.
References MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::_mp, and MaterialLib::Solids::Lubby2::Lubby2MaterialProperties::KM0.
|
override |
Definition at line 73 of file Lubby2.cpp.
References 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, MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::setInitialConditions(), and NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Definition at line 272 of file Lubby2.h.
Referenced by MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::computeFreeEnergyDensity(), and MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::getBulkModulus().
|
private |
|
static |
|
static |
Definition at line 159 of file Lubby2.h.
Referenced by MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::MaterialStateVariables::MaterialStateVariables().