Y EJEMPLO DE APLICACION
“PROGRAMA DE DISEÑO DE PRECALENTADORES DE AIRE BASADOS EN CALODUCTOS (DISPREACAL)”
ESCUELA SUPERIOR DE INGENIRIA MECANICA Y ELECTRICA UNIDAD PROFESIONAL ADOLFO LOPEZ MATEOS SECCION DE ESTUDIOS DE POSGRADO E INVESTIGACION
Programa desarrollado por el Ing. Eric Leobardo Ayala Tapia ´DECLARACION DE VARIABLES PUBLICAS´
Option Explicit
Public AtransvA As Double, AtransAletasA As Double, AtransTubA As Double, DensA As Double, AcontG As Double Public AtransCalA As Double, AMaxtransHA As Double, ALibreA As Double, AtotTubA As Double
Public AtotAlG As Double, AtotTubG As Double, AtotCalG As Double, AtotInt As Double Public AtotAlA As Double, Public AEv As Double, AcontA As Double, Acond As Double, I As Integer, AtotCalA As Double
Public FA As Double, FGmas As Double, CalorespG As Double, DensG As Double, FAmas As Double, CalorespA As Double, Public FG As Double, FComb As Double, TAent As Integer, TAsal As Integer, TGent As Integer, TGsal As Integer
Public CoefExcesoAire As Double, TPromA As Integer, TPromG As Integer, TPromV As Integer
Public PrA As Double, CoefCondA As Double, VisA As Double, CoefCondG As Double, VisG As Double Public PrG As Double, CoefCondAlum As Double, CoefEnsanchG As Integer, PasoLRelA As Double
Public VelG As Double, CoefAletG As Double, CoefXG As Double, PasoNRelG As Double, PasoLRelG As Double Public thXG As Double, CqG As Double, CzG As Double, HconvrelG As Double, CoefNG As Double
Public ParamMG As Double, AltAletG As Double, AltRelAletG As Double, MlG As Double, DosMlm1G As Double Public thDosMlm1G As Double, CoefCorrEAletG As Double, EG As Double, hConvG As Double
Public VelA As Double, CoefEnsanchA As Integer, CoefAletA As Double, CoefXA As Double, PasoNRelA As Double, Public thXA As Double, CqA As Double, CzA As Double, HconvrelA As Double, CoefNA As Double
Public ParamMA As Double, AltAletA As Double, AltRelAletA As Double, MlA As Double, DosMlm1A As Double Public thDosMlm1A As Double, CoefCorrEAletA As Double, EA As Double, hConvA As Double
Public Reb As Double, RconvA As Double, RconducAlumA As Double, RconducAcA As Double, RcontA Public Rcond As Double
Public RespCont As Double
Public Tmax As Double, Tmin As Double Public KAl As Double, Kac As Double
Public Qsum As Double, Qcomb As Double, Qaire As Double, Qcombustible As Double Public Ncaldera As Double, q2 As Double, q3 As Double, q4 As Double, q5 As Double Public IaireF As Double, q2N As Double
Public NcalderaN As Double, AumentoNcaldera As Double
´CONTROL DE POSICION DEL CURSOR Y SELECCION EN CAJAS DE TEXTO´
Private Sub AlturaZAire_GotFocus()
AlturaZAire.SelStart = 0
AlturaZAire.SelLength = Len(AlturaZAire.Text) End Sub
Private Sub AlturaZAire_KeyPress(KeyAscii As Integer)
Dim car7 As String * 1 car7 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car7) = 0 Then KeyAscii = 0
End If End Sub
Private Sub AlturaZGases_GotFocus()
AlturaZGases.SelStart = 0
AlturaZGases.SelLength = Len(AlturaZGases) End Sub
Private Sub AlturaZGases_KeyPress(KeyAscii As Integer)
Dim car6 As String * 1 car6 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car6) = 0 Then KeyAscii = 0
End If End Sub
Private Sub Anchura_GotFocus()
Anchura.SelStart = 0
Anchura.SelLength = Len(Anchura) End Sub
Private Sub Anchura_KeyPress(KeyAscii As Integer)
Dim car4 As String * 1 car4 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car4) = 0 Then KeyAscii = 0
End If End Sub
Private Sub Calcular_Click()
´DECLARACION DE VARIABLES PRIVADAS´
Dim CH4 As Double, C2H4 As Double, C2H6 As Double, C3H6 As Double, C3H8 As Double Dim C4H4 As Double, CO As Double, CO2 As Double, H2O As Double, H2S As Double Dim O2 As Double, H2 As Double, N2 As Double, SO2 As Double, dgas As Double
Dim CoefExceso As Double, Sumamk025nCmHn As Double, SumamCmHn As Double, Suma05nCmHn As Double Dim VtAire As Double, Vtgases As Double, VCO2 As Double, VSOe2 As Double, VtN2 As Double
Dim VtH2O As Double, VRO2 As Double, Vgases As Double, VR2 As Double, VH2O As Double Dim PCI As Double, SumaQcmHnCmHn As Double, QH2S As Double, QCO As Double, QH2 As Double Dim QCH4 As Double, QC2H4 As Double, QC2H6 As Double, QC3H6 As Double, QC3H8 As Double
Calculado = TempAAmb.Text
Criterio1 = "Temperatura Like '*" & Calculado & "*'" Entalpías1.Recordset.FindFirst Criterio1
If Entalpías1.Recordset.NoMatch Then
MsgBox "No se encuentra esa temperatura", vbCritical, "TEMPERATURA AMBIENTE" Entalpías1.Recordset.MoveLast
End If
Calculado2 = TempGEsc.Text
Criterio2 = "Temperatura Like '*" & Calculado2 & "*'" Entalpías2.Recordset.FindFirst Criterio2
If Entalpías2.Recordset.NoMatch Then
MsgBox "No se encuentra esa temperatura", vbCritical, "TEMPERATURA DE GASES DE ESCAPE" Entalpías2.Recordset.MoveLast End If ´ASIGNACION DE VARIABLES´ CH4 = 80.2 C2H4 = 2 C2H6 = 4.5 C3H6 = 0.6 C3H8 = 0.3 C4H4 = 3.4 CO = 0 CO2 = 0.5 H2O = 0 H2S = 0 O2 = 0 H2 = 8.4 N2 = 0 SO2 = 0 dgas = 10 CoefExceso = ExcesoAire.Text Iespaire = Entespaire.Text IespRO2 = EntespRO2.Text IespN2 = EntespN2.Text IespH2O = EntespH20.Text IespaireF = Entespaire2 QCH4 = 35880000# QC2H4 = 59060000# QC2H6 = 64360000# QC3H6 = 86000000# QC3H8 = 93180000# QC4H4 = 97000000# QH2S = 23370000# QCO = 12640000# QH2 = 10790000# DextAleta = 0.055 DistCal = 0.004 Ancho = Anchura.Text Profund = Profundidad.Text AlturaG = AlturaZGases.Text PasoAleta = 0.003 EspesorAleta = 0.0005 AlturaA = AlturaZAire.Text Pi = 3.14159265358979
´LLAMADA A BASE DE DATOS´
If TempAAmb.Text >= 110 Then
MsgBox "Introduzca temperatura de aire ambiental menor a 110 °C", vbCritical, "TEMPERATURA AMBIENTE" Exit Sub Else End If TAsal = 100 TGent = TempGEsc.Text If TempGEsc.Text <= 112 Then
MsgBox "Introduzca temperatura de gases de escape mayor a 112 °C", vbCritical, "TEMPERATURA DE GASES DE ESCAPE" Exit Sub Else End If ´ASIGNACION DE VARIABLES´ TGsal = 110 I = 0 FComb = Flujocomb.Text CoefExcesoAire = ExcesoAire.Text EspesorAleta = 0.0005 PasoAleta = 0.003 CoefCondAlum = 220 CoefEnsanchG = 1 CoefEnsanchA = 1
TituloT1.Caption = "A" & " " & TGent & "°C"
´LLAMADA A BASE DE DATOS´ TPromG = (TGent + TGsal) / 2 TPromG = CInt(TPromG)
Label97.Caption = "GASES A" & " " & TPromG & " " & "°C" Calculado3 = TPromG
Criterio3 = "Temperatura Like '*" & Calculado3 & "*'" Tgasesprom.Recordset.FindFirst Criterio3
If Tgasesprom.Recordset.NoMatch Then
MsgBox "No se encuentra esa temperatura", vbCritical, "TEMPERATURA PROMEDIO DE GASES DE ESCAPE" Tgasesprom.Recordset.MoveLast
End If
Calculado5 = TGsal
Criterio5 = "Temperatura Like '*" & Calculado5 & "*'" EntalpíasN.Recordset.FindFirst Criterio5
If EntalpíasN.Recordset.NoMatch Then
MsgBox "No se encuentra esa temperatura", vbCritical, "TEMPERATURA DE GASES DE ESCAPE A LA SALIDA DEL PRECALENTADOR"
EntalpíasN.Recordset.MoveLast End If
TPromV = TPromG - 10 Calculado6 = TPromV
Criterio6 = "Temperatura Like '*" & Calculado6 & "*'" Promediovapor.Recordset.FindFirst Criterio6
If Promediovapor.Recordset.NoMatch Then
MsgBox "No se encuentra esa temperatura", vbCritical, "TEMPERATURA PROMEDIO DE GASES DE ESCAPE" Promediovapor.Recordset.MoveLast
DensL = DensidadL.Text DensV = DensidadV.Text Psat = PresionSat.Text KVap = ConductividadV.Text r = CalorVapor.Text VisVap = ViscosidadV PrVap = PrandtlV.Text Re = 1500 Pcr = PresionSat.Text PrG = PrandtlG.Text CoefCondG = ConductividadG.Text VisG = ViscosidadG.Text DensG = DensidadG.Text CalorespG = CpG.Text RespCont = 0.00025 KAl = 220 Kac = 45 Qcomb = 0 Qaire = 0 Qcombustible = 0 q3 = 2.3 q5 = 3 IespRO2N = EntespRO2N.Text IespN2N = EntespN2N.Text IespH2ON = EntespH20N.Text IespaireF = Entespaire2
¨RUTINA DE CALCULO DE LOS VOLUMENES DE LOS FLUJOS´ Sumamk025nCmHn = ((1 + 0.25 * 4) * CH4 + (2 + 0.25 * 4) * C2H4 + (2 + 0.25 * 6) * C2H6 + (3 + 0.25 * 6) * C3H6 + (3 + 0.25 * 8) * C3H8 + (4 + 0.25 * 4) * C4H4) VtAire = 0.0476 * (0.5 * CO + 0.5 * H2 + 1.5 * H2S + Sumamk025nCmHn - O2 ^ 2) VoltA.Text = Format(VtAire, "##0.000") SumamCmHn = CH4 + 2 * C2H4 + 2 * C2H6 + 3 * C3H6 + 3 * C3H8 + 4 * C4H4
VRO2 = 0.01 * (CO2 + CO + H2S + SumamCmHn)
VtN2 = 0.79 * VtAire + 0.01 * N2
Suma05nCmHn = 0.5 * 4 * CH4 + 0.5 * 4 * C2H4 + 0.5 * 6 * C2H6 + 0.5 * 6 * C3H6 + 0.5 * 8 * C3H8 + 0.5 * 4 * C4H4
VtH2O = 0.01 * (H2S + H2 + Suma05nCmHn + 0.124 * dgas) + 0.0161 * VtAire
VR2 = VtN2 + (CoefExceso - 1) * VtAire
VH2O = VtH2O + 0.0161 * (CoefExceso - 1) * VtAire
Vtgases = VRO2 + VtN2 + VtH2O
Vgases = VRO2 + VR2 + VH2O VolG.Text = Format(Vgases, "##0.000") ¨RUTINA DE CALCULO DE LAS DIMENSIONES DEL PRECALENTADOR DE AIRE´
RextAleta = DextAleta / 2
PasoN = 2 * RextAleta + DistCal
PasoL = ((PasoN * 1000) ^ 2 - ((PasoN * 1000) / 2) ^ 2) ^ (1 / 2)
PasoLR = PasoL / 1000
NCalInp = Ancho / PasoN Ncaloductoinpar.Text = Format(NCalInp, "#0")
Ncalpar = NCalInp - 1 Ncaloductopar.Text = Format(Ncalpar, "#0")
Nhilerapar.Text = Format(Nhilpar, "#0")
Ncal = NCalInp * NHilInp + Ncalpar * Nhilpar Ncaloducto.Text = Format(Ncal, "#00")
NAletasSELG = AlturaG / PasoAleta
EspacioSeIG = ((AlturaG - ((((CDbl(NAletasSELG) - 2)) * PasoAleta) + EspesorAleta))) / 2
NAletasG = NAletasSELG - 1
NAletasSELA = AlturaA / PasoAleta
EspacioSeIA = ((AlturaA - ((((CDbl(NAletasSELA) - 2)) * PasoAleta) + EspesorAleta))) / 2
NAletasA = NAletasSELA - 1
AtransG = Ancho * AlturaG
AtransAletasG = EspesorAleta * 2 * NAletasG * (DextAleta - DintAleta) / 2
AtransTuboG = DintAleta * AlturaG
AtransCalG = AtransAletasG + AtransTuboG
AMaxtransHG = AtransCalG * NCalInp
ALibreG = AtransG - AMaxtransHG Alibregases.Text = Format(ALibreG, "#0.000")
AtransvA = Ancho * AlturaA
AtransAletasA = EspesorAleta * 2 * NAletasA * (DextAleta - DintAleta) / 2
AtransTubA = DintAleta * AlturaA
AtransCalA = AtransAletasA + AtransTubA
AMaxtransHA = AtransCalA * NCalInp
ALibreA = AtransvA - AMaxtransHA Alibreaire.Text = Format(ALibreA, "#0.000" AtotAlG = ((Pi * (DextAleta ^ 2 - DintAleta ^ 2)) / 2 + Pi * DextAleta * EspesorAleta) * NAletasG * Ncal AtotalaletasG.Text = Format(AtotAlG, "#0.000")
AtotTubG = (Pi * DintAleta * EspacioAletas * (NAletasG - 1) + 2 * Pi * DintAleta * EspacioSeIG) * Ncal AtotaltuboG.Text = Format(AtotTubG, "#0.000")
AtotCalG = AtotAlG + AtotTubG AtotalcalG.Text = Format(AtotCalG, "#0.000")
AtotAlA = ((Pi * (DextAleta ^ 2 - DintAleta ^ 2)) / 2 + Pi * DextAleta * EspesorAleta) * NAletasA * Ncal AtotalaletasA.Text = Format(AtotAlA, "#0.000")
AtotTubA = (Pi * DintAleta * EspacioAletas * (NAletasA - 1) + 2 * Pi * DintAleta * EspacioSeIA) * Ncal AtotaltuboA.Text = Format(AtotTubA, "#0.000")
AtotCalA = AtotAlA + AtotTubA AtotalcalA.Text = Format(AtotCalA, "#0.000")
AtotInt = AtotCalG + AtotCalA AtotalPA.Text = Format(AtotInt, "#0.000")
AcontG = Pi * Dcontacto * AlturaG * Ncal AcontactoG.Text = Format(AcontG, "#0.000")
AEv = Pi * DIntTerm * AlturaG * Ncal
AcontA = Pi * Dcontacto * AlturaA * Ncal AcontactoA.Text = Format(AcontA, "#0.000")
Acond = Pi * DIntTerm * AlturaA * Ncal ¨RUTINA DE CALCULO DE LAS ENTALPIAS DE LOS FLUJOS´
IaireF = VtAire * IespaireF
Itaire = VtAire * Iespaire
Itgases = VRO2 * IespRO2 + VtN2 * IespN2 + VtH2O * IespH2O
Iexcaire = (CoefExceso - 1) * Itaire
Igases = Itgases + Iexcaire
ItaireN = VtAire * IespaireN
ItgasesN = VRO2 * IespRO2N + VtN2 * IespN2N + VtH2O * IespH2ON
IexcaireN = (CoefExceso - 1) * ItaireN
IgasesN = ItgasesN + IexcaireN
SumaQcmHnCmHn = (CH4 * QCH4 + C2H4 * QC2H4 + C2H6 * QC2H6 + C3H6 * QC3H6 + C3H8 * QC3H8 + C4H4 * QC4H4)
FA = FComb * VtAire * CoefExcesoAire FG = FComb * Vgases
FGmas = (FComb * Vgases * DensG * (TPromG + 273)) / 273 Flujoq = FGmas * CalorespG * (TGent - TGsal)
QG.Text = Format(Flujoq, "#00.00E+00") For I = 0 To 7
TPromA = (TAent + TAsal) / 2 TPromA = CInt(TPromA) Calculado4 = TPromA
Criterio4 = "Temperatura Like '*" & Calculado4 & "*'" Taireprom.Recordset.FindFirst Criterio4
If Taireprom.Recordset.NoMatch Then
MsgBox ("No se encuentra esa temperatura") Taireprom.Recordset.MoveLast End If PrA = PrandtlA.Text CoefCondA = ConductividadA.Text VisA = ViscosidadA.Text DensA = DensidadA.Text CalorespA = CpA.Text
FAmas = (FComb * VtAire * CoefExcesoAire * DensA * (TPromA + 273)) / 273 TAsal = TAent + (FGmas * CalorespG * (TGent - TGsal)) / (FAmas * CalorespA) I = I + 1
Next I
TAsalida.Text = TAsal
Label98.Caption = "AIRE A" & " " & TPromA & " " & "°C"
¨RUTINA DE CALCULO DE LOS COEFICIENTES DE CONVECCION EN AMBAS ZONAS EN LA PARTE EXTERIOR´ ´ZONA DE GASES´
VelG = FG * (TPromG + 273) / (ALibreG * 273) VelocidadG.Text = Format(VelG, "##0.000") PasoNRelG = PasoN / DintAleta
PasoLRelG = PasoLR / DintAleta
CoefAletG = (((DextAleta ^ 2) - (DintAleta ^ 2) + (2 * DextAleta * EspesorAleta)) / (2 * DintAleta * PasoAleta)) + 1 - (EspesorAleta / PasoAleta)
CoefXG = (PasoNRelG / PasoLRelG) - (1.26 / CoefAletG) - 2 XG = Format(CoefXG, "##0.000")
thXG = ((Exp(2 * CoefXG)) - 1) / ((Exp(2 * CoefXG)) + 1) CoefNG = 0.7 + (0.08 * thXG) + (0.005 * CoefAletG) CqG = (1.36 - thXG) * ((1.1 / (CoefAletG + 8)) - 0.014) CCqG = Format(CqG, "##0.000")
If NHil >= 2 And NHil < 8 Then CzG = 3.5 * (NHil ^ 0.03) - 2.72
ElseIf (PasoNRelG / PasoLRelG) < 2 And NHil < 8 Then CzG = 3.15 * (NHil ^ 0.05) - 2.5
Else CzG = 1 End If
CCzG = Format(CzG, "##0.000")
HconvrelG = 1.13 * CzG * CqG * (CoefCondG / DintAleta) * ((VelG * DintAleta / (VisG)) ^ CoefNG) * (PrG ^ 0.33) HconvrelativoG.Text = Format(HconvrelG, "#00.000")
ParamMG = ((2 * HconvrelG) / (EspesorAleta * CoefCondAlum)) ^ (1 / 2) AltAletG = (DextAleta - DintAleta) / 2
CorrecciónG.Text = Format(CoefCorrEAletG, "##0.000")
EG = (((Exp(2 * MlG)) - 1) / ((Exp(2 * MlG)) + 1)) / MlG EficienciaaletaG.Text = Format(EG, "##0.000")
hConvG = ((AtotAlG / AtotCalG) * EG * CoefEnsanchG * CoefCorrEAletG + (AtotTubG / AtotCalG)) * HconvrelG HG.Text = Format(hConvG, "#00.000")
´ZONA DE AIRE´
VelA = FA * (TPromA + 273) / (ALibreA * 273) VelocidadA.Text = Format(VelA, "##0.000")
CoefAletA = (((DextAleta ^ 2) - (DintAleta ^ 2) + (2 * DextAleta * EspesorAleta)) / (2 * DintAleta * PasoAleta)) + 1 - (EspesorAleta / PasoAleta)
PasoNRelA = PasoN / DintAleta
PasoLRelA = PasoLR / DintAleta
CoefXA = (PasoNRelA / PasoLRelA) - (1.26 / CoefAletA) - 2 XA.Text = Format(CoefXA, "##0.000")
thXA = ((Exp(2 * CoefXA)) - 1) / ((Exp(2 * CoefXA)) + 1)
CoefNA = 0.7 + (0.08 * thXA) + (0.005 * CoefAletA)
CqA = (1.36 - thXA) * ((1.1 / (CoefAletA + 8)) - 0.014) CCqA.Text = Format(CqA, "##0.000")
If NHil >= 2 And NHil < 8 Then CzA = 3.5 * (NHil ^ 0.03) - 2.72 ElseIf (PasoNRelA / PasoLRelA) < 2 And NHil < 8 Then CzA = 3.15 * (NHil ^ 0.05) - 2.5 Else CzA = 1 End If CCzA.Text = Format(CzA, "##0.000")
HconvrelA = 1.13 * CzA * CqA * (CoefCondA / DintAleta) * ((VelA * DintAleta / VisA) ^ CoefNA) * (PrA ^ 0.33) HconvrelativoA.Text = Format(HconvrelA, "#00.000")
ParamMA = ((2 * HconvrelA) / (EspesorAleta * CoefCondAlum)) ^ (1 / 2)
AltAletA = (DextAleta - DintAleta) / 2
AltRelAletA = AltAletA * (1 + (0.191 + (0.054 * (DextAleta / DintAleta))) * (Log(DextAleta / DintAleta)))
MlA = ParamMA * AltRelAletA
DosMlm1A = (2 * MlA) - 1
thDosMlm1A = ((Exp(2 * DosMlm1A)) - 1) / ((Exp(2 * DosMlm1A)) + 1)
CoefCorrEAletA = (1 - (0.016 * ((DextAleta / DintAleta) - 1)) * (1 + thDosMlm1A)) CorrecciónA.Text = Format(CoefCorrEAletA, "##0.000")
EA = (((Exp(2 * MlA)) - 1) / ((Exp(2 * MlA)) + 1)) / MlA EficienciaaletaA.Text = Format(EA, "##0.000")
hConvA = ((AtotAlA / AtotCalA) * EA * CoefEnsanchA * CoefCorrEAletA + (AtotTubA / AtotCalA)) * HconvrelA HA.Text = Format(hConvA, "#00.000") ¨RUTINA DE CALCULO DE LOS COEFICIENTES DE CONVECCION EN EBULLICIÓN Y CONDENSACION´
Coefl = (TensSup / (g * (DensL - DensV))) ^ 0.5
kp = Psat / ((TensSup * g * (DensL - DensV)) ^ 0.5)
heb = 0.0123 * (KVap / Coefl) * (((Flujoq / (r * DensV * VisVap)) * Coefl) ^ (0.5)) * (PrVap ^ (0.35)) * (kp ^ (0.54)) * ((DIntTerm / Coefl) ^ (0.17)) Cebullición.Text = Format(heb, "00.00E+00")
NuLam = 0.925 * Re ^ (-0.33)
NuTurb = 0.021 * Re ^ (0.33)
f = 1.15 / (1 - 0.63 * ((Psat / Pcr) ^ (3.3))) NuProm = (((NuLam * f) ^ 2) + (NuTurb ^ 2)) ^ 0.5
hcond = (NuProm * KVap) / (((VisVap ^ 2) / (g * (1 - (DensV / DensL)))) ^ 0.33) Ccondensación.Text = Format(hcond, "00.00E+00")
DTML.Text = Format(TML, "#00.00") RconvG = 1 / (hConvG * AtotCalG)
RCG.Text = Format(RconvG, "0.00E+00") RconvA = 1 / (hConvA * AtotCalA) RCA.Text = Format(RconvA, "0.00E+00") Reb = 1 / (heb * AEv)
Rebullición.Text = Format(Reb, "0.00E+00") Rcond = 1 / (hcond * Acond)
Rcondensación.Text = Format(Rcond, "0.00E+00") RcontG = RespCont / AcontG
RcontactoG.Text = Format(RcontG, "0.00E+00") RcontA = RespCont / AcontA
RcontactoA.Text = Format(RcontA, "0.00E+00")
RconducAcG = ((Dcontacto - DIntTerm) / 2) / (Kac * AcontG) RcondAcG.Text = Format(RconducAcG, "0.00E+00") RconducAcA = ((Dcontacto - DIntTerm) / 2) / (Kac * AcontA) RcondAcA.Text = Format(RconducAcA, "0.00E+00")
RconducAlumG = ((DintAleta - Dcontacto) / 2) / (KAl * AcontG) RcondAlG.Text = Format(RconducAlumG, "0.00E+00") RconducAlumA = ((DintAleta - Dcontacto) / 2) / (KAl * AcontA) RcondAlA.Text = Format(RconducAlumA, "0.00E+00")
RTot = RconvG + RconvA + Reb + Rcond + RcontA + RcontG + RconducAcA + RconducAcG + RconducAlumA + RconducAlumG
RTtot.Text = Format(RTot, "0.00E+00") Q = TML / RTot
Qtotal.Text = Format(Q, "#00.00E+00")
¨RUTINA DE CALCULO DE LA EFICIENCIA DE LA CALDERA´ Qsum = PCI + Qcomb + Qaire + Qcombustible
q2 = ((Igases - (CoefExceso * IaireF)) / (Qsum)) * 100 PérdidasSP.Text = Format(q2, "##0.00") Ncaldera = 100 - q2 - q3 - q5
EficienciaSP.Text = Format(Ncaldera, "##0.00") q2N = ((IgasesN - (CoefExceso * IaireF)) / (Qsum)) * 100 PérdidasCP.Text = Format(q2N, "##0.00")
NcalderaN = 100 - q2N - q3 - q5
EficienciaCP.Text = Format(NcalderaN, "##0.00") AumentoNcaldera = NcalderaN - Ncaldera
IncrementoEFic.Text = Format(AumentoNcaldera, "##0.00") End Sub
´CONTROL DE LA INTERFAZ´
Private Sub ExcesoAire_GotFocus()
ExcesoAire.SelStart = 0
ExcesoAire.SelLength = Len(ExcesoAire.Text) End Sub
Private Sub ExcesoAire_KeyPress(KeyAscii As Integer)
Dim car3 As String * 1 car3 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car3) = 0 Then KeyAscii = 0
End If End Sub
car8 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car8) = 0 Then KeyAscii = 0
End If End Sub
Private Sub Form_Load()
ChDir App.Path TempAAmb.Text = "34" ExcesoAire.Text = "1.185" TempGEsc.Text = "200" Anchura.Text = "0.712" Profundidad.Text = "0.675" AlturaZGases.Text = "0.600" AlturaZAire.Text = "0.550" Flujocomb.Text = "0.0839" Label97.Caption = "GASES A 155 °C" Label98.Caption = "AIRE A 94 °C" TempAAmb.SelStart = Len(TempAAmb.Text) End Sub
Private Sub Profundidad_GotFocus()
Profundidad.SelStart = 0
Profundidad.SelLength = Len(Profundidad.Text) End Sub
Private Sub Profundidad_KeyPress(KeyAscii As Integer)
Dim car5 As String * 1 car5 = Chr(KeyAscii)
If InStr("+-0123456789.," & Chr(8), car5) = 0 Then KeyAscii = 0
End If End Sub
Private Sub Salir_Click()
Unload Calculocompleto End
End Sub
Private Sub TempAAmb_GotFocus()
TempAAmb.SelStart = 0
TempAAmb.SelLength = Len(TempAAmb.Text) End Sub
Private Sub TempAAmb_KeyPress(KeyAscii As Integer)
Dim car As String * 1 car = Chr(KeyAscii)
If InStr("+-0123456789," & Chr(8), car) = 0 Then KeyAscii = 0
End If End Sub
Private Sub TempGEsc_GotFocus()
TempGEsc.SelStart = 0
TempGEsc.SelLength = Len(TempGEsc.Text) End Sub
Private Sub TempGEsc_KeyPress(KeyAscii As Integer)
Dim car2 As String * 1 car2 = Chr(KeyAscii)
If InStr("+-0123456789," & Chr(8), car2) = 0 Then KeyAscii = 0
End If End Sub
DESARROLLO DE INTERCAMBIADORES DE CALOR EN BASE A TERMOSIFONES PARA