OGS
|
An exponential property.
This property calculates the exponential relationship \( \alpha(\beta) = \alpha_{\mathrm{offset}} + \alpha_{\mathrm{ref}} \cdot \exp \left(m (\beta - \beta_{\mathrm{ref}})\right)\), where:
The current implementation accepts only the scalar independent variables.
Definition at line 40 of file Exponential.h.
#include <Exponential.h>
Public Member Functions | |
Exponential (std::string name, double const offset, PropertyDataType const &property_reference_value, ExponentData const &v) | |
PropertyDataType | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override |
PropertyDataType | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &, double const, double const) const override |
PropertyDataType | d2Value (VariableArray const &variable_array, Variable const pv1, Variable const pv2, ParameterLib::SpatialPosition const &, double const, double const) 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, VariableArray const &variable_array_prev, 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 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 | |
ExponentData const | exponent_data_ |
double const | offset_ |
additive offset in units of the property. | |
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::Exponential::Exponential | ( | std::string | name, |
double const | offset, | ||
PropertyDataType const & | property_reference_value, | ||
ExponentData const & | v ) |
This constructor accepts single values of double data type defined in the PropertyDataType definition and sets the protected attribute value_ of the base class Property to that value.
Definition at line 17 of file Exponential.cpp.
References exponent_data_, MaterialPropertyLib::ExponentData::factor, MaterialPropertyLib::name, MaterialPropertyLib::Property::name_, MaterialPropertyLib::ExponentData::reference_condition, and MaterialPropertyLib::Property::value_.
|
overridevirtual |
This method will compute the second derivative of a property with respect to the given primary variables pv1 and pv2.
Reimplemented from MaterialPropertyLib::Property.
Definition at line 56 of file Exponential.cpp.
References exponent_data_, MaterialPropertyLib::ExponentData::factor, MaterialPropertyLib::ExponentData::type, and MaterialPropertyLib::Property::value_.
|
overridevirtual |
This method will compute the derivative of a property with respect to the given primary variable.
Reimplemented from MaterialPropertyLib::Property.
Definition at line 40 of file Exponential.cpp.
References exponent_data_, MaterialPropertyLib::ExponentData::factor, MaterialPropertyLib::ExponentData::type, and MaterialPropertyLib::Property::value_.
|
overridevirtual |
This method computes the value of a property \(\alpha\) depending exponentially on the value of the given primary variable \(\beta\).
Reimplemented from MaterialPropertyLib::Property.
Definition at line 29 of file Exponential.cpp.
References exponent_data_, MaterialPropertyLib::ExponentData::factor, offset_, MaterialPropertyLib::ExponentData::type, and MaterialPropertyLib::Property::value_.
|
private |
Definition at line 71 of file Exponential.h.
Referenced by Exponential(), d2Value(), dValue(), and value().
|
private |
additive offset in units of the property.
Definition at line 72 of file Exponential.h.
Referenced by value().