![]() |
OGS
|
|
The BHE_1P class is the realization of single-pipe type of Borehole Heat Exchanger. In this class, the pipe heat capacity, pipe heat conduction, pipe 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) | |
| BHE_1P | withGeometry (BoreholeGeometry const &g) const |
| std::array< double, number_of_unknowns > | pipeHeatCapacities () const |
| std::array< double, number_of_unknowns > | pipeHeatConductions (int const section_index=0) const |
| std::array< Eigen::Vector3d, number_of_unknowns > | pipeAdvectionVectors (Eigen::Vector3d const &elem_direction, int const section_index=0) const |
| double | updateFlowRateAndTemperature (double T_out, double current_time) |
| Return the inflow temperature for the boundary condition. | |
| std::array< double, number_of_unknowns > | crossSectionAreas (int const section_index=0) const |
| void | updateHeatTransferCoefficients (double const flow_rate) |
| Public Member Functions inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| BHECommon (BoreholeGeometry const &borehole_geometry_, RefrigerantProperties const &refrigerant_, GroutParameters const &grout_, FlowAndTemperatureControl const &flowAndTemperatureControl_, bool const use_python_bcs_) | |
| constexpr bool | isPowerBC () const |
| int | getNumberOfSections () const |
| Get number of sections in the borehole geometry. | |
| std::vector< double > const & | getSectionBoundaries () const |
| Get section boundaries (cumulative distance from wellhead). | |
| double | thermalResistanceAtSection (int const unknown_index, int const section_index) const |
| Get thermal resistance for a specific section and unknown. | |
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 |
| Protected Attributes inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| std::vector< double > | _flow_velocities |
| std::vector< std::vector< double > > | _sectional_thermal_resistances |
Private Member Functions | |
| std::vector< double > | calcThermalResistances (double const Nu, int const section_index=0) const |
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 |
| Protected Member Functions inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| template<typename Fn> | |
| void | recomputeSectionalResistances (Fn &&calcForSection) |
| Recompute _sectional_thermal_resistances for all sections. | |
| double | getClampedFlowVelocity (int const section_index) const |
| Get velocity for a section, clamping to last section if index exceeds the number of velocity entries. Returns 0 when empty. | |
| std::vector< double > const & | getThermalResistancesAtSection (int const section_index) const |
| Get the thermal resistance vector for a given section. | |
| 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 19 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::BHECommon(), _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, updateHeatTransferCoefficients(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::use_python_bcs.
Referenced by withGeometry().
|
inlinestatic |
Definition at line 69 of file BHE_1P.h.
References OGS_FATAL.
|
private |
Definition at line 109 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::computeRgs(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by updateHeatTransferCoefficients().
| std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::crossSectionAreas | ( | int const | section_index = 0 | ) | const |
Definition at line 169 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, and ProcessLib::HeatTransportBHE::BHE::checkedGroutArea().
|
static |
Definition at line 161 of file BHE_1P.cpp.
|
static |
Definition at line 150 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, |
| int const | section_index = 0 ) const |
Definition at line 79 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::getClampedFlowVelocity(), 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 | ( | int const | section_index = 0 | ) | const |
Definition at line 55 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::getClampedFlowVelocity(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| double ProcessLib::HeatTransportBHE::BHE::BHE_1P::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Return the inflow temperature for the boundary condition.
Definition at line 178 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 94 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::_flow_velocities, _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), ProcessLib::HeatTransportBHE::BHE::BHECommon::recomputeSectionalResistances(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by BHE_1P(), and updateFlowRateAndTemperature().
|
inline |
Construct a copy with different borehole geometry. Used for grouped BHE definitions.
Definition at line 46 of file BHE_1P.h.
References BHE_1P(), _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::BHECommon::use_python_bcs.
|
protected |
Definition at line 134 of file BHE_1P.h.
Referenced by BHE_1P(), calcThermalResistances(), crossSectionAreas(), pipeHeatConductions(), updateHeatTransferCoefficients(), and withGeometry().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |