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 25 of file BHE_1P.cpp.
References _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::reference_temperature, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and updateHeatTransferCoefficients().
|
inlinestatic |
Definition at line 64 of file BHE_1P.h.
References OGS_FATAL.
|
private |
Definition at line 112 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, compute_R_gs(), ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::diameter, ProcessLib::HeatTransportBHE::BHE::Pipe::diameter, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::GroutParameters::lambda_g, ProcessLib::HeatTransportBHE::BHE::Pipe::outsideDiameter(), ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::PipeConfiguration1PType::single_pipe, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::thermal_conductivity, and ProcessLib::HeatTransportBHE::BHE::Pipe::wall_thermal_conductivity.
Referenced by updateHeatTransferCoefficients().
|
staticprivate |
Definition at line 95 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 171 of file BHE_1P.cpp.
References _pipe, ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::area(), ProcessLib::HeatTransportBHE::BHE::Pipe::area(), ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::Pipe::outsideArea(), and ProcessLib::HeatTransportBHE::BHE::PipeConfiguration1PType::single_pipe.
|
static |
Definition at line 163 of file BHE_1P.cpp.
|
static |
Definition at line 152 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 83 of file BHE_1P.cpp.
References _flow_velocity, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::density, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::specific_heat_capacity.
std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::pipeHeatCapacities | ( | ) | const |
Definition at line 47 of file BHE_1P.cpp.
References ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::density, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::GroutParameters::heat_cap_g, ProcessLib::HeatTransportBHE::BHE::GroutParameters::porosity_g, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::GroutParameters::rho_g, and ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::specific_heat_capacity.
std::array< double, BHE_1P::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHE_1P::pipeHeatConductions | ( | ) | const |
Definition at line 62 of file BHE_1P.cpp.
References _flow_velocity, _pipe, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::density, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::GroutParameters::lambda_g, ProcessLib::HeatTransportBHE::BHE::PipeConfiguration1PType::longitudinal_dispersion_length, ProcessLib::HeatTransportBHE::BHE::GroutParameters::porosity_g, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::specific_heat_capacity, and ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::thermal_conductivity.
|
inline |
Definition at line 106 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 177 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 100 of file BHE_1P.cpp.
References _flow_velocity, _pipe, _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::length, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::PipeConfiguration1PType::single_pipe.
Referenced by BHE_1P(), and updateFlowRateAndTemperature().
|
protected |
Flow velocity inside the pipes. Depends on the flow_rate.
Definition at line 135 of file BHE_1P.h.
Referenced by pipeAdvectionVectors(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
protected |
Definition at line 132 of file BHE_1P.h.
Referenced by 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 147 of file BHE_1P.h.
Referenced by BHE_1P(), thermalResistance(), and updateHeatTransferCoefficients().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |