![]() |
OGS
|
|
The BHE_2U class is the realization of 2U 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 2U type of BHE. For 2U type of BHE, 8 primary unknowns are assigned on the 1D BHE elements. They are the temperature in inflow pipe T_i1 and T_i2, temperature in outflow pipe T_o1 and T_o2, temperature of the four grout zones surrounding the inflow and outflow pipe T_g1, T_g2, T_g3 and T_g4. These primary variables are solved according to heat convection and conduction equations on the pipes and also in the grout zones. The interaction of the 2U 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_2U.h>
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, int const in_component_id) |
| 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 Public Attributes | |
| static constexpr int | number_of_unknowns = 8 |
| static constexpr int | number_of_grout_zones = 4 |
| static constexpr int | number_of_flow_legs = 4 |
| static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Private Member Functions | |
| std::vector< double > | calcThermalResistances (double const Nu, ParameterLib::SpatialPosition const &pos) const |
Private Attributes | |
| 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 |
| Protected Attributes inherited from ProcessLib::HeatTransportBHE::BHE::BHECommonUType | |
| PipeConfigurationUType const | _pipes |
| double | flow_velocity = 0.0 |
| ProcessLib::HeatTransportBHE::BHE::BHE_2U::BHE_2U | ( | BoreholeGeometry const & | borehole, |
| RefrigerantProperties const & | refrigerant, | ||
| GroutParameters const & | grout, | ||
| FlowAndTemperatureControl const & | flowAndTemperatureControl, | ||
| PipeConfigurationUType const & | pipes, | ||
| bool const | use_python_bcs ) |
Definition at line 20 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::BHECommonUType(), ProcessLib::HeatTransportBHE::BHE::BHECommonUType::_pipes, ProcessLib::HeatTransportBHE::BHE::checkEqualPipeOutsideDiameters(), 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_2U.h.
References OGS_FATAL.
|
private |
Definition at line 155 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::_pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::checkAcoshArg(), ProcessLib::HeatTransportBHE::BHE::checkBoreholeVsPipeDiameter(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::pipeWallThermalResistance(), ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::sampleStrictPositive(), ProcessLib::HeatTransportBHE::BHE::thermalResistancesGroutSoil2U(), and ProcessLib::HeatTransportBHE::BHE::uTypeGeometryContext().
Referenced by thermalResistances().
| std::array< double, BHE_2U::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_2U::crossSectionAreas | ( | ParameterLib::SpatialPosition const & | pos | ) | const |
Definition at line 269 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::_pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::checkedGroutArea(), ProcessLib::HeatTransportBHE::BHE::Pipe::circleArea(), number_of_grout_zones, and ProcessLib::HeatTransportBHE::BHE::sampleStrictPositive().
|
inline |
Signed fluid velocity per flow leg. Positive = flow along +elem_direction; negative = against it. Leg ordering matches the BHE unknowns: { i1, i2 (down), o1, o2 (up) }.
Definition at line 56 of file BHE_2U.h.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::flow_velocity.
Referenced by pipeAdvectionVectors().
|
static |
Definition at line 260 of file BHE_2U.cpp.
|
static |
Definition at line 250 of file BHE_2U.cpp.
| std::array< Eigen::Vector3d, BHE_2U::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_2U::pipeAdvectionVectors | ( | Eigen::Vector3d const & | elem_direction | ) | const |
Definition at line 86 of file BHE_2U.cpp.
References flowLegs(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHE_2U::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_2U::pipeHeatCapacities | ( | ) | const |
Definition at line 41 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHE_2U::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_2U::pipeHeatConductions | ( | ) | const |
Definition at line 60 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::_pipes, ProcessLib::HeatTransportBHE::BHE::BHECommonUType::flow_velocity, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::vector< double > ProcessLib::HeatTransportBHE::BHE::BHE_2U::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 149 of file BHE_2U.cpp.
References cached_nu_, and calcThermalResistances().
| double ProcessLib::HeatTransportBHE::BHE::BHE_2U::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Return the inflow temperature for the boundary condition.
Definition at line 293 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, and updateHeatTransferCoefficients().
| void ProcessLib::HeatTransportBHE::BHE::BHE_2U::updateHeatTransferCoefficients | ( | double const | flow_rate | ) |
Definition at line 140 of file BHE_2U.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommonUType::_pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, cached_nu_, ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), ProcessLib::HeatTransportBHE::BHE::BHECommonUType::flow_velocity, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by BHE_2U(), and updateFlowRateAndTemperature().
|
private |
Definition at line 228 of file BHE_2U.h.
Referenced by thermalResistances(), and updateHeatTransferCoefficients().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Definition at line 50 of file BHE_2U.h.
Referenced by crossSectionAreas().
|
staticconstexpr |