OGS
PythonBoundaryConditionPythonSideInterface.h
Go to the documentation of this file.
1
11#pragma once
12
13namespace ProcessLib
14{
19{
20public:
29 virtual std::pair<bool, double> getDirichletBCValue(
30 double /*t*/, std::array<double, 3> /*x*/, std::size_t /*node_id*/,
31 std::vector<double> const& /*primary_variables*/) const
32 {
34 return {false, std::numeric_limits<double>::quiet_NaN()};
35 }
36
45 virtual std::tuple<bool, double, std::vector<double>> getFlux(
46 double /*t*/,
47 std::array<double, 3> /*x*/,
48 std::vector<double> const& /*primary_variables*/) const
49 {
50 _overridden_natural = false;
51 return std::tuple<bool, double, std::vector<double>>{
52 false, std::numeric_limits<double>::quiet_NaN(), {}};
53 }
54
61
66
68
69private:
72 mutable bool _overridden_essential = true;
74 mutable bool _overridden_natural = true;
75};
76} // namespace ProcessLib
virtual std::pair< bool, double > getDirichletBCValue(double, std::array< double, 3 >, std::size_t, std::vector< double > const &) const
virtual std::tuple< bool, double, std::vector< double > > getFlux(double, std::array< double, 3 >, std::vector< double > const &) const
bool _overridden_natural
Tells if getFlux() has been overridden in the derived class in Python.