You are on page 1of 1

# -*- coding: utf-8 -*-

"""
Created on Wed Jun 12 14:53:56 2019

@author: Culik
"""

import numpy as np
from scipy.interpolate import interp1d

hsl = 333.55
T = np.array([.01 , 10 , 20 , 25 , 30 , 40])+273.15
CP = [4.2199 , 4.1955 , 4.1844 , 4.1826 , 4.1801, 4.1796]
fCp = interp1d(T,CP)

def Tf(m1,m2,T1):
"""m1: massa de agua
m2: massa de gelo
T1: Temperatura da agua"""
err = 10
Tf = T1
T2 = 273.15+.01
Tm1 = (Tf+T1)/2.
Tm2 = (Tf+T2)/2.
Cp1 = fCp(Tm1)
Cp2 = fCp(Tm2)
print "%.4f %.4f %.4f %.4f %.4f"%(Tm1, Tm2, Tf, Cp1, Cp2), err
while err>1e-6:
Tm1 = (Tf+T1)/2.
Tm2 = (Tf+T2)/2.
if Tm2<273.15+.01:
Tm2 = 273.15+.01
Cp1 = fCp(Tm1)
Cp2 = fCp(Tm2)
T = (m1*Cp1*T1 - m2*hsl + m2*Cp2*T2) / (m1*Cp1 + m2*Cp2)
err = np.sqrt((Tf-T)**2)
Tf=T
print "%.4f %.4f %.4f %.4f %.4f"%(Tm1, Tm2, Tf, Cp1, Cp2), err
return Tf-273.15

def Q(m,Ti,Tf):
"""m: massa de agua
Ti: Temperatura inicial da agua
Tf: Temperatura final da agua"""
Tm = (Tf+Ti)/2.
Cp = fCp(Tm)
Q = m*Cp*(Tf-Ti)
return Q

You might also like