Classes | |
class | AT_DegradationDerivative |
class | COHESIVE_DegradationDerivative |
class | DegradationDerivative |
Enumerations | |
enum class | PhaseFieldModel { AT1 , AT2 , COHESIVE } |
enum class | SofteningCurve { Linear , Exponential } |
enum class | EnergySplitModel { Isotropic , VolDev , EffectiveStress , OrthoVolDev , OrthoMasonry } |
Functions | |
double | heaviside (double const v) |
double | macaulayTensile (double const v) |
double | macaulayCompressive (double v) |
template<int DisplacementDim> | |
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > | calculateVolDevDegradedStress (double const degradation, double const bulk_modulus, double const mu, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps) |
template<int DisplacementDim> | |
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > | calculateIsotropicDegradedStress (double const degradation, double const bulk_modulus, double const mu, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps) |
template<int DisplacementDim> | |
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > | calculateIsotropicDegradedStressWithRankineEnergy (double const degradation, double const bulk_modulus, double const mu, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps) |
template<int DisplacementDim> | |
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > | calculateOrthoVolDevDegradedStress (double const degradation, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > const &C_ortho) |
template<int DisplacementDim> | |
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > | calculateOrthoMasonryDegradedStress (double const degradation, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > const &C_ortho) |
template<int DisplacementDim> | |
PhaseFieldModel | convertStringToPhaseFieldModel (std::string const &phasefield_model) |
template<int DisplacementDim> | |
SofteningCurve | convertStringToSofteningCurve (std::optional< std::string > const &softening_curve) |
template<int DisplacementDim> | |
EnergySplitModel | convertStringToEnergySplitModel (std::string const &energy_split_model) |
template<int DisplacementDim> | |
std::unique_ptr< DegradationDerivative > | creatDegradationDerivative (PhaseFieldModel const &phasefield_model, double const lch, SofteningCurve const &softening_curve) |
template<typename T_DNDX , typename T_N , typename T_W , typename T_D , typename T_LOCAL_JAC , typename T_LOCAL_RHS > | |
void | calculateCrackLocalJacobianAndResidual (T_DNDX &dNdx, T_N &N, T_W &w, T_D &d, T_LOCAL_JAC &local_Jac, T_LOCAL_RHS local_rhs, double const gc, double const ls, PhaseFieldModel &phasefield_model) |
template<typename T_VECTOR , typename T_MATRIX , int DisplacementDim> | |
void | calculateStress (T_VECTOR &sigma, T_VECTOR &sigma_tensile, T_VECTOR &sigma_compressive, T_VECTOR &eps_tensile, T_MATRIX &D, T_MATRIX &C_tensile, T_MATRIX &C_compressive, double &strain_energy_tensile, double &elastic_energy, double const degradation, T_VECTOR const &eps, EnergySplitModel const &energy_split_model, double const t, ParameterLib::SpatialPosition const &x, MaterialLib::Solids::MechanicsBase< DisplacementDim > const &solid_material) |
|
strong |
Enumerator | |
---|---|
Isotropic | |
VolDev | |
EffectiveStress | |
OrthoVolDev | |
OrthoMasonry |
Definition at line 85 of file PhaseFieldBase.h.
|
strong |
Enumerator | |
---|---|
AT1 | |
AT2 | |
COHESIVE |
Definition at line 28 of file PhaseFieldBase.h.
|
strong |
Enumerator | |
---|---|
Linear | |
Exponential |
Definition at line 57 of file PhaseFieldBase.h.
void MaterialLib::Solids::Phasefield::calculateCrackLocalJacobianAndResidual | ( | T_DNDX & | dNdx, |
T_N & | N, | ||
T_W & | w, | ||
T_D & | d, | ||
T_LOCAL_JAC & | local_Jac, | ||
T_LOCAL_RHS | local_rhs, | ||
double const | gc, | ||
double const | ls, | ||
PhaseFieldModel & | phasefield_model ) |
Definition at line 292 of file PhaseFieldBase.h.
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStress | ( | double const | degradation, |
double const | bulk_modulus, | ||
double const | mu, | ||
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const & | eps ) |
Definition at line 138 of file LinearElasticIsotropicPhaseField.h.
References MathLib::KelvinVector::kelvin_vector_dimensions().
Referenced by calculateStress().
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStressWithRankineEnergy | ( | double const | degradation, |
double const | bulk_modulus, | ||
double const | mu, | ||
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const & | eps ) |
Definition at line 191 of file LinearElasticIsotropicPhaseField.h.
References heaviside(), MathLib::KelvinVector::kelvin_vector_dimensions(), and MathLib::KelvinVector::kelvinVectorToTensor().
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Phasefield::calculateOrthoMasonryDegradedStress | ( | double const | degradation, |
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const & | eps, | ||
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > const & | C_ortho ) |
Definition at line 127 of file LinearElasticOrthotropicPhaseField.h.
References heaviside(), MathLib::KelvinVector::kelvinVectorToTensor(), macaulayCompressive(), macaulayTensile(), and MathLib::KelvinVector::tensorToKelvin().
Referenced by calculateStress().
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Phasefield::calculateOrthoVolDevDegradedStress | ( | double const | degradation, |
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const & | eps, | ||
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > const & | C_ortho ) |
Definition at line 38 of file LinearElasticOrthotropicPhaseField.h.
References MathLib::KelvinVector::kelvin_vector_dimensions().
Referenced by calculateStress().
void MaterialLib::Solids::Phasefield::calculateStress | ( | T_VECTOR & | sigma, |
T_VECTOR & | sigma_tensile, | ||
T_VECTOR & | sigma_compressive, | ||
T_VECTOR & | eps_tensile, | ||
T_MATRIX & | D, | ||
T_MATRIX & | C_tensile, | ||
T_MATRIX & | C_compressive, | ||
double & | strain_energy_tensile, | ||
double & | elastic_energy, | ||
double const | degradation, | ||
T_VECTOR const & | eps, | ||
EnergySplitModel const & | energy_split_model, | ||
double const | t, | ||
ParameterLib::SpatialPosition const & | x, | ||
MaterialLib::Solids::MechanicsBase< DisplacementDim > const & | solid_material ) |
Definition at line 342 of file PhaseFieldBase.h.
References calculateIsotropicDegradedStress(), calculateOrthoMasonryDegradedStress(), calculateOrthoVolDevDegradedStress(), calculateVolDevDegradedStress(), EffectiveStress, Isotropic, OGS_FATAL, OrthoMasonry, OrthoVolDev, and VolDev.
Referenced by ProcessLib::HMPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::updateConstitutiveRelation(), and ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::updateConstitutiveRelation().
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Phasefield::calculateVolDevDegradedStress | ( | double const | degradation, |
double const | bulk_modulus, | ||
double const | mu, | ||
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const & | eps ) |
Definition at line 61 of file LinearElasticIsotropicPhaseField.h.
References heaviside(), MathLib::KelvinVector::kelvin_vector_dimensions(), macaulayCompressive(), and macaulayTensile().
Referenced by calculateStress(), and ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::updateConstitutiveRelation().
EnergySplitModel MaterialLib::Solids::Phasefield::convertStringToEnergySplitModel | ( | std::string const & | energy_split_model | ) |
Definition at line 95 of file PhaseFieldBase.h.
References EffectiveStress, Isotropic, OGS_FATAL, OrthoMasonry, OrthoVolDev, and VolDev.
Referenced by ProcessLib::HMPhaseField::createHMPhaseFieldProcess(), and ProcessLib::PhaseField::createPhaseFieldProcess().
PhaseFieldModel MaterialLib::Solids::Phasefield::convertStringToPhaseFieldModel | ( | std::string const & | phasefield_model | ) |
Definition at line 36 of file PhaseFieldBase.h.
References AT1, AT2, COHESIVE, and OGS_FATAL.
Referenced by ProcessLib::HMPhaseField::createHMPhaseFieldProcess(), and ProcessLib::PhaseField::createPhaseFieldProcess().
SofteningCurve MaterialLib::Solids::Phasefield::convertStringToSofteningCurve | ( | std::optional< std::string > const & | softening_curve | ) |
Definition at line 64 of file PhaseFieldBase.h.
References Exponential, Linear, and OGS_FATAL.
Referenced by ProcessLib::HMPhaseField::createHMPhaseFieldProcess(), and ProcessLib::PhaseField::createPhaseFieldProcess().
std::unique_ptr< DegradationDerivative > MaterialLib::Solids::Phasefield::creatDegradationDerivative | ( | PhaseFieldModel const & | phasefield_model, |
double const | lch, | ||
SofteningCurve const & | softening_curve ) |
Definition at line 276 of file PhaseFieldBase.h.
References COHESIVE.
|
inline |
Decompose the stiffness into tensile and compressive part. Judging by the physical observations, compression perpendicular to a crack does not cause crack propagation. Thus, the phase-field parameter is only involved into the tensile part to degrade the elastic strain energy. heaviside function returns 1.0 if the argument is positive and 0.0 if negative
Definition at line 32 of file LinearElasticIsotropicPhaseField.h.
Referenced by calculateIsotropicDegradedStressWithRankineEnergy(), calculateOrthoMasonryDegradedStress(), calculateVolDevDegradedStress(), macaulayCompressive(), and macaulayTensile().
|
inline |
Definition at line 43 of file LinearElasticIsotropicPhaseField.h.
References heaviside().
Referenced by calculateOrthoMasonryDegradedStress(), and calculateVolDevDegradedStress().
|
inline |
Macaulay brackets: positive strain is tensile and negative strain for compressive
Definition at line 39 of file LinearElasticIsotropicPhaseField.h.
References heaviside().
Referenced by calculateOrthoMasonryDegradedStress(), and calculateVolDevDegradedStress().