45 std::array<double, number_of_flow_legs>
flowLegs()
const
53 double const Nu_inner_pipe,
54 double const Nu_annulus_pipe,
69 static std::array<std::pair<std::size_t ,
int >, 2>
71 std::size_t
const top_node_id,
73 int const in_component_id);
76 std::array<std::pair<std::size_t ,
int >, 2>>
78 int const in_component_id,
79 int const out_component_id);
84 Eigen::Vector3d
const& elem_direction)
const;
106 double const& R_gs,
double const& R_ff,
double const& R_fg)
const = 0;
std::array< double, number_of_flow_legs > flowLegs() const
double updateFlowRateAndTemperature(double T_out, double current_time)
BHECommonCoaxial(BoreholeGeometry const &borehole, RefrigerantProperties const &refrigerant, GroutParameters const &grout, FlowAndTemperatureControl const &flowAndTemperatureControl, PipeConfigurationCoaxial const &pipes, bool const use_python_bcs)
std::vector< double > calcThermalResistances(double const Nu_inner_pipe, double const Nu_annulus_pipe, ParameterLib::SpatialPosition const &pos) const
void updateHeatTransferCoefficients(double const flow_rate)
std::array< double, number_of_unknowns > pipeHeatConductions() const
static constexpr int number_of_unknowns
std::array< double, number_of_unknowns > pipeHeatCapacities() const
virtual void assignVelocities(double inner_vel, double annulus_vel)=0
double cross_section_area_annulus
static std::optional< std::array< std::pair< std::size_t, int >, 2 > > getBHEBottomDirichletBCNodesAndComponents(std::size_t const bottom_node_id, int const in_component_id, int const out_component_id)
static constexpr int number_of_flow_legs
double cross_section_area_inner_pipe
static constexpr std::pair< int, int > inflow_outflow_bc_component_ids[]
static std::array< std::pair< std::size_t, int >, 2 > getBHEInflowDirichletBCNodesAndComponents(std::size_t const top_node_id, std::size_t const, int const in_component_id)
virtual std::vector< double > getThermalResistances(double const &R_gs, double const &R_ff, double const &R_fg) const =0
std::array< Eigen::Vector3d, number_of_unknowns > pipeAdvectionVectors(Eigen::Vector3d const &elem_direction) const
PipeConfigurationCoaxial const _pipes
static constexpr int number_of_grout_zones
std::vector< double > thermalResistances(ParameterLib::SpatialPosition const &pos) const
bool const use_python_bcs
RefrigerantProperties const refrigerant
GroutParameters const grout
BHECommon(BoreholeGeometry const &borehole_geometry_, RefrigerantProperties const &refrigerant_, GroutParameters const &grout_, FlowAndTemperatureControl const &flowAndTemperatureControl_, bool const use_python_bcs_)
FlowAndTemperatureControl const flowAndTemperatureControl
std::variant< InflowTemperature, Power, BuildingPower, BuildingPowerHotWaterActiveCooling, BuildingPowerHotWaterPassiveCooling, BuildingPowerHotWater, BuildingPowerActiveCooling, BuildingPowerPassiveCooling, ActiveCooling > FlowAndTemperatureControl