![]() |
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) | |
| std::array< double, number_of_flow_legs > | flowLegs () const |
| 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 |
| std::vector< double > | thermalResistances (ParameterLib::SpatialPosition const &pos) const |
| double | updateFlowRateAndTemperature (double T_out, double current_time) |
| Return the inflow temperature for the boundary condition. | |
| std::array< double, number_of_unknowns > | crossSectionAreas (ParameterLib::SpatialPosition const &pos) 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 |
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 int | number_of_flow_legs = 1 |
| static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Protected Attributes | |
| PipeConfiguration1PType const | _pipe |
Private Member Functions | |
| std::vector< double > | calcThermalResistances (double const Nu, ParameterLib::SpatialPosition const &pos) const |
Private Attributes | |
| double | flow_velocity_ = 0.0 |
| double | cached_nu_ = 0.0 |
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 21 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.
|
inlinestatic |
Definition at line 80 of file BHE_1P.h.
References OGS_FATAL.
|
private |
Definition at line 107 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::checkBoreholeVsPipeDiameter(), ProcessLib::HeatTransportBHE::BHE::computeRgs(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::pipeWallThermalResistance(), ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::sampleStrictPositive().
Referenced by thermalResistances().
| std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::crossSectionAreas | ( | ParameterLib::SpatialPosition const & | pos | ) | const |
Definition at line 171 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::checkedGroutArea(), ProcessLib::HeatTransportBHE::BHE::Pipe::circleArea(), and ProcessLib::HeatTransportBHE::BHE::sampleStrictPositive().
|
inline |
Signed fluid velocity per flow leg. Positive = flow along +elem_direction; negative = against it. BHE_1P has a single leg whose direction follows the line element's elem_direction.
Definition at line 56 of file BHE_1P.h.
References flow_velocity_.
|
static |
Definition at line 163 of file BHE_1P.cpp.
|
static |
Definition at line 153 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 78 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 42 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 57 of file BHE_1P.cpp.
References _pipe, flow_velocity_, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::vector< double > ProcessLib::HeatTransportBHE::BHE::BHE_1P::thermalResistances | ( | ParameterLib::SpatialPosition const & | pos | ) | const |
Return the full vector of thermal resistances for the element at pos, computed once using the cached Nusselt number. Intended to be called once per element by the assembler so that the resistance computation is not repeated per unknown and per integration point.
Definition at line 101 of file BHE_1P.cpp.
References cached_nu_, and calcThermalResistances().
| double ProcessLib::HeatTransportBHE::BHE::BHE_1P::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Return the inflow temperature for the boundary condition.
Definition at line 182 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 92 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, cached_nu_, ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), flow_velocity_, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by BHE_1P(), and updateFlowRateAndTemperature().
|
protected |
Definition at line 142 of file BHE_1P.h.
Referenced by BHE_1P(), calcThermalResistances(), crossSectionAreas(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
private |
Definition at line 151 of file BHE_1P.h.
Referenced by thermalResistances(), and updateHeatTransferCoefficients().
|
private |
Scalar fluid velocity in the single pipe, refreshed in updateHeatTransferCoefficients. Sign mirrors the leg-0 (forward elem_direction) velocity; the per-leg signed velocity is derived from it in BHE_1P::flowLegs.
Definition at line 149 of file BHE_1P.h.
Referenced by flowLegs(), pipeAdvectionVectors(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |