equipment.Pump module

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

Bases: equipment

Class to model a liquid pump

Parameters:

entrada: Corriente instance to define the input stream to equipment usarCurva:

0 - Use fixed parameters 1 - Use pump characteristic curve

incognita: Index of variable to calculate if usarCurva is on

0 - Head 1 - Flow, in this case overwrite the input stream flow

rendimiento: pump efficiency, necessary is not use characteristic curve deltaP: Pressure increase of pump, unnecessary is use the

characteristic curve and the flow is the variable to calculate

Pout: Output pressure of pump Carga: Head of pump curvaCaracteristica: array to define the characteristic curve of pump

the format is: [Diameter, rpm, [Q1,..Qn], [h1,…,hn],

[Pot1,…,Potn], [NPSH1,…NPSHn]].

diametro: nominal diameter of pump velocidad: rpm of pump

Coste
tipo_bomba

0 - Centrifugal pumps 1 - Reciprocating pumps 2 - Gear pumps 3 - Vertical mixed flow 4 - Vertical axial flow

tipo_centrifuga

0 - One stage, 3550 rpm, VSC 1 - One stage, 1750 rpm, VSC 2 - One stage, 3550 rpm, HSC 3 - One stage, 1750 rpm, HSC 4 - Two stage, 3550 rpm, HSC 5 - Multistage, 3550 rpm, HSC

Material

0 - Cast iron 1 - Case steel 2 - 304 or 316 fittings 3 - Stainless steel 304 or 316 4 - Case Gould’s alloy no. 20 5 - Nickel 6 - Monel 7 - ISO B 8 - ISO B 9 - Titanium 10 - Hastelloy C 11 - Ductile iron 12 - Bronze

motor: Tipo de motor

0 - Open drip-proof 1 - Totally enclosed, fan-cooled 2 - Explosion-proof

rpm

0 - 3600 rpm 1 - 1800 rpm 2 - 1200 rpm

>>> from lib.corriente import Corriente
>>> c=Corriente(T=300, P=101325, caudalMasico=1, fraccionMolar=[1.])
>>> bomba=Pump(entrada=c, rendimiento=0.75, deltaP=20*101325, tipo_bomba=1)
>>> print("%0.5f" % bomba.power.hp)
3.63596
>>> print("%0.2f" % bomba.C_inst)
3493.24
Attributes:
isCalculable

Each child class must define if its calculable for input kwargs

Methods

Ajustar_Curvas_Caracteristicas()

Define the characteristic curve of pump, all input arrays must be of same dimension Q: volumetric flow, m3/s h: head, m Pot: power, hp NPSHr: net power suption head requered to avoid pump cavitation

calcularCurvaActual()

Calculate the actual characteristic curve at different rpm and diameter than the characteristic curve of pump using the affinity laws Ref: Perry 10.25, Table 10.7

calculo()

Procedure to calcute equipment, defined in child class

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)

readStatefromJSON(state)

Load instance parameter from saved file

writeStatetoJSON(state)

Write instance parameter to file

coste

datamap2xls

export2pdf

export2xls

title = 'Pump'
help = ''
kwargs = {'Base_index': 0.0, 'Carga': 0.0, 'Current_index': 0.0, 'Pout': 0.0, 'curvaCaracteristica': [], 'deltaP': 0.0, 'diametro': 0.0, 'entrada': None, 'f_install': 2.8, 'incognita': 0, 'material': 0, 'motor': 0, 'rendimiento': 0.0, 'rpm': 0, 'tipo_bomba': 0, 'tipo_centrifuga': 0, 'usarCurva': 0, 'velocidad': 0.0}
kwargsInput = ('entrada',)
kwargsCheck = ('usarCurva',)
kwargsValue = ('Pout', 'deltaP', 'rendimiento', 'Carga', 'diametro', 'velocidad')
kwargsList = ('incognita', 'tipo_bomba', 'tipo_centrifuga', 'material', 'motor', 'rpm')
calculateValue = ('PoutCalculada', 'power', 'headCalculada', 'volflow', 'rendimientoCalculado')
calculateCostos = ('C_bomba', 'C_motor', 'C_adq', 'C_inst')
indiceCostos = 7
salida = [None]
TEXT_BOMBA = ('Centrifugal', 'Reciprocating', 'Gear pump', 'Vertical mixed flow', 'Vertical axial flow')
TEXT_CENTRIFUGA = ('One stage, 3550 rpm, VSC', 'One stage, 1750 rpm, VSC', 'One stage, 3550 rpm, HSC', 'One stage, 1750 rpm, HSC', 'Two stage, 3550 rpm, HSC', 'Multistage, 3550 rpm, HSC')
TEXT_MATERIAL = ('Cast iron', 'Case steel', '304 or 316 fittings', 'Stainless steel 304 or 316', "Case Gould's alloy no. 20", 'Nickel', 'Monel (Ni-Cu)', 'ISO B', 'ISO C', 'Titanium', 'Hastelloy C (Ni-Fe-Mo)', 'Ductile iron', 'Bronze')
TEXT_MOTOR = ('Open drip-proof', 'Totally enclosed, fan-cooled', 'Explosion-proof')
TEXT_RPM = ('3600 RPM', '1800 RPM', '1200 RPM')
property isCalculable

Each child class must define if its calculable for input kwargs

calculo()[source]

Procedure to calcute equipment, defined in child class

Ajustar_Curvas_Caracteristicas()[source]

Define the characteristic curve of pump, all input arrays must be of same dimension

Q: volumetric flow, m3/s h: head, m Pot: power, hp NPSHr: net power suption head requered to avoid pump cavitation

calcularCurvaActual()[source]

Calculate the actual characteristic curve at different rpm and diameter than the characteristic curve of pump using the affinity laws Ref: Perry 10.25, Table 10.7

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

datamap2xls()[source]
export2pdf()[source]
export2xls()[source]