Ejemplo n.º 1
0
    def bomba(self, bomba):
        titulo = "BOMBA CENTRÍFUGA"
        nombre = "Bomba impulsión tubería 1A"
        fluido = "Líquido madre"
        necesarios = 1
        tipo = "ANSI AABack PullOut"
        situacion = "Interior"
        fabricante = "Goulds"
        modelo = "3196STD"
        tamano = "1 x1-1/2 x8"
        iscorrosivo = "No corrosivo"
        corrosivos = "N/A"
        solidos = "No"
        peligros = ""
        caudal_diseno = 50
        caudal_normal = 50
        temperatura = 95
        presion = bomba.entrada.P
        viscosidad = bomba.entrada.Liquido.mu
        gravedad = 1.1

        self.marco(titulo)

        # General
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 640, 19.5*cm,640)
        self.c.line(3.5*cm, 625, 19.5*cm,625)
        self.c.setLineWidth(0.5)
        self.c.line(3.5*cm, 610, 19.5*cm,610)
        self.c.line(3.5*cm, 595, 19.5*cm,595)
        self.c.line(3.5*cm, 580, 19.5*cm,580)
        self.c.line(11.5*cm, 565, 11.5*cm,625)
        self.c.drawCentredString(11.5*cm, 647, nombre)
        self.c.drawCentredString(11.5*cm, 629, "General")
        self.c.setFont("Helvetica", 8)
        self.c.drawString(3.6*cm, 615, "Fluido:  "+fluido)
        self.c.drawString(3.6*cm, 600, "Bombas necesarias:  "+ str(necesarios))
        self.c.drawString(3.6*cm, 585, "Tipo:  "+ tipo)
        self.c.drawString(3.6*cm, 570, "Situación:  "+ situacion)
        self.c.drawString(11.6*cm, 615, "Fabricante:  "+ fabricante)
        self.c.drawString(11.6*cm, 600, "Modelo:  "+ modelo)
        self.c.drawString(11.6*cm, 585, "Tamaño:  "+ tamano)

        # Datos de proceso
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 565, 19.5*cm,565)
        self.c.line(3.5*cm, 550, 19.5*cm,550)
        self.c.setLineWidth(0.5)
        self.c.line(3.5*cm, 535, 19.5*cm,535)
        self.c.line(3.5*cm, 520, 19.5*cm,520)
        self.c.line(3.5*cm, 505, 19.5*cm,505)
        self.c.line(3.5*cm, 490, 19.5*cm,490)
        self.c.line(11.5*cm, 475, 19.5*cm,475)
        self.c.line(11.5*cm, 550, 11.5*cm,460)
        self.c.setFont("Helvetica", 10)
        self.c.drawCentredString(11.5*cm, 555, "Datos de proceso")
        self.c.setFont("Helvetica", 8)
        self.c.drawString(3.6*cm, 540, "Fluido:  "+ fluido)
        self.c.drawString(3.6*cm, 525, "Características:  "+ iscorrosivo)
        self.c.drawString(3.6*cm, 510, "Compuestos corrosivos:  "+ corrosivos)
        self.c.drawString(3.6*cm, 495, "Sólidos:  "+ solidos)
        self.c.drawString(3.6*cm, 480, "Peligros:  "+ peligros)
        self.c.drawString(11.6*cm, 540, "Caudal normal:  "+ str(caudal_normal) + "gdm")
        self.c.drawString(11.6*cm, 525, "Caudal de diseño:  "+ str(caudal_diseno) + "gdm")
        self.c.drawString(11.6*cm, 510, "Temperatura de bombeo:  "+ str(temperatura) + "ºF")
        self.c.drawString(11.6*cm, 495, "Presión de vapor @ T.B.:  "+ representacion(presion) + config.Configuracion("Pressure").text())
        self.c.drawString(11.6*cm, 480, "Viscosidad @ T.B.:  "+ representacion(viscosidad) + config.Configuracion("Viscosity").text())
        self.c.drawString(11.6*cm, 465, "Gravedad específica @ T.B.:  "+ str(gravedad))

        # Condiciones de bombeo
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 445, 19.5*cm,445)
        self.c.line(3.5*cm, 460, 19.5*cm,460)
        self.c.setLneWidth(0.5)
        self.c.line(3.5*cm, 445, 19.5*cm,445)
        self.c.line(3.5*cm, 430, 19.5*cm,430)
        self.c.line(3.5*cm, 415, 19.5*cm,415)
        self.c.line(3.5*cm, 400, 19.5*cm,400)
        self.c.line(3.5*cm, 385, 19.5*cm,385)
        self.c.line(3.5*cm, 370, 19.5*cm,370)
        self.c.line(3.5*cm, 355, 19.5*cm,355)
        self.c.line(3.5*cm, 340, 19.5*cm,340)
        self.c.line(3.5*cm, 325, 19.5*cm,325)
        self.c.line(3.5*cm, 310, 19.5*cm,310)
        self.c.line(3.5*cm, 295, 19.5*cm,295)
        self.c.line(3.5*cm, 280, 19.5*cm,280)
        self.c.line(3.5*cm, 265, 19.5*cm,265)
        self.c.line(8.5*cm, 445, 8.5*cm,250)
        self.c.line(14*cm, 445, 14*cm,250)
        self.c.setFont("Helvetica", 10)
        self.c.drawCentredString(11.5*cm, 450, "Condiciones de bombeo")
        self.c.setFont("Helvetica", 8)
        self.c.drawCentredString(11.25*cm, 433, "Succión")
        self.c.drawCentredString(16.75*cm, 433, "Impulsión")
        self.c.drawString(3.6*cm, 420, "Presión, mmHg")


        # Datos mecánicos
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 250, 19.5*cm,250)
        self.c.line(3.5*cm, 235, 19.5*cm,235)
        self.c.setLineWidth(0.5)
        self.c.line(3.5*cm, 220, 19.5*cm,220)
        self.c.line(3.5*cm, 205, 19.5*cm,205)
        self.c.line(3.5*cm, 190, 19.5*cm,190)
        self.c.line(3.5*cm, 175, 19.5*cm,175)
        self.c.line(3.5*cm, 160, 19.5*cm,160)
        self.c.line(3.5*cm, 145, 19.5*cm,145)

        # Datos eléctricos
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 130, 19.5*cm,130)
        self.c.line(3.5*cm, 115, 19.5*cm,115)
        self.c.setLineWidth(0.5)
        self.c.line(3.5*cm, 100, 19.5*cm,100)
        self.c.line(3.5*cm, 85, 19.5*cm,85)
        self.c.line(3.5*cm, 70, 19.5*cm,70)
Ejemplo n.º 2
0
    def ciclon(self, nombre, ciclon):
#               numero, densidad_gas, densidad_solido, viscosidad, caudal, solidos_entrada, solidos_salida, rendimiento, delta_P, Dc, Bc, Hc, Jc, Lc, Zc, De, Sc, caudal_unitario, modelo, f_instal, indice, c_adqui, c_instal):
        titulo = "CICLÓN"
        self.marco(titulo)

        # variables
        temperatura = 45
        fluido = "Aire"
        solidos = "Polvo"

        # General
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 640, 19.5*cm,640)
        self.c.line(3.5*cm, 625, 19.5*cm,625)
        self.c.setLineWidth(0.5)
        self.c.line(3.5*cm, 610, 19.5*cm,610)
        self.c.line(3.5*cm, 595, 19.5*cm,595)
        self.c.line(3.5*cm, 580, 19.5*cm,580)
        self.c.line(3.5*cm, 565, 19.5*cm,565)
        self.c.line(3.5*cm, 550, 19.5*cm,550)
        self.c.line(9*cm, 580, 9*cm,610)
        self.c.line(14*cm, 580, 14*cm,610)
        self.c.line(11.5*cm, 550, 11.5*cm,580)
        self.c.drawCentredString(11.5*cm, 647, nombre)
        self.c.drawCentredString(11.5*cm, 629, "General")
        self.c.setFont("Helvetica", 8)
        self.c.drawString(3.6*cm, 615, "Temperatura:  " + representacion(ciclon.entrada.T.config())+config.Configuracion("Temperature").text())
        self.c.drawString(3.6*cm, 600, "Fluido:  " + fluido)
        self.c.drawString(3.6*cm, 585, "Sólidos:  " + solidos)
        self.c.drawString(9.2*cm, 600, "Densidad @ T.P.:  " + representacion(ciclon.entrada.Gas.rho.config("DenGas"))+config.Configuracion("Density", "DenGas").text())
        self.c.drawString(14.2*cm, 600, "Viscosidad @ T.P.:  " + representacion(ciclon.entrada.Gas.mu.config())+config.Configuracion("Viscosity").text())
        self.c.drawString(9.2*cm, 585, "Densidad @ T.P.:  " + representacion(ciclon.entrada.solido.rho.config("DenLiq"))+config.Configuracion("Density", "DenLiq").text())
        self.c.drawString(3.6*cm, 570, "Caudal:  " + representacion(ciclon.entrada.Q.config("QGas"))+config.Configuracion("VolFlow", "QGas").text())
        self.c.drawString(11.6*cm, 570, "Eficiencia:  " + representacion(ciclon.rendimiento))
        self.c.drawString(3.6*cm, 555, "Concentración sólidos entrada:  " + representacion(ciclon.entrada.solido.caudal.config())+config.Configuracion("MassFlow").text())
        self.c.drawString(11.6*cm, 555, "Concentración sólidos salida:  " + representacion(ciclon.SalidaAire.solido.caudal.config())+config.Configuracion("MassFlow").text())
        self.c.drawString(3.6*cm, 540, "Perdida de presión:  " + representacion(ciclon.DeltaP.config())+config.Configuracion("Pressure").text())

        # dimensiones
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 535, 19.5*cm,535)
        self.c.line(3.5*cm, 520, 19.5*cm,520)
        self.c.setLineWidth(0.5)
        self.c.setFont("Helvetica", 10)
        self.c.drawCentredString(11.5*cm, 525, "Dimensiones")
        self.c.setFont("Helvetica", 8)
        self.c.drawString(3.7*cm, 510, "Ciclones necesarios:  " + str(ciclon.num_ciclones))
        self.c.line(3.5*cm, 505, 10*cm,505)
        self.c.line(3.5*cm, 490, 10*cm,490)
        self.c.line(10*cm, 520, 10*cm,490)
        self.c.drawString(3.7*cm, 495, "Caudal Unitario:  " + representacion(ciclon.entrada.Q.config("QGas"))+config.Configuracion("VolFlow", "QGas").text())
        self.c.drawString(6.8*cm, 465, "Dc:  " + representacion(ciclon.Dc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 450, "Bc:  " + representacion(ciclon.Bc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 435, "Hc:  " + representacion(ciclon.Hc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 420, "Jc:  " + representacion(ciclon.Jc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 405, "Lc:  " + representacion(ciclon.Lc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 390, "Zc:  " + representacion(ciclon.Zc.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 375, "De:  " + representacion(ciclon.De.config())+config.Configuracion("Length").text())
        self.c.drawString(6.8*cm, 360, "Sc:  " + representacion(ciclon.Sc.config())+config.Configuracion("Length").text())
        self.c.drawImage(QtGui.QPixmap(os.environ["pychemqt"]+"/images/equip/ciclon_datasheet.gif"), 11*cm, 260, width=180,preserveAspectRatio=True)

        # Costes
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 300, 19.5*cm,300)
        self.c.line(3.5*cm, 285, 19.5*cm,285)
        self.c.setLineWidth(0.5)
        self.c.setFont("Helvetica", 10)
        self.c.drawCentredString(11.5*cm, 290, "Costes")
        self.c.setFont("Helvetica", 8)
        self.c.line(3.5*cm, 270, 19.5*cm,270)
        self.c.line(3.5*cm, 255, 19.5*cm,255)
        self.c.line(11.5*cm, 240, 11.5*cm,270)
        self.c.drawString(3.7*cm, 275, "Modelo: " + str(ciclon.tipoCosto))
        self.c.drawString(3.7*cm, 260, "Factor Instalación: " + str(ciclon.f_install))
        self.c.drawString(11.6*cm, 260, "Indice de costes: " + str(ciclon.Current_index))
        self.c.drawString(3.7*cm, 245, "Coste Adquisición: $" + str(ciclon.C_adqTotal))
        self.c.drawString(11.6*cm, 245, "Coste Instalación: $" + str(ciclon.C_instTotal))

        # Notas
        self.c.setLineWidth(1)
        self.c.line(3.5*cm, 240, 19.5*cm,240)
        self.c.setLineWidth(0.5)
        self.c.setFont("Helvetica", 10)
        self.c.drawString(3.6*cm, 225, "Notas:")
        self.c.setFont("Helvetica", 8)