1 #ifndef ABLATELIBRARY_FIELDFUNCTION_HPP
2 #define ABLATELIBRARY_FIELDFUNCTION_HPP
5 #include "domain/region.hpp"
6 #include "mathFunctions/mathFunction.hpp"
8 namespace ablate::mathFunctions {
14 const std::shared_ptr<mathFunctions::MathFunction> solutionField;
15 const std::shared_ptr<mathFunctions::MathFunction> timeDerivative;
16 const std::string fieldName;
17 const std::shared_ptr<ablate::domain::Region> region;
23 FieldFunction(std::string fieldName, std::shared_ptr<mathFunctions::MathFunction> solutionField, std::shared_ptr<mathFunctions::MathFunction> timeDerivative = {},
24 std::shared_ptr<ablate::domain::Region> region =
nullptr);
30 [[nodiscard]]
const std::string&
GetName()
const {
return fieldName; }
48 [[nodiscard]] std::shared_ptr<mathFunctions::MathFunction>
GetFieldFunction()
const {
return solutionField; }
72 [[nodiscard]]
const std::shared_ptr<ablate::domain::Region>&
GetRegion()
const {
return region; }
Definition: fieldFunction.hpp:12
std::shared_ptr< mathFunctions::MathFunction > GetTimeDerivativeFunction() const
Definition: fieldFunction.hpp:66
bool HasTimeDerivative() const
Definition: fieldFunction.hpp:54
const std::string & GetName() const
Definition: fieldFunction.hpp:30
bool HasSolutionField() const
Definition: fieldFunction.hpp:36
mathFunctions::MathFunction & GetSolutionField()
Definition: fieldFunction.hpp:42
const std::shared_ptr< ablate::domain::Region > & GetRegion() const
Definition: fieldFunction.hpp:72
std::shared_ptr< mathFunctions::MathFunction > GetFieldFunction() const
Definition: fieldFunction.hpp:48
mathFunctions::MathFunction & GetTimeDerivative()
Definition: fieldFunction.hpp:60
Definition: mathFunction.hpp:13