13 #include <pybind11/stl.h>
26 using BHEInflowPythonBoundaryConditionPythonSideInterface::
27 BHEInflowPythonBoundaryConditionPythonSideInterface;
29 std::tuple<double, std::vector<double>, std::vector<double>,
30 std::vector<int>, std::vector<double>>
33 using Ret = std::tuple<double, std::vector<double>, std::vector<double>,
34 std::vector<int>, std::vector<double>>;
35 PYBIND11_OVERLOAD(Ret,
40 std::tuple<bool, bool, std::vector<double>, std::vector<double>>
42 std::vector<double>
const& Tin_val,
43 std::vector<double>
const& Tout_val)
const override
46 std::tuple<bool, bool, std::vector<double>, std::vector<double>>;
47 PYBIND11_OVERLOAD(Ret,
53 double const t,
double const dt, std::vector<double>
const& Tin_val,
54 std::vector<double>
const& Tout_val,
55 std::vector<double>
const& flowrate)
const override
57 using Ret = std::tuple<std::vector<double>, std::vector<double>>;
66 namespace py = pybind11;
70 pybc(m,
"BHENetwork");
74 pybc.def(
"initializeDataContainer",
76 initializeDataContainer);
77 pybc.def(
"tespySolver",
80 pybc.def(
"serverCommunication",
std::tuple< double, std::vector< double >, std::vector< double >, std::vector< int >, std::vector< double > > initializeDataContainer() const override
std::tuple< bool, bool, std::vector< double >, std::vector< double > > tespySolver(double t, std::vector< double > const &Tin_val, std::vector< double > const &Tout_val) const override
std::tuple< std::vector< double >, std::vector< double > > serverCommunication(double const t, double const dt, std::vector< double > const &Tin_val, std::vector< double > const &Tout_val, std::vector< double > const &flowrate) const override
virtual std::tuple< bool, bool, std::vector< double >, std::vector< double > > tespySolver(double, std::vector< double > const &, std::vector< double > const &) const
void bheInflowpythonBindBoundaryCondition(pybind11::module &m)
Creates BHE Inflow Python bindings for the Python BC class.