![]() |
OGS
|
|
The BHE_1P class is the realization of single-pipe type of Borehole Heate Exchanger. In this class, the pipe heat capacity, pipe heat conductiion, pie advection vectors are initialized according to the geometry of the single-pipe type of BHE. For this type of BHE, 2 primary unknowns are assigned on the 1D BHE elements. They are the temperature in the pipe T_p, and temperature of the grout zone surrounding the single pipe T_g. These two primary variables are solved according to heat convection and conduction equations on the pipes and also in the grout zones. The interaction of the 1P type of BHE and the surrounding soil is regulated through the thermal resistance values, which are calculated specifically during the initialization of the class.
#include <BHE_1P.h>
Public Member Functions | |
| BHE_1P (BoreholeGeometry const &borehole, RefrigerantProperties const &refrigerant, GroutParameters const &grout, FlowAndTemperatureControl const &flowAndTemperatureControl, PipeConfiguration1PType const &pipes, bool const use_python_bcs) | |
| std::array< double, number_of_unknowns > | pipeHeatCapacities () const |
| std::array< double, number_of_unknowns > | pipeHeatConductions () const |
| std::array< Eigen::Vector3d, number_of_unknowns > | pipeAdvectionVectors (Eigen::Vector3d const &elem_direction) const |
| double | updateFlowRateAndTemperature (double T_out, double current_time) |
| Return the inflow temperature for the boundary condition. | |
| double | thermalResistance (int const unknown_index) const |
| std::array< double, number_of_unknowns > | crossSectionAreas () const |
| void | updateHeatTransferCoefficients (double const flow_rate) |
| Public Member Functions inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| constexpr bool | isPowerBC () const |
Static Public Member Functions | |
| template<int NPoints, typename SingleUnknownMatrixType, typename RMatrixType, typename RPiSMatrixType, typename RSMatrixType> | |
| static void | assembleRMatrices (int const idx_bhe_unknowns, Eigen::MatrixBase< SingleUnknownMatrixType > const &matBHE_loc_R, Eigen::MatrixBase< RMatrixType > &R_matrix, Eigen::MatrixBase< RPiSMatrixType > &R_pi_s_matrix, Eigen::MatrixBase< RSMatrixType > &R_s_matrix) |
| static std::array< std::pair< std::size_t, int >, 2 > | getBHEInflowDirichletBCNodesAndComponents (std::size_t const top_node_id, std::size_t const bottom_node_id, int const in_component_id) |
| static std::optional< std::array< std::pair< std::size_t, int >, 2 > > | getBHEBottomDirichletBCNodesAndComponents (std::size_t const, int const, int const) |
Static Public Attributes | |
| static constexpr int | number_of_unknowns = 2 |
| static constexpr int | number_of_grout_zones = 1 |
| static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Protected Attributes | |
| PipeConfiguration1PType const | _pipe |
| double | _flow_velocity = std::numeric_limits<double>::quiet_NaN() |
| Flow velocity inside the pipes. Depends on the flow_rate. | |
Private Member Functions | |
| std::array< double, number_of_unknowns > | calcThermalResistances (double const Nu) |
Static Private Member Functions | |
| static double | compute_R_gs (double const chi, double const R_g) |
Private Attributes | |
| std::array< double, number_of_unknowns > | _thermal_resistances |
Additional Inherited Members | |
| Public Attributes inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| BoreholeGeometry const | borehole_geometry |
| RefrigerantProperties const | refrigerant |
| GroutParameters const | grout |
| FlowAndTemperatureControl const | flowAndTemperatureControl |
| bool const | use_python_bcs |
| ProcessLib::HeatTransportBHE::BHE::BHE_1P::BHE_1P | ( | BoreholeGeometry const & | borehole, |
| RefrigerantProperties const & | refrigerant, | ||
| GroutParameters const & | grout, | ||
| FlowAndTemperatureControl const & | flowAndTemperatureControl, | ||
| PipeConfiguration1PType const & | pipes, | ||
| bool const | use_python_bcs ) |
Definition at line 18 of file BHE_1P.cpp.
References _pipe, _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, updateHeatTransferCoefficients(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::use_python_bcs.
|
inlinestatic |
Definition at line 57 of file BHE_1P.h.
References OGS_FATAL.
|
private |
Definition at line 105 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, compute_R_gs(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by updateHeatTransferCoefficients().
|
staticprivate |
Definition at line 88 of file BHE_1P.cpp.
Referenced by calcThermalResistances().
| std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::crossSectionAreas | ( | ) | const |
Definition at line 164 of file BHE_1P.cpp.
References _pipe, and ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry.
|
static |
Definition at line 156 of file BHE_1P.cpp.
|
static |
Definition at line 145 of file BHE_1P.cpp.
| std::array< Eigen::Vector3d, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::pipeAdvectionVectors | ( | Eigen::Vector3d const & | elem_direction | ) | const |
Definition at line 76 of file BHE_1P.cpp.
References _flow_velocity, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::pipeHeatCapacities | ( | ) | const |
Definition at line 40 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::pipeHeatConductions | ( | ) | const |
Definition at line 55 of file BHE_1P.cpp.
References _flow_velocity, _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
|
inline |
Definition at line 99 of file BHE_1P.h.
References _thermal_resistances.
| double ProcessLib::HeatTransportBHE::BHE::BHE_1P::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Return the inflow temperature for the boundary condition.
Definition at line 170 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, and updateHeatTransferCoefficients().
| void ProcessLib::HeatTransportBHE::BHE::BHE_1P::updateHeatTransferCoefficients | ( | double const | flow_rate | ) |
Definition at line 93 of file BHE_1P.cpp.
References _flow_velocity, _pipe, _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by BHE_1P(), and updateFlowRateAndTemperature().
|
protected |
Flow velocity inside the pipes. Depends on the flow_rate.
Definition at line 128 of file BHE_1P.h.
Referenced by pipeAdvectionVectors(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
protected |
Definition at line 125 of file BHE_1P.h.
Referenced by BHE_1P(), calcThermalResistances(), crossSectionAreas(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
private |
PHI_fg, PHI_gs; Here we store the thermal resistances needed for computation of the heat exchange coefficients in the governing equations of BHE.
Definition at line 140 of file BHE_1P.h.
Referenced by BHE_1P(), thermalResistance(), and updateHeatTransferCoefficients().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |