327Ç1&,$´ bern ardo garcia de sousa lima projeto de g...

115
“UM PROGRAMA DIDÁTICO PARA ANÁLISE DE DIFERENTES CICLOS DE POTÊNCIA” Bernardo Garcia de Sousa Lima Rio de Janeiro Junho de 2018 Projeto de Graduação apresentado ao Curso de Engenharia Mecânica da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Marcelo J. Colaço

Upload: others

Post on 21-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

“UM PROGRAMA DIDÁTICO PARA ANÁLISE DE DIFERENTES CICLOS DE

POTÊNCIA”

Bernardo Garcia de Sousa Lima

Rio de Janeiro

Junho de 2018

Projeto de Graduação apresentado ao Curso de

Engenharia Mecânica da Escola Politécnica,

Universidade Federal do Rio de Janeiro, como

parte dos requisitos necessários à obtenção do

título de Engenheiro.

Orientador: Marcelo J. Colaço

Page 2: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Departamento de Engenharia Mecânica

DEM/POLI/UFRJ

UM PROGRAMA DIDÁTICO PARA ANÁLISE DE DIFERENTES CICLOS DE

POTÊNCIA

Bernardo Garcia de Sousa Lima

PROJETO FINAL SUBMETIDO AO CORPO DOCENTE DO DEPARTAMENTO DE

ENGENHARIA MECÂNICA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE

FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS

NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO MECÂNICO.

Aprovado por:

________________________________________________

Prof. Marcelo José Colaço

________________________________________________

Prof. Hélcio Rangel Barreto Orlande

________________________________________________

Prof. Manuel Ernani de Carvalho Cruz

RIO DE JANEIRO, RJ - BRASIL

JUNHO DE 2018

Page 3: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

iii

Lima, Bernardo Garcia de Sousa

Um Programa Didático para Análise de Diferentes Ciclos

de Potência/ Bernardo Garcia de Sousa Lima. — Rio de

Janeiro: UFRJ/ Escola Politécnica, 2018.

VII, 108 p.: il.; 29,7 cm.

Orientador: Marcelo José Colaço.

Projeto de Graduação — UFRJ/ Escola Politécnica/

Curso de Engenharia Mecânica, 2018.

Referências Bibliográficas: p. 50-51.

1. Programa. 2. Ciclo Combinado. 3. Rankine. 4. Bray-

ton. 5. ORC. I. Colaço, Marcelo José. II. Universidade Fe-

deral do Rio de Janeiro, Escola Politécnica, Curso de Enge-

nharia Mecânica. III. Um Programa Didático para Análise

de Diferentes Ciclos de Potência.

Page 4: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

iv

Agradecimentos

Agradeço à minha família, em especial aos meus padrinhos e à minha mãe, quesempre me apoiou.

Ao meu orientador, Prof. Marcelo José Colaço, pela dedicação, pela paciência epela oportunidade de realizar este projeto.

Aos Profs. Hélcio Rangel Barreto Orlande e Manuel Ernani de Carvalho Cruz, peladisponibilidade de compor a banca examinadora.

Aos meus amigos, dentro e fora da UFRJ, pelos inúmeros momentos de felicidade.

Page 5: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

v

Resumo do Projeto de Graduação apresentado à Escola Plitécnica/UFRJ como partedos requisitos necessários para a obtenção do grau de Engenheiro Mecânico.

Um Programa Didático para Análise de Diferentes Ciclos de Potência

Bernardo Garcia de Sousa Lima

Junho/2018

Orientador: Marcelo José Colaço

Curso: Engenharia Mecânica

As usinas termelétricas desepenham um papel de relevância na geração de energia.O projeto de uma termelétrica eficiente envolve um aprofundado conhecimento deciclos de potência, em especial o de Rankine e o de Brayton. Neste trabalho foi desen-volvido um programa que permite a análise de diferentes ciclos de potência ideais emodificados, dentre os quais o Brayton com injeção de vapor no combustor, o Rankineregenerativo, o Rankine orgânico e ciclos combinados. A partir do programa, foi feitoum estudo de casos, com o intuito de melhorar os parâmetros de saída.

Palavras-chave: Programa, Ciclo Combinado, Rankine, Brayton, ORC.

Page 6: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

vi

Abstract of Undergraduate Project presented to POLI/UFRJ as a partial fulfillment ofthe requirements for the degree of Engineer.

A Didactic Program for Analyzing Different Power Cycles

Bernardo Garcia de Sousa Lima

June/2018

Advisor: Marcelo José Colaço

Course: Mechanical Engineering

The thermoelectric plants play a significant role in the generation of energy. The de-sign of an efficient thermoelectric plant involves an in-depth knowledge of powercycles, especially Rankine and Brayton ones. In this work a program was developedthat allows the analysis of different ideal and modified power cycles, among whichBrayton with steam injection in the combustor, regenerative Rankine, organic Rankineand combined cycles. From the program, a case study was done with the intention ofimproving the output parameters.

Keywords: Program, Combined Cycle, Rankine, Brayton, ORC.

Page 7: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

vii

Sumário

1 Introdução 11.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Revisão da literatura 3

3 Fundamentação teórica 63.1 Ciclo Brayton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Ciclo Rankine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Ciclo Rankine Orgânico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 Ciclo combinado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5 Ciclo combinado orgânico . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Resultados 244.1 Verificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Estudo de casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Conclusão 49

Bibliografia 50

A Telas do programa 52

B Código do programa 57B.1 AltClass.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57B.2 GasIdeal.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58B.3 Water.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61B.4 Brayton.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69B.5 Rankine.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77B.6 Organic.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92B.7 Combinado.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105B.8 CombinadoOrg.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Page 8: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

1

Capítulo 1

Introdução

As termelétricas desempenham um papel fundamental na matriz energética brasi-leira. De acordo com o Operador Nacional do Sistema Elétrico (2018), são a segundafonte de energia elétrica mais importante no Brasil, gerando quase 12% da carga total.Elas ficam atrás somente das hidrelétricas, com 83% — os 5% restantes estão distri-buidos por diversas fontes, como eólica e nuclear. Seu funcionamento consiste emconverter calor em trabalho mecânico e, em seguida, em energia elétrica. Portanto,o cerne dessas usinas é um ciclo termodinâmico, responsável pela transformação docalor em potência mecânica.

O tipo de ciclo produz impacto direto em diversos parâmetros da usina, comoeficiência, potências (líquida e específica) e curva de carga, além da própria estruturafísica, orientando a necessidade de diferentes equipamentos. Nas termelétricas, osciclos mais comuns são o Rankine e o Brayton, geralmente com modificações e/oucombinações. A escolha da configuração é largamente influenciada pela demandado cliente. No Brasil, essa demanda é definida nos editais dos leilões de geração deenergia realizados pela Agência Nacional de Energia Elétrica (2018). Eles especificam,entre outros fatores, a potência gerada, a disponibilidade e o preço pago pela energiaem R$/MWh.

Atendidas as exigências contratuais, cabe à empresa dona da usina diminuir seuscustos, de modo a obter o maior lucro possível. Nesse contexto, surge a necessidadede otimização do ciclo, em relação a um parâmetro determinado. O grande desafio doengenheiro projetista é combinar as otimizações para os diversos parâmetros deseja-dos, dentro dos limites orçamentários e dos prazos. Esse tipo de problema, denomi-nado otimização multiobjetivo, muitas vezes não apresenta solução única, de formaque outros critérios devem ser considerados para resolver os conflitos.

1.1 Objetivo

O objetivo deste trabalho é criar um programa que permita a análise quantitativade diferentes ciclos de potência baseados em turbina, em função dos parâmetros deentrada.

O programa, desenvolvido em C#, ofere cinco tipos de ciclo, os quais podem serclassificados em duas categorias: simples ou combinados. Na primeira, há três opções:Brayton (com ou sem injeção de vapor no combustor), Rankine (com ou sem regene-ração) e Rankine orgânico (semelhante ao Rankine comum, mas utilizando um fluido

Page 9: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 1. Introdução 2

orgânico). Na segunda categoria, há os ciclos combinado comum (Brayton associadoa Rankine) e combinado orgânico (Brayton associado a Rankine orgânico).

Desse modo, o usuário pode avaliar o efeito das modificações nos resultados glo-bais e compará-los com os de outros tipos de ciclo.

Em seus cálculos, o programa usa as tabelas de propriedades termodinâmicas degases ideais de Bathie (1996), para o ciclo Brayton, e de Harvey (1998), para o Rankine,as quais foram digitalizadas por Sami M. Ayad. A partir delas foram desenvolvidasfunções de interpolação. O ciclo Rankine orgânico baseia-se na biblioteca "CoolProp",de Bell et al. (2014), que não utiliza tabelas, dispensando tais funções.

Para demonstrar algumas das possibilidades do usuário, este trabalho inclui aindaum estudo de casos utilizando o programa desenvolvido, na seção 4.2. A partir dele,conclui-se que a injeção de vapor no ciclo Brayton melhora tanto o rendimento quantoa potência. Contudo, essa mesma modificação em um ciclo combinado aumenta ape-nas a potência, reduzindo o rendimento. Nesse caso, se é desejada a otimização daeficiência, podem-se adicionar regeneradores ao ciclo Rankine, preferencialmente decontato. Ademais, é demonstrado que, para temperaturas da fonte quente do cicloRankine suficientemente baixas, a água deixa de ser operacionalmente viável comofluido de trabalho, e os fluidos orgânicos passam a ser uma boa alternativa.

Com o intuito de familiarizar o leitor com o programa, foram inseridas algumastelas no apêndice A. Por se tratar de um programa relativamente extenso, optou-sepela inclusão dos trechos mais importantes de código, relativos ao cálculo dos ciclostermodinâmicos. Tais trechos encontram-se no apêndice B.

Page 10: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

3

Capítulo 2

Revisão da literatura

Neste capítulo serão apresentados alguns estudos relacionados a este Projeto Final.Jakobsen, Rasmussen e Andersen (1999) desenvolveram o programa "CoolPack",

que se tornou referência no ensino de termodinâmica, com ênfase na área de refrigera-ção. Ele consiste em uma coleção de modelos de simulação, que permitem a análise deciclos termodinâmicos, o dimensionamento de sistemas e o cálculo de propriedadesde fluidos refrigerantes.

Em relação aos ciclos de potência, El Hefni, Bouskela e Lebreton (2011) desenvol-veram a biblioteca open source "ThermoSysPro". Com base na linguagem Modelica, elafoi projetada para a modelagem estática ou dinâmica de plantas de potência, mas tam-bém pode ser usada em outros sistemas energéticos. Um exemplo dessa versatilidadeé a modelagem de uma planta de energia solar concentrada, realizada por El Hefni(2014).

Existem diversas bibliotecas para cálculos de ciclos de potência a gás ou a vapor,como a ThermoSysPro. Todavia, poucas oferecem a possibilidade de trabalhar comfluidos orgânicos, como a biblioteca open source "ThermoCycle", de Quoilin et al. (2014).Baseada na linguagem Modelica, ela utiliza — tal qual o programa desenvolvido nestetrabalho — a biblioteca CoolProp no cálculo das propriedades termodinâmicas dessesfluidos.

Será demonstrado no capítulo 3 que os cálculos de todos os cinco ciclos considera-dos neste trabalho baseiam-se em dois: o Brayton e o Rankine — os ciclos combinadospodem ser entendidos como uma expansão do Brayton. Desse modo, convém analisaras principais diferenças entre os dois.

O ciclo Brayton apresenta algumas vantagens em relação ao Rankine, dentre asquais destacam-se:

• maior eficiência — normalmente apresenta maior eficiência de 1a lei, pois traba-lha com uma diferença de temperatura superior;

• menor necessidade de espaço — a turbina a gás acomoda compressor e combus-tor, ao passo que no Rankine esses componentes são separados;

• menor custo de instalação;

• maior facilidade de controle — por ser um sistema aberto, é mais simples variara vazão mássica em circulação;

• menor tempo de inicialização — o sistema atinge a capacidade máxima rapida-mente, podendo ser usado para geração de pico;

Page 11: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 2. Revisão da literatura 4

• maior disponibilidade do fluido de trabalho — o ar pode ser obtido com facili-dade, o que não é sempre verdadeiro para os fluidos de trabalho do ciclo Rankine(água, geralmente).

Todavia, possui algumas desvantagens, que incluem:

• menor robustez — a turbina a gás, por trabalhar com temperaturas muito ele-vadas, possui diversos componentes sensíveis, que necessitam de resfriamentoe manutenção constante;

• vazamento de gás nas tubulações;

• menor flexibilidade de combustível — exige um gás com propriedades muitoespecíficas (na prática, usa-se quase sempre gás natural), ao passo que a caldeirado Rankine admite diversos combustíveis.

Um aspecto que vem ganhando cada vez mais importância no campo da geraçãode energia é a emissão de gases do efeito estufa. Nesse sentido, Busch e Gimon (2014)comparam os impactos climáticos de usinas a carvão (ciclo Rankine) e a gás natural(ciclo Brayton). O vazamento de metano nas tubulações de plantas a gás contrapõe-seà sua vantagem na emissão de CO2. Num horizonte de 20 anos, o metano possui umGWP1 de 84. Isso significa que o impacto relativo desse gás é 84 vezes maior que ode uma massa equivalente de CO2. Contudo, alterando-se a escala temporal para 100anos, o GWP cai para 28. Dessa forma, eles concluem que a melhor opção de planta,em termos de mitigação do efeito estufa, depende da intensidade do vazamento demetano e do escopo temporal considerado.

Avaliados alguns aspectos gerais dos dois principais ciclos, propõem-se mudançasespecíficas, com vista a aumentar a eficiência e a potência produzidas. Nesse contexto,destaca-se a inclusão de regeneradores no ciclo Rankine. Mies (2015) analisa um ciclocom dois regeneradores. Ele conclui que existem pontos ótimos das pressões de extra-ção para eficiência e para a potência líquida seperadamente, mas não para esses doisparâmetros em conjunto.

Outra modificação importante é a regeneração no ciclo Brayton. De Paepe e Dick(2000) estudam a injeção de vapor gerado a partir da recuperação do calor dos gasesde exaustão. Esse vapor — injetado no combustor ou entre as turbinas de alta e debaixa pressão — melhora a eficiência, pois recupera parte do calor descartado. Alémdisso, aumenta a potência específica, já que mais massa entra na turbina.

Em adição a esses, Bathie (1996) e Colaço (2017) citam outros aspectos positivos dainjeção de vapor:

• redução na emissão de NOx;

• fácil implementação no ciclo;

• custo de implementação menor que o de um ciclo combinado;

• possibilidade de conversão em um ciclo combinado.

1Do inglês, "Global Warming Potential".

Page 12: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 2. Revisão da literatura 5

Assim, o ciclo Brayton com injeção de vapor pode ser considerado um interme-diário entre o Brayton simples e o ciclo combinado. Este último apresenta os maioresvalores de potência e eficiência, além do menor custo por energia produzida. Con-tudo, ele é menos flexível e possui um custo inicial maior. Portanto, é indicados parageração de base, que requer alta potência e não exige variações abruptas na carga.

Usualmente os ciclos combinados apresentam um Rankine utilizando vapor deágua. Porém, quando os gases de exaustão do ciclo Brayton estão a uma temperaturamuito baixa, esta configuração torna-se inviável — como será explicado posterior-mente. Nessa situação, uma alternativa é implementar um Rankine orgânico, comopropõem Clemente et al. (2013).

O programa desenvolvido neste projeto toma como base os ciclos Brayton (cominjeção de vapor no combustor) e Rankine (com regeneração) analisados por Bezerra(2013) e Mies (2015), respectivamente. Além da combinação desses ciclos, são pro-postas modificações no combustível, no fluido de trabalho e nos renegeradores, entreoutras. Desse modo, o programa possibilita ao usuário a análise diversas configu-rações de ciclos de potência, tal qual as bibliotecas já disponíveis em Modelica. Nãoobstante, ele se diferencia delas por ser mais leve e mais prático, não requerendo umhardware robusto e propiciando uma curva de aprendizagem mais inclinada - empoucos segundos já é possível obter resultados, intuitivamente.

Page 13: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

6

Capítulo 3

Fundamentação teórica

3.1 Ciclo Brayton

O ciclo de Brayton ideal consiste em dois processos de transferência de calor iso-báricos, no combustor e no condensador, e dois processos adiabáticos reversíveis —portanto, isentrópicos —, no compressor e na turbina. Contudo, para uma maior apro-ximação com a realidade, devem-se levar em conta as irreversibilidades nos compo-nentes. Segundo Borgnakke e Sonntag (2013), as perdas com maior impacto no rendi-mento do ciclo são as da turbina e do compressor. Dessa forma, o programa desenvol-vido neste trabalho permite ao usuário considerar a eficiência isentrópica desses equi-pamentos. Além disso, de acordo com Bezerra (2013), a injeção de vapor na câmarade combustão pode aumentar a eficiência e a potência específica deste ciclo, estandotambém disponível essa opção no programa desenvolvido.

Desse modo, o ciclo proposto assume a forma ilustrada na figura 3.1. Inicialmente,ar entra no sistema no estado 1 e é comprimido até o estado 2. Na câmara de com-bustão, ele reage com o combustível, e a mistura sai no estado 3 (pré-definido). Naprimeira turbina a mistura é expandida até o estado 4, a ser determinado - atendendoa condição de que a potência gerada nela será igual à consumida pelo compressor. Nasegunda turbina, a expansão se dá até o estado 5. Se houver injeção de vapor, estedeverá ser bombeado e, posteriormente, aquecido até o estado desejado. A bombaatua de forma independente e o aquecimento é feito no gerador de vapor (HRSG1),utilizando o calor da mistura efluente da turbina.

Deseja-se calcular ultimamente a eficiência e a potência líquida do ciclo. Para tal, énecessário determinar a razão ar-combustível e os estados dos fluidos na entrada e nasaída dos componentes.

3.1.1 Equacionamento

No programa desenvolvido, os seguintes dados devem ser fornecidos pelo usuá-rio:

• tipo de combustível (metano, n-octano ou etanol);

• mar [kg/s] : vazão mássica de ar na entrada do compressor;

• T1 [K] : temperatura na entrada do compressor;

1Do inglês, "Heat Recovery Steam Generator".

Page 14: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 7

• P1 [kPa] : pressão na entrada do compressor;

• P2 [kPa] : pressão na saída do compressor;

• T3 [K] : temperatura na entrada da turbina;

• P5 [kPa] : pressão na saída da turbina de potência;

• ηc [%] : eficiência do compressor;

• ηt [%] : eficiência da turbina;

• ηtp [%] : eficiência da turbina de potência.

Havendo injeção de vapor no combustor, pedem-se também:

• Tvap [K] : temperatura do vapor injetado no combustor;

• Pvap [kPa] : pressão do vapor injetado no combustor;

• ivap [%] : vazão mássica do vapor injetado no combustor, como porcentagem davazão de ar que entra no combustor (mar).

FIGURA 3.1: Esquema do ciclo Brayton.

Page 15: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 8

Cálculos

Para os cálculos dos processos envolvedo fluido de trabalho gasoso, foram utiliza-das as tabelas de gases ideais de Bathie (1996), salvo explicitado.

Bomba

Por ter um impacto muito menor no ciclo em relação aos outros componentes, abomba foi considerada ideal e o estado do fluido a montante foi fixado. Assim, águaentra na bomba a 101,3 kPa — tomando como referência um reservatório externo aonível do mar — e 298,15 K — em conformidade com a temperatura do combustível,como será visto adiante. Obtém-se em seguida a entalpia de entrada na bomba apartir das tabelas de líquido comprimido de Harvey (1998). Assumindo um processoisentrópico,

sb out = sb in (3.1)

onde:

sb out [kJ/kg · K] : entropia na saída da bomba;

sb in [kJ/kg · K] : entropia na entrada da bomba.

Tendo a pressão (Pvap) e a entropia (sb out), o estado de saída está definido. Obtém-se em seguida a entalpia de saída. O trabalho específico da bomba é a diferença entreas entalpias de saída (hb out) e de entrada (hb in):

wb = hb out − hb in (3.2)

Compressor

Na entrada do compressor, considerou-se o ar como gás ideal. Dada a temperaturaT1, obtêm-se a pressão relativa Pr1 e a entalpia h1 das tabelas para gás termicamenteperfeito (Cp(T)). Para uma compressão isentrópica,

Pr2i = RC · Pr1 (3.3)

onde:

RC = P2/P1 : razão de compressão.

Em seguida, a partir da pressão relativa Pr2i, obtém-se a entalpia h2i - correspon-dente a um processo isentrópico - das tabelas termodinâmicas interpoladas. Conside-rando-se uma eficiência isentrópica ηc, o trabalho específico do compressor é

wc =h2i − h1

ηc(3.4)

Logo, a entalpia real no estado 2 pode ser calculada por

h2 = wc + h1 (3.5)

Como se trata de um gás ideal, obtém-se T2 a partir de h2, usando-se as tabelastermodinâmicas.

Page 16: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 9

Combustor

Para maior exatidão nos cálculos, será considerada uma mistura de gases comoproduto da combustão, ao invés do conceito de ar-equivalente. Assim, devem-se fazeros balanços estequiométrico e entálpico para obter a pressão parcial de cada produto.

Na entrada da câmara têm-se:

• N2, O2 e ar em excesso a T2;

• combustível à temperatura fixa de 298, 15 K;

• vapor superaquecido (opcional).

As entalpias dos gases foram obtidas com base nas tabelas de Bathie (1996). Emrelação ao combustível, considerou-se a entalpia padrão de formação, obtida de Borg-nakke e Sonntag (2013) - cuja temperatura de referência é de 298,15 K. Se houver inje-ção de vapor, este entrará na turbina com entalpia hvap, referente ao estado (Tvap, Pvap),obtido das tabelas de vapor superaquecido de Harvey (1998).

Na saída da câmara, todos os produtos foram considerados gases ideais, com pres-são P3 = P2 e temperatura T3, ambas definidas pelo usuário do programa. Dessa forma,o balanço de energia na base molar (kJ / kmol de combustível) fica

∑P

hout = ∑R

hin (3.6)

Simplificadamente, ocorre no combustor a seguinte reação:

Comb.+ a Ar + b (O2 + 3, 76 N2) + c H2O→ d CO2 + e H2O + f Ar + 3, 76 b N2 (3.7)

A massa de vapor injetada está atrelada à massa de ar que entra no combustor pormeio da relação

a MAr + b (MO2 + 3, 76 MN2) = ivap c MH2O (3.8)

onde:

MX [kg/kmol] : massa molecular da substância X.

Resolvendo-se o sistema composto das equações (3.6), (3.7) e (3.8), obtêm-se oscoeficientes estequiométricos. A partir deles, calculam-se as frações molares yi dosprodutos:

yi =ni

nP(3.9)

onde:nP = ∑

Pni = d + e + f + 3, 76 b (3.10)

Logo, a razão combustível-ar FAR2 [kg/kg] fica:

FAR =Mcomb

a MAr + b (MO2 + 3, 76 MN2)(3.11)

2Do inglês, "Fuel-Air Ratio".

Page 17: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 10

Pela lei de Dalton, com base nas frações molares, obtêm-se as pressões parciais e,em seguida, a entalpia (h3) e a entropia (s 0

T3) da mistura de produtos da combustão:

h3(ni, T3) = ∑P

ni hi(T3) (3.12)

s 0T3(yi, T3) = ∑

Pyi s 0

T, i(T3) (3.13)

onde:

h3 [kJ/kmol de combustível];

s 0T3 [kJ/K · kmol de produtos da combustão].

Os parâmetros ni e yi são, respectivamente, os coeficientes estequiométricos e asfrações molares dos produtos da combustão. Como eles já foram calculados, a partirde agora a entalpia e a entropia da mistura dependem somente da temperatura.

Utilizando o poder calorífico inferior do combustível (PCI), obtido de Borgnakke eSonntag (2013), pode-se calcular a taxa de calor QH adicionada ao ciclo, em kW:

QH = mar · PCI · FAR (3.14)

Turbina a gás

Essa turbina alimenta o compressor, de modo que a potência produzida pela pri-meira (Wt) é igual à consumida pelo segundo (Wc):

Wt = Wc (3.15)

Pode-se obter o trabalho da turbina a gás em base molar:

wt = wcMcomb

FAR(3.16)

Logo, a entalpia na saída da turbina é

h4 = h3 − wt (3.17)

O cálculo direto das tabelas de gás ideal fornece as propriedades em função datemperatura. No entato, deseja-se obter a própria temperatura a partir de outras pro-priedades (processo inverso). No caso da turbina, sendo h4 conhecida, define-se umafunção f (T) tal que

f (T) = h4 − h(T) (3.18)

O problema consiste em achar a temperatura T tal que f (T) = 0, ou seja, encontrara raiz da função. Existem alguns métodos númericos conhecidos que podem realizaresse serviço. Para o programa desenvolvido neste trabalho, foram criadas funçõesque implementam o método de Brent (1972). Ele é um híbrido entre os métodos dabisseção, da secante e da interpolação quadrática inversa. Dentro de uma faixa de

Page 18: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 11

valores de T definida, a cada iteração ele decide qual dos três métodos produzirá omelhor resultado, escolhendo-o. Esse procedimento é repetido até a convergência.

Assim, calcula-se a temperatura de saída T4 em função de h4. Em seguida, pode-seobter diretamente s 0

T4 (referente a T4) das tabelas termodinâmicas. De maneira análogaà equação (3.13),

s 0T4(T4) = ∑

Pyi s 0

T, i(T4) (3.19)

Considerando um processo ideal na turbina a gás, obtêm-se o trabalho (wt,i) e aentalpia (h4i) de saída ideais:

wt,i =wt

ηt(3.20)

h4i = h3 − wt,i (3.21)

Novamente por iteração, obtém-se a temperatura de saída ideal T4i em função deh4i. A partir de T4i, calcula-se s 0

T4i :

s 0T4i(T4i) = ∑

Pyi s 0

T, i(T4i) (3.22)

Como o processo ideal é isentrópico, tem-se para uma mistura (Bathie, 1996):

s 0T4i − s 0

T3 = R ln(

P4

P3

)(3.23)

A única variável desconhecida é a pressão na saída da turbina, P4. Pode-se obtê-larearranjando a equação (3.23):

P4 = P3 exp

(s 0

T4i − s 0T3

R

)(3.24)

Turbina de potência

Essa turbina é independente da anterior e produz a potência útil do ciclo — que éposteriormente convertida em energia elétrica em um gerador.

Para uma compressão isentrópica, a entropia ideal da mistura na saída da turbinade potência (s 0

T5i) pode ser calculada por (Bathie, 1996):

s 0T5i = s 0

T4 + R ln(

P5

P4

)(3.25)

De forma análoga à turbina a gás, utiliza-se uma função para calcular a tempera-tura ideal de saída da mistura T5i , dessa vez a partir da entropia s 0

T5i. Sabendo-se T5i ,obtém-se a entalpia correspondente, h5i . Em seguida, calcula-se o trabalho ideal wtp,i :

wtp,i = h4 − h5i (3.26)

Page 19: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 12

Considerando a eficiência isentrópica da turbina a gás — ηtp, fornecida pelo usuá-rio do programa —, o trabalho real wtp fica

wtp = wtpi ηtp (3.27)

Passando para a base mássica (kJ / kg de ar que entra no compressor):

wtp = wtpFAR

Mcomb(3.28)

A entalpia real de saída na base molar é

h5 = h4 − wtp (3.29)

Ou, na base mássica:

h5 = h5FAR

Mcomb(3.30)

De forma idêntica à utilizada para encontrar T4, determina-se a temperatura realde saída da mistura T5 correspondente a h5.

Gerador de vapor (HRSG)

Os cálculos desse componente só serão utilizados em caso de injeção de vapor nocombustor ou nos ciclos combinados.

Neste trocador de calor, a mistura efluente da turbina de potência pode ser utili-zada para gerar vapor. Esse vapor pode voltar para o combustor (ciclo Brayton cominjeção) ou ir para um outro processo, como um ciclo Rankine (ciclo combinado). Osegundo caso será apresentado posteriormente.

Quando houver injeção de vapor na câmara de combustão, o balanço de energiano trocador, considerando um proceeso ideal, será dado por

mar (h5 − h6) = ivap mar (hvap − hb out) (3.31)

Com isso, determina-se a entalpia h6 de descarte da mistura no ambiente. Nasequência, converte-se h6 para a base molar:

h6 = h6Mcomb

FAR(3.32)

A partir de h6, calcula-se iterativamente a temperatura T6 correspondente, pelomesmo procedimento utilizado em relação a T5.

As restrições no gerador de vapor são:

T5 > Tvap (3.33)T6 > Tb out (3.34)

Portanto, se: i) a temperatura Tb out na saída da bomba não for menor que T6; ou ii)a temperatura Tvap definida pelo usuário não for menor que T5; o programa retornaráum erro.

Page 20: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 13

No HRSG não é desejável a condensação da água na mistura dos produtos de com-bustão, pois ela usualmente contém alguns gases dissolvidos, podendo ser corrosiva(Borgnakke e Sonntag, 2013). Logo, a temperatura T6 deve ser superior ao ponto deorvalho Torv da mistura. Dessa forma, foi definida uma margem de segurança de 30 Kem relação a Torv. Se Torv < T6 < Torv + 30, o programa avisará o usuário sobre apossibilidade de condensação. Se T6 ≤ Torv, o programa retornará um erro.

A potência líquida produzida pelo ciclo, em kW, é

Wliq = mar (wtp − wb ivap) (3.35)

Outra medida de produtividade do ciclo é a potência específica, que considera ocalor específico do ar à temperatura T1:

Wesp =Wliq

mar Cp,ar(T1) T1(3.36)

Finalmente, considerando a taxa de calor fornecido pela equação (3.14), o rendi-mento do ciclo é dado por

ηciclo =Wliq

QH(3.37)

3.2 Ciclo Rankine

O ciclo de Rankine ideal assemelha-se ao de Brayton, com quatro processos emregime permanente. Entretanto, há diferenças importantes. A principal é o fato de ofluido de trabalho ser o mesmo durante todo o ciclo, não sofrendo reações químicas,pois ocorrem apenas mudanças de fase. Ademais, ao final dos processos, o estadotermodinâmico e a composição química do fluido são os mesmos que no início, carac-terizando um ciclo fechado - o ciclo Brayton da seção 3.1 é aberto.

O esquema do ciclo Rankine pode ser visto na figura 3.2. O fluido de trabalhoé a água. No evaporador e no condensador ocorrem transferências de calor isobári-cas. Na turbina e na bomba, há, respectivamente, expansão e compressão isentrópicas.Assim como na seção 3.1, o programa desenvolvido pode considerar o efeito das irre-versibilidades nos processos envolvendo trabalho mecânico, por meio das eficiênciasisentrópicas da turbina e da bomba.

3.2.1 Equacionamento

No programa desenvolvido, os seguintes dados devem ser fornecidos pelo usuá-rio:

• m [kg/s] : vazão mássica de água na entrada do evaporador;

• Pev [kPa] : pressão de evaporação;

• Tev [K] : temperatura de evaporação (calculada automaticamente com Pev);

• ∆Tsh [K] acréscimo de temperatura em relação a Tev;

Page 21: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 14

FIGURA 3.2: Esquema do ciclo Rankine.

• ηb [%] : eficiência da bomba;

• ηtv [%] : eficiência da turbina a vapor;

• parâmetro de projeto na saída da turbina - pressão (Pb [kPa]) ou título (xb).

Havendo regeneração, pedem-se também:

• o tipo de aquecedor;

• o número de aquecedores;

• a pressão em cada linha de extração da turbina, em kPa;

• a eficiência dos aquecedores (opcional).

Cálculos

Para os cálculos dos processos de todos componentes do ciclo, foram utilizadas astabelas de água (saturação, líquido comprimido e vapor superaquecido) de Harvey(1998).

Page 22: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 15

Turbina

A perda de carga no evaporador não foi levada em conta, de modo que a pressão Pana entrada da turbina é igual a Pev. Considerando o superaquecimento ∆Tsh definidopelo usuário, a temperatura Ta na entrada da turbina é dada por

Ta = Tev + ∆Tsh (3.38)

Definido o estado a, podem-se obter a entalpia ha e a entropia sa específicas.O usuário pode escolher entre duas opções de parâmetros de projeto para a tur-

bina: pressão ou título.

I) Pressão

A pressão Pb de saída da turbina é definida. Uma compressão isentrópica fornecea entalpia de saída ideal hb,i em função de Pb e sb (= sa). A água pode sair da turbinaem estado bifásico ou como vapor superaquecido, mas, de qualquer forma, a entalpiareal é dada por

hb = (hb,i − ha) · ηtv + ha (3.39)

II) Título

Neste caso, água sai da turbina necessariamente na região de saturação, com títuloxb especificado. O processo direto de cálculo na turbina permite obter o estado desaída em função da pressão Pb e da eficiência ηtv; após isso, encontra-se o título xb.Para fazer o processo inverso, é necessário um método iterativo, de maneira análoga àdescrita na seção 3.1. Para uma dada pressão P, pode-se calcular a entalpia h′ de saídada turbina pela equação (3.39), como no caso I. Das tabelas de saturação, encontra-seo título correspondente a P e h′. Como ηtv é constante e conhecida, consegue-se obtero título x(P) na sáida da turbina como função somente de P. Em seguida, define-seuma função semelhante à da equação (3.18):

f (P) = xb − x(P) (3.40)

Utilizando-se novamente o método de Brent, criou-se uma função para encontrar araíz de f (P). Desse modo, obtém-se Pb a partir de xb e ηtv. Definidos Pb e Xb, obtém-sea entalpia de saída hb.

Bombas

O funcionamento de todas as bombas neste ciclo é assumido igual. Água entracomo líquido saturado e sai como líquido comprimido. O estado de entrada e a pres-são de saída são sempre dados previamente. Assim, assumindo um processo isentró-pico,

sbomba in = sbomba out (3.41)

Page 23: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 16

Conhecendo-se a pressão e entropia ideal de saída, obtém-se a entalpia de saídaideal hbomba out,i das tabelas de propriedades interpoladas. A entalpia de saída real édada por

hbomba out =hbomba out,i − hbomba in

ηb+ hbomba in (3.42)

E o trabalho específico é

wb = hbomba out − hbomba in (3.43)

Condensador

O estado de saída do condensador (ponto c) foi fixado como líquido saturado àpressão Pc = Pb. Portanto, as demais propriedades desse ponto são facilmente obtidas.

Aquecedores

O programa desenvolvido neste projeto disponibiliza dois tipos de aquecedores:de contato e de superfície.

a) Aquecedor de contato

Nele, o vapor da turbina e o líquido comprimido da bomba misturam-se. Suaprincipal desvantagem é a necessidade de uma bomba adicional para cada unidadeintroduzida na planta, como pode ser observado na figura 3.3. Considerou-se nesteprojeto uma mistura ideal, em que os afluentes atingem a mesma temperatura e saemcomo líquido saturado. Dessa forma, o balanço energético em cada aquecedor é dadopor

mlinha hturb + mbomba hbomba out = mac hac out (3.44)

onde:

mlinha [kg/s] : vazão mássica na linha de extração da turbina;

hturb [kJ/kg] : entalpia do vapor extraído da turbina;

mbomba [kg/s] : vazão mássica do afluente vindo da bomba;

hb out [kJ/kg] : entalpia do afluente vindo da bomba;

mac [kg/s] : vazão mássica efluente do aquecedor;

hac out [kJ/kg] : entalpia do efluente do aquecedor.

E o blanço mássico é

mlinha + mbomba = mac (3.45)

Page 24: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 17

FIGURA 3.3: Esquema do Rankine com aquecedores de contato.

b) Aquecedor de superfície

Nesse tipo de aquecedor, não há mistura entre os fluidos. Embora tenha uma efi-ciência menor, ele apresenta duas vantagens: pode operar com fluidos a pressões di-ferentes e dispensa a inclusão de bombas adicionais.

O primeiro aquecedor do ciclo - de mais alta pressão - funciona de maneira sim-ples, como demonstrado na figura 3.4. Em um compartimento, passa o líquido com-primido (fluido frio). Este é aquecido pelo vapor da turbina (fluido quente), que passapor fora e condensa, saindo como líquido saturado. Idealmente, o fluido frio sai coma mesma temperatura do fluido quente.

Do segundo aquecedor em diante, se houver mais de um, há uma entrada adici-onal. Ao fluido quente junta-se o líquido saturado do aquecedor imediatamente su-perior (de pressão superior), formando um sistema em cascata. Entre os aquecedoreshá uma válvula, cujo processo de expansão foi considerado isentálpico. Essa misturasai novamente como líquido saturado, em direção ao aquecedor inferior — no últimoaquecedor, ela volta para o condensador.

A especificação da eficiência dos aquecedores de superfície é opcional. Se não fordada, será considerada eficiência máxima. Caso contrário, há dois modos possíveis:

• approach [K] — definido aqui como a diferença entre as temperaturas de satu-ração do fluido quente e de saída do fluido frio.

Page 25: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 18

FIGURA 3.4: Esquema do Rankine com aquecedores de superfície.

• efetividade [%] — definida aqui como a razão entre d1 (diferença entre as tem-peraturas de saída e de entrada do fluido frio) e d2 (diferença entre as temperatu-ras de saturação do fluido quente e de entrada do fluido frio), em porcentagem.

De maneira geral, para todos os aquecedores, o balanço energético é

∑entrada

mi hi = ∑saıda

mj hj (3.46)

e o balanço mássico é

∑entrada

mi = ∑saıda

mj (3.47)

Resolvendo-se o sistema composto pelas equações (3.46) e (3.47) para cada aquece-dor, é possível determinar as vazões mássicas nas linhas de extração da turbina e, porconseguinte, na(s) bomba(s) e nos aquecedores. Após isso, fica determinado tambémo estado na entrada do evaporador (ponto d).

Page 26: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 19

Evaporador

Esse equipamento é responsável por transformar água líquida (ponto d) em vapor(ponto a), utilizando o calor de um processo externo (uma caldeira, por exemplo).Assim como no condensador, considerou-se uma troca de calor ideal e sem perda decarga. A taxa de calor QH, em kW, a ser fornecida é dada por

QH = m (ha − hd) (3.48)

Determinados todos os pontos e vazões, podem-se calcular os parâmetros de pro-dutividade do ciclo. A soma das potências em todas as bombas, em kW, é

Wb = ∑ mbomba wb (3.49)

A potência na turbina fica

Wtv =

[n

∑i=1

mi (ha − hi)

]+

[m−

(n

∑i=1

mi

)](ha − hb) (3.50)

onde:

n : número de aquecedores;

mi : vazão mássica na linha de extração i da turbina

hi : entalpia específica na linha de extração i (na saída da turbina).

Logo, a potência líquida é

Wliq = Wtv − Wb (3.51)

Por último, a eficiência de 1ª lei do ciclo é

ηciclo =Wliq

QH(3.52)

3.3 Ciclo Rankine Orgânico

Este ciclo é idêntico ao Rankine da seção 3.2, porém utiliza outros fluidos de tra-balho, com massa molecular superior à da água. A uma dada pressão, esses fluidosapresentam pontos de ebulição inferiores, o que permite o uso de fontes de calor atemperaturas mais baixas. Por esse motivo, é mais conveniente neste caso especificaros pontos em termos das temperaturas de saturação (como em sistemas de refrigera-ção), ao invés das pressões.

3.3.1 Equacionamento

No programa desenvolvido, os seguintes dados devem ser fornecidos pelo usuá-rio:

Page 27: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 20

• tipo de fluido de trabalho (amônia, butano, ciclopropano, ciclopentano, ciclo-hexano, decano, dióxido de carbono, etano, heptano, hexano, isobutano, iso-buteno, iso-hexano, isopentano, nonano, octano, pentano, propano, R-123, R-1234yf, R-134a, R-22, R-410a ou SES36);

• m [kg/s] vazão mássica na entrada do evaporador;

• Tev [K] temperatura de evaporação;

• ∆Tsh [K] acréscimo de temperatura em relação a Tev;

• Tcond [K] temperatura de condensação;

• ηb [%] eficiência da bomba;

• ηtv [%] eficiência da turbina a vapor.

Havendo regeneração, pedem-se também:

• o tipo de aquecedor;

• o número de aquecedores;

• a temperatura de condensação em cada linha de extração da turbina, em K;

• a eficiência dos aquecedores (opcional).

Cálculos

Todas as propriedades dos fluidos orgânicos foram obtidas a partir da bibliotecaCoolProp, de Bell et al. (2014). Ela não utiliza tabelas, mas funções para gerar as pro-priedades. Esse procedimento é encapsulado, ou seja, o programa desenvolvido nãotem acesso direto a essas funções.

A principal diferença entre os cálculos do ciclo Rankine orgânico e os do Rankinecomum está no fato de o primeiro basear-se nas temperaturas de saturação, não naspressões. Assim, as pressões Pa e Pb correspondem às temperaturas de saturação doevaporador (Tev) e do condensador (Tcond), respectivamente.

Os demais pontos são obtidos por esse mesmo raciocínio: encontra-se a pressãocom base na temperatura de saturação correspondente. A partir daí, os cálculos se-guem de maneira semelhante aos do Rankine comum.

3.4 Ciclo combinado

Este ciclo, como o nome sugere, é uma união de outros dois. Com ele, é possívelaproveitar a alta temperatura de descarte dos gases ao final do ciclo Brayton por meiode um gerador de vapor (HRSG). O vapor gerado alimenta um ciclo Rankine, comodemonstrado na figura 3.5.

Como se baseia nos ciclos das seções 3.1 e 3.2, as possíveis alterações implemen-tadas no programa continuam válidas. Assim, o usuário pode adicionar injeção devapor na câmara de combustão e/ou aquecedores no Rankine.

Page 28: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 21

FIGURA 3.5: Esquema do ciclo combinado.

Caso haja injeção de vapor no combustor, são necessárias algumas alterações nociclo Rankine. O estado do vapor injetado será igual ao da saída do HRSG, sendodesviado da turbina. Isso acarretará uma perda na massa de água em circulação, queserá reposta no condensador. Essa água de reposição vem de um reservatório externoa temperatura fixa e à mesma pressão do condensador.

3.4.1 Equacionamento

No programa desenvolvido, os seguintes dados devem ser fornecidos pelo usuá-rio:

• todos os dados fornecidos aos ciclo Brayton da seção 3.1, com adição da tempe-ratura T6 de descarte, em K;

• todos os dados fornecidos aos ciclo Rankine da seção 3.2, com exceção de m(vazão mássica de água na entrada do evaporador).

Cálculos

Em relação aos cálculos, a principal mudança está no evaporador do ciclo Rankine,que passa a chamar-se HRSG. Nesse trocador de calor, as restrições são

Ta < T5 (3.53)Td < T6 (3.54)

Page 29: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 22

e o balanço energético é

mar(h5 − h6) = m (ha − hd) (3.55)

Essa equação assemelha-se à (3.31). Contudo, agora o valor de h6 é conhecido (emfunção de T6, fornecida pelo usuário), e deseja-se determinar m, a vazão principal nociclo no Rankine. Além disso, se houver desvio de vapor para injeção no combustor, ocálculo da potência da turbina deverá ser corrigido, levando-se em conta a nova vazãode entrada m′:

m′ = m− ivap mar (3.56)

onde o produto ivap mar indica a vazão mássica de vapor desviada para o combus-tor, em kg/s. Se esse produto for maior ou igual à vazão calculada m, o programaretornará um erro.

Feito isso, a potência na turbina permanece sendo calculada por meio da equação(3.50), agora com no m′ lugar de m.

Após o cálculo dos ciclos separados, obtêm-se os parâmetros combinados. A po-tência líquida total é a soma das potências líquidas de cada ciclo:

(Wliq)Combinado = (Wliq)Brayton + (Wliq)Rankine (3.57)

O calor da fonte quente é o mesmo do ciclo Brayton. Assim, a eficiência combinadaé

(ηciclo)Combinado =(Wliq)Combinado

(QH)Brayton(3.58)

3.5 Ciclo combinado orgânico

Tal como o ciclo da seção 3.4, este é a união dos ciclos de Brayton e de RankineOrgânico, das seções 3.1 e 3.3, respectivamente. A principal diferença em relação aocombinado comum, indicada na figura 3.6, ocorre em caso de injeção de vapor nocombustor. Como o fluido de trabalho do Rankine não é mais a água, esse vapor temde vir de um processo externo.

3.5.1 Equacionamento

No programa desenvolvido, os seguintes dados devem ser fornecidos pelo usuá-rio:

• todos os dados fornecidos aos ciclo Brayton da seção 3.1, com adição da tempe-ratura T6 de descarte, em K;

• todos os dados fornecidos aos ciclo Rankine orgânico da seção 3.3, com exceçãode m (vazão mássica de água na entrada do evaporador).

Page 30: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 3. Fundamentação teórica 23

Cálculos

Como o vapor injetado na câmara de combustão é proveniente de um processo ex-terno, não há desvio de vapor do ciclo Rankine orgânico. Assim, a única novidade emrelação aos ciclos separados é a troca do evaporador pelo gerador de vapor (HRSG),de modo que a vazão mássica principal (m) no Rankine orgânico é obtida pela equação(3.55). Analogamente, os parâmetros combinados são obtidos pelas equações (3.57) e(3.58), em que, no lugar do ciclo Rankine, há agora o Rankine orgânico.

FIGURA 3.6: Esquema do ciclo combinado orgânico.

Page 31: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

24

Capítulo 4

Resultados

4.1 Verificação

Para avaliar o funcionamento do programa, foram realizados cálculos manuaispara os três ciclos-base — Brayton, Rankine e Rankine orgânico. Os parâmetros ini-ciais e a comparação com o resultado do programa para cada caso estão nas seçõesseguintes.

4.1.1 Brayton

Dados iniciais

O ciclo proposto apresenta o esquema ilustrado na figura 4.1. Seus dados iniciaisforam:

• combustível: metano;

• mar = 1 kg/s;

• T1 = 298,15 K;

• P1 = 100 kPa;

• P2 = 2000 kPa;

• T3 = 1400 K;

• P5 = 100 kPa;

• ηc = 88 % ;

• ηt = 90 % ;

• ηtp = 90 % ;

• ivap = 3 [% mar];

• Tvap = 703,15 K;

• Pvap = 2100 kPa.

Page 32: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 25

FIGURA 4.1: Esquema do ciclo Brayton.

Comparação

A tabela 4.1 mostra a comparação entre os resultados obtidos manualmente e osdo programa. As unidades são: T[K], P[kPa], W[kW] e η[%]. Como explicado na se-ção 3.1.1, o cálculo das temperaturas da mistura dos produtos de combustão envolveprocedimentos iterativos. Por esse motivo, essas temperaturas — T4, T5 e T6 — têm re-solução limitada a 1 K. Apesar disso, há uma concordância satisfatória entre os valoresobservados, com todos os erros relativos inferiores a 0,6 %.

TABELA 4.1: Validação dos cálculos do ciclo Brayton.

T2 T4 P4 T5 T6 FAR Wliq ηcicloManual 739,74 1055 508,08 741 661 0,0176 394,13 44,79

Programa 739,74 1056,27 509,75 741,60 661,73 0,0176 396,24 44,90

Page 33: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 26

4.1.2 Rankine

Dados iniciais

FIGURA 4.2: Esquema do ciclo Rankine.

O ciclo proposto apresenta o esquema ilustrado na figura 4.2. Seus dados iniciaisforam:

• m = 1 kg/s;

• Pev = 4000 kPa;

• ∆Tsh = 249,65 K;

• Pb = 10 kPa;

• ηb = 95 % ;

• ηtv = 95 % ;

• número de aquecedores: 2;

Page 34: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 27

• tipo de aquecedor: superfície;

• approach: 5 K;

• pressão na linha 1: 1000 kPa;

• pressão na linha 2: 130 kPa.

Comparação

A tabela 4.2 mostra a comparação entre os resultados obtidos manualmente e osdo programa. As unidades são: m[kg/s], W[kW] e η[%]. Nota-se a igualdade de aomenos 3 algarismos significativos para quase todos os valores apresentados, o quemostra uma boa concordância entre eles.

TABELA 4.2: Validação dos cálculos do ciclo Rankine.

mlinha 1 mlinha 2 Wb Wtv Wliq ηcicloManual 0,1358 0,0870 4,26 1007,10 1002,84 37,09

Programa 0,1358 0,0870 4,26 1006,98 1002,72 37,08

4.1.3 Rankine Orgânico

Dados iniciais

O ciclo proposto apresenta o esquema ilustrado na figura 4.3. Seus dados iniciaisforam:

• fluido de trabalho: amônia;

• m = 1 kg/s;

• Tev = 383,15 K;

• ∆Tsh = 30 K;

• Tcond = 278,15 K;

• ηb = 100 % ;

• ηtv = 100 % ;

• número de aquecedores: 2;

• tipo de aquecedor: contato;

• temperatura de condensação na linha 1: 303,15 K;

• temperatura de condensação na linha 2: 288,15 K.

Page 35: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 28

FIGURA 4.3: Esquema do ciclo Rankine orgânico.

Comparação

Conforme descrito na seção 3.3.1, o método pelo qual o programa obtém as pro-priedades dos fluidos orgânicos não pode ser reproduzido manualmente. Dessa ma-neira, foram utlizadas para a verificação as tabelas de amônia de Borgnakke e Sonntag(2013), as quais não incluem os estados de líquido comprimido. Assim, foi necessárioalterar o equacionamento das bombas.

Primeiramente, aproximou-se o volume específico na saída da bomba para o es-tado de líquido saturado. Em seguida, definiu-se o volume específico médio v nabomba:

v ≡ vin + vout

2Por fim, como o processo foi considerado isentrópico (ηb = 100%) e desprezando-

se as variações de energia potencial e cinética, o trabalho consumido na bomba pôdeser representado por:

wb = v (Pout − Pin)

Page 36: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 29

Outro problema dessas tabelas está na região de vapor superaquecido. O espaça-mento entre os valores — que diminui a acurácia da interpolação — aumenta com apressão, afetando os cálculos das bombas e, principalmente, da turbina.

Os resultados estão na tabela 4.3. As unidades são: m[kg/s], W[kW] e η[%]. Nota-se que, como esperado, as discrepâncias são superiores às das seções 4.1.1 e 4.1.2.Apesar disso, o erro relativo do rendimento do ciclo ηciclo é inferior a 4 % .

TABELA 4.3: Validação dos cálculos do ciclo Rankine orgânico.

mlinha 1 mlinha 2 Wb Wtv Wliq ηcicloManual 0,0657 0,0405 13,90 306,93 293,03 24,00

Programa 0,0655 0,0403 11,70 318,62 306,92 24,79

Page 37: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 30

4.2 Estudo de casos

4.2.1 Ciclo Brayton — caso A0

Verificado o programa, realizou-se um estudo de casos hipotéticos, com o intuitode aferir o impacto de diversos parâmetros nos resultados finais. O cenário inicial éum ciclo Brayton, esquematizado na figura 4.4. Foram adotados os seguintes dadosiniciais:

• combustível: metano;

• mar = 1 kg/s;

• T1 = 293,15 K;

• P1 = 101,3 kPa;

• P2 = 1800 kPa;

• T3 = 1400 K;

• P5 = 101,3 kPa;

• ηc = 88 % ;

• ηt = 90 % ;

• ηtp = 90 % .

FIGURA 4.4: Esquema do ciclo Brayton.

Este ciclo, sem injeção de vapor (ivap = 0%), foi denominado A0 e serviu comoreferência. Ele produziu os seguintes resultados:

• Wesp = 1,243;

• ηciclo = 41,88 % .

Page 38: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 31

4.2.2 Ciclo Brayton com injeção de vapor — caso A1

FIGURA 4.5: Esquema do ciclo Brayton com injeção de vapor.

No caso teste A1 — esquematizado na figura 4.5 —, estudaram-se os efeitos dainjeção de vapor no combustor do ciclo do caso A0.

Para garantir a entrada na câmara de combustão, a pressão Pvap do vapor injetadodeve ser maior que a pressão P2 na própria câmara. Desse modo, adotou-se Pvap =1850 kPa.

Em relação à temperatura do vapor inejtado, definiu-se um valor de referência,correspondente ao estado de vapor saturado a pressão Pvap :

Tre f ≡ Tsat(1850 kPa) = 481, 619 K (4.1)

Em seguida, foram analisados seis cenários, com diferentes temperaturas de vaporinjetado, todas em relação a Tre f :

1) Tvap = Tre f ;

2) Tvap = 1, 1 Tre f ;

3) Tvap = 1, 2 Tre f ;

4) Tvap = 1, 3 Tre f ;

5) Tvap = 1, 4 Tre f ;

Page 39: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 32

6) Tvap = 1, 5 Tre f .

Para cada um desses cenários, variou-se a vazão mássica ivap de vapor injetado —de 0 % a 5 % da vazão mássica de ar (mar) —, produzindo 6 curvas no total.

Os resultados para a potência específica (Wesp) e para a eficiência (ηciclo) estão, res-pectivamente, nas figuras 4.6 e 4.7. A primeira indica que a relação entre ivap e Wesp édireta e aproximadamente linear. Além disso, Tvap praticamente não influi em Wesp -na realidade, Wesp cai levemente com um aumento de Tvap. Esse comportamento nãose repete na figura 4.7, pois ηciclo é visivelmente alterada por Tvap. Chama atenção so-bretudo o salto entre as curvas Tre f e 1, 1 Tre f , que demonstra o ganho de eficiência aosuperaquecer o vapor injetado.

A explicação para os comportamentos apresentados nas figuras 4.6 e 4.7 reside nofato de que um elevação em Tvap provoca um decréscimo na quantidade de combustí-vel requerida e, por conseguinte, na razão combustível-ar (FAR), já que mar permanececonstante. Como tanto o calor QH fornecido ao ciclo quanto as potências Wliq e Wespsão diretamente proporcionais a FAR, os três parâmetros caem. Entretanto, o impactode FAR é maior em QH, de modo que ηciclo aumenta, apesar da queda de Wliq.

FIGURA 4.6: Diagrama Wesp x ivap para o ciclo Brayton.

Page 40: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 33

FIGURA 4.7: Diagrama ηciclo x ivap para o ciclo Brayton.

Page 41: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 34

4.2.3 Ciclo combinado simples — caso A2

FIGURA 4.8: Esquema do ciclo combinado.

No caso teste A2 — ilustrado na figura 4.8 —, desejou-se aumentar a eficiência e apotência líquida do ciclo Brayton de referência (caso A0, sem injeção de vapor). Paraisso, a ele é associado um ciclo Rankine, com as seguintes espeficações:

• Pev = 1850 kPa;

• Pb = 10 kPa;

• ηb = 90 % ;

• ηtv = 90 % ;

• número de aquecedores: 0.

Embora ainda seja necessário definir outros estados do ciclo, já é possível calcular atemperatura de saída da bomba, Td = 319,07 K. Do ciclo Brayton já calculado, tem-se T5= 756,23 K. Respeitando-se a condição de não condensação do vapor d’água discutidana seção 3.1.1, fixou-se a temperatura T6 em 360 K. Como visto na seção 3.4.1, restadeterminar Ta para finalizar o acoplamento dos ciclos. As figuras 4.9 e 4.10 mostramalguns parâmetros em função de Ta. Observa-se que, apesar da diminuição da vazãomássica m no ciclo Rankine, tanto a eficiência ηciclo quanto a potência específica Wespaumentam — praticamente da mesma forma — com Ta. Isso ocorre pois a elevaçãodo trabalho específico na turbina a vapor — em função de uma maior entalpia dovapor de entrada — supera o decréscimo na vazão. Outra consequência importante

Page 42: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 35

FIGURA 4.9: Curvas de m∗ e xb em função de Ta.(m∗ ≡ m/mar)

do superaquecimento é o crescimento do título xb na saída da turbina. Valores acimade 0,9 — usualmente o mínimo necessário para o bom funcionamento da turbina —são obtidos a partir de 652,4 K, como indicado na figura 4.9.

A análise das figuras 4.9 e 4.10 mostra que o superaquecimento melhora todosos parâmetos desejados. Nesse sentido, a princípio, a escolha de Ta deveria ser pelomaior valor possível, ou seja, T5. Contudo, isso seria inviável na prática, porque oHRSG necessitaria de uma área infinita. Esse fenômeno pode ser entendido pela ob-servação da equação da taxa de transferência de calor em um trocador (Shah e Sekulic,2003):

A =Q

U · F · ∆Tlm(4.2)

onde:

A : área de troca, em m2;

Q : taxa de transferência de calor, em kW;

U : coeficiente global de transferência de calor, em kW/(m2 · K);

F : fator de correção MTD;

Page 43: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 36

FIGURA 4.10: Curvas de Wesp e ηciclo em função de Ta.

∆Tlm : diferença de temperatura média logarítmica (LMTD1), em K.

Como os estados nos pontos 5 e 6 do ciclo Brayton são conhecidos, a taxa de calorQ — igual ao lado esquerdo da equação (3.55) — está determinada.

O coeficiente U não pode ser conhecido a priori, pois depende de diversos fatores,inclusive da geometria do trocador de calor, a qual influencia a área A. Contudo, osfabricantes costumam fornecer faixas de valores para uma estimativa inicial. Nessecaso, pode-se considerar U conhecido.

A LMTD é definida por

∆Tlm ≡∆T1 − ∆T2

ln

(∆T1

∆T2

) (4.3)

Considerando-se um trocador de calor com configuração contracorrente,

∆T1 = T5 − Ta (4.4)∆T2 = T6 − Td (4.5)

F = 1 (4.6)

1Do inglês, "Log Mean Temperature Difference".

Page 44: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 37

Com T6 e Td conhecidas, é possível calcular a LMTD como função somente de ∆T1.A figura 4.11 mostra a curva dessa função. Nota-se que, à medida que ∆T1 diminui, aLMTD tende abruptamente a zero. Nesse cenário, pela equação (4.2), percebe-se quea área A de troca tenderá ao infinito. Para contornar esse problema, estabeleceu-seum limite mínimo para ∆T1 de 30 K. Pelos mesmos motivos, esse valor também seráválido para ∆T2. Satisfazendo essa nova condição limite, definiu-se um valor de 100 Kpara ∆T1. Logo, pela equação (4.4), Ta = 656,23 K (para uma pressão de 1850 kPa, tem-se ∆Tsh = 174,61 K). Esse valor produz xb = 0,9, o que atende à recomendação de títulomínimo na turbina. Analogamente, pela equação (4.5), o novo valor de T6 é 419,07 K,que também respeita a condição de não condensação.

FIGURA 4.11: Diagrama LMTD x ∆T1 para o HRSG.

Page 45: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 38

4.2.4 Ciclo combinado com regeneração

1 aquecedor — caso A3

FIGURA 4.12: Esquema do ciclo combinado com 1 aquecedor de con-tato.

FIGURA 4.13: Esquema do ciclo combinado com 1 aquecedor de super-fície.

Page 46: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 39

No caso teste A3, avaliou-se o impacto de 1 regenerador no ciclo combinado. Fo-ram considerados os dois tipos de aquecedor: contato e superfície, este último semineficiências. Os esquemas desses dois cenários estão representados nas figuras 4.12 e4.13, respectivamente.

Respeitando-se as restrições impostas por (3.53) e (3.54), variou-se a pressão nalinha de extração da turbina de vapor (Plinha 1). Os resultados são exibidos nas figuras4.14 e 4.15. Analisando-as, algumas conclusões podem ser tomadas:

• o aquecedor de contato apresenta valores superiores, tanto de ηciclo quanto deWesp, para toda a faixa de pressão analizada;

• a partir de cerca de 170 kPa (linhas pontilhadas), a condição de approach mínimode 30 K não é respeitada em nenhum dos dois cenários, pois Td aumenta direta-mente com Plinha 1.

• os dois tipos de aquecedor apresentam pontos ótimos de ηciclo e de Wesp;

• a pressão ótima — tanto em relação a ηciclo quanto a Wesp — para o aquecedor decontato é de 250 kPa, fora da condição de approach mínimo;

• a pressão ótima — tanto em relação a ηciclo quanto a Wesp — para o aquecedor desuperfície é de 143 kPa, dentro da condição de approach mínimo;

• no geral, o cenário que prodziu os melhores resultados dentro das recomenda-ções foi o ciclo com aquecedor de contato, com Plinha 1 = 173 kPa.

FIGURA 4.14: Diagrama ηciclo x Plinha 1.

Page 47: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 40

FIGURA 4.15: Diagrama Wesp x Plinha 1.

Page 48: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 41

2 aquecedores — caso A4

FIGURA 4.16: Esquema do ciclo combinado com 2 aquecedores de con-tato.

Para melhorar ainda mais o rendimento do ciclo, no caso teste A4 avaliou-se aregeneração com 2 aquecedores, ambos do mesmo tipo. Seu esquema é apresentadona figura 4.16. Foram considerados três cenários (C1, C2 e C3), variando-se a pressãona linha 2 (Plinha 2) e com a pressão na linha 1 (Plinha 1) fixa:

C1) Aqucedores de contato. Plinha 1 = 173 kPa (melhor valor dentro das recomenda-ções no caso A3 — 1 aquecedor de contato).

C2) Aqucedores de superfície. Plinha 1 = 174 kPa (valor máximo permitido pelo crité-rio do approach mínimo no caso A3 — 1 aquecedor de superfície).

C3) Aqucedores de superfície. Plinha 1 = 143 kPa (valor ótimo do caso A3 — 1 aque-cedor de superfície).

A figura 4.17 mostra o efeito de Plinha 2 em ηciclo, para cada um dos três cenários.Analisando-a, podem-se fazer algumas observações:

• À semelhança do caso A3, a configuração com aquecedores de contato (C1) pro-duziu os melhores resultados, para a todos os valores de Plinha 2.

• Uma notável mudança ocorreu em relação à forma das curvas. Todos os cenárioscontinuam apresentando pontos ótimos; entretanto, esses pontos podem agoraser mais facilmente visualizados, uma vez que as curvas estão mais acentuadas.Esse fato indica que o segundo aquecedor é mais sensível a variações na pressãode extração que o primeiro.

Page 49: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 42

• Em relação às configurações com aquecedores de contato, o cenário de pontoótimo do caso A3 (C3) apresentou valores de ηciclo inferiores aos do cenário demáxima pressão na linha 1 (C2).

A figura 4.18 mostra os efeitos de pressão na linha 2 na potência específica Wesp,nos dois cenários. A semelhança com a figura 4.17 não é casual. As modificações nosregeneradores só alteram o ciclo Rankine. Como QH depende do Brayton e mantém-se constante, essas alterações somente influenciam a potência líquida global. Dessaforma, de acordo com as equações (3.57) e (3.58), a relação entre ηciclo e Wesp é, nessaconfiguração, linear.

FIGURA 4.17: Diagrama ηciclo x Plinha 2 com aquecedores de contato.

Page 50: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 43

FIGURA 4.18: Diagrama Wesp x Plinha 2 com aquecedores de contato.

Page 51: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 44

4.2.5 Ciclo combinado com regeneração e injeção de vapor — caso A5

FIGURA 4.19: Esquema do ciclo combinado com regeneração e injeçãode vapor.

No caso A5 — esquematizado na figura 4.19 —, desejou-se estudar como a injeçãode vapor no combustor atua no ciclo combinado. Para tal, foram mantidos os dadosiniciais do ciclo combinado da seção 4.2.4. Além deles, definiu-se a regeneração comdois aquecedores de contato. As pressões nas linhas de extração foram escolhidas combase na figura 4.17, de modo a produzir o maior rendimento possível. Desse modo,seus valores foram de 173 e 47 kPa.

Os resultados em função da vazão mássica de vapor injetado (ivap) são apresenta-dos na figura 4.20. Percebe-se que, apesar de aumentar a potência específica, a injeçãode vapor diminui o rendimento global. Esse fato é entendido com o auxílio da figura4.21. Observa-se um aumento de QH, pois mais massa entra no combustor, o que re-quer mais combustível. Adicionalmente, a contribuição do ciclo Rankine diminuiu —devido ao desvio de vapor para o ciclo Brayton —, afetando negativamente a potên-cia global. Desse modo, o crescimento de Wliq(combinada) não acompanhou o de QH,provocando uma queda na eficiência global.

Page 52: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 45

FIGURA 4.20: Curvas de ηciclo e de Wesp em função de ivap.

FIGURA 4.21: Curvas de Wliq e de QH em função de ivap.

Page 53: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 46

4.2.6 Ciclo combinado orgânico — caso B0

Para este caso hipotético, considerou-se o ciclo Brayton do caso A2, desta vez as-sociado a um Rankine orgânico, cujo fluido de trabalho é o pentano. Conforme men-cionado na seção 3.3, sua principal vantagem é trabalhar com fontes quentes a tem-peraturas inferiores. Dessa forma, fixou-se a temperatura de evaporação Tev a 439,7K — portanto, 30 K abaixo da temperatura crítica. A temperatura de condensação foidefinida como 293,15 K. Com isso, os dados de entrada foram:

• fluido de trabalho: pentano;

• Tev = 439,7 K;

• ∆Tsh = 0 K;

• Tcond = 293,15 K;

• ηb = 90 % ;

• ηtv = 90 % ;

• número de aquecedores: 0.

Admtiu-se, para efeito de comparação, um outro ciclo combinado, desta vez ope-rando com um Rankine comum. Nesse caso, as pressões de evaporação e de condensa-ção, Pev e Pb, repectivamente, são equivalentes às temperaturas Tev e Tcond do Rankineorgânico. Assim, têm-se os dados iniciais deste ciclo:

• Pev = Psat(439,7 K) = 728,325 kPa;

• ∆Tsh = 0 K;

• Pb = Psat(293,15 K) = 2,34 kPa;

• ηb = 90 % ;

• ηtv = 90 % .

TABELA 4.4: Comparação entre os ciclos combinados orgânico e co-mum.

xb m Wesp ηcicloOrgânico - 0,6387 1,509 50,84Comum 0,80 0,1399 1,588 53,47

Ao analisar a tabela 4.4, nota-se que, apesar da maior vazão mássica m em circu-lação no Rankine orgânico — em razão de uma entalpia de vaporização inferior à daágua —, seu ciclo combinado produz menos potência e, por conseguinte, um menorrendimento. Contudo, uma grande qualidade desse ciclo é a capacidade de trabalharsem superaquecimento. Isso se deve ao fato de muitos fluídos orgânicos apresentarem

Page 54: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 47

um comportamento diferente do da água na região de vapor superaquecido. Suas cur-vas de saturação possuem inclinação oposta à da água, permitindo que, mesmo numaexpansão isentrópica, um vapor que entra na turbina saturado saia superaquecido.Quando o fluido de trabalho é a água, porém, a tendência é uma diminuição no tí-tulo. Nessa configuração, o título na saída da turbina está abaixo do mínimo aceitável,tornando inviável o ciclo combinado comum.

4.2.7 Ciclo combinado orgânico com regeneração — caso B1

Pretendeu-se neste caso avaliar o efeito da regeneração no ciclo combinado orgâ-nico do caso B0. Nesse sentido, foi considerado apenas um aquecedor, de contato.

O rendimento global em função da temperatura de saturação na linha de extraçãoda turbina está representado na figura 4.22. Para efeito de comparação, foi incluidoum ciclo combinado com Rankine comum, cujas pressões são equivalentes às tem-peraturas de saturação, como descrito na seção 4.2.6. Para a faixa de Tsat adotada,nota-se uma variação de ηciclo de aproximadamente um ponto percentual no orgânico,contra apenas meio ponto no comum. Além disso, em sintonia com o caso B0 (semregeneração), a eficiência do ciclo combinado orgânico é inferior à de seu equivalentecomum.

FIGURA 4.22: Diagrama ηciclo x Tsat na linha 1.

Page 55: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Capítulo 4. Resultados 48

4.2.8 Resumo dos casos

A tabela 4.5 mostra os resultados em função das escolhas dos parâmetros variáveisem cada caso, incluindo os cenários iniciais, A0 e B0.

TABELA 4.5: Resumo dos resultados dos casos.

Caso Escolha Wesp ηciclo [%]A0 - 1,243 41,88

A1ivap = 5 %Tvap = 1,5 Tre f

1,476 45,44

A2∆Tsh = 174,61 KT6 = 419,07 K

1,607 54,13

A31 aquecedor de contatoLinha 1: Psat = 173 kPa

1,626 54,76

A42 aquecedores de contatoLinha 1: Psat = 173 kPaLinha 2: Psat = 47 kPa

1,630 54,90

A5* ivap = 0 % 1,630 54,90A5** ivap = 5 % 1,766 53,93B0 - 1,509 50,84

B11 aquecedor de contatoLinha 1: Tsat = 370 K

1,546 52,06

*otimização de ηciclo**otimização de Wesp

Page 56: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

49

Capítulo 5

Conclusão

O programa desenvolvido tem o intuito de ser uma ferramenta rápida e práticapara cálculos de ciclos relativamente simples. Ele se destina a estudantes de engenha-ria mecânica e, por isso, espera-se do usuário um conhecimento mínimo de termodi-nâmica. Dessa forma, ele conseguirá realizar inúmeras comparações, para diversosparâmetros de entrada e modificações, como demonstrado brevemente no capítulo 4.

Do estudo de casos apresentado, é possível obter algumas conclusões. Tomandocomo referência um ciclo Brayton simples, percebe-se que a injeção de vapor produzuma forte melhora nos resultados. Se o ciclo for combinado, entretanto, seu efeito po-derá ser benéfico apenas em relação à potência. Nesse caso, é mais interessante optarpela regeneração, dando preferância aos aquecedores de contato. Ademais, a influên-cia dos regeneradores cai conforme seu número aumenta. Se a temperatura da fontequente for suficientemente pequena, deve-se optar por um ciclo orgânico, pois, apesarde menos eficiente energeticamente, será o único viável em termos operacionais.

A simplicidade do programa confere a ele robustez e facilita seu uso. Todavia,para uma maior aproximação com os ciclos de potência da realidade, algumas funcio-nalidades seriam de grande valor. Assim, para trabalhos futuros, sugere-se adicionaralgumas opções ao usuário:

• perda de carga nos equipamentos;

• múltiplos estágios de compressão;

• reaquecimento.

Page 57: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

50

Bibliografia

Agência Nacional de Energia Elétrica (2018). Editais de Geração. Acesso: 24/02/201814:50h. URL: http://www.aneel.gov.br/geracao4.

Bathie, W. (1996). Fundamentals of Gas Turbine. 2ª ed. John Wiley & Sons.Bell, Ian H. et al. (2014). «Pure and Pseudo-pure Fluid Thermophysical Property Eva-

luation and the Open-Source Thermophysical Property Library CoolProp». Em:Industrial & Engineering Chemistry Research 53.6, pp. 2498–2508. DOI: 10 . 1021 /ie4033999. eprint: http://pubs.acs.org/doi/pdf/10.1021/ie4033999. URL:http://pubs.acs.org/doi/abs/10.1021/ie4033999.

Bezerra, Renata Cardoso (2013). Análise e Otimização de um Ciclo Brayton com Injeção deVapor.

Borgnakke, C. e R.E. Sonntag (2013). Fundamentos da Termodinâmica. 8ª ed. Blucher.Brent, Richard P. (1972). Algorithms for Minimization without Derivatives (Automatic Com-

putation). Prentice Hall.Busch, Chris e Eric Gimon (2014). «Natural Gas versus Coal: Is Natural Gas Better

for the Climate?» Em: The Electricity Journal 27.7, pp. 97 –111. ISSN: 1040-6190.DOI: https://doi.org/10.1016/j.tej.2014.07.007. URL: http://www.sciencedirect.com/science/article/pii/S1040619014001687.

Clemente, Stefano et al. (2013). «Bottoming organic Rankine cycle for a small scale gasturbine: A comparison of different solutions». Em: Applied Energy 106, pp. 355 –364.ISSN: 0306-2619. DOI: https://doi.org/10.1016/j.apenergy.2013.02.004. URL:http://www.sciencedirect.com/science/article/pii/S0306261913001128.

Colaço, Marcelo J. (2017). «Turbinas». Notas de aula.De Paepe, Michel e Erik Dick (2000). «Cycle Improvements to steam injected gas tur-

bines». Em: 24, pp. 1081 –1107.El Hefni, Baligh (2014). «Dynamic Modeling of Concentrated Solar Power Plants with

the ThermoSysPro Library (Parabolic Trough Collectors, Fresnel Reflector and Solar-Hybrid)». Em: Energy Procedia 49. Proceedings of the SolarPACES 2013 Internati-onal Conference, pp. 1127 –1137. ISSN: 1876-6102. DOI: https://doi.org/10.1016/j.egypro.2014.03.122. URL: http://www.sciencedirect.com/science/article/pii/S1876610214005761.

El Hefni, Baligh, Daniel Bouskela e Grégory Lebreton (2011). Dynamic Modelling of aCombined Cycle Power Plant with ThermoSysPro. Eletricité de France. URL: https://www.modelica.org/events/modelica2011/Proceedings/pages/papers/15_2_ID_115_a_fv.pdf.

Harvey, A. H. (1998). «Thermodynamic Properties of Water: Tabulation from the IAPWSFormulation 1995 for the Thermodynamic Properties of Ordinary Water Substancefor General and Scientific Use». Em: NISTIR 5078. Acessado em 02/02/2018.

Jakobsen, Arne, Bjarne D. Rasmussen e Simon Engedal Andersen (1999). «CoolPack –Simulation tools for refrigeration system». Em: Scan Ref 28.4, pp. 7–10.

Page 58: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

BIBLIOGRAFIA 51

Mies, Edoardo Giovanni Jasmin (2015). Otimização de Ciclo de Turbina a Vapor com TrêsExtrações.

Operador Nacional do Sistema Elétrico (2018). Carga e Geração. Acesso: 24/02/201814:24h. URL: http://www.ons.org.br/pt/paginas/energia-agora/carga-e-geracao.

Quoilin, Sylvain et al. (2014). «ThermoCycle: A Modelica library for the simulation ofthermodynamic systems». Em: Proceedings of the 10th International Modelica Confe-rence; March 10-12; 2014; Lund; Sweden. 96. Linköping University Electronic Press;Linköpings universitet, pp. 683–692.

Shah, Ramesh K. e Dušan P. Sekulic (2003). Fundamentals of Heat Exchanger Design. JohnWiley & Sons.

Page 59: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

52

Apêndice A

Telas do programa

FIGURA A.1: Tela do ciclo Brayton.

Page 60: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice A. Telas do programa 53

FIGURA A.2: Tela do ciclo Rankine.

Page 61: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice A. Telas do programa 54

FIGURA A.3: Tela do relatório produzido pelo ciclo da figura A.2.

Page 62: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice A. Telas do programa 55

FIGURA A.4: Tela da 1a parte do ciclo combinado orgânico.

Page 63: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice A. Telas do programa 56

FIGURA A.5: Tela da 2a parte do ciclo combinado orgânico.

Page 64: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

57

Apêndice B

Código do programa

B.1 AltClass.cs

Nesta seção são apresentados trechos do arquivo AltClass.cs, que contém a funçãode interpolação (Interp1) e a classe de aviso (Warning).

1 using Newtonsoft.Json;2 using System;3 using System.Collections.Generic;4 using System.Globalization;5 using System.IO;6 using System.Linq;7

8 namespace Cycles9 {

10 public static class AltClass11 {12 static public double Interp1(List<double> c1, List<double> c2,

double x)↪→

13 {14 int size = c1.Count;15 if (x < c1[0] || x > c1[size - 1]) throw new

ArgumentOutOfRangeException();↪→

16 int ind = 0;17 int sign1 = Math.Sign(c1[0]-x);18 int sign2;19 for (int i=1; i<size; ++i)20 {21 sign2 = Math.Sign(c1[i] - x);22 if (sign2 != sign1)23 {24 double ans = (c2[i] - c2[i - 1]) / (c1[i] - c1[i -

1]) * (x - c1[i - 1]) + c2[i - 1];↪→

25 return ans;26 }27 }28 ind = size - 1;

Page 65: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 58

29 double y = (c2[ind] - c2[ind - 1]) / (c1[ind] - c1[ind - 1])* (x - c1[ind - 1]) + c2[ind - 1];↪→

30 return y;31 }32

33 public class Warning34 {35 public int Indice { get; set; }36 public string ShortMsg { get; set; }37 public string FullMsg { get; set; }38

39 public Warning(int indice, string shortMsg, string fullMsg)40 {41 Indice = indice;42 ShortMsg = shortMsg;43 FullMsg = fullMsg;44 }45 }46 }

B.2 GasIdeal.cs

Nesta seção são apresentados trechos do arquivo GasIdeal.cs, que contém as fun-ções relativas aos gases ideais.

1 using System;2 using System.Collections.Generic;3 using System.IO;4 using MathNet.Numerics.LinearAlgebra;5 using Newtonsoft.Json;6

7 namespace Cycles8 {9 class GasIdeal

10 {11 public const double MAr = 28.965; // kg/kmol12 public const double MH2O = 18.015;13 public const double MN2 = 28.013;14 public const double MO2 = 31.999;15 public const double MCO2 = 44.01;16 public const double R_mol = 8.31451; // kJ/kmol K17 public const double Cp0Ar = 1.004; // [kJ/kg K] @(25°C,100 kPa)18

19 public List<List<double>> Ar { get; set; }20 public List<List<double>> CO2 { get;set; }21 public List<List<double>> H2O { get; set; }

Page 66: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 59

22 public List<List<double>> N2 { get; set; }23 public List<List<double>> O2 { get; set; }24

25 public static GasIdeal Load(string path)26 {27 string conv = File.ReadAllText(path);28 return JsonConvert.DeserializeObject<GasIdeal>(conv);29 }30

31 public double PrAr(double T)32 {33 double y = AltClass.Interp1(Ar[0], Ar[4], T);34 return y;35 }36 public double h_PrAr(double Pr)37 {38 double y = AltClass.Interp1(Ar[4], Ar[2], Pr);39 return y;40 }41 public double T_hAr(double h)42 {43 double y = AltClass.Interp1(Ar[2], Ar[0], h);44 return y;45 }46 public double hAr(double T)47 {48 double y = AltClass.Interp1(Ar[0], Ar[2], T);49 return y;50 }51 public double sAr(double T)52 {53 double y = AltClass.Interp1(Ar[0], Ar[3], T);54 return y;55 }56 public double hH2O(double T)57 {58 double y = AltClass.Interp1(H2O[0], H2O[2], T);59 return y;60 }61 public double sH2O(double T)62 {63 double y = AltClass.Interp1(H2O[0], H2O[3], T);64 return y;65 }66 public double hN2(double T)67 {

Page 67: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 60

68 double y = AltClass.Interp1(N2[0], N2[2], T);69 return y;70 }71 public double sN2(double T)72 {73 double y = AltClass.Interp1(N2[0], N2[3], T);74 return y;75 }76 public double hCO2(double T)77 {78 double y = AltClass.Interp1(CO2[0], CO2[2], T);79 return y;80 }81 public double sCO2(double T)82 {83 double y = AltClass.Interp1(CO2[0], CO2[3], T);84 return y;85 }86 public double hO2(double T)87 {88 double y = AltClass.Interp1(O2[0], O2[2], T);89 return y;90 }91 public double sO2(double T)92 {93 double y = AltClass.Interp1(O2[0], O2[3], T);94 return y;95 }96 public double hMistura(double[] y, double T)97 {98 double[] hMix = { hCO2(T), hH2O(T), MAr * hAr(T), hN2(T) };99 var yVec = Vector<double>.Build.DenseOfArray(y);

100 var MixVec = Vector<double>.Build.DenseOfArray(hMix);101 double ans = yVec.DotProduct(MixVec);102 return ans;103 }104 public double sMistura(double[] y, double T)105 {106 double[] sMix = { sCO2(T), sH2O(T), MAr * sAr(T), sN2(T) };107 var yVec = Vector<double>.Build.DenseOfArray(y);108 var MixVec = Vector<double>.Build.DenseOfArray(sMix);109 double ans = yVec.DotProduct(MixVec);110 return ans;111 }112 public double ThMistura(double[] y, double h, double Tminus,

double Tplus)↪→

Page 68: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 61

113 {114 double fun(double T)115 {116 double hMix = hMistura(y, T) - h;117 return hMix;118 }119

120 Root.FunctionOfOneVariable dlg;121 dlg = new Root.FunctionOfOneVariable(fun);122 double ans = Root.RootFinding.Brent(fun, Tminus,Tplus);123 return ans;124 }125 public double TsMistura(double[] y, double s, double Tminus,

double Tplus)↪→

126 {127 double fun(double T)128 {129 double hMix = sMistura(y, T) - s;130 return hMix;131 }132

133 Root.FunctionOfOneVariable dlg;134 dlg = new Root.FunctionOfOneVariable(fun);135 double ans = Root.RootFinding.Brent(fun, Tminus, Tplus);136 return ans;137 }138 }139 }

B.3 Water.cs

Nesta seção são apresentados trechos do arquivo Water.cs, que contém as funçõesrelativas à água.

1 using Newtonsoft.Json;2 using System;3 using System.Collections.Generic;4 using System.IO;5 using System.Linq;6

7 namespace Cycles8 {9 class Water

10 {11 public List<double> PValues { get; set; }12 public List<List<List<double>>> Tabelas { get; set; }

Page 69: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 62

13 public List<List<double>> SatP { get; set; }14 public List<List<double>> SatT { get; set; }15

16 public static Water Load(string path)17 {18 string conv = File.ReadAllText(path);19 return JsonConvert.DeserializeObject<Water>(conv);20 }21

22 public double hsat_sp(double s, double p)23 {24 double ans;25 double sl = AltClass.Interp1(SatP[0], SatP[7], p);26 double sv = AltClass.Interp1(SatP[0], SatP[8], p);27 if (s>=sl && s <= sv)28 {29 double hlv = AltClass.Interp1(SatP[0], SatP[6], p);30 double hl = AltClass.Interp1(SatP[0], SatP[4], p);31 double x = (s-sl) / (sv-sl);32 ans = x * hlv + hl;33 }34 else35 {36 ans = h_sp(s,p);37 }38 return ans;39 }40 public double hsat_xt(double x, double t)41 {42 if (x < 0.0 || x > 1.0) throw new

ArgumentOutOfRangeException();↪→

43 double hlv = AltClass.Interp1(SatT[0], SatT[6], t);44 double hl = AltClass.Interp1(SatT[0], SatT[4], t);45 double ans = x * hlv + hl;46 return ans;47 }48 public double hsat_xp(double x, double p)49 {50 if (x < 0.0 || x > 1.0) throw new

ArgumentOutOfRangeException();↪→

51 double hlv = AltClass.Interp1(SatP[0], SatP[6], p);52 double hl = AltClass.Interp1(SatP[0], SatP[4], p);53 double ans = x * hlv + hl;54 return ans;55 }56 public double ssat_xt(double x, double t)

Page 70: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 63

57 {58 if (x < 0.0 || x > 1.0) throw new

ArgumentOutOfRangeException();↪→

59 double slv = AltClass.Interp1(SatT[0], SatT[9], t);60 double sl = AltClass.Interp1(SatT[0], SatT[7], t);61 double ans = x * slv + sl;62 return ans;63 }64 public double[] hs_pliqsat(double p)65 {66 double[] ans = { 0.0, 0.0 };67 ans[0] = AltClass.Interp1(SatP[0], SatP[4], p);68 ans[1] = AltClass.Interp1(SatP[0], SatP[7], p);69 return ans;70 }71 public double Tsat_p(double p)72 {73 double ans = AltClass.Interp1(SatP[0], SatP[1], p);74 return ans;75 }76 public bool IsSat(double h, double p)77 {78 double hl = hsat_xp(0.0, p);79 double hv = hsat_xp(1.0, p);80 if ((h>=hl) && (h<=hv))81 {82 return true;83 }84 else85 {86 return false;87 }88 }89 public double XSat(double h, double p)90 {91 double hl = hsat_xp(0.0, p);92 double hv = hsat_xp(1.0, p);93 double x = (h - hl) / (hv - hl);94 return x;95 }96 public double h_spGen(double s, double p)97 {98 double ans;99 double sl = AltClass.Interp1(SatP[0], SatP[7], p);

100 double sv = AltClass.Interp1(SatP[0], SatP[8], p);101 if (s <= sv || s >= sl)

Page 71: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 64

102 {103 ans = hsat_sp(s, p);104 }105 else106 {107 ans = h_sp(s, p);108 }109 return ans;110 }111 public double h_sp(double s, double p)112 {113 double ans;114 int size = PValues.Count;115 int i = 0;116 for (int j = 1; j < size; ++j)117 {118 //if (PValues[i] == p)119 //{120 // ans = AltClass.Interp1(Tabelas[i][3],

Tabelas[i][2], s);↪→

121 // break;122 //}123 if (PValues[j] >= p)124 {125 i = j;126 break;127 }128

129 }130 double h1 = AltClass.Interp1(Tabelas[i][3], Tabelas[i][2],

s);↪→

131 double h0 = AltClass.Interp1(Tabelas[i - 1][3], Tabelas[i -1][2], s);↪→

132 double p1 = PValues[i];133 double p0 = PValues[i - 1];134 ans = (h1 - h0) * (p - p0) / (p1 - p0) + h0;135 return ans;136 }137 public double h_Tp(double T, double p)138 {139 if (p < PValues.First() || p > PValues.Last())140 {141 throw new ArgumentOutOfRangeException();142 }143 if (Math.Abs(T-Tsat_p(p)) < 0.001)144 {

Page 72: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 65

145 throw new Exception();146 }147 double ans;148 int size = PValues.Count;149 int i = 0;150 for (int j = 1; j < size; ++j)151 {152 if (PValues[j] >= p)153 {154 i = j;155 break;156 }157

158 }159 double h1, h0;160 double p1 = PValues[i];161 double p0 = PValues[i - 1];162 if (T > Tsat_p(p))163 {164 h0 = AltClass.Interp1(Tabelas[i - 1][0], Tabelas[i -

1][2], T);↪→

165 if (T <= Tsat_p(p1))166 {167 h1 = hsat_xt(1.0, T);168 p1 = AltClass.Interp1(SatT[0], SatT[1], T);169 }170 else171 {172 h1 = AltClass.Interp1(Tabelas[i][0], Tabelas[i][2],

T);↪→

173 }174 }175 else176 {177 h1 = AltClass.Interp1(Tabelas[i][0], Tabelas[i][2], T);178 if (T >= Tsat_p(p0))179 {180 h0 = hsat_xt(1.0, T);181 p0 = AltClass.Interp1(SatT[0], SatT[1], T);182 }183 else184 {185 h0 = AltClass.Interp1(Tabelas[i - 1][0], Tabelas[i -

1][2], T);↪→

186 }187 }

Page 73: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 66

188 ans = (h1 - h0) * (p - p0) / (p1 - p0) + h0;189 return ans;190 }191 public double s_Tp(double T, double p)192 {193 if (p < PValues.First() || p > PValues.Last())194 {195 throw new ArgumentOutOfRangeException();196 }197 if (Math.Abs(T - Tsat_p(p)) < 0.001)198 {199 throw new Exception();200 }201 double ans;202 int size = PValues.Count;203 int i = 0;204 for (int j = 1; j < size; ++j)205 {206 if (PValues[j] >= p)207 {208 i = j;209 break;210 }211

212 }213 double s1, s0;214 double p1 = PValues[i];215 double p0 = PValues[i - 1];216 if (T > Tsat_p(p))217 {218 s0 = AltClass.Interp1(Tabelas[i - 1][0], Tabelas[i -

1][3], T);↪→

219 if (T <= Tsat_p(p1))220 {221 s1 = ssat_xt(1.0, T);222 p1 = AltClass.Interp1(SatT[0], SatT[1], T);223 }224 else225 {226 s1 = AltClass.Interp1(Tabelas[i][0], Tabelas[i][3],

T);↪→

227 }228 }229 else230 {231 s1 = AltClass.Interp1(Tabelas[i][0], Tabelas[i][3], T);

Page 74: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 67

232 if (T >= Tsat_p(p0))233 {234 s0 = ssat_xt(1.0, T);235 p0 = AltClass.Interp1(SatT[0], SatT[1], T);236 }237 else238 {239 s0 = AltClass.Interp1(Tabelas[i - 1][0], Tabelas[i -

1][3], T);↪→

240 }241 }242 ans = (s1 - s0) * (p - p0) / (p1 - p0) + s0;243 return ans;244 }245 public double T_hp(double h, double p)246 {247 if (p < PValues.First() || p > PValues.Last())248 {249 throw new ArgumentOutOfRangeException();250 }251 double ans;252 int size = PValues.Count;253 int i = 0;254 for (int j = 1; j < size; ++j)255 {256 if (PValues[j] >= p)257 {258 i = j;259 break;260 }261

262 }263 double T1 = AltClass.Interp1(Tabelas[i][2], Tabelas[i][0],

h);↪→

264 double T0 = AltClass.Interp1(Tabelas[i - 1][2], Tabelas[i -1][0], h);↪→

265 double p1 = PValues[i];266 double p0 = PValues[i - 1];267 ans = (T1 - T0) * (p - p0) / (p1 - p0) + T0;268 return ans;269 }270 public double TurbVap0( double T0,271 double P0,272 double Pminus,273 double Pplus,274 double eta,

Page 75: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 68

275 double x_turb)276 {277 double ans;278 double h0 = h_Tp(T0, P0);279 double s0 = s_Tp(T0, P0);280 Root.FunctionOfOneVariable dlg;281 dlg = new Root.FunctionOfOneVariable(fun);282 double fun(double p)283 {284 double local = x_tv(p, eta, h0, s0) - x_turb;285 return local;286 }287 ans = Root.RootFinding.Brent(fun, Pminus, Pplus);288 return ans;289 }290 public double TurbVap(double h0,291 double s0,292 double Pminus,293 double Pplus,294 double eta,295 double x_turb)296 {297 double ans;298 Root.FunctionOfOneVariable dlg;299 dlg = new Root.FunctionOfOneVariable(fun);300 double fun(double p)301 {302 double local = x_tv(p, eta, h0, s0) - x_turb;303 return local;304 }305 ans = Root.RootFinding.Brent(fun, Pminus, Pplus);306 return ans;307 }308 private double x_tv(double P, double eta, double h0, double s0)309 {310 double ans;311 double hv = AltClass.Interp1(SatP[0], SatP[5], P);312 double hi = hsat_sp(s0, P);313 double h2 = (hi - h0) * eta + h0;314 if (h2 > hv) ans = 1.0;315 else316 {317 double hl = AltClass.Interp1(SatP[0], SatP[4], P);318 ans = (h2 - hl) / (hv - hl);319 }320 return ans;

Page 76: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 69

321 }322 }323 }

B.4 Brayton.cs

Nesta seção são apresentados trechos do arquivo Brayton.cs, que contém os cálcu-los do ciclo Brayton.

1 using System;2 using System.Collections.Generic;3 using System.ComponentModel;4 using System.IO;5

6 namespace Cycles7 {8 public enum Comb9 {

10 metano,11 octano,12 etanol,13 }14

15 [Serializable()]16 public class ErrorException : Exception17 {18 public ErrorException(string msg) : base(msg)19 {20 }21 }22

23 public class Brayton : INotifyPropertyChanged24 {25 public event PropertyChangedEventHandler PropertyChanged;26

27 // T(K) ; P(kPa) ; h(kJ/kg) ; s(kJ/kg K)28

29 double a, b, c, d, e, e0; // coeficientes estequiométricos nocombustor↪→

30 double t3, Mcomb, hcomb, PCI;31 double hvap; // entalpia do vapor injetado no combustor32 double q_vap; // calor requerido pelo vapor no HRSG33 public double Qh { get; private set; } // calor gerado no

combustor↪→

34 double wc; // kJ/kg (potência do compressor)35 double wb = 0; // kJ/kg (potência da bomba)

Page 77: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 70

36 double wtp; // kJ/kg (potência da 2ª turbina)37 double eta_c, eta_t, eta_tp;38 public List<Warning> WarnList { get; private set; } // lista de

avisos↪→

39

40 public double Tb_out { get; private set; } // temp. daágua na saída da bomba↪→

41 public double T2 { get; private set; } // temp. do ar na entradado combustor↪→

42 public double P3 { get; private set; } // pressão na saída docombustor↪→

43 public double T4 { get; private set; } // temp. na saída daprimeira turbina↪→

44 public double P4 { get; private set; } // pressão na saída daprimeira turbina↪→

45 public double T5 { get; private set; } // temp. na saída daturbina de potência↪→

46 public double P6 { get; private set; } // temp. de descarte dosgases de exaustão no ambiente↪→

47 double[] vazoes = new double[6]; // vazão nos pontos do ciclo48

49 public double FA { get; private set; } // razão combustível-arem base mássica↪→

50 public double FAst { get; private set; } // razão combustível-arestequiométrica em base mássica↪→

51 public double Wliq { get; private set; } // [kW] potêncialíquida do ciclo↪→

52 public double Wesp { get; private set; } // potência específicado ciclo↪→

53 public double Rend { get; private set; } // eficiência de 1ª leido ciclo↪→

54 public double Quti { get; private set; } // [kW] taxa de calorno RHSG (p/ ciclo combinado)↪→

55

56 // Dados fornecidos pelo usuário57

58 public double Pct_vapor { get; set; } // procentagem de vapor emrelação à vazão mássica↪→

59 public double Tvap { get; set; } // temp. do vapor injetado nocombustor↪→

60 public double Pvap {get; set;} // pressão do vapor injetado nocombustor↪→

61

62 public double Txm { get; set; } // kg/s (vazão mássica de ar queentra no compressor)↪→

63 public double T1 { get; set; } // temp. do ar na entrada docompressor↪→

Page 78: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 71

64 public double P1 { get; set; } // pressão do ar na entrada docompressor↪→

65 public double P2 { get; set; } // pressão do ar na entrada docombustor↪→

66 public double T3 // temp. na saída do combustor67 {68 get { return t3; }69 set70 {71 if (value > 2500.0 || value < 298.15)72 {73 throw new ErrorException("The value of 'T3' is out

of range.");↪→

74 }75 else76 {77 t3 = value;78 }79 }80 }81 public double P5 { get; set; } // pressão de saída da turbina de

potência↪→

82 public double T6 { get; set; } // temp. de descarte dos gases deexaustão no ambiente↪→

83 //public double Rc { get; set; } // razão de compressão84 public double Eta_c // eficiência do compressor85 {86 get { return eta_c; }87 set88 {89 if (value > 0.0)90 {91 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

92 eta_c = value / 100.0;93 }94 else95 {96 throw new ErrorException("Efficiencies must be above

0 %.");↪→

97 }98 }99 }

100 public double Eta_t //eficiência da turbina de alimentação101 {

Page 79: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 72

102 get { return eta_t; }103 set104 {105 if (value > 0.0)106 {107 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

108 eta_t = value / 100.0;109 }110 else111 {112 throw new ErrorException("Efficiencies must be above

0 %.");↪→

113 }114 }115 }116 public double Eta_tp // eficiência da turbina de potência117 {118 get119 {120 return eta_tp;121 }122 set123 {124 if (value > 0.0)125 {126 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

127 eta_tp = value / 100.0;128 }129 else130 {131 throw new ErrorException("Efficiencies must be above

0 %.");↪→

132 }133 }134 }135 public bool IsCombined { get; set; } // o ciclo Brayton alimenta

um Rankine?↪→

136

137 public Brayton()138 {139 this.Pct_vapor = 0.0;140 }

Page 80: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 73

141

142 public void SetComb(Comb comb)143 {144 switch (comb)145 {146 case Comb.metano:147 this.b = 2.0; this.d = 1.0; this.e0 = 2.0;148 this.hcomb = -74873.0;149 this.Mcomb = 16.043;150 this.PCI = 50010.0;151 break;152 case Comb.octano:153 this.b = 12.5; this.d = 8.0; this.e0 = 9.0;154 this.hcomb = -250105.0;155 this.Mcomb = 114.232;156 this.PCI = 44425.0;157 break;158 case Comb.etanol:159 this.b = 3.0; this.d = 2.0; this.e0 = 3.0;160 this.hcomb = -277380.0;161 this.Mcomb = 46.069;162 this.PCI = 26811.0;163 break;164 }165 }166

167 private void SetVapor()168 {169 string path = Directory.GetCurrentDirectory() +

"//Water.json";↪→

170 Water wt = Water.Load(path);171 double Tsat = wt.Tsat_p(Pvap);172 if (Tvap < Tsat)173 {174 string msg = String.Format("Superheated steam is

recommended. 'Tvap' must be above {0} K.", Tsat);↪→

175 throw new ErrorException(msg);176 }177 double hvap0 = wt.h_Tp(Tvap, Pvap);178 hvap = hvap0 * GasIdeal.MH2O - 285830.0;179

180 // Bomba181 if (!IsCombined)182 {183 double h_0 = wt.h_Tp(298, 101.3);184 double s = wt.s_Tp(298, 101.3);

Page 81: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 74

185 double h_1 = wt.h_sp(s, Pvap);186 Tb_out = wt.T_hp(h_1, Pvap);187 q_vap = hvap0 - h_1;188 wb = h_1 - h_0;189 }190 }191

192 private void CheckVapor(double T, double P)193 {194 string path = Directory.GetCurrentDirectory() +

"//Water.json";↪→

195 Water wt = Water.Load(path);196 double Tov = wt.Tsat_p(P);197 if (T <= Tov)198 {199 var cultura =

System.Globalization.CultureInfo.CreateSpecificCulture("en-US");↪→

200 throw new ErrorException(String.Format(cultura, "'T6'must be above the dew point ({0:f2} K)", Tov));↪→

201 }202 else if (T < Tov + 30.0)203 {204 string f = (IsCombined)? "Ta" : "Tvap";205 WarnList.Add(new Warning(1, "'T6' is too low", $"There

might be condensation at point '6'. We recommendlowering '{f}'." ));

↪→

↪→

206 }207 }208

209 public void Calcular()210 {211 // Carregar as propriedades de gases ideais212 string path = Directory.GetCurrentDirectory() +

"//GasIdeal.json";↪→

213 GasIdeal gi = GasIdeal.Load(path);214

215 WarnList = new List<Warning>(); // limpa a lista de avisos216

217 // Compressor218 double Pr1 = gi.PrAr(T1);219 double Pr2 = (P2 / P1) * Pr1;220 double h2i = gi.h_PrAr(Pr2);221 double h1 = gi.hAr(T1);222 wc = (h2i - h1) / eta_c;223 double h2 = wc + h1;224 T2 = gi.T_hAr(h2);

Page 82: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 75

225

226 // Combustor227 double c0;228 double c1;229 double pro = d * gi.hCO2(T3) + e0 * gi.hH2O(T3) + 3.76 * b *

gi.hN2(T3);↪→

230 double rea = b * gi.hO2(T2) + 3.76 * b * gi.hN2(T2) + hcomb;231 double dif_ar = (gi.hAr(T2) - gi.hAr(T3)) * GasIdeal.MAr;232 double dif_vap;233 if (Pct_vapor == 0.0)234 {235 c0 = 0.0;236 c1 = 0.0;237 dif_vap = -gi.hH2O(T3);238 }239 else240 {241 SetVapor();242 if (Pvap < P2) WarnList.Add(new Warning(0, "Psteam <

P2", "'Psteam' should be higher than 'P2'."));↪→

243 c0 = Pct_vapor * b * (GasIdeal.MO2 + 3.76 *GasIdeal.MN2) / GasIdeal.MH2O;↪→

244 c1 = Pct_vapor * GasIdeal.MAr / GasIdeal.MH2O;245 dif_vap = hvap - gi.hH2O(T3);246 }247 a = (pro - rea - c0 * dif_vap) / (dif_ar + c1 * dif_vap);248 c = c0 + c1 * a; // kmol vapor/ kmol comb249 e = c + e0;250 FA = Mcomb / (a * GasIdeal.MAr + b * (GasIdeal.MO2 + 3.76 *

GasIdeal.MN2));↪→

251 FAst = Mcomb / (b * (GasIdeal.MO2 + 3.76 * GasIdeal.MN2));252 double nr = d + e + a + 3.76 * b;253 double[] nmix = { d, e, a, 3.76 * b };254 // frações molares dos componentes da mistura255 double[] ymix = { d / nr, e / nr, a / nr, 3.76 * b / nr };256 double h3_mol = gi.hMistura(nmix, T3); // kJ/kmol comb257 double s3_mol = gi.sMistura(ymix, T3); // kJ/K kmol mistura258 P3 = P2;259 Qh = Txm * FA * PCI;260

261 // Turbina a gás (alimenta o compressor)262 double fator1 = Mcomb / FA; // base kg ar -> base kmol comb263 double wt_mol = wc * fator1; // kJ/kmol comb264 double h4_mol = h3_mol - wt_mol;265 T4 = (wt_mol == 0.0)? T3 : gi.ThMistura(nmix, h4_mol,

298.15, T3);↪→

Page 83: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 76

266 double s4_mol = gi.sMistura(ymix, T4);267 double wti_mol = wt_mol / eta_t;268 double h4i_mol = h3_mol - wti_mol;269 double T4i = gi.ThMistura(nmix, h4i_mol, 298.15, T4 + 1.0);270 double s4i_mol = gi.sMistura(ymix, T4i);271 P4 = P3 * Math.Exp((s4i_mol - s3_mol) / GasIdeal.R_mol);272

273

274 // Turbina de potência275 double s5i_mol = s4_mol + GasIdeal.R_mol * Math.Log(P5 /

P4);↪→

276 double T5i = gi.TsMistura(ymix, s5i_mol, 298.15, T4 + 1.0);277 double h5i_mol = gi.hMistura(nmix, T5i);278 double wtpi_mol = h4_mol - h5i_mol;279 double wtp_mol = wtpi_mol * eta_tp; // kJ/kmol comb280 wtp = wtp_mol / fator1; // kJ/kg ar281 Wliq = Txm * wtp;282 if (!IsCombined) Wliq -= Txm * wb * Pct_vapor;283 double h5_mol = h4_mol - wtp_mol;284 double h5 = h5_mol / fator1; // kJ/kg ar285 T5 = gi.ThMistura(nmix, h5_mol, T5i - 1.0, T4 + 1.0);286

287 if ((Pct_vapor != 0) && (!IsCombined))288 {289 if (Tvap >= T5)290 {291 throw new ErrorException("'Tvap' is too high. It

must be below 'T5'.");↪→

292 }293 else if (Tvap > T5 - 30.0)294 {295 WarnList.Add(new Warning(3, "'Tvap' is too high",

"'Tvap' is too close to 'T5'."));↪→

296 }297

298 }299

300 double m3 = Txm * (1 + FA + Pct_vapor);301 vazoes = new double[] { Txm, Txm, m3, m3, m3, m3 };302

303 Wesp = Wliq / (Txm * GasIdeal.Cp0Ar * T1);304 Rend = Wliq / Qh;305 double h6 = 0.0;306 P6 = P5;307 if (IsCombined)308 {

Page 84: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 77

309 h6 = gi.hMistura(nmix, T6) / fator1;310 Quti = Txm * (h5 - h6);311 P6 = P5;312 }313 else if (Pct_vapor != 0.0)314 {315 h6 = h5 - Pct_vapor * q_vap;316 T6 = gi.ThMistura(nmix, h6 * fator1, 298.15, T5 + 1.0);317 if (Tb_out >= T6)318 {319 throw new ErrorException("An error has occurred at

the HRSG. 'T6' is too low.");↪→

320 }321 }322 if (Pct_vapor != 0.0) CheckVapor(T6, ymix[1] * P5);323 OnPropertyChanged("Rend");324 }325

326 protected void OnPropertyChanged(string name)327 {328 PropertyChanged?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

329 }330 }331 }

B.5 Rankine.cs

Nesta seção são apresentados trechos do arquivo Rankine.cs, que contém os cálcu-los do ciclo Rankine.

1 using System;2 using System.Collections.Generic;3 using System.ComponentModel;4 using System.IO;5 using System.Linq;6

7 namespace Cycles8 {9 public class Rankine : INotifyPropertyChanged

10 {11 public event PropertyChangedEventHandler PropertyChanged;12 public event PropertyChangedEventHandler Property2Changed;13

14 // T[K] ; P[kPa] ; h[kJ/kg] ; s[kJ/kg K]15

Page 85: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 78

16 private double pa, eta_b, eta_tv, x_tv, rHef;17 private List<double> prelist;18 private Water wt; // propriedades da água19

20 public List<Warning> WarnList { get; private set; } // lista deavisos↪→

21 public bool HasRH { get; set; } // Há aquecedor(es)?22 public bool IsContact { get; set; } // tipo de aquecedor -

Contato(default) ou Superfície↪→

23 public int QtRHs { get; set; } // quantidade de aquecedores (até10)↪→

24 public double RHef // efetividade do(s) aquecedor(es)25 {26 get { return RHef; }27 set28 {29 if (value > 0.0)30 {31 if (value > 100.0) throw new

ErrorException("Effectiveness must not be above100 %.");

↪→

↪→

32 rHef = value / 100.0;33 }34 else35 {36 throw new ErrorException("Effectiveness must be

above 0 %.");↪→

37 }38 }39 }40 public double RHap { get; set; } // approach do(s) aquecedor(es)41 public bool IsApp { get; set; } // define o método de cálculo da

ineficiência do(s) aquecedor(es)↪→

42

43 public List<double> Pext { get; set; } // pressões nas linhas deextração da turbina a vapor↪→

44 public bool IsCombined { get; set; } // o ciclo Rankine éalimentado por um Brayton?↪→

45 public bool IsPb { get; set; } // a pressão no condensador édefinida?↪→

46

47 public double Txm { get; set; } // kg/s (vazão mássica de águana saída do condensador)↪→

48 public double[] Yn { get; private set; } // kg/s (vazão mássicaem cada linha de extração)↪→

49 double[] vazoes = new double[4]; // kg/s (vazão nos pontosprincipais do ciclo)↪→

Page 86: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 79

50 public double Txvap { get; set; } // kg/s (vazão mássica devapor destinada ao ciclo Brayton)↪→

51 public double Ta { get; set; } // temp. na entrada da turbina52 public double Pa // pressão na entrada da turbina = pressão de

evaporação↪→

53 {54 get { return pa; }55 set56 {57 if (value > 22064.0 || value < 0.612)58 {59 Tev = -1.0;60 OnProperty2Changed("Tev");61 throw new ErrorException("The value of 'Pev' is out

of range.");↪→

62 }63 else64 {65 pa = value;66 Tev = wt.Tsat_p(value);67 OnProperty2Changed("Tev");68 }69 }70 }71 public double Tev { get; private set; } // temp. de evaporação72 public double Tsh { get; set; } // acréscimo de temp.

(superaquecimento)↪→

73 public double Pb { get; set; } // pressão na entrada docondensador↪→

74 public double Eta_b // eficiência da(s) bomba(s)75 {76 get { return eta_b; }77 set78 {79 if (value > 0.0)80 {81 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

82 eta_b = value / 100.0;83 }84 else85 {86 throw new ErrorException("Efficiencies must be above

0 %.");↪→

87 }

Page 87: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 80

88 }89 }90 public double Eta_tv // eficiência da turbina91 {92 get { return eta_tv; }93 set94 {95 if (value > 0.0)96 {97 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

98 eta_tv = value / 100.0;99 }

100 else101 {102 throw new ErrorException("Efficiencies must be above

0 %.");↪→

103 }104 }105 }106 public double X_tv // título mínimo na turbina107 {108 get { return x_tv; }109 set110 {111 if (value > 0.0)112 {113 if (value > 1.0) throw new ErrorException("Vapour

quality must not be above 1.0.");↪→

114 x_tv = value;115 }116 else117 {118 throw new ErrorException("Vapour quality must be

above 0.");↪→

119 }120 }121 }122 public double Wtv { get; private set; } // kW123 public double Wb { get; private set; } // kW124 public double Qh { get; set; } // kW calor fornecido pelo ciclo

Brayton (ciclo combinado)↪→

125

126 public double Tb { get; private set; } // temp. na entrada docondensador↪→

Page 88: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 81

127 public double Tc { get; private set; } // temp. na saída docondensador↪→

128 public double Pc { get; private set; } // pressão na saída docondensador↪→

129 public double Td { get; private set; } // temp. na entrada doevaporador↪→

130 public double Pd { get; private set; } // pressão na entrada doevaporador↪→

131 double[] xs = { -1.0, -1.0, 0.0, -1.0 }; // títulos nos pontos132

133 public double Wliq { get; private set; } // [kW] potêncialíquida do ciclo↪→

134 public double Rend { get; private set; } // eficiência de 1ª leido ciclo↪→

135

136 public Rankine()137 {138 this.wt = Water.Load(Directory.GetCurrentDirectory() +

"\\Water.json");↪→

139 this.HasRH = false;140 this.IsContact = true;141 this.IsApp = true;142 this.QtRHs = 0;143 this.RHap = 0.0;144 this.RHef = 100.0;145 this.IsPb = false;146 this.x_tv = 0.0;147 }148

149 public void CalcGen()150 {151 WarnList = new List<Warning>();152 if (QtRHs == 0)153 {154 CalcWater();155 }156 else157 {158 CheckList(prelist);159 if (IsContact)160 {161 CalcWaterContact();162 }163 else164 {165 CalcWaterSurf();

Page 89: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 82

166 }167 }168 }169

170 public double FindPb()171 {172 double ans = wt.TurbVap(Ta, Pa, 0.7, Pa, eta_tv, x_tv);173 return ans;174 }175

176 private void CheckList(List<double> lista)177 {178 for (int i = 0; i < lista.Count; i++)179 {180 if (lista[i] >= Pa) throw new Exception();181 if (i > 0)182 {183 if (lista[i] >= lista[i - 1]) throw new Exception();184 }185 }186 Pext = new List<double>(lista);187 Pext.Insert(0, Pa);188 }189

190 public void SetLista(List<double> list)191 {192 prelist = new List<double>(list);193 }194

195 public void CalcWater()196 {197 // turbina a vapor198 double ha, sa;199 Ta = Tev + Tsh;200 if (Tsh == 0)201 {202 ha = wt.hsat_xp(1.0, Pa);203 sa = AltClass.Interp1(wt.SatP[0], wt.SatP[8], Pa);204 xs[0] = 1.0;205 }206 else207 {208 ha = wt.h_Tp(Ta, Pa);209 sa = wt.s_Tp(Ta, Pa);210 xs[0] = -1.0;211 }

Page 90: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 83

212 double wtv; // kJ/kg água213 if (IsPb)214 {215 double hbi = wt.h_spGen(sa, Pb);216 double hb = (hbi - ha) * eta_tv + ha;217 wtv = ha - hb;218 if (wt.IsSat(hb, Pb))219 {220 Tb = wt.Tsat_p(Pb);221 xs[1] = wt.XSat(hb, Pb);222 x_tv = xs[1];223 }224 else225 {226 Tb = wt.T_hp(hb, Pb);227 xs[1] = -1.0;228 x_tv = xs[1];229 }230 }231 else232 {233 Pb = wt.TurbVap(ha, sa, 0.7, Pa, eta_tv,

x_tv);↪→

234 Tb = wt.Tsat_p(Pb);235 xs[1] = x_tv;236 wtv = (ha - wt.hsat_xp(x_tv, Pb));237 }238

239 // condensador240 Pc = Pb;241 double[] hs_c = wt.hs_pliqsat(Pc);242 Tc = wt.Tsat_p(Pc);243

244 // bomba245 double hdi = wt.h_spGen(hs_c[1], Pa);246 double hd = (hdi - hs_c[0]) / eta_b + hs_c[0];247 Pd = Pa;248 double hdsat = wt.hsat_xp(0.0, Pd);249 if (hd < hdsat)250 {251 Td = wt.T_hp(hd, Pd);252 xs[3] = -1.0;253 }254 else if (hd == hdsat)255 {256 Td = wt.Tsat_p(Pd);

Page 91: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 84

257 xs[3] = 0.0;258 }259 else260 {261 throw new Exception();262 }263 double wb = hd - hs_c[0];264

265 // Evaporador266 if (IsCombined)267 {268 Txm = Qh / (ha - hd);269 }270 else271 {272 Qh = Txm * (ha - hd);273 }274

275 vazoes = new double[] { (Txm - Txvap), (Txm - Txvap), Txm,Txm };↪→

276 Wtv = (Txm - Txvap) * wtv;277 Wb = Txm * wb;278 Wliq = Wtv - Wb;279 Rend = Wliq / Qh;280 CheckWarning();281 OnPropertyChanged("Rend");282 }283

284 public void CalcWaterContact()285 {286 double ha, sa;287 Ta = Tev + Tsh;288 if (Tsh == 0.0)289 {290 ha = wt.hsat_xp(1.0, Pa);291 sa = AltClass.Interp1(wt.SatP[0], wt.SatP[8], Pa);292 xs[0] = 1.0;293 }294 else295 {296 ha = wt.h_Tp(Ta, Pa);297 sa = wt.s_Tp(Ta, Pa);298 xs[0] = -1.0;299 }300

301 // saída da turbina

Page 92: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 85

302 double hb; // kJ/kg água303

304 if (IsPb)305 {306 double hbi = wt.h_spGen(sa, Pb);307 hb = (hbi - ha) * eta_tv + ha;308 if (wt.IsSat(hb, Pb))309 {310 Tb = wt.Tsat_p(Pb);311 xs[1] = wt.XSat(hb, Pb);312 x_tv = xs[1];313 }314 else315 {316 Tb = wt.T_hp(hb, Pb);317 xs[1] = -1.0;318 x_tv = xs[1];319 }320 }321 else322 {323 Pb = wt.TurbVap(ha, sa, 0.7, Pa, eta_tv, x_tv);324 Tb = wt.Tsat_p(Pb);325 hb = wt.hsat_xp(x_tv, Pb);326 xs[1] = x_tv;327 }328 if (Pext.Any(x => x <= Pb)) throw new Exception();329

330 // condensador331 Pc = Pb;332 double[] hs_c = wt.hs_pliqsat(Pc); // kJ/kg água333 Tc = wt.Tsat_p(Pc);334

335 double[] TRHs = new double[QtRHs + 2];336 double[] sRHs = new double[QtRHs + 2];337 double[,] hRHs = new double[QtRHs + 2,5];338 double[] wbs = new double[QtRHs + 1];339 double[] wtvs = new double[QtRHs + 1];340 hRHs[0, 4] = ha;341 hRHs[QtRHs + 1, 2] = hs_c[0];342 sRHs[QtRHs + 1] = hs_c[1];343

344 // entalpia na turbina345 for (int i=0; i<QtRHs; ++i)346 {347 hRHs[i + 1, 3] = wt.h_spGen(sa, Pext[i + 1]);

Page 93: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 86

348 hRHs[i + 1, 4] = ha + eta_tv * (hRHs[i + 1, 3] - ha);349 wtvs[i] = hRHs[i, 4] - hRHs[i + 1, 4];350 }351 wtvs[QtRHs] = hRHs[QtRHs, 4] - hb;352

353 // bombas e aquecedores354 double svar = hs_c[1];355 double[] dummy = new double[2];356 for (int i=QtRHs; i>=0; --i)357 {358 hRHs[i, 0] = wt.h_spGen(svar, Pext[i]); // ideal359 hRHs[i, 1] = hRHs[i + 1, 2] + (hRHs[i, 0] - hRHs[i + 1,

2]) / eta_b; // real↪→

360 dummy = wt.hs_pliqsat(Pext[i]);361 if (hRHs[i, 1] > dummy[0])362 {363 throw new Exception();364 }365 hRHs[i, 2] = dummy[0]; // saída do aquecedor366 svar = dummy[1];367 wbs[i] = hRHs[i, 1] - hRHs[i + 1, 2];368 }369

370 // Evaporador371 double hd = hRHs[0, 1];372 Pd = Pa;373 if (wt.IsSat(hd, Pd))374 {375 Td = wt.Tsat_p(Pd);376 xs[3] = wt.XSat(hd, Pd);377 }378 else379 {380 Td = wt.T_hp(hd, Pd);381 xs[3] = -1.0;382 }383

384 if (IsCombined)385 {386 Txm = Qh / (ha - hd);387 }388 else389 {390 Qh = Txm * (ha - hd);391 }392

Page 94: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 87

393 double[] txyn = new double[QtRHs]; // vazões que saem daturbina↪→

394 double[] txbs = new double[QtRHs + 1]; // vazões que passampelas bombas↪→

395 txbs[0] = Txm;396 double soma = 0.0;397 double dH;398 for (int i=0; i<QtRHs; ++i)399 {400 dH = (hRHs[i+1, 4] - hRHs[i+1, 2]) / (hRHs[i+1, 2] -

hRHs[i+1, 1]);↪→

401 if (i > 0)402 {403 soma += txyn[i - 1];404 }405 txyn[i] = (Txm - soma) / (1 + dH);406 txbs[i + 1] = Txm - (soma+txyn[i]);407 }408

409 double dWb = 0.0, dWtv = 0.0;410

411 for (int i=0; i<=QtRHs; ++i)412 {413 dWb += txbs[i] * wbs[i];414 dWtv += (txbs[i] - Txvap) * wtvs[i];415 }416

417 Wb = dWb;418 Wtv = dWtv;419

420 Yn = txyn;421 vazoes = new double[] { (Txm - Txvap), (Txm - Txvap -

txyn.Sum()), (Txm - txyn.Sum()), Txm };↪→

422 Wliq = Wtv - Wb;423 Rend = Wliq / Qh;424 CheckWarning();425 OnPropertyChanged("Rend");426 }427

428 public void CalcWaterSurf()429 {430 double ha, sa;431 Ta = Tev + Tsh;432 if (Tsh == 0.0)433 {434 ha = wt.hsat_xp(1.0, Pa);

Page 95: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 88

435 sa = AltClass.Interp1(wt.SatP[0], wt.SatP[8], Pa);436 xs[0] = 1.0;437 }438 else439 {440 ha = wt.h_Tp(Ta, Pa);441 sa = wt.s_Tp(Ta, Pa);442 xs[0] = -1.0;443 }444

445 // saída da turbina446 double hb; // kJ/kg água447

448 if (IsPb)449 {450 double hbi = wt.h_spGen(sa, Pb);451 hb = (hbi - ha) * eta_tv + ha;452 if (wt.IsSat(hb, Pb))453 {454 Tb = wt.Tsat_p(Pb);455 xs[1] = wt.XSat(hb, Pb);456 x_tv = xs[1];457 }458 else459 {460 Tb = wt.T_hp(hb, Pb);461 xs[1] = -1.0;462 x_tv = xs[1];463 }464 }465 else466 {467 Pb = wt.TurbVap(ha, sa, 0.7, Pa, eta_tv, x_tv);468 Tb = wt.Tsat_p(Pb);469 hb = wt.hsat_xp(x_tv, Pb);470 xs[1] = x_tv;471 }472 if (Pext.Any(x => x <= Pb)) throw new Exception();473

474 // condensador475 Pc = Pb;476 double[] hs_c = wt.hs_pliqsat(Pc); // kJ/kg água477 Tc = wt.Tsat_p(Pc);478

479 double[] Tturb = new double[QtRHs];480 double[,] hturb = new double[QtRHs + 1,2];

Page 96: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 89

481 double[] wtvs = new double[QtRHs + 1];482 hturb[0,1] = ha;483

484 // entalpia na turbina485 for (int i=0; i<QtRHs; ++i)486 {487 hturb[i + 1, 0] = wt.h_spGen(sa, Pext[i + 1]);488 hturb[i + 1, 1] = ha + eta_tv * (hturb[i + 1, 0] - ha);489 wtvs[i] = hturb[i, 1] - hturb[i + 1, 1];490 Tturb[i] = wt.Tsat_p(Pext[i + 1]);491 }492 wtvs[QtRHs] = hturb[QtRHs, 1] - hb;493

494 // bomba495 double h_bombi = wt.h_spGen(hs_c[1], Pa); // saída da bomba,

ideal↪→

496 double h_bomb = (h_bombi - hs_c[0])/eta_b + hs_c[0]; //saída da bomba, real↪→

497 double hdsat = wt.hsat_xp(0.0, Pa);498 if (h_bomb > hdsat)499 {500 throw new Exception();501 }502 double wb = h_bomb - hs_c[0];503

504 // aquecedores505 double[] hRHs = new double[QtRHs + 1];506 hRHs[QtRHs] = h_bomb;507

508 double Tvar;509 if (IsApp)510 {511 for (int i = (QtRHs-1); i >= 0; --i)512 {513 Tvar = wt.Tsat_p(Pext[i+1]) - RHap;514 hRHs[i] = wt.h_Tp(Tvar, Pa);515 }516 }517 else518 {519 double Tant = wt.T_hp(h_bomb, Pa);520 double Ttarg;521 for (int i = (QtRHs - 1); i >= 0; --i)522 {523 Ttarg = wt.Tsat_p(Pext[i + 1]);524 Tvar = (Ttarg - Tant) * rHef + Tant;

Page 97: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 90

525 hRHs[i] = wt.h_Tp(Tvar, Pa);526 Tant = Tvar;527 }528 }529

530 // Evaporador531 double hd = hRHs[0];532 Pd = Pa;533 if (wt.IsSat(hd, Pd))534 {535 Td = wt.Tsat_p(Pd);536 xs[3] = wt.XSat(hd, Pd);537 }538 else539 {540 Td = wt.T_hp(hd, Pd);541 xs[3] = -1.0;542

543 }544

545 if (IsCombined)546 {547 Txm = Qh / (ha - hd);548 }549 else550 {551 Qh = (ha - hd);552 }553

554 double[] txyn = new double[QtRHs]; // vazões que saem nasturbinas↪→

555 double[] txs = new double[QtRHs + 1]; // vazões que ficamnas turbinas↪→

556 double tx0 = Txm - Txvap; // vazão que entra na turbina557 txs[0] = tx0;558 double soma = 0.0;559 double[] dummy1;560 double[] dummy2;561 for (int i=0; i<QtRHs; ++i)562 {563 if (i == 0) dummy1 = new double[]{ 0.0 , 0.0};564 else dummy1 = wt.hs_pliqsat(Pext[i]);565 dummy2 = wt.hs_pliqsat(Pext[i + 1]);566 double num = Txm * (hRHs[i + 1] - hRHs[i]) + soma *

(dummy1[0]-dummy2[0]);↪→

567 double den = dummy2[0] - hturb[i + 1, 1];

Page 98: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 91

568 txyn[i] = num / den;569 soma += txyn[i];570 txs[i + 1] = tx0 - soma;571 }572

573 double dWtv = 0.0;574 for (int i=0; i<=QtRHs; ++i)575 {576 dWtv += txs[i] * wtvs[i];577 }578 Wtv = dWtv;579

580 Yn = txyn;581 vazoes = new double[] { (Txm - Txvap), (Txm - Txvap -

txyn.Sum()), (Txm - txyn.Sum()), Txm };↪→

582 Wb = Txm * wb;583 Wliq = Wtv - Wb;584 Rend = Wliq / Qh;585 CheckWarning();586 OnPropertyChanged("Rend");587 }588

589 protected void OnPropertyChanged(string name)590 {591 PropertyChanged?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

592 }593

594 protected void OnProperty2Changed(string name)595 {596 Property2Changed?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

597 }598

599 public void CheckWarning()600 {601 bool cond = (Rend < 0) || (Pb < 0.612) || (Pb >= Pa) || (Pa

> 22064.0);↪→

602 if (cond) throw new Exception();603 if ((x_tv > 0) && (x_tv < 0.8995))604 {605 WarnList.Add(new Warning(3, "xb < 0.9", "We recommend a

minimum vapour quality of 0.9 at the steamturbine."));

↪→

↪→

606 }607 }

Page 99: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 92

608 }609 }

B.6 Organic.cs

Nesta seção são apresentados trechos do arquivo Organic.cs, que contém os cálcu-los do ciclo Rankine orgânico.

1 using System;2 using System.Collections.Generic;3 using System.ComponentModel;4 using System.Linq;5

6 namespace Cycles7 {8 public class OrganicRankine : INotifyPropertyChanged9 {

10 public event PropertyChangedEventHandler PropertyChanged;11

12 // T(K) , P(Pa), h (J/kg), s(J/kg K)13

14 private double eta_b, eta_tv, rHef;15

16 public string Fluid { get; set; }17 public List<Warning> WarnList { get; private set; } // lista de

avisos↪→

18

19 public bool HasRH { get; set; } // Há aquecedor(es)?20 public bool IsContact { get; set; } // tipo de aquecedor -

Contato(default) ou Superfície↪→

21 public int QtRHs { get; set; } // quantidade de aquecedores (até10)↪→

22 public double RHef // efetividade do(s) aquecedor(es)23 {24 get { return RHef; }25 set26 {27 if (value > 1)28 {29 if (value > 100) throw new Exception();30 rHef = value / 100.0;31 }32 else33 {34 rHef = value;35 }

Page 100: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 93

36 }37 }38 public double RHap { get; set; } // approach do(s) aquecedor(es)39 public bool IsApp { get; set; } // define o método de cálculo da

ineficiência do(s) aquecedor(es)↪→

40

41 public List<double> Pext { get; set; } // pressão nas linhas deextração da turbina a vapor↪→

42 private List<double> Text; // Tsat nas linhas de extração daturbina a vapor↪→

43 public bool IsCombined { get; set; } // o ciclo Rankine éalimentado por um Brayton?↪→

44 public bool IsPb { get; set; } // a pressão no condensador édefinida?↪→

45

46 public double Txm { get; set; } // kg/s (vazão mássica de águana saída do condensador)↪→

47 public double[] Yn { get; private set; } // kg/s (vazão mássicaem cada linha de extração)↪→

48 double[] vazoes = new double[4]; // kg/s (vazão nos pontosprincipais do ciclo)↪→

49 public double Ta { get; set; } // temp. na entrada da turbina50 public double Pa { get; set; } // pressão na entrada da turbina51 public double Pb { get; set; } // pressão na entrada do

condensador↪→

52 public double Eta_b // eficiência da(s) bomba(s)53 {54 get { return eta_b; }55 set56 {57 if (value > 0.0)58 {59 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

60 eta_b = value / 100.0;61 }62 else63 {64 throw new ErrorException("Efficiencies must be above

0 %.");↪→

65 }66 }67 }68 public double Eta_tv // eficiência da turbina69 {

Page 101: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 94

70 get { return eta_tv; }71 set72 {73 if (value > 0.0)74 {75 if (value > 100.0) throw new

ErrorException("Efficiencies must not be above100 %.");

↪→

↪→

76 eta_tv = value / 100.0;77 }78 else79 {80 throw new ErrorException("Efficiencies must be above

0 %.");↪→

81 }82 }83 }84 public double X_tv { get; set; } // título mínimo na turbina85 public double Wtv { get; private set; } // W86 public double Wb { get; private set; } // W87 public double Qh { get; set; } // W calor fornecido pelo ciclo

Brayton↪→

88

89 public double Tb { get; private set; } // temp. na entrada docondensador↪→

90 public double Tc { get; private set; } // temp. na saída docondensador↪→

91 public double Pc { get; private set; } // pressão na saída docondensador↪→

92 public double Td { get; private set; } // temp. na entrada doevaporador↪→

93 public double Pd { get; private set; } // pressão na entrada doevaporador↪→

94 double[] xs = { -1.0, -1.0, 0.0, -1.0 }; // títulos nos pontos95

96 public double Wliq { get; private set; } // [kW] potêncialíquida do ciclo↪→

97 public double Rend { get; private set; } // eficiência de 1ª leido ciclo↪→

98

99 public double Tev { get; set; } // temp. de evaporação100 public double Tcond { get; set; } // temp. de condensação101 public double Tsh { get; set; } // acréscimo de temp.

(superaquecimento)↪→

102

103 public OrganicRankine()

Page 102: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 95

104 {105 this.HasRH = false;106 this.IsContact = true;107 this.IsApp = true;108 this.QtRHs = 0;109 this.RHap = 0.0;110 this.rHef = 100.0;111 this.IsPb = false;112 this.Tsh = 0.0;113 this.X_tv = 0.0;114 }115

116 public void CalcGen()117 {118 WarnList = new List<Warning>();119 if (QtRHs == 0)120 {121 Calc();122 }123 else124 {125 CheckList(Text);126 if (IsContact)127 {128 CalcContact();129 }130 else131 {132 CalcSurf();133 }134 }135 }136

137 private void CheckList(List<double> lista)138 {139 for (int i=0; i<lista.Count; i++)140 {141 if (lista[i] < Tcond || lista[i] >= Tev) throw new

Exception();↪→

142 if (i > 0)143 {144 if (lista[i] >= lista[i-1]) throw new Exception();145 }146 }147 SetListaP(lista);148 }

Page 103: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 96

149

150 public void SetListaT(List<double> Tlist)151 {152 Text = new List<double>(Tlist);153 }154

155 private void SetListaP(List<double> Tlist)156 {157 List<double> lista = new List<double>(Tlist);158 lista.Insert(0, Tev);159 for (int i = 0; i < lista.Count; i++)160 {161 lista[i] = CoolProp.PropsSI("P", "T", lista[i], "Q",

1.0, Fluid);↪→

162 }163 Pext = lista;164 }165

166 public double FindTcrit()167 {168 double ans = CoolProp.Props1SI(Fluid, "Tcrit");169 return ans;170 }171

172 public void Calc()173 {174

175 // turbina a vapor176 Pa = CoolProp.PropsSI("P", "T", Tev, "Q", 1.0, Fluid);177 Pb = CoolProp.PropsSI("P", "T", Tcond, "Q", 1.0, Fluid);178 Pc = Pb;179 Pd = Pa;180 double ha, sa, hb, hbi, wtv;181

182 if (Tsh == 0.0)183 {184 ha = CoolProp.PropsSI("H", "T", Tev, "Q", 1.0, Fluid);185 sa = CoolProp.PropsSI("S", "T", Tev, "Q", 1.0, Fluid);186 Ta = Tev;187 xs[0] = 1.0;188 }189 else190 {191 Ta = Tev + Tsh;192 ha = CoolProp.PropsSI("H", "T", Ta, "P", Pa, Fluid);193 sa = CoolProp.PropsSI("S", "T", Ta, "P", Pa, Fluid);

Page 104: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 97

194 xs[0] = -1.0;195 }196

197 hbi = CoolProp.PropsSI("H", "S", sa, "P", Pb, Fluid);198 hb = (hbi - ha) * eta_tv + ha;199 double hbsatv = CoolProp.PropsSI("H", "Q", 1.0, "P", Pb,

Fluid);↪→

200 if (hb <= hbsatv)201 {202 Tb = Tcond;203 xs[1] = CoolProp.PropsSI("Q", "H", hb, "P", Pb, Fluid);204 X_tv = xs[1];205 }206 else207 {208 Tb = CoolProp.PropsSI("T", "H", hb, "P", Pb, Fluid);209 xs[1] = -1.0;210 X_tv = xs[1];211 }212 wtv = ha - hb;213

214 // condensador215 double hc = CoolProp.PropsSI("H", "Q", 0, "P", Pb, Fluid);216 double sc = CoolProp.PropsSI("S", "Q", 0, "P", Pb, Fluid);217 Tc = Tcond;218

219 // bomba220 double hdi = CoolProp.PropsSI("H", "S", sc, "P", Pa, Fluid);221 double hd = (hdi - hc) / eta_b + hc;222 double hdsatl = CoolProp.PropsSI("H", "Q", 0.0, "P", Pa,

Fluid);↪→

223 if (hd < hdsatl)224 {225 Td = CoolProp.PropsSI("T", "H", hd, "P", Pa, Fluid);226 xs[3] = -1.0;227 }228 else if (hd == hdsatl)229 {230 Td = Tev;231 xs[3] = 0.0;232 }233 else234 {235 throw new Exception();236 }237 double wb = hd - hc;

Page 105: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 98

238

239 // Evaporador240 if (IsCombined)241 {242 Txm = Qh / (ha - hd);243 }244 else245 {246 Qh = Txm * (ha - hd);247 }248

249 vazoes = new double[] { Txm, Txm, Txm, Txm };250 Wtv = Txm * wtv;251 Wb = Txm * wb;252 Wliq = Wtv - Wb;253 Rend = Wliq / Qh;254 CheckWarning();255 OnPropertyChanged("Rend");256 }257

258 public void CalcContact()259 {260

261 // turbina a vapor262 Pa = CoolProp.PropsSI("P", "T", Tev, "Q", 1.0, Fluid);263 Pb = CoolProp.PropsSI("P", "T", Tcond, "Q", 1.0, Fluid);264 double ha, sa, hb, hbi;265

266 if (Tsh == 0.0)267 {268 ha = CoolProp.PropsSI("H", "T", Tev, "Q", 1.0, Fluid);269 sa = CoolProp.PropsSI("S", "T", Tev, "Q", 1.0, Fluid);270 Ta = Tev;271 xs[0] = 1.0;272 }273 else274 {275 Ta = Tev + Tsh;276 ha = CoolProp.PropsSI("H", "T", Ta, "P", Pa, Fluid);277 sa = CoolProp.PropsSI("S", "T", Ta, "P", Pa, Fluid);278 xs[0] = -1.0;279 }280

281 hbi = CoolProp.PropsSI("H", "S", sa, "P", Pb, Fluid);282 hb = (hbi - ha) * eta_tv + ha;283 double hbsatv = CoolProp.PropsSI("H", "Q", 1.0, "P", Pb,

Fluid);↪→

Page 106: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 99

284 if (hb <= hbsatv)285 {286 Tb = Tcond;287 xs[1] = CoolProp.PropsSI("Q", "H", hb, "P", Pb, Fluid);288 X_tv = xs[1];289 }290 else291 {292 Tb = CoolProp.PropsSI("T", "H", hb, "P", Pb, Fluid);293 xs[1] = -1.0;294 X_tv = xs[1];295 }296

297 // condensador298 double hc = CoolProp.PropsSI("H", "Q", 0, "P", Pb, Fluid);299 double sc = CoolProp.PropsSI("S", "Q", 0, "P", Pb, Fluid);300 Tc = Tcond;301

302 double[] TRHs = new double[QtRHs + 2];303 double[] sRHs = new double[QtRHs + 2];304 double[,] hRHs = new double[QtRHs + 2, 5];305 double[] wbs = new double[QtRHs + 1];306 double[] wtvs = new double[QtRHs + 1];307 hRHs[0, 4] = ha;308 hRHs[QtRHs + 1, 2] = hc;309 sRHs[QtRHs + 1] = sc;310

311 // entalpia na turbina312 for (int i = 0; i < QtRHs; ++i)313 {314 hRHs[i + 1, 3] = CoolProp.PropsSI("H", "S", sa, "P",

Pext[i+1], Fluid);↪→

315 hRHs[i + 1, 4] = ha + eta_tv * (hRHs[i + 1, 3] - ha);316 wtvs[i] = hRHs[i, 4] - hRHs[i + 1, 4];317 }318 wtvs[QtRHs] = hRHs[QtRHs, 4] - hb;319

320 // bombas e aquecedores321 double svar = sc;322 for (int i = QtRHs; i >= 0; --i)323 {324 hRHs[i, 0] = CoolProp.PropsSI("H", "S", svar, "P",

Pext[i], Fluid);// ideal↪→

325 hRHs[i, 1] = hRHs[i + 1, 2] + (hRHs[i, 0] - hRHs[i + 1,2]) / eta_b; // real↪→

326 hRHs[i, 2] = CoolProp.PropsSI("H", "Q", 0.0, "P",Pext[i], Fluid); // saída do aquecedor↪→

Page 107: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 100

327 if (hRHs[i, 1] > hRHs[i, 2])328 {329 throw new Exception();330 }331 svar = CoolProp.PropsSI("S", "Q", 0.0, "P", Pext[i],

Fluid); ;↪→

332 wbs[i] = hRHs[i, 1] - hRHs[i + 1, 2];333 }334

335 // Evaporador336 double hd = hRHs[0, 1];337 double hdsatl = CoolProp.PropsSI("H", "Q", 0.0, "P", Pa,

Fluid);↪→

338 if (hd >= hdsatl)339 {340 Td = Tev;341 xs[3] = CoolProp.PropsSI("Q", "H", hd, "P", Pa, Fluid);342 }343 else344 {345 Td = CoolProp.PropsSI("T", "H", hd, "P", Pa, Fluid);346 xs[3] = -1.0;347 }348 if (IsCombined)349 {350 Txm = Qh / (ha - hd);351 }352 else353 {354 Qh = Txm * (ha - hd);355 }356

357 double[] txyn = new double[QtRHs]; // vazões que saem daturbina↪→

358 double[] txbs = new double[QtRHs + 1]; // vazões que passampelas bombas↪→

359 txbs[0] = Txm;360 double soma = 0.0;361 double dH;362 for (int i = 0; i < QtRHs; ++i)363 {364 dH = (hRHs[i + 1, 4] - hRHs[i + 1, 2]) / (hRHs[i + 1, 2]

- hRHs[i + 1, 1]);↪→

365 if (i > 0)366 {367 soma += txyn[i - 1];

Page 108: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 101

368 }369 txyn[i] = (Txm - soma) / (1 + dH);370 txbs[i + 1] = Txm - (soma + txyn[i]);371 }372

373 double dWb = 0.0, dWtv = 0.0;374

375 for (int i = 0; i <= QtRHs; ++i)376 {377 dWb += txbs[i] * wbs[i];378 dWtv += txbs[i] * wtvs[i];379 }380

381 Wb = dWb;382 Wtv = dWtv;383

384 Yn = txyn;385 vazoes = new double[] { Txm, (Txm - txyn.Sum()), (Txm -

txyn.Sum()), Txm };↪→

386 Wliq = Wtv - Wb;387 Rend = Wliq / Qh;388 CheckWarning();389 OnPropertyChanged("Rend");390 }391

392 public void CalcSurf()393 {394 // turbina a vapor395 Pa = CoolProp.PropsSI("P", "T", Tev, "Q", 1.0, Fluid);396 Pb = CoolProp.PropsSI("P", "T", Tcond, "Q", 1.0, Fluid);397 Pc = Pb;398 Pd = Pa;399 double ha, sa, hb, hbi;400

401 if (Tsh == 0.0)402 {403 ha = CoolProp.PropsSI("H", "T", Tev, "Q", 1.0, Fluid);404 sa = CoolProp.PropsSI("S", "T", Tev, "Q", 1.0, Fluid);405 Ta = Tev;406 xs[0] = 1.0;407 }408 else409 {410 Ta = Tev + Tsh;411 ha = CoolProp.PropsSI("H", "T", Ta, "P", Pa, Fluid);412 sa = CoolProp.PropsSI("S", "T", Ta, "P", Pa, Fluid);

Page 109: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 102

413 xs[0] = -1.0;414 }415

416 hbi = CoolProp.PropsSI("H", "S", sa, "P", Pb, Fluid);417 hb = (hbi - ha) * eta_tv + ha;418 double hbsatv = CoolProp.PropsSI("H", "Q", 1.0, "P", Pb,

Fluid);↪→

419 if (hb <= hbsatv)420 {421 Tb = Tcond;422 xs[1] = CoolProp.PropsSI("Q", "H", hb, "P", Pb, Fluid);423 X_tv = xs[1];424 }425 else426 {427 Tb = CoolProp.PropsSI("T", "H", hb, "P", Pb, Fluid);428 xs[1] = -1.0;429 X_tv = xs[1];430 }431

432 // condensador433 double hc = CoolProp.PropsSI("H", "Q", 0, "P", Pb, Fluid);434 double sc = CoolProp.PropsSI("S", "Q", 0, "P", Pb, Fluid);435 Tc = Tcond;436

437 double[] Tturb = new double[QtRHs];438 double[,] hturb = new double[QtRHs + 1, 2];439 double[] wtvs = new double[QtRHs + 1];440 hturb[0, 1] = ha;441

442 // entalpia na turbina443 for (int i = 0; i < QtRHs; ++i)444 {445 hturb[i + 1, 0] = CoolProp.PropsSI("H", "S", sa, "P",

Pext[i + 1], Fluid);↪→

446 hturb[i + 1, 1] = ha + eta_tv * (hturb[i + 1, 0] - ha);447 wtvs[i] = hturb[i, 1] - hturb[i + 1, 1];448 Tturb[i] = CoolProp.PropsSI("H", "Q", 1.0, "P", Pext[i +

1], Fluid);↪→

449 }450 wtvs[QtRHs] = hturb[QtRHs, 1] - hb;451

452 // bomba453 double h_bombi = CoolProp.PropsSI("H", "S", sc, "P", Pa,

Fluid); // saída da bomba, ideal↪→

454 double h_bomb = (h_bombi - hc) / eta_b + hc; // saída dabomba, real↪→

Page 110: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 103

455 double hdsat = CoolProp.PropsSI("H", "Q", 0.0, "P", Pa,Fluid);↪→

456 if (h_bomb > hdsat)457 {458 throw new Exception();459 }460 double wb = h_bomb - hc;461

462 // aquecedores463 double[] hRHs = new double[QtRHs + 1];464 hRHs[QtRHs] = h_bomb;465

466 double Tvar;467 if (IsApp)468 {469 for (int i = (QtRHs - 1); i >= 0; --i)470 {471 Tvar = CoolProp.PropsSI("T", "Q", 0, "P", Pext[i +

1], Fluid) - RHap;↪→

472 hRHs[i] = CoolProp.PropsSI("H", "T", Tvar, "P", Pa,Fluid);↪→

473 }474 }475 else476 {477 double Tant = CoolProp.PropsSI("T", "H", h_bomb, "P",

Pa, Fluid);↪→

478 double Ttarg;479 for (int i = (QtRHs - 1); i >= 0; --i)480 {481 Ttarg = CoolProp.PropsSI("T", "Q", 0, "P", Pext[i +

1], Fluid);↪→

482 Tvar = (Ttarg - Tant) * rHef + Tant;483 hRHs[i] = CoolProp.PropsSI("H", "T", Tvar, "P", Pa,

Fluid);↪→

484 Tant = Tvar;485 }486 }487

488 // Evaporador489 double hd = hRHs[0];490 double hdsatl = CoolProp.PropsSI("H", "Q", 0.0, "P", Pa,

Fluid);↪→

491 if (hd >= hdsatl)492 {493 Td = Tev;

Page 111: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 104

494 xs[3] = CoolProp.PropsSI("Q", "H", hd, "P", Pa, Fluid);495 }496 else497 {498 Td = CoolProp.PropsSI("T", "H", hd, "P", Pa, Fluid);499 xs[3] = -1.0;500 }501 if (IsCombined)502 {503 Txm = Qh / (ha - hd);504 }505 else506 {507 Qh = Txm * (ha - hd);508 }509

510 double[] txyn = new double[QtRHs]; // vazões que saem nasturbinas↪→

511 double[] txs = new double[QtRHs + 1]; // vazões que ficamnas turbinas↪→

512 double tx0 = Txm; // vazão que entra na turbina513 txs[0] = tx0;514 double soma = 0.0;515 double dummy1, dummy2;516 for (int i = 0; i < QtRHs; ++i)517 {518 if (i == 0) dummy1 = 0.0;519 else dummy1 = CoolProp.PropsSI("H", "Q", 0, "P",

Pext[i], Fluid);↪→

520 dummy2 = CoolProp.PropsSI("H", "Q", 0, "P", Pext[i + 1],Fluid);↪→

521 double num = Txm * (hRHs[i + 1] - hRHs[i]) + soma *(dummy1 - dummy2);↪→

522 double den = dummy2 - hturb[i + 1, 1];523 txyn[i] = num / den;524 soma += txyn[i];525 txs[i + 1] = tx0 - soma;526 }527

528 double dWtv = 0.0;529 for (int i = 0; i <= QtRHs; ++i)530 {531 dWtv += txs[i] * wtvs[i];532 }533 Wtv = dWtv;534

Page 112: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 105

535 Yn = txyn;536 vazoes = new double[] { Txm, (Txm - txyn.Sum()), (Txm -

txyn.Sum()), Txm };↪→

537 Wb = Txm * wb;538 Wliq = Wtv - Wb;539 Rend = Wliq / Qh;540 CheckWarning();541 OnPropertyChanged("Rend");542 }543

544 protected void OnPropertyChanged(string name)545 {546 PropertyChanged?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

547 }548

549 public void CheckWarning()550 {551 if (Rend < 0) throw new Exception();552 if ((X_tv > 0) && (X_tv < 0.9))553 {554 WarnList.Add(new Warning(3, "Xb < 0.9", "We recommend a

minimum vapour quality of 0.9 at the steamturbine."));

↪→

↪→

555 }556 }557 }558 }

B.7 Combinado.cs

Nesta seção são apresentados trechos do arquivo Combinado.cs, que contém os cál-culos do ciclo combinado.

1 using System;2 using System.Collections.Generic;3 using System.ComponentModel;4

5 namespace Cycles6 {7 [Serializable()]8 public class CustomException : Exception9 {

10 public CustomException(string msg) : base(msg)11 {12 }

Page 113: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 106

13 }14

15 public class Combinado : INotifyPropertyChanged16 {17 public Brayton br;18 public Rankine rk;19 public double Wliq { get; private set; }20 public double Wesp { get; private set; }21 public double Rend { get; private set; }22 public List<Warning> WarnList { get; private set; }23

24 public event PropertyChangedEventHandler PropertyChanged;25

26 public void Calc()27 {28 WarnList = new List<Warning>();29 br.Pvap = rk.Pa;30 br.Tvap = rk.Ta;31 br.Calcular();32 if (br.Quti <= 0.0)33 {34 string str = "'T6' must be below 'T5'.";35 throw new ErrorException(str);36 }37 rk.Qh = br.Quti;38 rk.Txvap = br.Txm * br.Pct_vapor;39 rk.CalcGen();40 if (rk.Td >= br.T6)41 {42 string str = "'T6' must be above 'Td'.";43 throw new ErrorException(str);44 }45

46 if (rk.Ta >= br.T5)47 {48 string str = "'Ta' must be below 'T5'.";49 throw new ErrorException(str);50 }51

52 if (rk.Txvap >= rk.Txm)53 {54 string str = "The mass flow rate of steam injected is

too high. It must be below that at point 'd'.";↪→

55 throw new CustomException(str);56 }57

Page 114: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 107

58 Wliq = br.Wliq + rk.Wliq;59 Wesp = Wliq / (br.Txm * GasIdeal.Cp0Ar * br.T1);60 Rend = Wliq / br.Qh;61 WarnList.AddRange(br.WarnList);62 WarnList.AddRange(rk.WarnList);63 OnPropertyChanged("Rend");64 }65

66 protected void OnPropertyChanged(string name)67 {68 PropertyChanged?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

69 }70 }71 }

B.8 CombinadoOrg.cs

Nesta seção são apresentados trechos do arquivo CombinadoOrg.cs, que contém oscálculos do ciclo combinado orgânico.

1 using System;2 using System.Collections.Generic;3 using System.ComponentModel;4

5 namespace Cycles6 {7 public class CombinadoOrg : INotifyPropertyChanged8 {9 public Brayton br;

10 public OrganicRankine ork;11 public double Wliq { get; private set; }12 public double Wesp { get; private set; }13 public double Rend { get; private set; }14 public List<Warning> WarnList { get; private set; }15

16 public event PropertyChangedEventHandler PropertyChanged;17

18 public void Calc()19 {20 WarnList = new List<Warning>();21 br.Calcular();22 if (br.Quti <= 0.0)23 {24 string str = "'T6' must be below 'T5'.";25 throw new ErrorException(str);

Page 115: 327Ç1&,$´ Bern ardo Garcia de Sousa Lima Projeto de G ...monografias.poli.ufrj.br/monografias/monopoli10026366.pdf · 2. Num horizonte de 20 anos, o metano possui um GWP1 de 84

Apêndice B. Código do programa 108

26 }27 ork.Qh = br.Quti * 1000.0; // kW -> W28 ork.CalcGen();29 if (ork.Td >= br.T6)30 {31 string str = "'T6' must be above 'Td'.";32 throw new ErrorException(str);33 }34

35 if (ork.Ta >= br.T5)36 {37 string str = "'Ta' must be below 'T5'.";38 throw new ErrorException(str);39 }40

41 Wliq = br.Wliq + (ork.Wliq / 1000.0);42 Wesp = Wliq / (br.Txm * GasIdeal.Cp0Ar * br.T1);43 Rend = Wliq / br.Qh;44 WarnList.AddRange(br.WarnList);45 WarnList.AddRange(ork.WarnList);46 OnPropertyChanged("Rend");47 }48

49 protected void OnPropertyChanged(string name)50 {51 PropertyChanged?.Invoke(this, new

PropertyChangedEventArgs(name));↪→

52 }53 }54 }