![]() |
OGS
|
|
Definition at line 20 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 | updateFlowRateAndTemperature (double T_out, double current_time) |
| std::vector< double > | calcThermalResistances (double const Nu_inner_pipe, double const Nu_annulus_pipe, int const section_index=0) 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 &, 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 | |
| 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 = 3 |
| static constexpr int | number_of_grout_zones = 1 |
| static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Protected Member Functions | |
| std::array< double, 2 > | velocities () const |
| virtual std::vector< double > | getThermalResistances (double const &R_gs, double const &R_ff, double const &R_fg) const =0 |
| 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. | |
Protected Attributes | |
| PipeConfigurationCoaxial const | _pipes |
| double | cross_section_area_inner_pipe |
| double | cross_section_area_annulus |
| Protected Attributes inherited from ProcessLib::HeatTransportBHE::BHE::BHECommon | |
| std::vector< double > | _flow_velocities |
| std::vector< std::vector< double > > | _sectional_thermal_resistances |
Private Member Functions | |
| virtual void | assignVelocities (double inner_vel, double annulus_vel)=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::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 15 of file BHECommonCoaxial.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::BHECommon(), _pipes, cross_section_area_annulus, cross_section_area_inner_pipe, ProcessLib::HeatTransportBHE::BHE::BHECommon::flowAndTemperatureControl, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::BHECommon::use_python_bcs.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::BHE_CXA(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::BHE_CXC().
|
privatepure virtual |
Assigns _flow_velocities from the physical channel velocities. Subclasses encode which channel maps to which unknown.
Implemented in ProcessLib::HeatTransportBHE::BHE::BHE_CXA, and ProcessLib::HeatTransportBHE::BHE::BHE_CXC.
Referenced by updateHeatTransferCoefficients().
| std::vector< double > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::calcThermalResistances | ( | double const | Nu_inner_pipe, |
| double const | Nu_annulus_pipe, | ||
| int const | section_index = 0 ) const |
Definition at line 95 of file BHECommonCoaxial.cpp.
References _pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, ProcessLib::HeatTransportBHE::BHE::calculateAdvectiveThermalResistance(), ProcessLib::HeatTransportBHE::BHE::calculateGroutAndGroutSoilExchangeThermalResistance(), ProcessLib::HeatTransportBHE::BHE::calculatePipeWallThermalResistance(), getThermalResistances(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by updateHeatTransferCoefficients().
|
static |
Definition at line 137 of file BHECommonCoaxial.cpp.
|
static |
Definition at line 126 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, |
| int const | section_index = 0 ) const |
Definition at line 79 of file BHECommonCoaxial.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and velocities().
| std::array< double, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeHeatCapacities | ( | ) | const |
Definition at line 32 of file BHECommonCoaxial.cpp.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeHeatConductions | ( | int const | section_index = 0 | ) | const |
Definition at line 55 of file BHECommonCoaxial.cpp.
References _pipes, ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and velocities().
| double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Definition at line 45 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 145 of file BHECommonCoaxial.cpp.
References _pipes, assignVelocities(), ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesAnnulus(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), ProcessLib::HeatTransportBHE::BHE::BHECommon::recomputeSectionalResistances(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::BHE_CXA(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::BHE_CXC(), and updateFlowRateAndTemperature().
|
inlineprotected |
Returns fluid velocities indexed by unknown: {v_for_unknown_0, v_for_unknown_1}. The mapping from physical channels (inner pipe / annulus) to unknowns differs between CXA and CXC and is set once per flow-rate update via assignVelocities().
Definition at line 75 of file BHECommonCoaxial.h.
References ProcessLib::HeatTransportBHE::BHE::BHECommon::_flow_velocities.
Referenced by pipeAdvectionVectors(), and pipeHeatConductions().
|
protected |
Definition at line 67 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas(), pipeHeatConductions(), updateHeatTransferCoefficients(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::withGeometry(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::withGeometry().
|
protected |
Definition at line 69 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas().
|
protected |
Definition at line 69 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 31 of file BHECommonCoaxial.h.
|
staticconstexpr |
Definition at line 30 of file BHECommonCoaxial.h.