equipment.Hairpin module

class equipment.Hairpin(**kwargs)[source]

Bases: equipment

Class to model double pipe section heat exchanger (hairpin)

Parameters:
entradaInterior: Corriente instance to define the fluid stream that

flow at internal section

entradaExterior: Corriente instance to define the fluid stream that

flow at external (anulli) section

modo: Calculate module

0 - Design 1 - Rating

flujo: Flow type

0 - Counterflow 1 - Parallelflow

orientacion: Pipe orientation

0 - Horizontal 1 - Vertical, internal down 2 - Vertical, internal up

metodo:

0 - Mean temperature 1 - Split the pipe in segments

tubesideLaminar: Method to calculate the global heat transfer

coefficient in laminar flow for tubeside 0 - Eubank-Proctor 1 - VDI mean Nusselt 2 - Hausen 3 - Sieder-Tate

tubesideTurbulent: Method to calculate the global heat transfer

coefficient in turbulent flow for tubeside 0 - Sieder-Tate 1 - Colburn 2 - Dittus-Boelter 3 - ESDU 4 - Gnielinski 5 - VDI mean Nusselt

LTube: Tube length DeeTube: External diameter of annulli DeTube: External diameter of internal pipe DiTube: Internal diameter of internal pipe wTube: Pipe width rTube: Internal roughness of pipe kTube: Thermal conductivity

tubeFouling: Fouling at tubeside annulliFouling: Fouling at annulliside

hasTwistedTape: Boolean to use a twisted tape twistedTape: Twisted tape insert instance hasWireCoil: Boolean to use a wire coil insert wireCoil: Wire-coil insert instance hasRib: Boolean to use a tube with helical rib rib: Helical rib instance hasTwistedAnnuli: Boolean to use a twisted tape in annuli section twistedAnnuli: Twisted tape in annulli section instance

finnedPipe: Boolean to use finned tube hFin: Finned height thicknessBaseFin: Thickness of the bottom of fin thicknessTopFin: Thickness of the top of fin rootDoFin: External diameter in the bottom of fin kFin: Thermal conductiviti of material of fin nFin: Fin count per meter of pipe

tubeTout: Output temperature of fluid in tubeside annulliTout: Output temperature of fluid in annulliside

Cost:
material:

0 - Carbon steel/carbon steel 1 - Carbon steel/304 stainless 2 - Carbon steel/316 stainless

P_dis: Design pressure

>>> from lib.corriente import Corriente
>>> kw = {"ids": [62], "fraccionMolar": [1.]}
>>> caliente = Corriente(T=90+273.15, P=361540., caudalMasico=0.36, **kw)
>>> fria = Corriente(T=20+273.15, P=101325., caudalMasico=500/3600., **kw)
>>> Cambiador = Hairpin(entradaTubo=caliente, entradaExterior=fria,                             modo=1, DiTube=0.0525, DeTube=0.0603, LTube=2.5,                             DeeTube=0.0779, kTube=54, rTube=0.0459994e-3,                             annulliFouling=0.000352, tubeFouling=0.000176)
>>> print("%6g %6g" % (Cambiador.ReTube, Cambiador.ReAnnulli))
27783.3 1277.55
>>> print("%6g %6g" % (Cambiador.hTube.kWm2K, Cambiador.hAnnulli.kWm2K))
1555.53 52.8267
Attributes:
isCalculable

Each child class must define if its calculable for input kwargs

Methods

Ug(hi, ni, ho, no)

Calculate global heat transfer coefficient

calculo()

Procedure to calcute equipment, defined in child class

design()

Design a pipe to meet the specified heat transfer requeriments

propTxt()

txt equivalent to output properties of equipment

propertiesEquipment()

procedure to define output values in a list with format: (Name, kwargs name, units), if kwargs name if a combobox element the index isn't useful so use a tuple (Txt_Values kwargs_name)

rating()

Rating of a specified pipe

readStatefromJSON(state)

Load instance parameter from saved file

rendimientoAletas(hi, ho)

Calculate thermal efficiency of fins

writeStatetoJSON(state)

Write instance parameter to file

ThermalPhase

coste

title = 'Hairpin Heat Exchanger'
help = ''
kwargs = {'Base_index': 0.0, 'Current_index': 0.0, 'DeTube': 0.0, 'DeeTube': 0.0, 'DiTube': 0.0, 'LTube': 0.0, 'P_dis': 0, 'annulliFouling': 0.0, 'annulliNuMethod': 0, 'annulliTout': 0.0, 'annulliXout': -1.0, 'entradaExterior': None, 'entradaTubo': None, 'f_install': 3.0, 'finnedPipe': 0, 'flujo': 0, 'hFin': 0.0, 'hasRib': False, 'hasTwistedAnnuli': False, 'hasTwistedTape': False, 'hasWireCoil': False, 'kFin': 0.0, 'kTube': 0.0, 'material': 0, 'metodo': 0, 'modo': 0, 'nFin': 0, 'nTube': 0.0, 'orientacion': 0, 'phase': 0, 'rTube': 0.0, 'rib': None, 'rootDoFin': 0.0, 'thicknessBaseFin': 0.0, 'thicknessTopFin': 0.0, 'tubeFouling': 0.0, 'tubeTout': 0.0, 'tubeXout': -1.0, 'tubesideLaminar': 0, 'tubesideTurbulent': 0, 'twistedAnnuli': None, 'twistedTape': None, 'wTube': 0.0, 'wireCoil': None}
kwargsInput = ('entradaTubo', 'entradaExterior')
kwargsValue = ('DeTube', 'DiTube', 'wTube', 'rTube', 'kTube', 'LTube', 'nTube', 'tubeFouling', 'annulliFouling', 'P_dis', 'tubeTout', 'annulliTout')
kwargsList = ('modo', 'flujo', 'orientacion', 'annulliNuMethod')
kwargsCheck = ('finnedPipe',)
kwargsMandatory = ('twistedTape', 'twistedAnnuli', 'wireCoil', 'rib')
calculateValue = ('Q', 'ToutAnnulli', 'ToutTube', 'U', 'A', 'L', 'deltaPTube', 'deltaPAnnulli', 'CF')
calculateCostos = ('C_adq', 'C_inst')
indiceCostos = 2
TEXT_MODO = ['Design', 'Rating']
TEXT_FLUJO = ['Counterflow', 'Parallelflow']
TEXT_ORIENTACION = ['Horizontal', 'Vertical, (in down)', 'Vertical, (in up)']
TEXT_MATERIAL = ['Carbon steel/carbon steel', 'Carbon steel/304 stainless', 'Carbon steel/316 stainless']
TEXT_METHOD_ANNULI = ['Gnielinski (2009)', 'Dirker-Meyer (2005)', 'Stein-Begell (1958)', 'Crookston-Rothfus-Kermode (1968)']
CODE_FLUJO = ('CF', 'PF')
property isCalculable

Each child class must define if its calculable for input kwargs

calculo()[source]

Procedure to calcute equipment, defined in child class

rating()[source]

Rating of a specified pipe

design()[source]

Design a pipe to meet the specified heat transfer requeriments

Ug(hi, ni, ho, no)[source]

Calculate global heat transfer coefficient

ThermalPhase(input, output)[source]
rendimientoAletas(hi, ho)[source]

Calculate thermal efficiency of fins

_hTube(fluidTube)[source]

Calculate convection heat trasnfer coefficient in tubeside

_hAnnulli(fluidAnnulli)[source]

Calculate convective heat transfer coefficient in annulli side

_fTube(Re, eD)[source]

Calculate friction factor coefficient in tube side

_fAnnuli(Re)[source]

Calculate friction factor coefficient in annulli side

coste()[source]
propTxt()[source]

txt equivalent to output properties of equipment

classmethod propertiesEquipment()[source]

procedure to define output values in a list with format: (Name, kwargs name, units), if kwargs name if a combobox element the index isn’t useful so use a tuple (Txt_Values kwargs_name)

writeStatetoJSON(state)[source]

Write instance parameter to file

readStatefromJSON(state)[source]

Load instance parameter from saved file