![]() |
OGS
|
This class is the base class for any material property of any scale (i.e. components, phases, media, ...). The single value of that Property can hold scalars, vectors, tensors, strings, etc.
Definition at line 45 of file Property.h.
#include <Property.h>
Public Member Functions | |
virtual | ~Property () |
virtual PropertyDataType | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
virtual PropertyDataType | value () const |
virtual PropertyDataType | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) 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, VariableArray const &variable_array_prev, Variable const variable, 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. More... | |
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 |
Protected Attributes | |
std::string | name_ |
PropertyDataType | value_ |
The single value of a property. More... | |
PropertyDataType | dvalue_ |
std::variant< Medium *, Phase *, Component * > | scale_ |
Private Member Functions | |
virtual void | checkScale () const |
std::string | description () const |
Private Attributes | |
bool | property_used = false |
Static Private Attributes | |
static constexpr std::array | property_data_type_names_ |
Corresponds to the PropertyDataType. More... | |
|
inlinevirtual |
Definition at line 49 of file Property.h.
References DBUG(), description(), property_used, and WARN().
|
inlineprivatevirtual |
Reimplemented in MaterialPropertyLib::VapourDiffusionPMQ, MaterialPropertyLib::VapourDiffusionFEBEX, MaterialPropertyLib::TransportPorosityFromMassBalance, MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >, MaterialPropertyLib::TemperatureDependentDiffusion, MaterialPropertyLib::LinearSaturationSwellingStress, MaterialPropertyLib::StrainDependentPermeability< DisplacementDim >, MaterialPropertyLib::SaturationDependentThermalConductivity, MaterialPropertyLib::SaturationDependentSwelling, MaterialPropertyLib::RelPermVanGenuchten, MaterialPropertyLib::RelPermUdellNonwettingPhase, MaterialPropertyLib::RelPermUdell, MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem, MaterialPropertyLib::RelPermLiakopoulos, MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase, MaterialPropertyLib::RelPermBrooksCorey, MaterialPropertyLib::PorosityFromMassBalance, MaterialPropertyLib::PermeabilityOrthotropicPowerLaw< DisplacementDim >, MaterialPropertyLib::PermeabilityMohrCoulombFailureIndexModel< DisplacementDim >, MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::IdealGasLaw, MaterialPropertyLib::GasPressureDependentPermeability< DisplacementDim >, MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature, MaterialPropertyLib::LinearWaterVapourLatentHeat, MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >, MaterialPropertyLib::WaterVapourDensity, MaterialPropertyLib::ClausiusClapeyron, MaterialPropertyLib::SaturationVanGenuchten, MaterialPropertyLib::SaturationLiakopoulos, MaterialPropertyLib::SaturationExponential, MaterialPropertyLib::SaturationBrooksCorey, MaterialPropertyLib::CapillaryPressureVanGenuchten, MaterialPropertyLib::CapillaryPressureRegularizedVanGenuchten, MaterialPropertyLib::BishopsSaturationCutoff, MaterialPropertyLib::BishopsPowerLaw, MaterialPropertyLib::AverageMolarMass, and MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >.
Definition at line 290 of file Property.h.
Referenced by setScale().
|
inline |
Definition at line 253 of file Property.h.
References d2Value(), description(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, and property_used.
|
virtual |
Default implementation: 2nd derivative of any constant property is zero.
This virtual method will compute the second derivative of a property with respect to the given variables pv1 and pv2.
Reimplemented in MaterialPropertyLib::SaturationExponential, MaterialPropertyLib::AverageMolarMass, MaterialPropertyLib::IdealGasLaw, MaterialPropertyLib::SaturationVanGenuchten, MaterialPropertyLib::SaturationLiakopoulos, MaterialPropertyLib::SaturationBrooksCorey, MaterialPropertyLib::Parameter, MaterialPropertyLib::Linear, MaterialPropertyLib::Exponential, and MaterialPropertyLib::ClausiusClapeyron.
Definition at line 127 of file Property.cpp.
References property_used.
Referenced by d2Value().
|
private |
Definition at line 140 of file Property.cpp.
References name_, MathLib::LinAlg::scale(), and scale_.
Referenced by ~Property(), d2Value(), dValue(), initialValue(), and value().
|
virtual |
This virtual method will compute the property derivative value based on the variables that are passed as arguments with the default implementation using empty variables array for the previous time step.
The default implementation of this method only returns the property value derivative without altering it.
Reimplemented in MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >, MaterialPropertyLib::VapourDiffusionPMQ, MaterialPropertyLib::VapourDiffusionFEBEX, MaterialPropertyLib::TransportPorosityFromMassBalance, MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >, MaterialPropertyLib::LinearSaturationSwellingStress, MaterialPropertyLib::StrainDependentPermeability< DisplacementDim >, MaterialPropertyLib::RelPermVanGenuchten, MaterialPropertyLib::RelPermUdell, MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem, MaterialPropertyLib::RelPermLiakopoulos, MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase, MaterialPropertyLib::RelPermBrooksCorey, MaterialPropertyLib::PorosityFromMassBalance, MaterialPropertyLib::PermeabilityOrthotropicPowerLaw< DisplacementDim >, MaterialPropertyLib::PermeabilityMohrCoulombFailureIndexModel< DisplacementDim >, MaterialPropertyLib::GasPressureDependentPermeability< DisplacementDim >, MaterialPropertyLib::CapillaryPressureVanGenuchten, MaterialPropertyLib::CapillaryPressureRegularizedVanGenuchten, MaterialPropertyLib::SaturationDependentThermalConductivity, MaterialPropertyLib::IdealGasLaw, MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >, MaterialPropertyLib::SaturationVanGenuchten, MaterialPropertyLib::SaturationLiakopoulos, MaterialPropertyLib::SaturationBrooksCorey, MaterialPropertyLib::BishopsSaturationCutoff, MaterialPropertyLib::BishopsPowerLaw, MaterialPropertyLib::RelPermUdellNonwettingPhase, MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::Function, MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature, MaterialPropertyLib::LinearWaterVapourLatentHeat, MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::WaterVapourDensity, MaterialPropertyLib::ClausiusClapeyron, MaterialPropertyLib::Parameter, MaterialPropertyLib::Linear, MaterialPropertyLib::Exponential, MaterialPropertyLib::Curve, MaterialPropertyLib::SaturationExponential, MaterialPropertyLib::AverageMolarMass, and MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >.
Definition at line 115 of file Property.cpp.
References dValue(), and property_used.
|
inline |
Definition at line 230 of file Property.h.
References description(), dValue(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, and property_used.
|
virtual |
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 in MaterialPropertyLib::SaturationDependentSwelling.
Definition at line 101 of file Property.cpp.
References dvalue_, and property_used.
Referenced by dValue().
|
inline |
Definition at line 205 of file Property.h.
References description(), dValue(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, and property_used.
|
virtual |
Returns the initial (or reference) value of the property. The default implementation forwards to the value function.
Reimplemented in MaterialPropertyLib::TransportPorosityFromMassBalance, and MaterialPropertyLib::PorosityFromMassBalance.
Definition at line 65 of file Property.cpp.
References value().
Referenced by initialValue().
|
inline |
Definition at line 115 of file Property.h.
References description(), initialValue(), MaterialPropertyLib::name, OGS_FATAL, and property_data_type_names_.
|
inline |
Definition at line 108 of file Property.h.
References checkScale(), MathLib::LinAlg::scale(), and scale_.
|
virtual |
This virtual method simply returns the private value_ attribute without changing it.
Definition at line 72 of file Property.cpp.
References property_used, and value_.
Referenced by MaterialPropertyLib::ClausiusClapeyron::dValue(), initialValue(), and value().
|
inline |
Definition at line 134 of file Property.h.
References description(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, property_used, and value().
|
virtual |
This virtual method will compute the property value based on the variables that are passed as arguments with the default implementation using empty variables array for the previous time step.
Reimplemented in MaterialPropertyLib::TemperatureDependentDiffusion, MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >, MaterialPropertyLib::VapourDiffusionPMQ, MaterialPropertyLib::VapourDiffusionFEBEX, MaterialPropertyLib::TransportPorosityFromMassBalance, MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >, MaterialPropertyLib::LinearSaturationSwellingStress, MaterialPropertyLib::StrainDependentPermeability< DisplacementDim >, MaterialPropertyLib::RelPermVanGenuchten, MaterialPropertyLib::RelPermUdellNonwettingPhase, MaterialPropertyLib::RelPermUdell, MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem, MaterialPropertyLib::RelPermLiakopoulos, MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase, MaterialPropertyLib::RelPermBrooksCorey, MaterialPropertyLib::PorosityFromMassBalance, MaterialPropertyLib::PermeabilityOrthotropicPowerLaw< DisplacementDim >, MaterialPropertyLib::PermeabilityMohrCoulombFailureIndexModel< DisplacementDim >, MaterialPropertyLib::Parameter, MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::GasPressureDependentPermeability< DisplacementDim >, MaterialPropertyLib::Function, MaterialPropertyLib::Exponential, MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature, MaterialPropertyLib::LinearWaterVapourLatentHeat, MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >, MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >, MaterialPropertyLib::WaterVapourDensity, MaterialPropertyLib::Curve, MaterialPropertyLib::ClausiusClapeyron, MaterialPropertyLib::CapillaryPressureVanGenuchten, MaterialPropertyLib::CapillaryPressureRegularizedVanGenuchten, MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >, MaterialPropertyLib::SaturationDependentThermalConductivity, MaterialPropertyLib::Linear, MaterialPropertyLib::IdealGasLaw, MaterialPropertyLib::SaturationVanGenuchten, MaterialPropertyLib::SaturationLiakopoulos, MaterialPropertyLib::SaturationExponential, MaterialPropertyLib::SaturationBrooksCorey, MaterialPropertyLib::BishopsSaturationCutoff, MaterialPropertyLib::BishopsPowerLaw, MaterialPropertyLib::AverageMolarMass, MaterialPropertyLib::KozenyCarmanModel, and MaterialPropertyLib::DupuitPermeability.
Definition at line 91 of file Property.cpp.
References property_used, and value().
|
inline |
Definition at line 181 of file Property.h.
References description(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, property_used, and value().
|
virtual |
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 in MaterialPropertyLib::TransportPorosityFromMassBalance, MaterialPropertyLib::LinearSaturationSwellingStress, MaterialPropertyLib::SaturationDependentSwelling, MaterialPropertyLib::PorosityFromMassBalance, and MaterialPropertyLib::Parameter.
Definition at line 80 of file Property.cpp.
References property_used, and value_.
|
inline |
Definition at line 155 of file Property.h.
References description(), MaterialPropertyLib::name, OGS_FATAL, property_data_type_names_, property_used, and value().
|
protected |
Definition at line 283 of file Property.h.
Referenced by MaterialPropertyLib::Constant::Constant(), and dValue().
|
protected |
Definition at line 280 of file Property.h.
Referenced by MaterialPropertyLib::AverageMolarMass::AverageMolarMass(), MaterialPropertyLib::BishopsPowerLaw::BishopsPowerLaw(), MaterialPropertyLib::BishopsSaturationCutoff::BishopsSaturationCutoff(), MaterialPropertyLib::CapillaryPressureVanGenuchten::CapillaryPressureVanGenuchten(), MaterialPropertyLib::ClausiusClapeyron::ClausiusClapeyron(), MaterialPropertyLib::Constant::Constant(), MaterialPropertyLib::Curve::Curve(), MaterialPropertyLib::DupuitPermeability::DupuitPermeability(), MaterialPropertyLib::EffectiveThermalConductivityPorosityMixing< GlobalDim >::EffectiveThermalConductivityPorosityMixing(), MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >::EmbeddedFracturePermeability(), MaterialPropertyLib::Exponential::Exponential(), MaterialPropertyLib::Function::Function(), MaterialPropertyLib::GasPressureDependentPermeability< DisplacementDim >::GasPressureDependentPermeability(), MaterialPropertyLib::IdealGasLaw::IdealGasLaw(), MaterialPropertyLib::Linear::Linear(), MaterialPropertyLib::LinearSaturationSwellingStress::LinearSaturationSwellingStress(), MaterialPropertyLib::LinearWaterVapourLatentHeat::LinearWaterVapourLatentHeat(), MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >::OrthotropicEmbeddedFracturePermeability(), MaterialPropertyLib::Parameter::Parameter(), MaterialPropertyLib::PermeabilityMohrCoulombFailureIndexModel< DisplacementDim >::PermeabilityMohrCoulombFailureIndexModel(), MaterialPropertyLib::PermeabilityOrthotropicPowerLaw< DisplacementDim >::PermeabilityOrthotropicPowerLaw(), MaterialPropertyLib::PorosityFromMassBalance::PorosityFromMassBalance(), MaterialPropertyLib::RelPermBrooksCorey::RelPermBrooksCorey(), MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase::RelPermBrooksCoreyNonwettingPhase(), MaterialPropertyLib::RelPermLiakopoulos::RelPermLiakopoulos(), MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem::RelPermNonWettingPhaseVanGenuchtenMualem(), MaterialPropertyLib::RelPermUdell::RelPermUdell(), MaterialPropertyLib::RelPermUdellNonwettingPhase::RelPermUdellNonwettingPhase(), MaterialPropertyLib::RelPermVanGenuchten::RelPermVanGenuchten(), MaterialPropertyLib::SaturationBrooksCorey::SaturationBrooksCorey(), MaterialPropertyLib::SaturationDependentSwelling::SaturationDependentSwelling(), MaterialPropertyLib::SaturationDependentThermalConductivity::SaturationDependentThermalConductivity(), MaterialPropertyLib::SaturationExponential::SaturationExponential(), MaterialPropertyLib::SaturationLiakopoulos::SaturationLiakopoulos(), MaterialPropertyLib::SaturationVanGenuchten::SaturationVanGenuchten(), MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >::SoilThermalConductivitySomerton(), MaterialPropertyLib::StrainDependentPermeability< DisplacementDim >::StrainDependentPermeability(), MaterialPropertyLib::TransportPorosityFromMassBalance::TransportPorosityFromMassBalance(), MaterialPropertyLib::VapourDiffusionFEBEX::VapourDiffusionFEBEX(), MaterialPropertyLib::VapourDiffusionPMQ::VapourDiffusionPMQ(), MaterialPropertyLib::WaterVapourDensity::WaterVapourDensity(), MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature::WaterVapourLatentHeatWithCriticalTemperature(), description(), and MaterialPropertyLib::Function::dValue().
|
staticconstexprprivate |
Corresponds to the PropertyDataType.
Definition at line 302 of file Property.h.
Referenced by d2Value(), dValue(), initialValue(), and value().
|
mutableprivate |
Definition at line 297 of file Property.h.
Referenced by ~Property(), d2Value(), dValue(), and value().
Definition scale of the property. Can be one of medium, phase, or component in general. Set through setScale method which takes care of the correctness in special cases.
Definition at line 287 of file Property.h.
Referenced by MaterialPropertyLib::AverageMolarMass::checkScale(), MaterialPropertyLib::BishopsPowerLaw::checkScale(), MaterialPropertyLib::BishopsSaturationCutoff::checkScale(), MaterialPropertyLib::CapillaryPressureRegularizedVanGenuchten::checkScale(), MaterialPropertyLib::CapillaryPressureVanGenuchten::checkScale(), MaterialPropertyLib::SaturationBrooksCorey::checkScale(), MaterialPropertyLib::SaturationExponential::checkScale(), MaterialPropertyLib::SaturationLiakopoulos::checkScale(), MaterialPropertyLib::SaturationVanGenuchten::checkScale(), MaterialPropertyLib::ClausiusClapeyron::checkScale(), MaterialPropertyLib::WaterVapourDensity::checkScale(), MaterialPropertyLib::LinearWaterVapourLatentHeat::checkScale(), MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature::checkScale(), MaterialPropertyLib::IdealGasLaw::checkScale(), MaterialPropertyLib::PorosityFromMassBalance::checkScale(), MaterialPropertyLib::RelPermBrooksCorey::checkScale(), MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase::checkScale(), MaterialPropertyLib::RelPermLiakopoulos::checkScale(), MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem::checkScale(), MaterialPropertyLib::RelPermUdell::checkScale(), MaterialPropertyLib::RelPermUdellNonwettingPhase::checkScale(), MaterialPropertyLib::RelPermVanGenuchten::checkScale(), MaterialPropertyLib::SaturationDependentSwelling::checkScale(), MaterialPropertyLib::SaturationDependentThermalConductivity::checkScale(), MaterialPropertyLib::LinearSaturationSwellingStress::checkScale(), MaterialPropertyLib::TemperatureDependentDiffusion::checkScale(), MaterialPropertyLib::SoilThermalConductivitySomerton< GlobalDimension >::checkScale(), MaterialPropertyLib::TransportPorosityFromMassBalance::checkScale(), MaterialPropertyLib::VapourDiffusionFEBEX::checkScale(), MaterialPropertyLib::VapourDiffusionPMQ::checkScale(), description(), MaterialPropertyLib::AverageMolarMass::dValue(), MaterialPropertyLib::ClausiusClapeyron::dValue(), MaterialPropertyLib::RelPermBrooksCorey::dValue(), MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase::dValue(), MaterialPropertyLib::RelPermLiakopoulos::dValue(), setScale(), MaterialPropertyLib::AverageMolarMass::value(), MaterialPropertyLib::ClausiusClapeyron::value(), MaterialPropertyLib::RelPermBrooksCorey::value(), MaterialPropertyLib::RelPermBrooksCoreyNonwettingPhase::value(), MaterialPropertyLib::RelPermLiakopoulos::value(), MaterialPropertyLib::PorosityFromMassBalance::value(), and MaterialPropertyLib::TransportPorosityFromMassBalance::value().
|
protected |
The single value of a property.
Definition at line 282 of file Property.h.
Referenced by MaterialPropertyLib::Constant::Constant(), MaterialPropertyLib::Exponential::Exponential(), MaterialPropertyLib::Linear::Linear(), MaterialPropertyLib::Exponential::d2Value(), MaterialPropertyLib::Linear::d2Value(), MaterialPropertyLib::Exponential::dValue(), MaterialPropertyLib::Linear::dValue(), value(), MaterialPropertyLib::Linear::value(), and MaterialPropertyLib::Exponential::value().