Skip to content

Instantly share code, notes, and snippets.

@stivio00
Created May 2, 2010 19:10
Show Gist options
  • Save stivio00/387364 to your computer and use it in GitHub Desktop.
Save stivio00/387364 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
#Stephen Krol
#Funciona con Python 2.6.x
#Metodo de secante
#Lab 3
c=0 # contador
# Asumiendo que la entrada debe de ser menor que 250 °C
# y tiene que ser menor a su Presion de Sat. porque esta en liq. Sat.
# Primero evaluo h1 h2 h3 para una P=.5 Mpa donde T_sat = 151.33
# y cumple que sea menor que 250 °C.
P1 = .5 #MPa
P2 = .8 #MPa
#Evaluando en la eq. de balance de energia y opteniendo el Error
#E1 y E2 respetivos a su presiones P1 y P2.
E1 = -8.3015
E2 = -1.8825
#Mi pequeña tolerancia;
epsilon = 1e-5 # .00001
while True:
P = P2 - E2*(P2-P1)/(E2-E1)
#El absoluto de la Diferencia entre la iteracion anterior y la actual
tol = abs(P-P2)
#Intercambiando valores para la proxima iteracion
P1 = P2
P2 = P
#Muestra informacion como, numero de iteracion presion en la iter actual
#y su error comparado con la iter anterior
c = c+1
print "[%i]P = %f (Aprox.:%f)"%(c,P,tol)
if(tol<epsilon):break #si tol es menor que epsilon salimos del ciclo,
#Salida final
print "La Presion es "+str(P)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment