equipment.Pump module¶
- class equipment.Pump(**kwargs)[source]¶
Bases:
equipmentClass 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:
isCalculableEach child class must define if its calculable for input kwargs
Methods
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
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
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
- 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