Opm::MathToolbox< ScalarT > Struct Template Reference
Member Typedef Documentation◆ InnerToolbox
template<class ScalarT >
The toolbox for the type of value objects. For this class this is trivial because primitive floating point objects are endpoints in the "nesting graph". This typedef makes sense if nested automatic differentiation is used, though... ◆ Scalar
template<class ScalarT >
The type used to represent "primitive" scalar values. ◆ ValueType
template<class ScalarT >
The type used to represent values. In general, these objects represent the function value at a given point plus a number of derivatives. In the case of the scalars, no derivatives will be evaluated. Member Function Documentation◆ abs()
template<class ScalarT >
◆ acos()
template<class ScalarT >
◆ acosh()
template<class ScalarT >
◆ asin()
template<class ScalarT >
◆ asinh()
template<class ScalarT >
◆ atan()
template<class ScalarT >
◆ atan2()
template<class ScalarT >
The arcus tangens of a value. References Opm::atan2(). ◆ cos()
template<class ScalarT >
◆ cosh()
template<class ScalarT >
◆ createBlank()
template<class ScalarT >
Given a scalar value, return a "compatible" object. This basically boils down to creating an uninitialized object of sufficient size. This is method only non-trivial for dynamically-sized Evaluation objects. Referenced by Opm::blank(). ◆ createConstant() [1/3]
template<class ScalarT >
Given a scalar value, return an evaluation of a constant function. For this toolbox, an evaluation is the value, so this method is the identity function. In general, this returns an evaluation object for which all derivatives are zero. References Opm::MathToolbox< ScalarT >::value(). Referenced by Opm::constant(). ◆ createConstant() [2/3]
template<class ScalarT >
Given a scalar value, return an evaluation of a constant function that is compatible to a "template" variable. For this toolbox, an evaluation is the value, so this method is the identity function. In general, this returns an evaluation object for which all derivatives are zero. References Opm::MathToolbox< ScalarT >::value(). ◆ createConstant() [3/3]
template<class ScalarT >
Given a scalar value, return an evaluation of a constant function that features a given number of derivatives. For this toolbox, an evaluation is the value, so this method is the identity function. In general, this returns an evaluation object for which all derivatives are zero. References Opm::MathToolbox< ScalarT >::value(). ◆ createVariable() [1/2]
template<class ScalarT >
Given a scalar value, return an evaluation of a linear function that is compatible with a "template" evaluation. i.e., Create an evaluation which represents f(x) = x and the derivatives with regard to x. For scalars (which do not consider derivatives), this method does nothing. ◆ createVariable() [2/2]
template<class ScalarT >
Given a scalar value, return an evaluation of a linear function. i.e., Create an evaluation which represents f(x) = x and the derivatives with regard to x. For scalars (which do not consider derivatives), this method does nothing. Referenced by Opm::variable(). ◆ decay()
template<class ScalarT >
template<class LhsEval >
Given a function evaluation, constrain it to its value (if necessary). If the left hand side is a scalar and the right hand side is an evaluation, the scalar gets the value of the right hand side assigned. Also if both sides are scalars, this method returns the identity. The final case (left hand side being an evaluation, right hand side is a scalar) yields a compiler error. The purpose of this method is to be able to transparantly use evaluation objects in scalar computations. References Opm::MathToolbox< ScalarT >::value(). ◆ exp()
template<class ScalarT >
The natural exponentiation of a value. References Opm::exp(). Referenced by Opm::exp(), and Opm::MathToolbox< ScalarT >::pow(). ◆ isfinite()
template<class ScalarT >
Return true iff the argument's value and all its derivatives are finite values. References Opm::isfinite(). Referenced by Opm::MathToolbox< DenseAd::Evaluation< ValueT, numVars, staticSize > >::isfinite(), and Opm::isfinite(). ◆ isnan()
template<class ScalarT >
Return true iff the argument's value or any of its derivatives are NaN values. References Opm::isnan(). Referenced by Opm::MathToolbox< DenseAd::Evaluation< ValueT, numVars, staticSize > >::isnan(), and Opm::isnan(). ◆ isSame()
template<class ScalarT >
Returns true if two values are identical up to a specified tolerance. References Opm::abs(). ◆ log()
template<class ScalarT >
◆ log10()
template<class ScalarT >
◆ max()
template<class ScalarT >
The maximum of two arguments. References Opm::max(). ◆ min()
template<class ScalarT >
The minimum of two arguments. References Opm::min(). ◆ pow()
template<class ScalarT >
Exponentiation to an arbitrary base. References Opm::MathToolbox< ScalarT >::exp(), and Opm::pow(). ◆ scalarValue()
template<class ScalarT >
Return the primitive scalar value of a value object. Since this toolbox's value objects are primitive scalars, this method just passes through the argument it was given. References Opm::MathToolbox< ScalarT >::value(). Referenced by Opm::MathToolbox< DenseAd::Evaluation< ValueT, numVars, staticSize > >::scalarValue(), and Opm::scalarValue(). ◆ sin()
template<class ScalarT >
◆ sinh()
template<class ScalarT >
◆ sqrt()
template<class ScalarT >
◆ tan()
template<class ScalarT >
◆ value()
template<class ScalarT >
Return the value of the function at a given evaluation point. For this toolbox, there are no derivatives so this method is the identity function. References Opm::MathToolbox< ScalarT >::value(). Referenced by Opm::MathToolbox< ScalarT >::createConstant(), Opm::MathToolbox< DenseAd::Evaluation< ValueT, numVars, staticSize > >::createConstant(), Opm::MathToolbox< DenseAd::Evaluation< ValueT, numVars, staticSize > >::createVariable(), Opm::MathToolbox< ScalarT >::decay(), Opm::getValue(), Opm::MathToolbox< ScalarT >::scalarValue(), and Opm::MathToolbox< ScalarT >::value(). The documentation for this struct was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||