Created
May 2, 2010 19:10
-
-
Save stivio00/387364 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- 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