Aula 3 - Variações do Ciclo Padrão de Compressão de Vapor

Na aula anterior, falamos do Ciclo Padrão de Compressão de Vapor para Sistemas de Refrigeração. Este ciclo é mais realista que o Ciclo de Carnot ao modelar sistemas reais e considerar como de fato os componentes funcionam, especialmente em que região do domo de saturação eles trabalham.

Porém, o ciclo visto ainda é muito ideal, como pode ser visto na figura abaixo (com código para gerar o ciclo!):

# adaptado de http://pyromat.org/doc_howto.html#cycle_rankine
from CoolProp.CoolProp import PropsSI
import numpy as np
import matplotlib.pyplot as plt

plt.rc('font', size=14) 

# Vapor compression cycle analysis

# Use different color codes to change the color of the plots
color = 'r'    # Red
#color = 'b'   # Blue
# This is a True/False flag to deactivate the plot text
show_text = True
# This is a True/False flag to allow over-plotting of previous results
clear_plots = True

Tevap = 0 + 273
Tcond = 40 + 273
fluid = "R717"

h1 = PropsSI("H","T",Tevap,"Q",1,fluid)
s1 = PropsSI("S","T",Tevap,"Q",1,fluid)
Pevap = PropsSI("P","T",Tevap,"Q",1,fluid)
P1 = Pevap

Pcond = PropsSI("P","T",Tcond,"Q",1,fluid)

P2 = Pcond
s2 = s1
h2 = PropsSI("H","P",P2,"S",s2,fluid)

P3 = Pcond
h3 = PropsSI("H","T",Tcond,"Q",0,fluid)

P4 = Pevap
h4 = h3

# All the states are known, now.
#
qL = h1-h4
qH = h2-h3
wcomp = h2-h1
COP = qL/wcomp


# Generate some diagrams
# Let figure 1 be a P-h diagram
f1 = plt.figure(1,)
if clear_plots:
    plt.clf()
ax1 = f1.add_subplot(111)
ax1.set_xlabel('Enthalpy, h (kJ/kg)')
ax1.set_ylabel('Pressure, P (bar)')
ax1.set_title('Vapor compression Cycle P-h Diagram')


# Generate the dome on both plots
Tt = PropsSI("TTRIPLE",fluid)
Pt = PropsSI("PTRIPLE",fluid)

Tc = PropsSI("TCRIT",fluid)
Pc = PropsSI("PCRIT",fluid)

T = np.arange(Tt,Tc,2.5)

hL = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",0,fluid) for Ti in T
])
hV = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",1,fluid) for Ti in T
])
P = 1e-5*np.array([
  PropsSI("P","T",Ti,"Q",0,fluid) for Ti in T
])

ax1.plot(hL,P,'k')
ax1.plot(hV,P,'k')

# Process 1-2
p = np.linspace(P1,P2)
h = np.array([PropsSI("H","P",Pi,"S",s1,fluid) for Pi in p])
ax1.plot(h*1e-3,1e-5*p,color,linewidth=1.5)

# Process 2-3
ax1.plot(1e-3*np.array([h2,h3]),1e-5*np.array([P2,P3]),color,linewidth=1.5)

# Process 3-4
ax1.plot(1e-3*np.array([h3,h4]),1e-5*np.array([P3,P4]),color,linewidth=1.5)

# Process 4-5
ax1.plot(1e-3*np.array([h4,h1]),1e-5*np.array([P4,P1]),color,linewidth=1.5)

ax1.grid('on')
ax1.set_yscale('log')

ax1.set_ylim(bottom = 1)
## (1, 157.92471879842554)
ax1.set_xlim(left = 0)
## (0.0, 1882.076035779616)
if show_text:
    ax1.text(1.03e-3*h1,0.99*1e-5*P1,"1")
    ax1.text(1.01e-3*h2,0.99*1e-5*P2,"2")
    ax1.text(0.90e-3*h3,0.99*1e-5*P3,"3")
    ax1.text(0.90e-3*h4,0.99*1e-5*P4,"4")

plt.show()
#plt.show(block=False)

Nesta aula, vamos ver variações do Ciclo Padrão que tornam ele mais realista.

Vazão de refrigerante

O primeiro passo para trazer mais realismo é considerar como o refrigerante escoa pelo sistema. Na nossa análise de componentes, vamos começar pela análise do compressor, que é responsável por fornecer a vazão para o fluido refrigerante; então vamos examinar a seguinte questão: se mudamos o ciclo a ser seguido pelo fluido, mas mantemos o mesmo compressor, o que acontece com a vazão de fluido?

Utilizando uma Análise de Primeira Lei, a capacidade de refrigeração e a potência de compressão são dadas por (respectivamente):

$$ \dot{Q}_{\mathrm{L}} = \dot{m}(h_1-h_4) $$

$$ \dot{W}_{\mathrm{ent}} = \dot{m}(h_2 - h_1) $$

Acontece que os compressores não fornecem uma vazão mássica \(\dot{m}\), e sim uma volumétrica (eles deslocam um determinado volume de fluido). Para isso, precisamos de um modelo matemático que permita calcular essa vazão a partir de parâmetros geométricos e operacionais do compressor.

Modelagem de compressores alternativos

Vamos primeiramente assumir um compressor ideal, sem volume morto. A vazão mássica real pode ser calculada como:

$$ \dot{m} = \frac{\dot{\mathcal{V}} _{\mathrm{D}}}{v _1} $$

onde o numerador é a taxa de deslocamento do compressor. Para um dado compressor ideal, contendo \(z\) cilindros, funcionando numa determinada rotação fixa \(n\) (que vem da rede elétrica, geralmente), a taxa de deslocamento é:

$$ \dot{\mathcal{V}} _{\mathrm{D}} = {\mathcal{V}} _{\mathrm{D}} n z $$

onde \(\mathcal{V} _{\mathrm{D}}\) é a cilindrada ou volume deslocado do motor. Observe em um datasheet de compressor que todos esses parâmetros são fixos na construção do compressor (com alguns detalhes que vamos vamos ver mais para a frente, como a variação da rotação ou a desativação de cilindros). Logo, é a taxa de deslocamento que é constante (para um dado compressor) e não depende do ciclo (i.e. em que temperaturas ele vai trabalhar); a vazão mássica vai depender do volume específico na sucção - ou, mais genericamente, do ciclo a ser seguido.

Vamos usar os dados do datasheet linkado acima e plotar a vazão mássica mostrada no catálogo (i.e. dados experimentais) com o modelo ideal:

import matplotlib.pyplot as plt
from CoolProp.CoolProp import PropsSI
import numpy as np
import pandas as pd

df = pd.read_csv("reciprocating.csv",delimiter=',',skiprows=5)

plt.rc('font', size=12)

Vd = 13.54e-6 # in m3
n = 60 #Hz
z = 1
fluid = 'R600a'
Treturn = 32.2 + 273

Vd_dot = Vd * n * z # m3/s
df = df[df["Condensing Temperature [C]"] == 35]

T_evap = df["Evaporating Temperature [C]"].values
m_dot_actual = df["Gas Flow Rate [kg/h]"].values

# we take the inverse of the density 
# of the vapor at the evaporing *pressure*
# and the return gas temperature
v_in = np.array([(1.0/PropsSI("D","T",Treturn,"P",PropsSI("P","T",Te+273,"Q",1,fluid),fluid)) for Te in T_evap])
m_dot_ideal = 3600*Vd_dot/v_in

fig, ax = plt.subplots()
ax.plot(T_evap,m_dot_ideal,'k-',label="Ideal")
ax.plot(T_evap,m_dot_actual,'ko',label="Real")
ax.set_xlabel("Temperatura de evaporação [ºC]")
ax.set_ylabel("Vazão mássica de gás [kg/h]")
ax.legend()
ax.grid()
plt.show()

Claramente, a vazão real de um compressor alternativo não pode ser explicada com base neste modelo ideal!

O que está faltando é a eficiência volumétrica:

$$ \eta_{\mathrm{v}} = \frac{\dot{m}}{\frac{\dot{\mathcal{V}} _{\mathrm{D}}}{v _{\mathrm{in}}}} $$

O modelo mais básico de eficiência volumétrica inclui apenas a expansão do volume morto, representada na figura abaixo:

Fonte: [2]
Fonte: [2]

Suponha que a pressão de descarga está fixa em \(p_d\). O compressor tem um volume morto \(V_c\), e a sua cilindrada é \(V_3-V_c\). Observe que, à medida que a pressão de aspiração cai ($p_1, p_2, p_3$), o gás contido no volume morto precisa se expandir mais e mais até a válvula de aspiração abrir (o que ocorre quando a pressão interna se iguala à pressão de aspiração, ignorando perdas de carga). Ou seja, uma fração maior da cilindrada fica ocupada pela simples expansão do volume morto, sem que fluido novo de fato entre e seja movimentado pelo cilindro.

Pode-se mostrar que a eficiência volumétrica devido a apenas esse efeito é dada por:

$$ \eta_{\mathrm{v,VM}} = 1 + \varepsilon\left(1-\frac{v _{\mathrm{asp}}}{v _{\mathrm{desc}}}\right) $$

onde \(\varepsilon\) é a razão entre o volume morto e a cilindrada, “asp” é o estado de aspiração e “desc” de descarga.

Variação das métricas de refrigeração com a vazão do compressor

Uma análise bastante útil que se faz é, ao considerar possíveis variações do ciclo de refrigeração, verificar o que acontece quando o mesmo compressor é usado com diferentes trocadores de calor, isto é, quando as condições de evaporação e condensação mudam.

A capacidade de refrigeração mantida pelo compressor é

$$ \dot{Q} _{\mathrm{L}} = \eta _{\mathrm{v}}\dot{\mathcal{V}} _{\mathrm{D}}\frac{(h _1-h _4)}{v _1} $$

onde o numerador da fração é chamado de efeito refrigerante específico, e a fração como um todo é chamado de efeito refrigerante volúmico.

Para a potência:

$$ \dot{W} _{\mathrm{ent}} = \eta _{\mathrm{v}} \dot{\mathcal{V}} _{\mathrm{D}}\frac{(h _2-h _1)}{v _1} $$

onde o numerador é o trabalho de compressão específico, a fração é o trabalho de compressão volúmico.

Nos códigos abaixo vemos como as métricas variam conforme a temperatura de evaporação varia, mantendo a temperatura de condensação fixa, e usando o Ciclo Padrão ideal (sem superaquecimento ou subresfriamento, compressão ideal).

import matplotlib.pyplot as plt
import numpy as np
from CoolProp.CoolProp import PropsSI

fluid = 'R600a'
Vd = 13.54e-6 # in m3
n = 60 #Hz
z = 1


Vd_dot = Vd * n * z # m3/s
fig30, ax30 = plt.subplots()

Tcond = 35
Tevap_list = np.linspace(-35,35)
etav_list = []
mdot_list = []

Pcond = PropsSI("P","T",Tcond+273,"Q",1,fluid)
h4 = PropsSI("H","P",Pcond,"Q",0,fluid)
epsilon = 0.01

for Te in Tevap_list:
  v1 = 1.0/PropsSI("D","T",Te+273,"Q",1,fluid)
  s1 = PropsSI("S","T",Te+273,"Q",1,fluid)
  v2 = 1.0/PropsSI("D","P",Pcond,"S",s1,fluid)
  h1 = PropsSI("H","T",Te+273,"Q",1,fluid)
  etav = 1 + epsilon*(1-v1/v2)
  mdot = etav * Vd_dot/v1
  qL = (h1-h4)*1e-3
  mdot_list.append(3600*mdot)
  etav_list.append(100*etav)

ax30.plot(Tevap_list,mdot_list,'ko-',label="Vazão")
ax30.set_xlabel("Temperatura de evaporação [ºC]")
ax30.set_ylabel("Vazão mássica [kg/h]")

ax40 = ax30.twinx()
ax40.plot(Tevap_list,etav_list,'kx--',label="Eficiência volumétrica")
ax40.set_ylabel("Eficiência volumétrica [%]")
ax40.grid()
fig30.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
from CoolProp.CoolProp import PropsSI

fluid = 'R600a'
Vd = 13.54e-6 # in m3
n = 60 #Hz
z = 1


Vd_dot = Vd * n * z # m3/s
fig30, ax30 = plt.subplots()

Tcond = 35
Tevap_list = np.linspace(-35,35)
qL_list = []
QL_list = []

Pcond = PropsSI("P","T",Tcond+273,"Q",1,fluid)
h4 = PropsSI("H","P",Pcond,"Q",0,fluid)
epsilon = 0.01

for Te in Tevap_list:
  v1 = 1.0/PropsSI("D","T",Te+273,"Q",1,fluid)
  s1 = PropsSI("S","T",Te+273,"Q",1,fluid)
  v2 = 1.0/PropsSI("D","P",Pcond,"S",s1,fluid)
  h1 = PropsSI("H","T",Te+273,"Q",1,fluid)
  etav = 1 + epsilon*(1-v1/v2)
  mdot = etav * Vd_dot/v1
  qL = (h1-h4)*1e-3
  qL_list.append(qL)
  QL_list.append(mdot*qL)
  
ax30.plot(Tevap_list,qL_list,'ko-',label="ERE")
ax30.set_xlabel("Temperatura de evaporação [ºC]")
ax30.set_ylabel("Efeito refrigerante específico [kJ/kg]")

ax40 = ax30.twinx()
ax40.plot(Tevap_list,QL_list,'kx--',label="Cap.")
ax40.set_ylabel("Capacidade de refrigeração [kW]")
ax40.grid()
fig30.legend()
plt.show()

fig30, ax30 = plt.subplots()

Tcond = 35
Tevap_list = np.linspace(-35,35)
w_list = []
Wcomp_list = []

Pcond = PropsSI("P","T",Tcond+273,"Q",1,fluid)
h4 = PropsSI("H","P",Pcond,"Q",0,fluid)
epsilon = 0.01

for Te in Tevap_list:
  v1 = 1.0/PropsSI("D","T",Te+273,"Q",1,fluid)
  s1 = PropsSI("S","T",Te+273,"Q",1,fluid)
  v2 = 1.0/PropsSI("D","P",Pcond,"S",s1,fluid)
  h1 = PropsSI("H","T",Te+273,"Q",1,fluid)
  h2 = PropsSI("H","P",Pcond,"S",s1,fluid)
  
  etav = 1 + epsilon*(1-v1/v2)
  mdot = etav * Vd_dot/v1
  w = (h2-h1)*1e-3
  w_list.append(w)
  Wcomp_list.append(mdot*w)
  
ax30.plot(Tevap_list,w_list,'ko-',label="TCE")
ax30.set_xlabel("Temperatura de evaporação [ºC]")
ax30.set_ylabel("Trabalho de compressão específico [kJ/kg]")

ax40 = ax30.twinx()
ax40.plot(Tevap_list,Wcomp_list,'kx--',label="Pot.")
ax40.set_ylabel("Potência [kW]")
ax40.grid()
fig30.legend()
plt.show()

Sugestões de outras análises:

  1. Como o COP varia com a mudança nas condições de operação?
  2. Inverta a análise: mantenha a temperatura de evaporação fixa e varie a temperatura de condensação. O que acontece?

Modificações do Ciclo Padrão

O conhecimento de que o compressor, com suas características internas, dirige a vazão e portanto as métricas de refrigeração, permite-nos analisar como melhorar essas métricas modificando o ciclo, mas mantendo o mesmo compressor.

Num diagrama \(P-h\), o efeito refrigerante e o trabalho de compressão podem ser obtidas pelo “comprimento” horizontal desse processo.

Vamos discutir como melhorar esse ciclo, i.e. aumentar a capacidade e o COP (considerando o compressor como fixo). Como restrição, não podemos mexer nas pressões de evaporação e condensação, pois elas são dependentes das condições ambientes, como vamos ter oportunidade de ver em aulas futuras.

Baseado nisso, partindo de um ciclo assim, o que vocês fariam para aumentar a capacidade. O que vocês fariam para aumentar o COP?

Basicamente, encontramos duas modificações básicas que tendem a melhorar o Ciclo Padrão:

Subresfriamento na saída do condensador

Pode ser feito superdimensionando o condensador, aumentando a área para continuar resfriando. Nesse caso, qual o limite inferior dessa temperatura?

# adaptado de http://pyromat.org/doc_howto.html#cycle_rankine
from CoolProp.CoolProp import PropsSI
import numpy as np
import matplotlib.pyplot as plt

plt.rc('font', size=14) 

# Vapor compression cycle analysis

# Use different color codes to change the color of the plots
color = 'r'    # Red
#color = 'b'   # Blue
# This is a True/False flag to deactivate the plot text
show_text = True
# This is a True/False flag to allow over-plotting of previous results
clear_plots = True

Tevap = 0 + 273
Tcond = 40 + 273
dTsub = 10
fluid = "R717"

h1 = PropsSI("H","T",Tevap,"Q",1,fluid)
s1 = PropsSI("S","T",Tevap,"Q",1,fluid)
Pevap = PropsSI("P","T",Tevap,"Q",1,fluid)
P1 = Pevap

Pcond = PropsSI("P","T",Tcond,"Q",1,fluid)

P2 = Pcond
s2 = s1
h2 = PropsSI("H","P",P2,"S",s2,fluid)

P3 = Pcond
h3 = PropsSI("H","T",Tcond-dTsub,"Q",0,fluid)

P4 = Pevap
h4 = h3

# All the states are known, now.
#
qL = h1-h4
qH = h2-h3
wcomp = h2-h1
COP = qL/wcomp


# Generate some diagrams
# Let figure 1 be a P-h diagram
f1 = plt.figure(1,)
if clear_plots:
    plt.clf()
ax1 = f1.add_subplot(111)
ax1.set_xlabel('Enthalpy, h (kJ/kg)')
ax1.set_ylabel('Pressure, P (bar)')
ax1.set_title('Vapor compression Cycle P-h Diagram')


# Generate the dome on both plots
Tt = PropsSI("TTRIPLE",fluid)
Pt = PropsSI("PTRIPLE",fluid)

Tc = PropsSI("TCRIT",fluid)
Pc = PropsSI("PCRIT",fluid)

T = np.arange(Tt,Tc,2.5)

hL = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",0,fluid) for Ti in T
])
hV = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",1,fluid) for Ti in T
])
P = 1e-5*np.array([
  PropsSI("P","T",Ti,"Q",0,fluid) for Ti in T
])

ax1.plot(hL,P,'k')
ax1.plot(hV,P,'k')

# Process 1-2
p = np.linspace(P1,P2)
h = np.array([PropsSI("H","P",Pi,"S",s1,fluid) for Pi in p])
ax1.plot(h*1e-3,1e-5*p,color,linewidth=1.5)

# Process 2-3
ax1.plot(1e-3*np.array([h2,h3]),1e-5*np.array([P2,P3]),color,linewidth=1.5)

# Process 3-4
ax1.plot(1e-3*np.array([h3,h4]),1e-5*np.array([P3,P4]),color,linewidth=1.5)

# Process 4-5
ax1.plot(1e-3*np.array([h4,h1]),1e-5*np.array([P4,P1]),color,linewidth=1.5)

ax1.grid('on')
ax1.set_yscale('log')

ax1.set_ylim(bottom = 1)
## (1, 157.92471879842554)
ax1.set_xlim(left = 0)
## (0.0, 1882.076035779616)
if show_text:
    ax1.text(1.03e-3*h1,0.99*1e-5*P1,"1")
    ax1.text(1.01e-3*h2,0.99*1e-5*P2,"2")
    ax1.text(0.90e-3*h3,0.99*1e-5*P3,"3")
    ax1.text(0.90e-3*h4,0.99*1e-5*P4,"4")

plt.show()
#plt.show(block=False)

Cálculo da entalpia desse novo ponto 3: considerar o ponto de líquido saturado na temperatura desse ponto (lembrando que vai estar na mesma pressão do condensador, mas a uma temperatura mais baixa).

O subresfriamento sempre aumenta a capacidade? Sempre aumenta o COP?

Superaquecimento na entrada do compressor

Sempre é feito por uma questão de segurança: reduzir a probabilidade de gotículas de líquido entrarem no compressor (“golpe de líquido”). Mas o que acontece com a capacidade e a potência?

# adaptado de http://pyromat.org/doc_howto.html#cycle_rankine
from CoolProp.CoolProp import PropsSI
import numpy as np
import matplotlib.pyplot as plt

plt.rc('font', size=14) 

# Vapor compression cycle analysis

# Use different color codes to change the color of the plots
color = 'r'    # Red
#color = 'b'   # Blue
# This is a True/False flag to deactivate the plot text
show_text = True
# This is a True/False flag to allow over-plotting of previous results
clear_plots = True

Tevap = 0 + 273
Tcond = 40 + 273
dTsup = 10
fluid = "R717"

Pevap = PropsSI("P","T",Tevap,"Q",1,fluid)
h1 = PropsSI("H","T",Tevap + dTsup,"P",Pevap,fluid)
s1 = PropsSI("S","P",Pevap,"H",h1,fluid)
P1 = Pevap

Pcond = PropsSI("P","T",Tcond,"Q",1,fluid)

P2 = Pcond
s2 = s1
h2 = PropsSI("H","P",P2,"S",s2,fluid)

P3 = Pcond
h3 = PropsSI("H","T",Tcond,"Q",0,fluid)

P4 = Pevap
h4 = h3

# All the states are known, now.
#
qL = h1-h4
qH = h2-h3
wcomp = h2-h1
COP = qL/wcomp


# Generate some diagrams
# Let figure 1 be a P-h diagram
f1 = plt.figure(1,)
if clear_plots:
    plt.clf()
ax1 = f1.add_subplot(111)
ax1.set_xlabel('Enthalpy, h (kJ/kg)')
ax1.set_ylabel('Pressure, P (bar)')
ax1.set_title('Vapor compression Cycle P-h Diagram')


# Generate the dome on both plots
Tt = PropsSI("TTRIPLE",fluid)
Pt = PropsSI("PTRIPLE",fluid)

Tc = PropsSI("TCRIT",fluid)
Pc = PropsSI("PCRIT",fluid)

T = np.arange(Tt,Tc,2.5)

hL = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",0,fluid) for Ti in T
])
hV = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",1,fluid) for Ti in T
])
P = 1e-5*np.array([
  PropsSI("P","T",Ti,"Q",0,fluid) for Ti in T
])

ax1.plot(hL,P,'k')
ax1.plot(hV,P,'k')

# Process 1-2
p = np.linspace(P1,P2)
h = np.array([PropsSI("H","P",Pi,"S",s1,fluid) for Pi in p])
ax1.plot(h*1e-3,1e-5*p,color,linewidth=1.5)

# Process 2-3
ax1.plot(1e-3*np.array([h2,h3]),1e-5*np.array([P2,P3]),color,linewidth=1.5)

# Process 3-4
ax1.plot(1e-3*np.array([h3,h4]),1e-5*np.array([P3,P4]),color,linewidth=1.5)

# Process 4-5
ax1.plot(1e-3*np.array([h4,h1]),1e-5*np.array([P4,P1]),color,linewidth=1.5)

ax1.grid('on')
ax1.set_yscale('log')

ax1.set_ylim(bottom = 1)
## (1, 157.92471879842554)
ax1.set_xlim(left = 0)
## (0.0, 1919.0615033990512)
if show_text:
    ax1.text(1.03e-3*h1,0.99*1e-5*P1,"1")
    ax1.text(1.01e-3*h2,0.99*1e-5*P2,"2")
    ax1.text(0.90e-3*h3,0.99*1e-5*P3,"3")
    ax1.text(0.90e-3*h4,0.99*1e-5*P4,"4")

plt.show()
#plt.show(block=False)

Em primeiro lugar: só pode aumentar a capacidade se essa área adicional de troca de calor está em contato com a fonte fria. Mas considerando que está, vai necessariamente aumentar a capacidade? Lembrem do conceito de compressor que eu apresentei antes.

Ao arrastar o ponto 1 para a direita, o efeito refrigerante sempre aumenta, mas o vapor está se expandindo e o volume específico também aumenta; se esse efeito ultrapassar o efeito de entalpia, cada unidade de massa carrega mais energia, mas também ocupa mais volume e o compressor libera menos massa.

Em relação à potência de compressão, de maneira similar vamos ter esse conflito. O trabalho de compressão pode aumentar ou diminuir, dependendo da forma da isentrópica, lembrando que o estado de descarga é definido pela pressão. Se a isentrópica ficar mais horizontal, o trabalho aumenta. Mas ainda precisamos considerar o efeito volúmico; mesmo se aumentar o trabalho, o compressor acaba fazendo menos trabalho por menos massa escoando.

Trocador de calor intermediário

Na prática, os dois efeitos acima são alcançados simultaneamente: o tubo capilar forma um trocador de calor com a linha de sucção (tubulação entre evaporador e compressor):

Fonte: [1]
Fonte: [1]

Além da maneira mostrada acima, o tubo capilar pode ser enrolado em volta da linha de sucção [2].

# adaptado de http://pyromat.org/doc_howto.html#cycle_rankine
from CoolProp.CoolProp import PropsSI
import numpy as np
import matplotlib.pyplot as plt

plt.rc('font', size=14) 

# Vapor compression cycle analysis

# Use different color codes to change the color of the plots
color = 'r'    # Red
#color = 'b'   # Blue
# This is a True/False flag to deactivate the plot text
show_text = True
# This is a True/False flag to allow over-plotting of previous results
clear_plots = True

Tevap = 0 + 273
Tcond = 40 + 273
dTsup = 10
fluid = "R717"

Pevap = PropsSI("P","T",Tevap,"Q",1,fluid)
hvevap = PropsSI("H","P",Pevap,"Q",1,fluid)
h1 = PropsSI("H","T",Tevap + dTsup,"P",Pevap,fluid)
s1 = PropsSI("S","P",Pevap,"H",h1,fluid)
P1 = Pevap

Pcond = PropsSI("P","T",Tcond,"Q",1,fluid)

P2 = Pcond
s2 = s1
h2 = PropsSI("H","P",P2,"S",s2,fluid)


P3 = Pcond
hlcond = PropsSI("H","P",P3,"Q",0,fluid)
h3 = hlcond - (h1 - hvevap)

P4 = Pevap
h4 = h3

# All the states are known, now.
#
qL = h1-h4
qH = h2-h3
wcomp = h2-h1
COP = qL/wcomp


# Generate some diagrams
# Let figure 1 be a P-h diagram
f1 = plt.figure(1,)
if clear_plots:
    plt.clf()
ax1 = f1.add_subplot(111)
ax1.set_xlabel('Enthalpy, h (kJ/kg)')
ax1.set_ylabel('Pressure, P (bar)')
ax1.set_title('Vapor compression Cycle P-h Diagram')


# Generate the dome on both plots
Tt = PropsSI("TTRIPLE",fluid)
Pt = PropsSI("PTRIPLE",fluid)

Tc = PropsSI("TCRIT",fluid)
Pc = PropsSI("PCRIT",fluid)

T = np.arange(Tt,Tc,2.5)

hL = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",0,fluid) for Ti in T
])
hV = 1e-3*np.array([
  PropsSI("H","T",Ti,"Q",1,fluid) for Ti in T
])
P = 1e-5*np.array([
  PropsSI("P","T",Ti,"Q",0,fluid) for Ti in T
])

ax1.plot(hL,P,'k')
ax1.plot(hV,P,'k')

# Process 1-2
p = np.linspace(P1,P2)
h = np.array([PropsSI("H","P",Pi,"S",s1,fluid) for Pi in p])
ax1.plot(h*1e-3,1e-5*p,color,linewidth=1.5)

# Process 2-3
ax1.plot(1e-3*np.array([h2,h3]),1e-5*np.array([P2,P3]),color,linewidth=1.5)

# Process 3-4
ax1.plot(1e-3*np.array([h3,h4]),1e-5*np.array([P3,P4]),color,linewidth=1.5)

# Process 4-5
ax1.plot(1e-3*np.array([h4,h1]),1e-5*np.array([P4,P1]),color,linewidth=1.5)

ax1.grid('on')
ax1.set_yscale('log')

ax1.set_ylim(bottom = 1)
## (1, 157.92471879842554)
ax1.set_xlim(left = 0)
## (0.0, 1919.0615033990512)
if show_text:
    ax1.text(1.03e-3*h1,0.99*1e-5*P1,"1")
    ax1.text(1.01e-3*h2,0.99*1e-5*P2,"2")
    ax1.text(0.90e-3*h3,0.99*1e-5*P3,"3")
    ax1.text(0.90e-3*h4,0.99*1e-5*P4,"4")

plt.show()
#plt.show(block=False)

Observe que o grau de superaquecimento e o grau de subresfriamento não são independentes, pois deve ser satisfeito o balanço de energia no trocador intermediário:

$$ h _l(P _{\mathrm{cond}}) - h_3 = h_1 - h _v(P _{\mathrm{evap}}) $$

Eficiência isentrópica de compressão

Por fim, o processo de compressão muitas vezes não é ideal, e podemos ajustar os dados experimentais em termos de uma eficiência isentrópica de compressão:

$$ \eta _{\mathrm{s,comp}} = \frac{w _{\mathrm{ent,rev}}}{w _{\mathrm{ent,real}}} = \frac{h _{2s} - h _1}{h _2-h _1} $$ onde a eficiência, como falado, pode ser ajustada de dados experimentais, e o estado “2s” é o estado que haveria se o processo fosse isentrópico. O estado “2” é o estado real que deve ser usado nos cálculos de Primeira Lei.

O que causa essa geração de entropia?

Exemplo

Exercício 11-26 de [3]: Um refrigerador utiliza R-134a como fluido de trabalho. As pressões de evaporação e condensação são 200 kPa e 1400 kPa respectivamente. A eficiência isentrópica de compressão é de 88%. O refrigerante entra no compressor a uma taxa de 0,025 kg/s superaquecido em 10,1 °C e sai do condensador subresfriado a 4,4 °C. Determine a capacidade, potência e COP para esse ciclo e para o ciclo ideal em comparação que utiliza o mesmo compressor (que possui volume morto nulo - caracerístico de compressores rotativos, assunto de próximas aulas).

from CoolProp.CoolProp import PropsSI

Pevap = 200e3
Pcond = 1400e3
dTsup = 10.1
dTsub = 4.4
fluid = "R134a"

Tevap = PropsSI("T","P",Pevap,"Q",1,fluid)
h1 = PropsSI("H","T",Tevap + dTsup,"P",Pevap,fluid)
s1 = PropsSI("S","P",Pevap,"H",h1,fluid)
v1 = 1/PropsSI("D","P",Pevap,"H",h1,fluid)

h5 = PropsSI("H","T",Tevap,"Q",1,fluid)
s5 = PropsSI("S","T",Tevap,"Q",1,fluid)
v5 = 1/PropsSI("D","T",Tevap,"Q",1,fluid)

s7 = s5
h7 = PropsSI("H","P",Pcond,"S",s7,fluid)

s2s = s1
h2s = PropsSI("H","P",Pcond,"S",s2s,fluid)

etasc = 0.88
h2 = h1 + (h2s-h1)/etasc

h6 = PropsSI("H","P",Pcond,"Q",0,fluid)
Tcond = PropsSI("T","P",Pcond,"Q",0,fluid)
T3 = Tcond - dTsub

h3 = PropsSI("H","T",T3,"Q",0,fluid)

h4 = h3
h8 = h6


m = 0.025
Vd = m * v1


mideal = Vd / v5

QLideal = mideal*(h5-h8)
Wcompideal = mideal*(h7-h5)
COPideal = QLideal/Wcompideal

QL = m*(h1-h4)
Wcomp = m*(h2-h1)
COP = QL/Wcomp

print("Ciclo real:")
## Ciclo real:
print("Capacidade = %.2f W" %(QL,))
## Capacidade = 3316.26 W
print("Potência = %.2f W" %(Wcomp,))
## Potência = 1217.45 W
print("COP = %.2f " %(COP,))
## COP = 2.72
print("Ciclo ideal:")
## Ciclo ideal:
print("Capacidade = %.2f W" %(QLideal,))
## Capacidade = 3075.54 W
print("Potência = %.2f W" %(Wcompideal,))
## Potência = 1066.07 W
print("COP = %.2f " %(COPideal,))

## COP = 2.88

Para finalizar - uma boa visão geral dos vários aspectos referentes a essas variações:

Referências

[1]: Hermes, C. J. L. Uma metodologia para a simulação transiente de refrigeradores domésticos. Tese (Doutorado em Engenharia Mecânica). Florianópolis: Universidade Federal de Santa Catarina, 2006.

[2]: Stoecker, W. F., & Jones, J. W. Refrigeração e Ar Condicionado. São Paulo: McGraw-Hill do Brasil, 1985.

[3]: Çengel, Y. A., & Boles, M. A. Termodinâmica (7 ed.). Porto Alegre: AMGH, 2013.

Previous
Next