OGS
|
Orthotropic, saturation dependent swelling model. This property must be a solid phase property, it computes the stress increment depending on the saturation. A local coordinate system can be given for orthotropy.
Definition at line 32 of file SaturationDependentSwelling.h.
#include <SaturationDependentSwelling.h>
Public Member Functions | |
SaturationDependentSwelling (std::string name, std::array< double, 3 > swelling_pressures, std::array< double, 3 > exponents, double const lower_saturation_limit, double const upper_saturation_limit, ParameterLib::CoordinateSystem const *const local_coordinate_system) | |
void | checkScale () const override |
PropertyDataType | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override |
PropertyDataType | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override |
Public Member Functions inherited from MaterialPropertyLib::Property | |
virtual | ~Property () |
virtual PropertyDataType | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
virtual PropertyDataType | value () const |
virtual PropertyDataType | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
virtual PropertyDataType | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
virtual PropertyDataType | d2Value (VariableArray const &variable_array, Variable const variable1, Variable const variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
Default implementation: 2nd derivative of any constant property is zero. | |
virtual void | setProperties (std::vector< std::unique_ptr< Phase > > const &phases) |
Default implementation: | |
void | setScale (std::variant< Medium *, Phase *, Component * > scale) |
template<typename T > | |
T | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
template<typename T > | |
T | value () const |
template<typename T > | |
T | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
template<typename T > | |
T | d2Value (VariableArray const &variable_array, Variable const &variable1, Variable const &variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
Private Attributes | |
std::array< double, 3 > const | p_ |
Maximum swelling pressures, one for each spatial dimension. | |
std::array< double, 3 > const | lambda_ |
Exponents, one for each spatial dimension. | |
double const | S_min_ |
double const | S_max_ |
ParameterLib::CoordinateSystem const *const | local_coordinate_system_ |
Additional Inherited Members | |
Protected Attributes inherited from MaterialPropertyLib::Property | |
std::string | name_ |
PropertyDataType | value_ |
The single value of a property. | |
PropertyDataType | dvalue_ |
std::variant< Medium *, Phase *, Component * > | scale_ |
MaterialPropertyLib::SaturationDependentSwelling::SaturationDependentSwelling | ( | std::string | name, |
std::array< double, 3 > | swelling_pressures, | ||
std::array< double, 3 > | exponents, | ||
double const | lower_saturation_limit, | ||
double const | upper_saturation_limit, | ||
ParameterLib::CoordinateSystem const *const | local_coordinate_system ) |
Definition at line 20 of file SaturationDependentSwelling.cpp.
References MaterialPropertyLib::name, and MaterialPropertyLib::Property::name_.
|
overridevirtual |
Reimplemented from MaterialPropertyLib::Property.
Definition at line 38 of file SaturationDependentSwelling.cpp.
References OGS_FATAL, and MaterialPropertyLib::Property::scale_.
|
overridevirtual |
This virtual method will compute the property derivative value based on the variables that are passed as arguments and the variables from the previous time step.
Reimplemented from MaterialPropertyLib::Property.
Definition at line 104 of file SaturationDependentSwelling.cpp.
References lambda_, MaterialPropertyLib::liquid_saturation, MaterialPropertyLib::VariableArray::liquid_saturation, local_coordinate_system_, OGS_FATAL, p_, S_max_, S_min_, and ParameterLib::CoordinateSystem::transformation_3d().
|
overridevirtual |
This virtual method will compute the property value based on the variables that are passed as arguments and the variables from the previous time step.
Reimplemented from MaterialPropertyLib::Property.
Definition at line 56 of file SaturationDependentSwelling.cpp.
References lambda_, MaterialPropertyLib::VariableArray::liquid_saturation, local_coordinate_system_, p_, S_max_, S_min_, and ParameterLib::CoordinateSystem::transformation_3d().
|
private |
Exponents, one for each spatial dimension.
Definition at line 38 of file SaturationDependentSwelling.h.
|
private |
Definition at line 41 of file SaturationDependentSwelling.h.
|
private |
Maximum swelling pressures, one for each spatial dimension.
Definition at line 36 of file SaturationDependentSwelling.h.
|
private |
Definition at line 40 of file SaturationDependentSwelling.h.
|
private |
Definition at line 39 of file SaturationDependentSwelling.h.