OGS
BHEInflowPythonBoundaryConditionPythonSideInterface.h
Go to the documentation of this file.
1
11#pragma once
12
13namespace ProcessLib
14{
19{
20public:
27 virtual std::tuple<double /*time*/,
28 std::vector<double> /*Tin_val*/,
29 std::vector<double> /*Tout_val*/,
30 std::vector<int> /*bc_out_ids*/,
31 std::vector<double> /*BHE_flowrate*/>
33 {
35 return std::tuple<double,
36 std::vector<double>,
37 std::vector<double>,
38 std::vector<int>,
39 std::vector<double>>{
40 std::numeric_limits<double>::quiet_NaN(), {}, {}, {}, {}};
41 }
42
53 virtual std::tuple<bool, bool, std::vector<double>, std::vector<double>>
54 tespySolver(double /*t*/,
55 std::vector<double> const& /*Tin_val*/,
56 std::vector<double> const& /*Tout_val*/) const
57 {
58 _overridden_tespy = false;
59 return std::tuple<bool, bool, std::vector<double>, std::vector<double>>{
60 false, false, {}, {}};
61 }
62
76 virtual std::tuple<std::vector<double>, std::vector<double>>
78 double /*dt*/,
79 std::vector<double> const& /*Tin_val*/,
80 std::vector<double> const& /*Tout_val*/,
81 std::vector<double> const& /*BHE_flowrate*/) const
82 {
84 return {};
85 }
86
87 virtual void serverCommunicationPostTimestep(double /*t*/,
88 double /*dt*/,
89 std::vector<double> const& /*Tin_val*/,
90 std::vector<double> const& /*Tout_val*/,
91 std::vector<double> const& /*BHE_flowrate*/) const
92 {
94 }
95
102
107 bool isOverriddenTespy() const { return _overridden_tespy; }
108
117
122
123 // BHE network dataframe container
124 std::tuple<double,
125 std::vector<double>,
126 std::vector<double>,
127 std::vector<int>,
128 std::vector<double>>
130
132
133private:
136 mutable bool _overridden_essential = true;
139 mutable bool _overridden_tespy = true;
143
145};
146} // namespace ProcessLib
std::tuple< double, std::vector< double >, std::vector< double >, std::vector< int >, std::vector< double > > dataframe_network
virtual std::tuple< double, std::vector< double >, std::vector< double >, std::vector< int >, std::vector< double > > initializeDataContainer() const
virtual std::tuple< bool, bool, std::vector< double >, std::vector< double > > tespySolver(double, std::vector< double > const &, std::vector< double > const &) const
virtual void serverCommunicationPostTimestep(double, double, std::vector< double > const &, std::vector< double > const &, std::vector< double > const &) const
virtual std::tuple< std::vector< double >, std::vector< double > > serverCommunicationPreTimestep(double, double, std::vector< double > const &, std::vector< double > const &, std::vector< double > const &) const