Cálculo de Flash2
Cálculo de Flash2
Cálculo de Flash2
Uberlndia / MG
2009
da
disciplina
de Projeto de
Uberlndia / MG
2010
BANCA EXAMINADORA:
___________________________________
Prof. Lus Cludio Oliveira Lopes
Orientador- FEQUI/UFU
___________________________________
Prof. Dra. Mria Hespanhol Miranda Reis
FEQUI/UFU
___________________________________
Prof. Cludio Roberto Duarte
FEQUI/UFU
AGRADECIMENTOS
Ao orientador Prof. Dr. Lus Cludio Oliveira Lopes que sempre acreditou no meu
potencial e na minha capacidade em desenvolver este projeto de graduao.
s amigas Juliana Maria e Lvia Tizzo, companheiras de reunio, com quem
compartinhei momentos de dvidas e sucessos deste trabalho. Alm disso, foram momentos
que proporcionaram nos conhecer melhor e aumentar os laos de amizade.
Aos amigos, Diego Souza e Karen Valente, que foram meus companheiros de reunio
antes da minha ida para a Frana.
E principalmente aos meus familiares e amigos que sempre estiveram comigo e que
entenderam os momentos que estive desenvolvendo este e que no passei com eles. Este
apoio, mesmo que indiretamente, colaborou para a execuo da obra e meu xito.
SUMRIO
INTRODUO .................................................................................................................. 1
REVISO BIBLIOGRFICA............................................................................................ 3
2.1.
2.1.1.
2.1.2.
FYDAT ........................................................................................................................ 4
2.2.
CAPE-OPEN ................................................................................................................... 5
2.3.
2.4.
2.4.1.
2.4.1.1.
2.4.1.2.
2.4.2.
2.5.
2.5.1.
2.5.2.
2.5.3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
CONCLUSO .................................................................................................................. 46
LISTA DE FIGURAS
Figura 1 - Janela principal do ambiente de simulao do COCO-COFE. .................................. 6
Figura 2 - Separao contnua e com um nico estgio de equilbrio: (a) vaporizao flash
(flash adiabtico com vlvula, flash isotrmico sem vlvula com T especificada); (b)
condensao parcial (anlogo para flash isotrmico quando T especificado). ...................... 10
Figura 3 - Unidade Flash. ......................................................................................................... 11
Figura 4 - Localizao da seo de criao de pacotes termodinmicos (ConfigureTEA) e
caixa de seleo de pacotes termodinmicos criados previamente dos pacotes de substncias
qumicas. ................................................................................................................................... 28
Figura 5 - Adicionando componentes a um pacote termodinmico. ........................................ 29
Figura 6 - Seleo das propriedades e equaes de estado....................................................... 30
Figura 7 - Insero de unidade de operao Scilab no COCO. ................................................ 32
Figura 8 - Edio de uma unidade de Operao no COCO. ..................................................... 33
Figura 9 - Configurao da corrente de alimentao. ............................................................... 34
Figura 10 - Edio da unidade de operacional Scilab, aproximando a aparncia da unidade a
ser simulada. ............................................................................................................................. 35
Figura 11 - cone de teste do cdigo Scilab implementado no COCO..................................... 35
Figura 12 - Tela de simulao do COCO mostrando o caso do Flash isotrmico I- Mtodo de
Newton, para o qual no obteve sucesso. ................................................................................. 36
Figura 13 - Tela de simulao do COCO mostrando o caso do Flash isotrmico II. ............... 38
Figura 14 - Tela de simulao do COCO mostrando o caso do Flash isotrmico. ................... 39
Figura 15 - Impresso da tela principal do COCO mostrando os resultados simulados para o
caso do flash adiabtico. ........................................................................................................... 41
Figura 16 - Impresso da tela principal do COCO mostrando os resultados simulados para o
caso de um CSTR adiabtico. ................................................................................................... 43
Figura 17 - Impresso da tela principal do COCO mostrando os resultados simulados para o
caso do flash adiabtico. ........................................................................................................... 44
Figura 18 Fluxograma e planilhas de resultados obtidos para o caso de Separao de Biogs.
.................................................................................................................................................. 46
LISTA DE TABELAS
Tabela 1 - Algoritmo para o CSTR. ......................................................................................... 21
Tabela 2 - Algoritmo para um PFR adiabtico, com reao elementar reversvel em fase
gasosa ( A B ) e perda de presso desprezvel. .................................................................... 23
Tabela 3 - Simulao obtida no software HYSIM para o caso flash isotrmico para a
separao de hidrocarbonetos. .................................................................................................. 25
Tabela 4 - Resultado gerado na simulao do cdigo implementado no Scilab de clculo do
flash isotrmico. ....................................................................................................................... 27
Tabela 5 - Relatrio da simulao da unidade Scilab Flash isotrmico II, resgatando os
dados gerados pelo prprio COFE............................................................................................ 37
Tabela 6 - Relatrio da simulao da unidade Flash isotrmico, gerado atravs da utilizao
da unidade operacional Flash do COFE. .................................................................................. 38
Tabela 7 - Valores para a simulao de um flash adiabtico apresentado por Seader & Henley
(2006). ...................................................................................................................................... 40
Tabela 8 - Valores para a simulao do flash adiabtico no COCO utilizando a equao de
estado de Soave Redlich Kwong Modificada. .......................................................................... 42
Tabela 9 - Valores da simulao do CSTR adiabtico no COCO. ........................................... 43
Tabela 10 - Valores da simulao do PFR adiabtico .............................................................. 45
RESUMO
Este trabalho visou o desenvolvimento de uma base (biblioteca) de dados
composta por modelos dinmicos de baixa e mdia complexidade de atividades nas reas
de separao de fluidos e reatores qumicos, utilizando ferramentas computacionais que
fornecessem, numa linguagem computacional livre e de fcil acesso, resultados mais
prximos possveis daqueles que se encontram na realidade industrial e citados na
literatura. Alm disso, este foi conduzido em dois caminhos diferentes, porm
complementares. O primeiro caminho dedicou-se na implementao no Scilab de cdigos
de busca de dados termodinmicos das substncias fsico-qumicas, atravs da
decodificao binria de dois softwares, o FYDAT e o DIPPR, especficos para esta
atividade e disponveis comercialmente. O segundo caminho foi a utilizao das
plataformas Scilab e COCO (que utiliza o padro CAPE-OPEN e Inside-Out),
verificando a viabilidade de se trabalhar simultaneamente com ambos, atravs da
implementao de problemas tpicos da Engenharia Qumica. A vantagem de utilizar
estes softwares est na interface grfica amigvel do COCO e tambm na possibilidade
de implementar problemas utilizando mtodos que produzem os resultados desejveis. Os
resultados mostraram que a gama de possibilidades grande e que nenhum ou pequenos
desvios relativos dos valores apresentados na literatura podem ocorrer, e essa preciso
depende da equao de estado e das correlaes termodinmicas de predio dos
parmetros utilizadas nos clculos.
Palavras-chave: Biblioteca de Modelos, Simulao, CAPE-OPEN, Linguagem Livre,
Inside-Out.
ABSTRACT
This work aimed at the development of a database (library) composed for dynamic
models of low and average complexity of activities in the areas of separation of fluids
and chemical reactors, using computational tools which supply, in a free computational
language and of easy access, results more nearby to those that is found in the industrial
reality and cited in the literature. Moreover, this work was lead in two different ways,
however complementary. The first one dedicated in the implementation of search Scilab
codes of thermodynamic data of physicist-chemistries substances, through the binary
decoding of two softwares, the FYDAT and the DIPPR, specific for this activity and
available commercially. The second way was the use of the Scilab platforms and
COCONUT (that it uses standard CAPE-OPEN and Inside-Out), verifying the viability to
work simultaneously with both, through the implementation of Chemical Engineering
typical problems. The advantage to use these softwares is the COCONUT friendly
graphical interface and also the possibility to implement problems using methods that
produce the results desirable. The results had shown that the gamma of possibilities is
great and none or small relative shunting lines of the values presented in literature can
occur, and this precision depends on the equation of state and the thermodynamic
prediction correlations of the parameters used in the calculations.
Keywords: Library of Models, Simulation, CAPE-OPEN, Free Language, Inside-Out.
1 INTRODUO
A IMPORTNCIA DA ANLISE DE PROCESSOS
Para se obter um bom entendimento de processos em que o Engenheiro Qumico
ir atuar, necessrio analis-los partindo de suas formas mais simples e isoladas do
todo. Ou seja, necessrio que o engenheiro possua uma base bem fundamentada dos
fenmenos que ocorrem no determinado processo para, depois conseguir inferir as
influncias que este pode sofrer dos fatores externos. Mas medida que o processo exige
uma maior complexidade, j que de suma importncia representar da melhor forma o
que se verifica na realidade, torna-se impossvel o desenvolvimento de modelos e
resolues das equaes de forma manual. Nesse sentido, o uso de computadores, mais
precisamente, de simuladores, de grande ajuda, tanto na questo da velocidade de
processamento quanto na criao de um banco de dados permanente, disponvel sempre
que necessrio e que no exige recomear o procedimento toda vez que mudar os dados
analisados.
Historicamente, os processos qumicos evoluram de uma escala e unidades
pequenas onde eram geralmente operadas no modo batelada ou semi-contnuo. Matriaprima e energia eram relativamente abundantes. As regulamentaes governamentais em
segurana, efluentes e emisses eram pouco rgidas. As margens de lucro eram
relativamente altas e atrativas e a tecnologia, em termos de ferramentas analticas, era
primitiva. Nos ltimos anos considerveis mudanas tm sido adotadas. Primeiro pela
competio e depois pelos custos de matria-prima e energia tm criado uma convincente
necessidade por processos eficientes, levando a um maior grau de integrao entre
energia e matria no design de processos. Cada vez que introduzido um reciclo de
material ou um trocador de calor, criam-se novas interaes entre as variveis do
processo, no qual aumenta o nmero de relaes matemticas que podem ser
consideradas simultaneamente.
importante notar que o sistema como um todo pode exibir caractersticas
superiores e alm daquelas que se consideram quando se utiliza apenas seus componentes
individuais. Em Engenharia Qumica, um sistema bem conhecido a associao de um
reator qumico exotrmico como um simples trocador de calor. Ambas as unidades
apresentam estabilidades. No momento em que o trocador de calor conectado ao reator
2 REVISO BIBLIOGRFICA
2.1.2. FYDAT
O banco de dados FYDAT um software livre o qual pode ser ampliado inserindo
novas substncias. Este no universalmente usado, mas destinado s tcnicas
computacionais para propsitos prticos e pedaggicos. O FYDAT pode ser utilizado como
um direto dilogo interativo para o clculo de propriedades ou como uma biblioteca usada em
programas de aplicao escrita em Visual Basic 5.0.
Este banco de dados fornece as seguintes propriedades fsicas:
Massa molar;
Constantes crticas (presso, temperatura, volume);
Fator acntrico;
ndice de refrao;
Momento dipolo;
Ponto de ebulio normal;
Ponto de fuso;
Calor de fuso;
Ponto de ebulio (dependente da presso);
Ponto de orvalho;
Calor de evaporao;
Densidade (fase vapor e lquida);
Viscosidade dinmica (fase vapor e lquida);
Capacidade trmica (fase vapor e lquida);
Condutividade trmica (fase vapor e lquida);
Tenso superficial;
Presso de vapor;
Funes termodinmicas (entalpia,entropia, energia interna);
Coeficiente de Joule-Thompson;
2.2. CAPE-OPEN
necessrias as verses 5.02 (ou maior) do Scilab assim como a verso 1.1 do CAPE-OPEN.
(http://www.amsterchem.com/scilabthermo.html)
A segunda forma de interao, o Scilab CAPE-OPEN Unit Operation, uma
implementao de uma unidade de operao na qual os clculos so realizados na linguagem
Scilab. Para inici-lo, necessrio iniciar o ambiente de simulao escolhido que utiliza o
padro CAPE-OPEN, no caso deste, o ambiente de simulao COCO. Aps, inserir um
Scilab CAPE-OPEN Unit Operation, definir as portas de alimentao e produto. Para
editar a unidade de operao, insere-se o cdigo Scilab na seo corresponde este, e as
correntes de entrada e sada devem ser especificadas de acordo com a linguagem especfica de
resgate das mesmas no padro CAPE-OPEN.
(http://www.amsterchem.com/scilabunitop.html)
F = CP +2
(1)
V = C .P + 2
(2)
E = P + C (P 1)
(3)
Ki =
onde (1) e (2) refere s fases em equilbrio. Para duas fases, h C expresses independentes
deste tipo, trs fases, 2C; para quatro, 3C; e assim por diante.
Assim, o Grau de Liberdade, que o nmero de variveis intensivas (V) menos o
nmero de equaes (E), pode ser definido, como combinao das equaes (2) e (3):
10
Figura 2 - Separao contnua e com um nico estgio de equilbrio: (a) vaporizao flash
(flash adiabtico com vlvula, flash isotrmico sem vlvula com T especificada); (b)
condensao parcial (anlogo para flash isotrmico quando T especificado).
A menos que a volatilidade relativa seja muito grande, o grau de separao alcanado
entre os dois componentes em um estgio nico de equilbrio pobre. Portanto, um flash
(parcial vaporizao ou condensao parcial) usualmente uma operao auxiliar usada para
preparar correntes para um processo seguinte. Tipicamente, a fase vapor enviada para o
sistema de separao de vapor, enquanto a fase lquida enviada para o sistema de separao
de lquidos. (SEADER; HENLEY (2006))
11
Vapor
Feed
Liquid
Flash isotrmico
Figura 3 - Unidade Flash.
O modelo desenvolvido para esta unidade de separao baseado nos fluxos molares
para os NC componentes i nas correntes de alimentao, vapor e lquida, fi, vi, li,
respectivamente. Assume-se que o estado da alimentao completamente definido, ou seja,
conhece-se a vazo, frao molar (zi) e a entalpia de entrada. Definindo, as fraes molares
como xi=li/(ili) e yi=vi/(ivi) obtm-se o mnimo conjunto de balano de massa:
f i = vi + l i
i=1,...NC
(4)
equaes de equilbrio:
i=1,...NC
(5)
e um balano de entalpia:
FH f ( f ,T , P ) + Q = VH v ( v ,T , P ) + LH l ( l ,T , P )
(6)
o qual nos d (2 NC+1) equaes para as (2 NC+3) variveis, vi, li, T, P e Q. Tem-se portanto
um grau de liberdade igual dois para especificar para o problema flash.
No entanto, quando uma fase desaparece, um modelo derivado dos balanos de massa
em fluxos molares conduz a composies indefinidas para as condies de ponto de orvalho e
de bolha. Alm disso, j que as relaes de equilbrio de fase no-linear so dependentes da
composio, ser desenvolvido um modelo de flash um pouco diferente em termos das vazes
e fraes molares. Seguindo a mnima descrio acima, o balano de massa para a unidade
dada por:
zi F = Vyi + Lxi
i=1,...NC
(7)
FH f + Q = VH v ( y ,T , P ) + LH l ( x ,T , P )
(8)
12
(9)
F =V + L
i=1,...NC
(10)
Agora considere que o mais simples dos casos onde T e P so especificados. Este
dissocia o balano de entalpia e permite que Q seja calculado uma vez que o balano de massa
resolvido. Combinando a equao do balano total de massa com as expresses de balano
de massa dos componentes e de equilbrio chega-se nas seguintes relaes para as fraes
molares:
xi =
zi
1 + (K i 1)
V
F
yi =
K i zi
1 + (K i 1)
V
F
(11)
Fz i
x = F + (K
i
=1
- 1)V
(12)
e o modelo flash trivialmente satisfeito para todo problema flash se for estabelecido que yi =
zi e V=0. Similarmente, se for usado yi=1 encontra-se:
F.K i .z i
=1
i - 1)V
y = F + (K
i
(13)
e o modelo flash trivialmente satisfeito para todo problema flash se for estabelecido que yi
= zi e V=F.
13
x y =0
i
(14)
Nota-se que esta nova especificao, junto com o balano de massa total, ainda conduz
s corretas especificaes nas fraes molares. Aplicando estas condioes s relaes das
fraes molares tem-se:
F (K i - 1)z i
=0
i
)
1
V
i
y x = F + (K
i
(15)
e v-se que as pseudo-razes no podem resolver esta equao. De fato, xi=zi ou xi=zi so
solues permitidas somente se a (bem apropriada) condio que Ki = 1 e se for uma mistura
azeotrpica. (BIEGLER et al. (1999))
2.4.1.1.
z i F = Vyi + Lxi
i = 1,...NC
y i = K i xi
i = 1,...NC
0
F =V + L
x y =0
i
FH f + Q = VH v ( y, T , P ) + LH l ( x, T , P )
e agora dois graus de liberdade podem ser especificados. Enquanto muitas alternativas so
possveis para os clculos do projeto, os clculos de flash so geralmente resolvidos pelos
graus de liberdade escolhidos entre as variveis V/F, Q, P e T, como pode ser visto abaixo,
nas combinaes possveis dessas variveis:
T, P -
Flash isotrmico
14
Flash adiabtico
Q, P
Flash no adiabtico
V/F, P
O mais simples dos casos dado pelo flash (P,T) j que este no requer iterao para o
balano de energia. Para este caso, o problema flash pode ser resolvido pela sequncia de
clculos, apresentada na seo 2.4.1.2.
2.4.1.2.
xi
15
16
Ki = i Kb
ln(K b ) = A + B (1/T - 1/T * )
H' v = C + D (T - T * )
(17)
H' l = E + F (T - T * )
Onde os parmetros A, B, C, D, E, F e i so livres para combinarem com as expresses noideais de K e entalpias (Hv e Hl computadas em base mssica). Kb uma mdia de K que
baseada na importncia do K componente i. i representa as volatilidades relativas, e Hv e Hl
so as entalpias de gs ideal com temperatura de referncia T*. Para manusear ambas as
misturas com substncias com pontos de ebulio estreitos e largos, Boston e Britt definiram
uma varivel artificial de iterao, R = Kb/(Kb+L/V). Esta varivel toma o domnio de
temperatura ou V/F para misturas mencionadas, respectivamente, e elimina a necessidade de
separar algoritmos para estes sistemas. Este ocorre porque R pode agora variar bastante ambas
para grandes mudanas em T (wide boiling) e L/V (narrow boiling). Neste ponto, uma vez
fixados os parmetros (A, B, C, D, E, F e i) para o loop externo, pode-se derivar as seguintes
relaes atravs da substituio das equaes de flash e expresses simplificadas:
z i F = f i = Vy i + Lxi
(18)
(19)
(20)
pi = xi (VK b + L ) = xi L / (1 - R ) = f i / ( i R + 1 - R )xi
(21)
17
L = (1 - R ) pi
V =F-L
K b = ( pi
p )
i
(22)
xi = pi / (VK b + L )
y i = i K b xi
1
T = ((ln K b A) / B + 1 / T * )
(R ) = H ' f +Q / F' +(L' / F' )(H' l (x,T, P ) H ' v ( y,T, P )) H ' v ( y,T, P )
5. Se (R) est dentro da tolerncia estipulada, ir para o passo 6. Seno, modifique o
chute para R e volte para o passo 3;
6. Na primeira passagem, obtem-se os novos valores de A, B, C, D, E, F e i comparando
com as expresses no-ideais. Para os prximos ajuste somente A, C, E e i usando o
mtodo de Broyden para conciliar estes parmetros com as expresses no-ideais.
Boston e Britt preferem a base mssica para o balano de entalpia para evitar
insensibilidade de R (atravs de L/F) quando (Hv-Hl) prximo de zero em termos molares.
Este algoritmo converge muito mais rapidamenteque os algoritmos desenvolvidos
anteriormente e tem sido incorporado como o algoritmo padrao para o flash em simuladores
de processos comerciais.
Para demonstrar este algoritmo, Boston e Britt resolveram uma grande variedade de
sistemas no-ideais incluindo sistemas de ponto de ebulio prximos e afastados, e com
Wilson, UNIQUAC, NRTL, e equao de estado. Tpica experincia nestes exemplos tem
menos que seis interaes externas (onde avaliaes das propriedades fsicas so requeridas).
Finalmente, experimentos numricos tm mostrado que este algoritmo geralmente pode ser
18
19
dE = Q W
(23)
vizinhanas
da massa transferida da massa que sai
no sistema para o sistema suas vizinhanas para o sistema
do sistema
(24)
O balano de energia para o regime no estacionrio para um sistema aberto que tenha
n espcies, cada qual entrando ou saindo do sistema, com suas respectivas vazes molares Fi
(moles de i por tempo), e com suas respectivas energias Ei (joules por mol de i),
n
dE sist & &
= Q W + E i Fi
dt
i =1
E i Fi
entrada
i =1
(25)
saida
& W
& F T C dT H (T ) + T C dT F X = 0
Q
s
A0
Ti 0 i p i Rx R TR p A 0
i =1
(26)
onde:
FA0 fluxo molar da espcie de referncia A;
razo do nmero de moles iniciais (que entram) da espcie i, pelo nmero de moles
iniciais (que entram) da espcie A;
20
i =1
Ti 0
i C p i dT ser
representado por:
n
i =1
Ti 0
~
i C p i dT = i C p i (T Ti 0 )
i =1
~
Cpi
Ti 0
C p i dT
(Ti 0 T )
O mais simples dos reatores cinticos o CSTR, no qual o contedo assumido estar
perfeitamente agitado. Com isso, a composio e a temperatura so assumidas uniformes em
todo o volume do reator e igual composio e temperatura do efluente do reator. Um reator
perfeitamente agitado usado geralmente para reaes homogneas em fase lquida. O
modelo CSTR adequado para este caso, desde que a reao ocorra sob condies
isotrmicas ou adiabticas. Embora os clculos envolvam somente equaes algbricas, estas
podem ser no-lineares. Consequentemente, uma possvel complicao que deve ser
considerado a existncia de mltiplas solues, duas ou mais podendo ser estveis.
(SEIDER et al. (2003))
A equao de projeto para um CSTR no qual no h variao espacial na velocidade
de reao
V=
FA 0 X
rA
(27)
p
R
pi
i0
FA0
i=1
(28)
sendo C p os calores especficos mdios ou constantes. Esta equao utilizada para obter o
volume do reator ou a temperatura de operao. Se necessrio, o CSTR ou aquecido ou
21
resfriado por uma camisa de aquecimento ou resfriamento ou por uma serpentina colocada no
interior do reator.
As reaes so frequentemente conduzidas adiabaticamente e usualmente com
aquecimento ou resfriamento das correntes de entrada e sada do vaso de reao. Com a
exceo de processos altamente viscosos, o trabalho feito pelo agitador geralmente pode ser
p
R
i pi (T Ti 0 )
FA 0
i =1
(29)
(30)
i =1
V=
FA 0 X
rA
(T.1.1)
RT
(T.1.2)
(T.1.3)
(T.1.4)
4. Combinando, resulta
V=
v0
Ae
RT
1 X
(T.1.5)
22
~
T + C
X H Rx (TR ) + C
i pi Ti0
p R
i =1
T=
(T.1.6)
~
i C pi + XC p
i =1
~
T + C
X H Rx (TR ) + C
i pi Ti0
p R
FA 0
i =1
UA
FA 0
~
+ C
+ XC
i pi
p
(T.1.7)
i =1
~
C (T T )
i
X EB =
[H
pi
i0
i =1
Rx
(T.1.8)
(TR ) + C p (T TR )]
X EB
UA(Ta T ) n
~
i C pi (T Ti 0 )
FA 0
i =1
=
(T T )
H (T ) + C
Rx
(T.1.9)
Ae
1 + Ae
RT
RT
onde =
V
v0
(T.1.10)
23
& e
reatores adiabticos, os quais so frequentemente encontrados na indstria. Como o Q
& so iguais a zero, a equao (26) reduz-se a
W
s
X[ H Rx (T )] =
Ti 0
C
i
i =1
pi
dT
(31)
C
Lei de velocidade de reao: rA = k C A B
KC
com k = k 1 exp
E 1 1
R T1 T
K C = K C (T2 )exp
Estequiometria:
H Rx 1 1
R T2 T
(T.2.2)
(T.2.3)
(T.2.4)
24
C A = C A 0 (1 X )
C B = C A0 X
T0
T
T0
T
Combinando,
X T0
rA = kC A 0 (1 X )
K C T
X T0
kC A 0 (1 X )
K C T
dX
=
e
dV
FA 0
(T.2.5)
(T.2.6)
(T.2.7)
(T.2.8)
Balano de energia:
n
~
T + C
X H Rx (TR ) + C
i pi Ti0
p R
T=
i =1
n
~
i C pi + XC p
(T.2.9)
i =1
~
Entrar com os valores dos parmetros k1, E, R, KC(T2), HRx(TR), C pi , C p , CA0, T0, T1, T2 e
P.
Entrar com os valores iniciais X=0, V=0 e os valores iniciais X=Xf e V=Vf.
Definir as vazes iniciais de entrada dos componentes, Fi0.
3 RESULTADOS E DISCUSSO
O objetivo dessa anlise implementar um simples processo qumico usando
diferentes plataformas de simulao e comparando os resultados obtidos entre si e, se
possvel, com aqueles encontrados na literatura, obtidos de dados experimentais previamente
testados ou que so realizados em plantas qumicas reais. No caso deste trabalho foram
implementados casos de flashs isotrmico e adiabtico; um caso de CSTR adiabtico e um
PFR adiabtico. Alm disso, ao final ser mostrado um exemplo de um sistema de separao
de biogs por um sistema de membrana (a unidade implementada) que representa apenas uma
parte de um conjunto de outros equipamentos.
25
Alimentao
Lquido
Vapor
Unidade
Presso
600
600
600
Psia
Temperatura
60
60
60
Vazo
144
74,3626
69,6374
lbmol/h
0,4861
0,1933
0,7988
0,1389
0,1435
0,1339
0,0694
0,1040
0,0325
0,0625
0,1067
0,0153
0,0556
0,0979
0,0104
0,0486
0,0900
0,0044
0,0417
0,0779
0,0030
0,0486
0,0929
0,0013
0,0278
0,0535
0,0003
0,0208
0,0403
0,0001
Entalpia
231900,2465
-41325,5303
273225,7809
Btu/h
26
Para o clculo das presses parciais dos componentes, faz-se uso da Equao
de Antoine e consequentemente, foi necessrio conhecer os valores dos
parmetros dessa equao para cada componente. Os valores dos parmetros
foram obtidos do apndice A do livro The properties of gases and liquids de
Reid e Prausnitz (2001).
27
V/F
funo
derivada
1
0,5000
0,0318
2,1985
2
0,4855
0,0002
2,1737
3
0,4855
0,0000
2,1736
***************************************************************************
No de iteraes= 3
Valor de VF= 0,485452
A vazo da fase vapor e lquida so, respectivamente (em lbmol/h):
Composio a P= 600 Psia
69,905148
74,094852
*******************************************************************
* componente
composio
vazo
*
*
frao molar
(lbmol/h)
*
*-------------------------------------------------------------------------------------------------*
*
|
x
y
|
liquida
vapor
*
* [ metano]
| 0.149866
0.842486 | 11.104326
58.894074 *
* [ etano]
| 0.154405
0.122466 | 11.440620
8.560980
*
* [ propano]
| 0.115503
0.020534 | 8.558175
1.435425
*
* [isobutano]
| 0.114602
0.007275 | 8.491419
0.508581
*
* [n-butano]
| 0.103812
0.004499 | 7.691922
0.314478
*
* [isopentano] | 0.093073
0.001461 | 6.896259
0.102141
*
* [n-pentano]
| 0.080174
0.000921 | 5.940449
0.064351
*
* [n-hexano]
| 0.094169
0.000300 | 6.977416
0.020984
*
* [n-heptano]
| 0.053982
0.000049 | 3.999795
0.003405
*
* [ octano]
| 0.040414
0.000010 | 2.994472
0.000728
*
****************************************************************
Verifica-se que o Mtodo de Newton foi bastante eficaz, visto que foram necessrios
apenas 3 iteraes para se obter os valores do Estado Estacionrio. O valor final da razo
entre a vazo de Vapor produzida sobre aquela da Alimentao foi 0,485, ou seja, 48,5% da
alimentao vapor e 51,5% lquido. Comparando os valores obtidos nesta simulao com
aqueles apresentados na Tabela 3 verifica-se que a proporcionalidade de cada frao molar de
cada componente nas correntes vapor e lquida se mantm, porm a grandeza de cada um
difere. Este resultado j era esperado, pois se trata de uma simplificao do flash e mtodos
utilizados naquele implementado no HYSIM.
Para que valores mais precisos fossem obtidos seria necessrio, obviamente, aumentar
o grau de detalhamento do cdigo, em outras palavras, detalhar o comportamento
termodinmico da mistura, pois se trata de uma mistura no-ideal (devido condio de
presso e tambm pela variedade de tamanhos das molculas e por haver compostos com
ramificao). Este maior detalhamento viria com um aumento dos esforos tanto mental
quanto computacional.
28
Neste sentido, buscaram-se novos caminhos que diminussem estes esforos e que
pudessem oferecer resultados ainda melhores. As alternativas so aquelas quando se utiliza a
plataforma CAPE-OPEN no Scilab e vice-versa. E o COCO 1.15, foi o software escolhido
para este trabalho que utiliza a plataforma CAPE-OPEN.
Antes de descrever os resultados obtidos da interao entre a plataforma CAPE-OPEN
com o Scilab necessrio inserir um pacote contendo todas as substncias da mistura e o
pacote de propriedades termodinmicas responsveis pelos clculos. extremamente
importante que estes pacotes estejam totalmente criados para que as simulaes feitas com os
mesmos possam ser vlidas. Para isso, os passos a seguir apresentam como so criados e
modificados estes pacotes termodinmicos:
29
Caso este no exista, clique em Create template (ver Figura 4). Na janela que
se abre, insere-se um nome para o pacote e uma descrio (opcional) na aba
General. Na aba Compounds, clica-se em Add e selecionam-se as
substncias
desejadas.
Verifica-se
em
Property
Calculations
quais
Existem outras abas que outros dados podem ser alterados de acordo com a
necessidade do problema.
30
31
[phases,phaseFractions,phaseCompositions,T,P]=capeOpenEquilibrium(handle,X,prop1,val1,
prop2,val2,type), onde:
X: composio global;
32
modelos matemticos intrnsecos do software, que podem no ser os mais indicados para o
caso. Porm, como se necessita de um parmetro de comparao, configurou-se em uma
mesma janela de simulao uma unidade operacional com um cdigo Scilab e outra gerada
pelo COCO. As especificaes das entradas e pacotes termodinmicos foram os mesmos para
ambas e, ao final, compararam-se os resultados, analizando os desvios gerados.
Para isso, a unidade operacional que ser implementada com o cdigo Scilab,
inicialmente funciona como uma caixa-preta na qual se pode escrever um cdigo seja qual
for a linguagem escolhida (Scilab, Matlab), que manipula as informaes de entrada e
transforma-as nas informaes de sada do processo.
Os passos para se chegar nesta configurao so os seguintes:
Para modificar a unidade, clica-se duas vezes sobre esta e na janela que se abrir
seleciona-se Show GUI, na parte debaixo da mesma. Uma nova janela se abre
e nesta possvel definir as portas de entrada e sada (no caso do Flash, uma
entrada e duas sadas), os parmetros e o prprio cdigo. A linguagem utilizada
na seo Scilab no difere muito daquela implementada software de mesmo
nome, como pode ser comprovada no Apndice C.
33
34
Como j dito, o COCO possui uma interface grfica bastante amigvel. Nesse
sentido, possvel modificar a aparncia das unidades operacionais,
escolhendo entre vrias opes de unidades operacionais j existentes no
software.
35
36
Duas unidades diferentes cada uma com seu cdigo Scilab foram implementadas, uma
utilizando o mesmo mtodo de Newton para convergncia apresentado anteriormente e a
outra usando somente alguns comandos de manipulao da corrente de alimentao (atravs
da linguagem prpria CAPE-OPEN - COCO). Estas recebero as denominaes Scilab
isotrmico I e Scilab isotrmico II, respectivamente. A unidade operacional gerada com os
recursos j definidos pelo COFE ser tratada como Flash isotrmico. Os cdigos foram
exibidos nos Apndices C e D, respectivamente. Porm, no caso da unidade Scilab
isotrmico I o cdigo implementado no forneceu a convergncia esperada, apresentando
uma mensagem de erro, assim como ocorreu para o caso apresentado anteriormente de
utilizao do COCO no Scilab. A Figura 12 mostra a tela principal do COCO onde foi
simulada a unidade Scilab isotrmico I com sua respectiva mensagem de erro.
37
Alimentao
Lquido
Vapor
Unidade
Presso
600
600
600
Psia
Temperatura
60
60
60
Vazo
144
74,5248
69,4752
lbmol/h
0,4861
0,191051
0,802593
0,1389
0,147447
0,129732
0,0694
0,103713
0,032593
0,0625
0,106841
0,0149367
0,0556
0,0976466
0,0104974
0,0486
0,0895533
0,00467011
0,0417
0,0774261
0,00337729
0,0486
0,0927611
0,0012292
0,0278
0,05345
0,000285674
0,0208
0,0401113
0,0000851717
Entalpia
-693202
-642962
-50239,6
Btu/h
38
Alimentao
Lquido
Vapor
Unidade
Presso
600
600
600
Psia
Temperatura
60
60
60
Vazo
144
74,5248
69,4752
lbmol/h
0,4861
0,191051
0,802593
0,1389
0,147447
0,129732
0,0694
0,103713
0,032593
0,0625
0,106841
0,0149367
0,0556
0,0976466
0,0104974
0,0486
0,0895533
0,00467011
0,0417
0,0774261
0,00337729
0,0486
0,0927611
0,0012292
0,0278
0,05345
0,000285674
0,0208
0,0401113
0,0000851717
Entalpia
-693202
-642962
-50239,6
Btu/h
39
40
Tabela 7 - Valores para a simulao de um flash adiabtico apresentado por Seader & Henley
(2006).
Corrente
Alimentao
Lquido
Vapor
Unidade
Presso
485
165
165
Psia
Temperatura
120
112
112
Vazo
487,4
471,06
16,34
kmol/h
1,0
0,3
0,7
kmol/h
27,9
12,7
15,2
kmol/h
345,1
344,7
0,4
kmol/h
113,4
113,36
0,04
kmol/h
Entalpia
-1089,0
-1451,0
362,0
kJ/h
41
42
Alimentao
Lquido
Vapor
Unidade
Presso
485
165
165
Psia
Temperatura
120
112
112
Vazo
487,4
471,696
15,7035
kmol/h
1,0
0,0793177
0,920682
kmol/h
27,9
13,5176
14,3824
kmol/h
345,1
344,739
0,360552
kmol/h
113,4
113,36
0,0398851
kmol/h
Entalpia
-1,41837.107
-1,44959.107
8888,79
kJ/h
43
Alimentao
Produto
Unidade
Presso
1466560
1466560
Pa
Temperatura
300
324,583
Vazo
10
9,93534
kmol/h
0,00650798
0,4
0,396095
0,4
0,396095
0,2
0,201302
44
45
mtodo numrica de discretizao da integral, o que gera um pequeno desvio do valor real. O
valor do volume desse reator PFR citado na literatura para chegar converso de equilbrio
igual a 3,4 m3, enquanto que na simulao foi encontrado um valor de 2,58 m3.
Tabela 10 - Valores da simulao do PFR adiabtico
Corrente
Alimentao
Produto
Unidade
Presso
600
600
Psi
Temperatura
330
359,469
Vazo
163
163
kmol/h
0,9
0,27
0,1
0,1
0,63
46
4 CONCLUSO
Conclui-se com este trabalho que h uma infinidade de possibilidades que podem ser
utilizadas para a simulao de unidades operacionais, servindo como uma base de modelos
dinmicos para a utilizao por pesquisadores ou at mesmo como material de aprendizado
em sala de aula. A comunicao entre softwares muito vantajosa, visto que cada um
contribui com que melhor possui para facilitar e melhorar o entendimento de processos
47
qumicos, como o caso da ligao entre o Scilab e o COCO. Quanto mais ferramentas de
modelagem e simulao so disponveis s pessoas mais tempo pode-se dedicar ao
aperfeioamento dos cdigos, sem se preocupar se a propriedades fsico-qumicas e
termodinmicas dos compostos esto corretas e se as fontes so confiveis.
O objetivo deste trabalho bastante audacioso, e nestas pginas foram descritas
somente o incio de um projeto que ainda tem um potencial enorme de contribuio.
REFERNCIAS BIBLIOGRFICAS
48
APNDICES
49
50
51
52
53
54
55
56
57
58
59
for s=1:nComp
k(s)=(Ac_coef(s)*Fug(s))/(P*Fug_coef(s));
end
disp('valores de k eh'); disp(k);
if abs(sum_x-sum_y)>1e-5 then
f=0;
for j=1:nComp
f=f+zf(j)*(1-k(j))/(1+VF*(k(j)-1));
end
disp("f eh"); disp(f);
df=0;
for g=1:nComp
df=df+zf(g)*(1-k(g))^2/(1+VF*(k(g)-1))^2;
end
disp("df eh"); disp(df); VF_old=VF;
if (VF>0) & (VF<1) then
if abs(df)>1e-8 then
VF= VF - f/df;
disp("vf eh"); disp(VF);
else
error ('Derivada nula');
end
else
error('Sistema nao fornece duas fases em equilibrio nessas condicoes');
end
else
break;
end
disp('tolerancia eh');
toler=abs(VF-VF_old);
disp (toler);
disp('iteracao:'); iter=iter+1; disp(iter);
end
disp('Composicao da fase liquida')
disp(x);
disp('Composicao da fase vapor')
disp(y);
V=totalFlow*VF;
L=totalFlow-V;
disp("A vazao de vapor eh:");
disp(V);
disp("A vazao de liquido eh:");
disp(L);
disp('setproduct y');
setProduct(1,V,y,"pressure",P,"temperature",T);
disp('setproduct x');
setProduct(2,L,x,"pressure",P,"temperature",T);
60
61
end
//Encontrando a fase vapor
vaporPhase=0;
phaseCount=size(phasefractions,1);
for i=1:phaseCount
if (getAggregationState(phases(i,:))==AGGSTATE_VAPOR) then
vaporPhase=i;
break
end
end
//Checando se temos uma fase vapor
if (vaporPhase>0) then
vaporFraction=phasefractions(vaporPhase)
if (phaseCount==1) then
//Tem-se somente a fase vapor
setProduct(1,F,zf,"pressure",P,"temperature",T)
setProduct(2,0,zf,"pressure",P,"temperature",T)
else
//Fase vapor
setProduct(1,F*vaporFraction,compositions(vaporPhase,:),"pressure",P,"temperature",T)
//Todas as outras fases por diferena
f=zf*F-(F*vaporFraction*compositions(vaporPhase,:));
ftot=sum(f);
if (ftot>0) then x=f/ftot; end;
setProduct(2,ftot,x,"pressure",P,"temperature",T);
end
else
disp(No tem fase vapor);
setProduct(1,0,zf,"pressure",P,"temperature",T)
setProduct(2,F,zf,"pressure",P,"temperature",T)
vaporFraction=0
end
62
compCount=size(cas,1)
indexEthane=0;
indexEthylene=0;
indexHydrogen=0;
for i=1:compCount
casNumber=cas(i,:);
if (indexEthane==0) then if (strcmp(casNumber,CAS_Ethane)==0) then indexEthane=i; end; end
if (indexEthylene==0) then if (strcmp(casNumber,CAS_Ethylene)==0) then indexEthylene=i; end; end
if (indexHydrogen==0) then if (strcmp(casNumber,CAS_Hydrogen)==0) then indexHydrogen=i; end; end
end
if (indexEthane==0) then error("Compound Ethane not found"); end
if (indexEthylene==0) then error("Compound Ethylene not found"); end
if (indexHydrogen==0) then error("Compound Hydrogen not found"); end
//A taxa da reao (mol/m3/s) dada por
//r*C(Ethylene)*C(Hydrogen)
r=4.16667e-006;
//Nome da fase vapor
vaporPhaseName=[];
for i=1:nPhase
if (phaseAggregationStates(i)==AGGSTATE_VAPOR) then
vaporPhaseName=phaseNames(i,:)
break;
end
end
if (isempty(vaporPhaseName)) then error("Nenhuma definicao para a fase vapor"); end
//Checando que alimentao contm somente vapor
[phases]=getFeedEquilibrium(1);
if (size(phases,1)~=1) then error("Alimentao deve ser Feed must be in vapor state"); end
if (strcmpi(phases(1,:),vaporPhaseName)~=0) then error("Feed must be in vapor state"); end
//heat of reaction, J/mol
// Hreac=-136330;
//using heat of reaction assumes that formation terms are not included in
// default enthalpy; instead we will use enthalpy, for which formation
// terms are included and we will not use heat of reaction
//get reactor volume, m3
vol=getParameter("Reactor volume")
//get pressure drop, Pa
dP=getParameter("Pressure drop")
//get feed pressure
p=getFeedProp(1,"pressure");
//reactor pressure
p=p-dP
//get total and component flow in
flow=getFeedProp(1,"flow")
totalFlow=sum(flow)
if (totalFlow==0) then error("Reactor calculations cannot be performed for zero flow"); end
//calculate total reactor H
hfeed=totalFlow*getFeedProp(1,"enthalpyF");
63
64
CAS_i_Butane="75-28-5";
//Estequiometria
stoi_i_Butane=1;
stoi_Butane=-1;
stoi_Isopentane=0;
//Obtendo os indices dos componentes
cas=getCompoundConstant("CASRegistryNumber");
compCount=size(cas,1)
indexButane=0;
indexIsopentane=0;
indexi_Butane=0;
for i=1:compCount
casNumber=cas(i,:);
if (indexButane==0) then if (strcmp(casNumber,CAS_Butane)==0) then indexButane=i; end; end
if (indexIsopentane==0) then if (strcmp(casNumber,CAS_Isopentane)==0) then indexIsopentane=i; end; end
if (indexi_Butane==0) then if (strcmp(casNumber,CAS_i_Butane)==0) then indexi_Butane=i; end; end
end
if (indexButane==0) then error("Componente Butano nao encontrado"); end
if (indexIsopentane==0) then error("Componente Isopentano nao encontrado"); end
if (indexi_Butane==0) then error("Componente i_Butano nao encontrado"); end
//Caracterizacao da fase liquida
liquidPhaseName=[];
for i=1:nPhase
if (phaseAggregationStates(i)==AGGSTATE_LIQUID) then
liquidPhaseName=phaseNames(i,:)
break;
end
end
if (isempty(liquidPhaseName)) then error("Nao ha formacao de fase liquida"); end
//Checando que alimentao contm somente liquida
[phases]=getFeedEquilibrium(1);
if (size(phases,1)~=1) then error("Alimentao deve estar no estado liquido"); end
if (strcmpi(phases(1,:),liquidPhaseName)~=0) then error("Alimentao deve estar no estado liquido"); end
//Obtendo a queda de pressao, Pa
dP=getParameter("Pressure drop")
//Obtendo a pressao e temperatura de alimentacao
p=getFeedProp(1,"pressure");
To=getFeedProp(1,"temperature");
//pressao do reator
p=p-dP;
//Obtendo o fluxo de entrada por componente e total
flow=getFeedProp(1,"flow");disp(flow)
totalFlow=sum(flow);
if (totalFlow==0) then error("Os calculos para o reator nao podem ser desenvolvidos para fluxo zero"); end
zf=getFeedProp(1,"fraction");
//Obtendo os parametros da reacao
dHrx1=getParameter("dHrx");//J/mol
R=getParameter("Constgas");
E=getParameter("Eativ");
Kc1=getParameter("Const_C");
65
k1=getParameter("Const_reac");
v=getParameter("vazao_vol");disp(v);
Ca0=totalFlow/v*zf(indexButane); disp('ca0 eh'); disp(Ca0);
Cp(indexButane)=getParameter("CpnB");
Cp(indexi_Butane)=getParameter("CpiB");
Cp(indexIsopentane)=getParameter("CpiP");
theta(indexButane)=flow(indexButane)/flow(indexButane);
theta(indexi_Butane)=flow(indexi_Butane)/flow(indexButane);
theta(indexIsopentane)=flow(indexIsopentane)/flow(indexButane);
sum_thetaCp=
Cp(indexButane)*theta(indexButane)+Cp(indexi_Butane)*theta(indexi_Butane)+Cp(indexIsopentane)*theta(ind
exIsopentane);
disp(sum_thetaCp);disp(flow(indexButane));
deltaCp=Cp(indexButane)-Cp(indexi_Butane);
x=0:0.05:1;
for z=1:21
T(z)=To-(dHrx1*x(z))/sum_thetaCp;
k(z)=k1*exp(E/R*(1/360-1/T(z)));
Kc(z)=Kc1*exp(dHrx1/R*(1/333-1/T(z)));
Xe(z)=Kc(z)/(1+Kc(z));
rA(z)=k(z)*(Ca0)*(1-(1+1/Kc(z))*x(z));
t(z)=flow(indexButane)/rA(z);
end
disp (T);
disp(k);
disp(Kc);
disp(Xe);
disp(rA);disp(t);
V=0;
h1=(x(15)-x(1))/14;
V=V+3/8*h1*(t(1)+3*t(2)+3*t(3)+2*t(4)+3*t(5)+3*t(6)+2*t(7)+3*t(8)+3*t(9)+2*t(10)+3*t(11)+3*t(12)+2*t(1
3)+3*t(14)+t(15));
disp('Volume do PFR eh:');
disp(V);
//calculate total reactor H
hfeed=totalFlow*getFeedProp(1,"enthalpyF");
Ctotal=Ca0/zf(indexButane);
Ci_Butane=zf(indexi_Butane)*Ctotal;disp(Ci_Butane);
CButane=Ca0;
CIsopentane=zf(indexIsopentane)*Ctotal;
//calculate the resulting compound flows
disp(x(15));
flow(indexi_Butane)=flow(indexi_Butane)+x(15)*stoi_i_Butane*flow(indexButane);disp(flow(indexi_Butane));
flow(indexButane)=flow(indexButane)+x(15)*stoi_Butane*flow(indexButane);
flow(indexIsopentane)=flow(indexIsopentane)+x(15)*stoi_Isopentane*flow(indexButane);
//calc X
disp('flow eh:'); disp(flow);
ft=sum(flow);disp('ft eh:');disp(ft)
b=flow/ft; disp('b eh:');disp(b);
//calculate reactor temperature from enthalpy flash
[phases,phasefractions,compositions,T,P]=getEquilibrium(b,"enthalpyF",hfeed/ft,"pressure",p);
66
disp(phases);
//set the product (no need to perform enthalpy flash, we have done so above; use the resulting T, more efficient)
setProduct(1,ft,b,"pressure",p,"temperature",T)
67
|\n',th);
|\n',g);
|\n',R);
sprintf('|===================================================================|\
n')];
setReport("Membrane module",txt);
68
APNDICE
H.2
ARQUIVO
ADICIONAL
SCILAB
PARA
69
70
71
72