OGS
Exponential.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
8
10{
11using StringOrVariable = std::variant<std::string, Variable>;
20
35class Exponential final : public Property
36{
37public:
41 Exponential(std::string name,
42 double const offset,
43 PropertyDataType const& property_reference_value,
44 ExponentData const& v);
47 PropertyDataType value(VariableArray const& variable_array,
49 double const t, double const dt) const override;
52 PropertyDataType dValue(VariableArray const& variable_array,
53 Variable const variable,
54 ParameterLib::SpatialPosition const& /*pos*/,
55 double const /*t*/,
56 double const /*dt*/) const override;
59 PropertyDataType d2Value(VariableArray const& variable_array,
60 Variable const pv1, Variable const pv2,
61 ParameterLib::SpatialPosition const& /*pos*/,
62 double const /*t*/,
63 double const /*dt*/) const override;
64
65private:
67 double const offset_;
68};
69} // namespace MaterialPropertyLib
double const offset_
additive offset in units of the property.
Definition Exponential.h:67
ExponentData const exponent_data_
Definition Exponential.h:66
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &, double const, double const) const override
Exponential(std::string name, double const offset, PropertyDataType const &property_reference_value, ExponentData const &v)
PropertyDataType d2Value(VariableArray const &variable_array, Variable const pv1, Variable const pv2, ParameterLib::SpatialPosition const &, double const, double const) const override
virtual PropertyDataType value() const
std::variant< std::monostate, double, Eigen::Vector< double, 4 >, Eigen::Vector< double, 5 >, Eigen::Vector< double, 6 >, Eigen::Vector< double, 9 > > VariableType
std::variant< std::string, Variable > StringOrVariable
Definition Curve.h:12
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
VariableType factor
a dimensionless exponent.
Definition Exponential.h:18