vclibpy.components.heat_exchangers.heat_transfer package

Submodules

vclibpy.components.heat_exchangers.heat_transfer.air_to_wall module

class vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer(A_cross: float, characteristic_length: float)[source]

Bases: HeatTransfer, ABC

Heat transfer model for air to wall.

Args:
A_cross (float):

Cross-section area in m2.

characteristic_length (float):

Length in m to calculate the similitude approach for the heat transfer from secondary_medium -> wall.

calc(transport_properties: TransportProperties, m_flow: float) float[source]

Heat transfer coefficient from air to the wall of the heat exchanger. The flow is assumed to be always laminar.

Returns:

float: Heat transfer coefficient in W/(m^2*K).

abstract calc_laminar_area_nusselt(Re, Pr, lambda_)[source]

Calculate the Nusselt number for laminar heat transfer on an area (Used for Air->Wall in the evaporator).

Args:

Re (float): Reynolds number Pr (float): Prandlt number lambda_ (float): Lambda of air

Returns:

float: Nusselt number

abstract calc_reynolds(dynamic_viscosity: float, m_flow: float)[source]

Calculate the reynolds number of the given flow rate.

Args:

dynamic_viscosity (float): Dynamic viscosity. m_flow (float): Mass flow rate.

Returns:

float: Reynolds number

class vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.WSUAirToWall(A_cross: float, characteristic_length: float)[source]

Bases: AirToWallTransfer

Class to implement the heat transfer calculations based on the WSÜ-Script at the RWTH.

calc_laminar_area_nusselt(Re, Pr, lambda_) float[source]

Calculate the Nusselt number for laminar heat transfer on an area (Used for Air->Wall in the evaporator).

Args:

Re (float): Reynolds number of air. Pr (float): Prandtl number of air. lambda_ (float): Lambda of air.

Returns:

float: Nusselt number of air.

calc_reynolds(dynamic_viscosity: float, m_flow: float) float[source]

Calculate the Reynolds number on air side.

Args:

dynamic_viscosity (float): Dynamic viscosity of air. m_flow (float): Mass flow rate of air.

Returns:

float: Reynolds number.

vclibpy.components.heat_exchangers.heat_transfer.constant module

Module with constant heat transfer assumptions

class vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantHeatTransfer(alpha: float)[source]

Bases: ABC

Constant heat transfer assumption

Args:
alpha (float):

Constant heat transfer coefficient in W/(m2*K)

calc(transport_properties: TransportProperties, m_flow: float) float[source]

Calculate constant heat transfer coefficient.

Args:

transport_properties (TransportProperties): Transport properties of the medium (not used). m_flow (float): Mass flow rate (not used).

Returns:

float: Constant heat transfer coefficient in W/(m2*K).

class vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantTwoPhaseHeatTransfer(alpha: float)[source]

Bases: ABC

Constant heat transfer assumption.

Args:
alpha (float):

Constant heat transfer coefficient in W/(m2*K).

calc(**kwargs) float[source]

Calculate constant two-phase heat transfer coefficient.

Args:

**kwargs: Allows to set arguments for different heat transfer classes which are not used here.

Returns:

float: Constant two-phase heat transfer coefficient in W/(m2*K).

vclibpy.components.heat_exchangers.heat_transfer.heat_transfer module

Module with basic functions to calculate heat transfer coefficients.

class vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.HeatTransfer[source]

Bases: ABC

Base class to implement possible heat transfer models.

Methods:
calc(transport_properties: TransportProperties, m_flow: float) -> float:

Abstract method to calculate heat transfer.

abstract calc(transport_properties: TransportProperties, m_flow: float) float[source]

Calculate heat transfer.

Args:

transport_properties (TransportProperties): Transport properties of the medium. m_flow (float): Mass flow rate.

Returns:

float: Calculated heat transfer coefficient.

Raises:

NotImplementedError: If the method is not implemented in the subclass.

class vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.TwoPhaseHeatTransfer[source]

Bases: ABC

Base class to implement possible heat transfer models

abstract calc(state_q0: ThermodynamicState, state_q1: ThermodynamicState, state_inlet: ThermodynamicState, state_outlet: ThermodynamicState, med_prop: MedProp, inputs: Inputs, fs_state: FlowsheetState, m_flow: float) float[source]

Calculate two-phase heat transfer.

Args:

state_q0 (ThermodynamicState): Thermodynamic state at the beginning of the two-phase region. state_q1 (ThermodynamicState): Thermodynamic state at the end of the two-phase region. state_inlet (ThermodynamicState): Inlet thermodynamic state. state_outlet (ThermodynamicState): Outlet thermodynamic state. med_prop (MedProp): Medium properties class. inputs (Inputs): Input parameters. fs_state (FlowsheetState): Flowsheet state. m_flow (float): Mass flow rate.

Returns:

float: Calculated two-phase heat transfer coefficient.

Raises:

NotImplementedError: If the method is not implemented in the subclass.

vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.calc_reynolds_pipe(dynamic_viscosity: float, m_flow: float, characteristic_length: float) float[source]

Calculate Reynolds number for flow inside a pipe.

Args:

dynamic_viscosity (float): Dynamic viscosity of the fluid. m_flow (float): Mass flow rate. characteristic_length (float): Characteristic length (e.g., diameter) of the pipe.

Returns:

float: Reynolds number.

vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall module

Module with models for pipe-to-wall heat transfer.

class vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.TurbulentFluidInPipeToWallTransfer(method: str, characteristic_length: float)[source]

Bases: HeatTransfer

Class to model turbulent heat exchange in a pipe.

Args:
method (str):

Equation to calc the nusselt number of turbulent flow for a given Re and Pr number. Note: Just for one-phase heat transfer!! Implemented Options are:

  • Taler2016

  • Domanski1989_sp_smooth

  • Amalfi2016

  • ScriptWSÜ. For turbulent regimes, eta_by_eta_w is assumed to be one.

Refer to the paper / documents or the function in this class for more info on numbers and assumptions

characteristic_length (float):

Length to calculate the similitude approach for the heat transfer from ref -> wall. For heat pumps this is always the Diameter of the HE in m

calc(transport_properties: TransportProperties, m_flow: float) float[source]

Calculate heat transfer coefficient from refrigerant to the wall of the heat exchanger.

The flow is assumed to be always turbulent and is based on a calibrated Nusselt correlation.

Args:

transport_properties (TransportProperties): Transport properties of the fluid. m_flow (float): Mass flow rate of the fluid.

Returns:

float: Heat transfer coefficient from refrigerant to HE in W/(m^2*K).

calc_turbulent_tube_nusselt(Re, Pr) float[source]

Calculate the Nuseelt number for turbulent heat transfer in a tube (used for ref/water->Wall in the evaporator and condernser).

Args:

Re (float): Reynolds number. Pr (float): Prandtl number.

Returns:

float: Nusselt number.

vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall module

class vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry(t_l: float, t_q: float, tiefe: float, d_a: float, d_i: float, lambda_R: float, n_Rohre: int = 50, n_Rippen: int = 500, a: float = 0.00195, dicke_rippe: float = 5e-05, laenge: float = 1.04, hoehe: float = 0.64)[source]

Bases: object

Geometry of a fin and tube heat exchanger with two rows of pipes in a shifted arrangement.

Source: VDI-Wärmeatlas, Berechnungsblätter für den Wärmeübergang, 11. Auflage, S.1461

As the source is in German, the names are kept in German as well.

property A: float

Total air side heat transfer area.

property A_FreieOberflaecheRohr: float

Free air side area of the tubes.

property A_Rippen: float

Return the total surface area of the fins.

property A_RohrInnen: float

Total refrigerant heat transfer area.

property A_RohrUnberippt: float

Total outside area of the tubes without fins

a: float = 0.00195
alpha_S(alpha_R) float[source]

Calculate apparent heat transfer coefficient.

Args:

alpha_R (float): Average heat transfer coefficient for tube and fin.

Returns:

float: Apparent heat transfer coefficient.

property char_length: float

Return the characteristic length d_a.

d_a: float
d_i: float
dicke_rippe: float = 5e-05
eta_R(alpha_R) float[source]

Calculate fin efficiency.

Args:

alpha_R (float): Average heat transfer coefficient for tube and fin.

Returns:

float: Fin efficiency.

hoehe: float = 0.64
laenge: float = 1.04
lambda_R: float
n_Rippen: int = 500
n_Rohre: int = 50
property phi: float

Auxiliary variable for fin efficiency

t_l: float
t_q: float
tiefe: float
property verjuengungsfaktor: float

Reduction factor A_cross_free/A_cross_smallest

class vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.VDIAtlasAirToWallTransfer(A_cross: float, characteristic_length: float, geometry_parameters: AirSourceHeatExchangerGeometry)[source]

Bases: AirToWallTransfer

VDI-Atlas based heat transfer estimation. Check AirToWallTransfer for further argument options.

This class assumes two pipes with a shifted arrangement.

Args:

A_cross (float): Free cross-sectional area. characteristic_length (float): Characteristic length d_a. geometry_parameters (AirSourceHeatExchangerGeometry):

Geometry parameters for heat exchanger according to VDI-Atlas

calc_laminar_area_nusselt(Re: float, Pr: float, lambda_: float) float[source]

Calculate apparent heat transfer coefficient based on Nusselt correlation.

Args:

Re (float): Reynolds number. Pr (float): Prandtl number. lambda_ (float): Thermal conductivity of air.

Returns:

float: Apparent heat transfer coefficient.

calc_reynolds(dynamic_viscosity: float, m_flow: float) float[source]

Calculate Reynolds number.

Args:

dynamic_viscosity (float): Dynamic viscosity of the fluid. m_flow (float): Mass flow rate.

Returns:

float: Reynolds number.

vclibpy.components.heat_exchangers.heat_transfer.wall module

class vclibpy.components.heat_exchangers.heat_transfer.wall.WallTransfer(lambda_: float, thickness: float)[source]

Bases: HeatTransfer

Simple wall heat transfer

Args:
lambda_ (float):

Heat conductivity of wall material in W/Km

thickness (float):

Thickness of wall in m^2

calc(transport_properties: TransportProperties, m_flow: float) float[source]

Heat transfer coefficient inside wall

Returns:

float: Heat transfer coefficient in W/(m^2*K)