equipment.Hairpin module¶
- class equipment.Hairpin(**kwargs)[source]¶
Bases:
equipmentClass 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:
isCalculableEach 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
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