![]() |
OGS
|
|
Definition at line 26 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) | |
| std::array< double, number_of_flow_legs > | flowLegs () const |
| double | updateFlowRateAndTemperature (double T_out, double current_time) |
| std::vector< double > | calcThermalResistances (double const Nu_inner_pipe, double const Nu_annulus_pipe, ParameterLib::SpatialPosition const &pos) const |
| std::vector< double > | thermalResistances (ParameterLib::SpatialPosition const &pos) 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 |
| 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 | |
| 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 int | number_of_flow_legs = 2 |
| static constexpr std::pair< int, int > | inflow_outflow_bc_component_ids [] |
Protected Member Functions | |
| virtual std::vector< double > | getThermalResistances (double const &R_gs, double const &R_ff, double const &R_fg) const =0 |
Protected Attributes | |
| PipeConfigurationCoaxial const | _pipes |
| double | cross_section_area_inner_pipe |
| double | cross_section_area_annulus |
| double | velocity_inner = 0.0 |
| double | velocity_annulus = 0.0 |
| double | cached_nu_inner = 0.0 |
| double | cached_nu_annulus = 0.0 |
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 17 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 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, | ||
| ParameterLib::SpatialPosition const & | pos ) const |
Definition at line 87 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::checkBoreholeVsPipeDiameter(), getThermalResistances(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant, and ProcessLib::HeatTransportBHE::BHE::sampleStrictPositive().
Referenced by thermalResistances().
|
inline |
Signed fluid velocity per flow leg. Positive = flow along +elem_direction; negative = against it. Leg ordering matches the BHE unknowns: { unknown 0 (inflow channel), unknown 1 (outflow channel) }; the physical-channel mapping (inner pipe vs annulus) is set per subclass via assignVelocities().
Definition at line 45 of file BHECommonCoaxial.h.
References velocity_annulus, and velocity_inner.
Referenced by pipeAdvectionVectors(), and pipeHeatConductions().
|
static |
Definition at line 143 of file BHECommonCoaxial.cpp.
|
static |
Definition at line 133 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 74 of file BHECommonCoaxial.cpp.
References flowLegs(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::array< double, BHECommonCoaxial::number_of_unknowns > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::pipeHeatCapacities | ( | ) | const |
Definition at line 34 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 | ( | ) | const |
Definition at line 58 of file BHECommonCoaxial.cpp.
References _pipes, flowLegs(), ProcessLib::HeatTransportBHE::BHE::BHECommon::grout, and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
| std::vector< double > ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::thermalResistances | ( | ParameterLib::SpatialPosition const & | pos | ) | const |
Return the full vector of thermal resistances for the element at pos, computed once using the cached Nusselt numbers. 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 126 of file BHECommonCoaxial.cpp.
References cached_nu_annulus, cached_nu_inner, and calcThermalResistances().
| double ProcessLib::HeatTransportBHE::BHE::BHECommonCoaxial::updateFlowRateAndTemperature | ( | double | T_out, |
| double | current_time ) |
Definition at line 47 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 151 of file BHECommonCoaxial.cpp.
References _pipes, assignVelocities(), ProcessLib::HeatTransportBHE::BHE::BHECommon::borehole_geometry, cached_nu_annulus, cached_nu_inner, ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesAnnulus(), ProcessLib::HeatTransportBHE::BHE::calculateThermoMechanicalFlowPropertiesPipe(), and ProcessLib::HeatTransportBHE::BHE::BHECommon::refrigerant.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::BHE_CXA(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::BHE_CXC(), and updateFlowRateAndTemperature().
|
protected |
Definition at line 89 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), calcThermalResistances(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas(), pipeHeatConductions(), and updateHeatTransferCoefficients().
|
protected |
Definition at line 103 of file BHECommonCoaxial.h.
Referenced by thermalResistances(), and updateHeatTransferCoefficients().
|
protected |
Definition at line 102 of file BHECommonCoaxial.h.
Referenced by thermalResistances(), and updateHeatTransferCoefficients().
|
protected |
Definition at line 91 of file BHECommonCoaxial.h.
Referenced by BHECommonCoaxial(), ProcessLib::HeatTransportBHE::BHE::BHE_CXA::crossSectionAreas(), and ProcessLib::HeatTransportBHE::BHE::BHE_CXC::crossSectionAreas().
|
protected |
Definition at line 91 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 38 of file BHECommonCoaxial.h.
|
staticconstexpr |
Definition at line 37 of file BHECommonCoaxial.h.
|
staticconstexpr |
Definition at line 36 of file BHECommonCoaxial.h.
|
protected |
Definition at line 101 of file BHECommonCoaxial.h.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::assignVelocities(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::assignVelocities(), and flowLegs().
|
protected |
Fluid velocities indexed by unknown: velocity_inner is the velocity carried on unknown 0 (the inflow channel), and velocity_annulus is the velocity carried on unknown 1 (the outflow channel). 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(). flowLegs() returns the signed per-leg velocities derived from these magnitudes.
Definition at line 100 of file BHECommonCoaxial.h.
Referenced by ProcessLib::HeatTransportBHE::BHE::BHE_CXA::assignVelocities(), ProcessLib::HeatTransportBHE::BHE::BHE_CXC::assignVelocities(), and flowLegs().