19namespace HeatTransportBHE
23static std::tuple<BoreholeGeometry,
24 RefrigerantProperties,
27 PipeConfigurationCoaxial,
32 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
36 auto const bhe_if_use_python_bc_conf =
39 DBUG(
"If using python boundary condition : {:s}",
40 (bhe_if_use_python_bc_conf) ?
"true" :
"false");
42 auto const borehole_geometry =
49 Pipe const outer_pipe =
createPipe(pipes_config.getConfigSubtree(
"outer"));
50 Pipe const inner_pipe =
52 createPipe(pipes_config.getConfigSubtree(
"inner"));
53 const auto pipe_longitudinal_dispersion_length =
55 pipes_config.getConfigParameter<
double>(
56 "longitudinal_dispersion_length");
58 pipe_longitudinal_dispersion_length};
63 auto const refrigerant =
73 return {borehole_geometry, refrigerant, grout,
74 flowAndTemperatureControl, pipes, bhe_if_use_python_bc_conf};
77template <
typename T_BHE>
81 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
85 return {std::get<0>(coaxial), std::get<1>(coaxial), std::get<2>(coaxial),
86 std::get<3>(coaxial), std::get<4>(coaxial), std::get<5>(coaxial)};
92 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
98 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
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)
std::variant< TemperatureCurveConstantFlow, TemperatureCurveFlowCurve, FixedPowerConstantFlow, FixedPowerFlowCurve, PowerCurveConstantFlow, PowerCurveFlowCurve, BuildingPowerCurveConstantFlow > FlowAndTemperatureControl
Pipe createPipe(BaseLib::ConfigTree const &config)
static std::tuple< BoreholeGeometry, RefrigerantProperties, GroutParameters, FlowAndTemperatureControl, PipeConfigurationCoaxial, bool > parseBHECoaxialConfig(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)
template BHE_CXC createBHECoaxial< BHE_CXC >(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)
FlowAndTemperatureControl createFlowAndTemperatureControl(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, RefrigerantProperties const &refrigerant)
GroutParameters createGroutParameters(BaseLib::ConfigTree const &config)
template BHE_CXA createBHECoaxial< BHE_CXA >(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)
BoreholeGeometry createBoreholeGeometry(BaseLib::ConfigTree const &config)
T_BHE createBHECoaxial(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)