OGS
|
Definition at line 25 of file BHECommonCoaxial.h.
#include <BHECommonCoaxial.h>
Public Member Functions | |
BHECommonCoaxial (BoreholeGeometry const &borehole, RefrigerantProperties const &refrigerant, GroutParameters const &grout, FlowAndTemperatureControl const &flowAndTemperatureControl, PipeConfigurationCoaxial const &pipes, bool const use_python_bcs) | |
double | thermalResistance (int const unknown_index) const |
double | updateFlowRateAndTemperature (double T_out, double current_time) |
std::array< double, number_of_unknowns > | calcThermalResistances (double const Nu_inner_pipe, double const Nu_annulus_pipe) 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 &) const |
void | updateHeatTransferCoefficients (double const flow_rate) |
Public Member Functions inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
constexpr bool | isPowerBC () const |
Static Public Member Functions | |
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) |
Public Attributes | |
double | cross_section_area_inner_pipe |
double | cross_section_area_annulus |
double | cross_section_area_grout |
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 |
Static Public Attributes | |
static constexpr int | number_of_unknowns = 3 |
static constexpr int | number_of_grout_zones = 1 |
static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Protected Member Functions | |
virtual std::array< double, 2 > | velocities () const =0 |
virtual std::array< double, number_of_unknowns > | getThermalResistances (double const &R_gs, double const &R_ff, double const &R_fg) const =0 |
Protected Attributes | |
PipeConfigurationCoaxial const | _pipes |
std::array< double, number_of_unknowns > | _thermal_resistances |
double | _flow_velocity_inner = std::numeric_limits<double>::quiet_NaN() |
Flow velocity inside the pipes and annulus. Depends on the flow_rate. | |
double | _flow_velocity_annulus = std::numeric_limits<double>::quiet_NaN() |
ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::BHECommonCoaxial | ( | BoreholeGeometry const & | borehole, |
RefrigerantProperties const & | refrigerant, | ||
GroutParameters const & | grout, | ||
FlowAndTemperatureControl const & | flowAndTemperatureControl, | ||
PipeConfigurationCoaxial const & | pipes, | ||
bool const | use_python_bcs ) |
Definition at line 23 of file BHECommonCoaxial.cpp.
References _pipes, _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::area(), ProcessLib::HeatTransportBHE::BHE::Pipe::area(), ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, cross_section_area_annulus, cross_section_area_grout, cross_section_area_inner_pipe, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::inner_pipe, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::outer_pipe, and ProcessLib::HeatTransportBHE::BHE::Pipe::outsideArea().
std::array< double, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::calcThermalResistances | ( | double const | Nu_inner_pipe, |
double const | Nu_annulus_pipe ) const |
Definition at line 106 of file BHECommonCoaxial.cpp.
References _pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::calculateAdvectiveThermalResistance(), ProcessLib::HeatTransportBHE::BHE::calculateGroutAndGroutSoilExchangeThermalResistance(), ProcessLib::HeatTransportBHE::BHE::calculatePipeWallThermalResistance(), ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::diameter, getThermalResistances(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::inner_pipe, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::outer_pipe, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by updateHeatTransferCoefficients().
|
static |
Definition at line 146 of file BHECommonCoaxial.cpp.
|
static |
Definition at line 135 of file BHECommonCoaxial.cpp.
|
protectedpure virtual |
Implemented in ProcessLib::HeatTransportBHE::BHE::BHE_CXA, and ProcessLib::HeatTransportBHE::BHE::BHE_CXC.
Referenced by calcThermalResistances().
std::array< Eigen::Vector3d, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeAdvectionVectors | ( | Eigen::Vector3d const & | elem_direction | ) | const |
Definition at line 90 of file BHECommonCoaxial.cpp.
References ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::density, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::specific_heat_capacity, and velocities().
std::array< double, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeHeatCapacities | ( | ) | const |
Definition at line 44 of file BHECommonCoaxial.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, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeHeatConductions | ( | ) | const |
Definition at line 67 of file BHECommonCoaxial.cpp.
References _pipes, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::density, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::GroutParameters::lambda_g, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::longitudinal_dispersion_length, ProcessLib::HeatTransportBHE::BHE::GroutParameters::porosity_g, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::specific_heat_capacity, ProcessLib::HeatTransportBHE::BHE::RefrigerantProperties::thermal_conductivity, and velocities().
|
inline |
Definition at line 38 of file BHECommonCoaxial.h.
References _thermal_resistances.
double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::updateFlowRateAndTemperature | ( | double | T_out, |
double | current_time ) |
Definition at line 57 of file BHECommonCoaxial.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, and updateHeatTransferCoefficients().
void ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::updateHeatTransferCoefficients | ( | double const | flow_rate | ) |
Definition at line 154 of file BHECommonCoaxial.cpp.
References _flow_velocity_annulus, _flow_velocity_inner, _pipes, _thermal_resistances, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesAnnulus(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::inner_pipe, ProcessLib::HeatTransportBHE::BHE::BoreholeGeometry::length, ProcessLib::HeatTransportBHE::BHE::PipeConfigurationCoaxial::outer_pipe, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::BHE_CXA(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::BHE_CXC(), and updateFlowRateAndTemperature().
|
protectedpure virtual |
Implemented in ProcessLib::HeatTransportBHE::BHE::BHE_CXA, and ProcessLib::HeatTransportBHE::BHE::BHE_CXC.
Referenced by pipeAdvectionVectors(), and pipeHeatConductions().
|
protected |
Definition at line 92 of file BHECommonCoaxial.h.
Referenced by updateHeatTransferCoefficients(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::velocities(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::velocities().
|
protected |
Flow velocity inside the pipes and annulus. Depends on the flow_rate.
Definition at line 91 of file BHECommonCoaxial.h.
Referenced by updateHeatTransferCoefficients(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::velocities(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::velocities().
|
protected |
Definition at line 76 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), calcThermalResistances(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
protected |
Here we store the thermal resistances needed for computation of the heat exchange coefficients in the governing equations of BHE. These governing equations can be found in 1) Diersch (2013) FEFLOW book on page 958, M.3, or 2) Diersch (2011) Comp & Geosci 37:1122-1135, Eq. 90-97.
Definition at line 88 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), thermalResistance(), and updateHeatTransferCoefficients().
double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::cross_section_area_annulus |
Definition at line 70 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas().
double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::cross_section_area_grout |
Definition at line 71 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas().
double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::cross_section_area_inner_pipe |
Definition at line 70 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas().
|
staticconstexpr |
|
staticconstexpr |
Definition at line 36 of file BHECommonCoaxial.h.
|
staticconstexpr |
Definition at line 35 of file BHECommonCoaxial.h.