18 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters,
20 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
22 std::vector<MeshLib::Node*>
const& bhe_nodes)
25 auto const bhe_if_use_python_bc_conf =
29 if (bhe_if_use_python_bc_conf)
31 DBUG(
"BHE 1P using python boundary conditions.");
34 auto const borehole_geometry =
42 Pipe const inlet_pipe =
createPipe(pipes_config.getConfigSubtree(
"inlet"));
44 const auto pipe_longitudinal_dispersion_length =
46 pipes_config.getConfigParameter<
double>(
47 "longitudinal_dispersion_length");
49 pipe_longitudinal_dispersion_length};
54 auto const refrigerant =
65 return {borehole_geometry, refrigerant, grout,
66 flowAndTemperatureControl, pipes, bhe_if_use_python_bc_conf};
69template <
typename T_BHE>
72 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters,
74 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
76 std::vector<MeshLib::Node*>
const& bhe_nodes)
80 return {std::get<0>(SinglePipeType), std::get<1>(SinglePipeType),
81 std::get<2>(SinglePipeType), std::get<3>(SinglePipeType),
82 std::get<4>(SinglePipeType), std::get<5>(SinglePipeType)};
87 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters,
89 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
91 std::vector<MeshLib::Node*>
const& bhe_nodes);
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
T getConfigParameter(std::string const ¶m) const
ConfigTree getConfigSubtree(std::string const &root) const
RefrigerantProperties createRefrigerantProperties(BaseLib::ConfigTree const &config)
BoreholeGeometry createBoreholeGeometry(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > ¶meters, std::vector< MeshLib::Node * > const &bhe_nodes)
Pipe createPipe(BaseLib::ConfigTree const &config)
FlowAndTemperatureControl createFlowAndTemperatureControl(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > ¶meters, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, RefrigerantProperties const &refrigerant)
T_BHE createBHE1PType(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > ¶meters, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, std::vector< MeshLib::Node * > const &bhe_nodes)
static std::tuple< BoreholeGeometry, RefrigerantProperties, GroutParameters, FlowAndTemperatureControl, PipeConfiguration1PType, bool > parseBHE1PTypeConfig(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > ¶meters, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, std::vector< MeshLib::Node * > const &bhe_nodes)
template BHE_1P createBHE1PType< BHE_1P >(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > ¶meters, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, std::vector< MeshLib::Node * > const &bhe_nodes)
std::variant< InflowTemperature, Power, BuildingPower, BuildingPowerHotWaterActiveCooling, BuildingPowerHotWaterPassiveCooling, BuildingPowerHotWater, BuildingPowerActiveCooling, BuildingPowerPassiveCooling, ActiveCooling > FlowAndTemperatureControl
GroutParameters createGroutParameters(BaseLib::ConfigTree const &config)