Sie sind auf Seite 1von 19

Simulao de Reservatrios 3D em Volumes Finitos

Simulao de Reservatrios
Acadmicos: Rafael Joaquim Alves
Eduardo Bader Dalfovo Mohr Alves

Balnerio Cambori, 27/06/2016.

Resumo
Com o objetivo de simular um reservatrio foi desenvolvido um programa que, pela discretizao de
volumes finitos, resolve a distribuio de presso em um bloco heterogneo. No trabalho ser feita
a deduo da discretizao e uma breve reviso terica sobre o problema. Por fim a concluso que
o programa resolve de forma plena e correta o exerccio proposto.

1 Introduo
A simulao de reservatrios um instrumento de fundamental importncia para
a engenharia de reservatrio. Com ela possvel determinar o comportamento terico que
um poo pode gerar em todo um reservatrio ou at mesmo estimar a produo que pode
vir a ser atingida.
Para faz-lo, contudo, existem muitas consideraes que precisam ser feitas.
Primeiramente, preciso decidir quanto esforo deve ser desprendida antes de simular.
Fora isso preciso levar em conta qual mtodo dever ser usado para faz-lo. Dentre
outras consideraes. Isso torna o problema muito mais abrangente e complexo conforme
o desejo e a necessidade do problema.
No caso um mtodo ainda no completamente adotado na indstria, o de
discretizao completa por volumes finitos. Nesse mtodo se garante a conservao de
massa do problema, melhor discretizao dos contornos e ainda, permite o uso de malhas
no estruturadas para resoluo dos problemas. Uma outra possibilidade seria usar o
mtodo de diferenas finitas ou at mesmo uma mistura dos dois mtodos tentando tirar
proveito das vantagens de ambos, contudo, essa escolha tambm pode comprometer a
estabilidade do problema. Portanto uma escolha direta por volumes finitos pode significar
maior dificuldade de implementao, mas, uma maior garantia de resoluo.
Uma varivel crucial na escolha a plataforma de programao e execuo do
problema. A linguagem C/C++ garante grande velocidade ao programa e grande
versatilidade do uso da memria do computador garantido que o problema seja resolvido
de modo eficiente e sem grandes dificuldades.
No caso, foi escolhida essa combinao pelas razoes citadas e por mais que sero
mais apresentadas afrente no trabalho. No caso a velocidade do programa em C/C++
combinado com a confiabilidade do problema implcito em volumes finitos garante boa
robustez dinamismo ao simulador.

2 Dados de Entrada
Como dados de entrada para o problema tem-se:

P_inicial

4 atm

P_poo

1 atm

20%

1,0 cp

L_x

500m

L_y

400m

L_z

10m

900 dias

Os dados descrevem o reservatrio e o leo nele presente. L_x, L_y, L_z


representam os comprimetos do reservatrio e t o tempo a ser simulado. Para a
discretiao geral do problema foram usados 10 pontos em cada direo cartesiana e mais
900 pontos temporais.
Os dados de permeabilidade foram apresentados anteriormente e sero usados
conforme requisitado. Juntamente com a posio do poo que ser escolhida a partir dos
dados de permeabilidade.

3 Mtodo de Resoluo
Para a resoluo deste problema sero tomados 3 passos. O primeiro a
modelagem do problema, depois esta modelagem ser levada para o mbito do mtodo
numrico de diferenas finitas, por ltimo a linguagem computacional C/C++ usada
para criar um programa capaz de resolver atravs do TDMA.
3.1 Modelagem
Para resolver este problema devem ser modeladas as equaes que regem ele. O
primeiro princpio que deve ser observado para o desenvolvimento do problema a que
massa deve ser conservada, deste modo tomando um volume de controle qualquer
obtemos a equao da continuidade:

()
+ ( ) = 0 (1)

Onde a densidade do fluido, a porosidade da formao, t representa o


tempo e o vetor de velocidades aparentes do fluido.
Alm da equao da continuidade deve ser respeitada tambm a Lei de Darcy.
Proposta no Sculo XIX por Henry Darcy ela condiciona o fluxo monofsico em meios
porosos.

= ( ) (2)

Onde a vazo do poo, a rea de fluxo, a permeabilidade, a


viscosidade do fluido, p representa a presso e o vetor de acelerao gravitacional.
Deste modo, substituindo (1) em (2):

()

= ( (
)) (3)

Desprezando os termos gravitacionais e abrindo em cada direo:

()



=
(
)+
(
)+ (
) (4)

Neste ponto sero inseridas as equaes de estado para a compressibilidade dos


fluidos e da rocha. Para o fluxo de lquidos utilizada a equao geral da
compressibilidade dos fluidos ():

1
(5)

A partir desta equao podemos fazer o seguinte desdobramento:

1
1

= ( )
=
= , , (6)

Pode-se agora substituir (6) em (4):

()
1
1
1
=
(
)+
(
)+ (
) (7)

Pode-se desenvolver:

()

=
+
(8)

Sabe-se tambm das propriedades das rochas que a compressibilidade da


formao ( ) dada por:

1
(9)

Com pequenas manipulaes matemticas nas equaes (5) e (9) obtm-se:

1
=
(10)

=
(11)

Substituindo (10) em (11):

1
=
(12)

E aplicando (12) em (8):

()
1

()

=
+

= ( + )
= ( ) (13)

Onde compressibilidade total dada pela soma da compressibilidade do fluido


e da formao. Substituindo (13) em (7):


1
1
1
=
(
)+
(
)+ (
) (14)


Na equao (10) t pode ser substitudo por x, y ou z. Desse modo pode ser feito o
seguinte processo:

1



(
)=
(
)=
(
)+






=
(
)+
(15)


1

2
(
)=
(
)+
(
) , = , , (16)

Para o tempo tem-se que:


=
(
) (17)

Substituindo (16) e (17) em (14):

(
)=
(
(
(
)+
) +
(
)+
)

(
(
)+
) (18)

Ao multiplicar-se os dois lados pela compressibilidade, a multiplicao do


quadrado dela pelo quadrado do diferencial de presso torna os valores dos termos que a
contm desprezveis. Desse modo:




=
(
)+
(
)+ (
) (19)


3.2 Aplicao do Mtodo dos Volumes Finitos


Para facilitar a discretizao pelo MVF ela ser feita em 1D, de modo que
possvel expandi-la facilmente para trs dimenses. O ponto de partida equao (19),
considerando apenas o fluxo em x, acrescida de um termo fonte (S):

p
( ) = (
) + (20)
t
x x

Considerando as posies W, P e E da figura abaixo, que o termo fonte pode ser


escrito como uma forma linear da presso do ponto P e integrando no tempo e no espao,
tem-se que:

+
0

( ) =

+
p
p
(
|
| ) +
( + ) (21)
x x

Figura 1. Coordenadas Utilizadas em Volumes Finitos

Integrando no volume do lado direito obtida a expresso (22):


+ p

( x | x | ) +

( + ) (22)

Onde = , observa-se que quando em 3D tem-se = .


Integrando o lado esquerdo em t, tem-se:
p p
= [
|
| ] + ( + ) (23)
x x
Aproxima-se as derivadas espaciais por diferenas centradas:
p
| =
x

p
| =
x

Deste modo obtm-se:

= |
+ |
+ [
|
| ] +
+ + (24)

Segue-se que responsvel por definir se o mtodo implcito ou no, sendo


que quando igual a 1 totalmente implcito.
= + (1 ) (25)

Agora isola-se a presso no ponto P e no tempo + , tem-se:


= + + + (26)

Onde:
=

+ +

+ =
=

Desse modo, analogamente, para trs dimenses, e lembrando que ser integrado
em cada uma das direes tem-se:

= + + + + + + (27)
Onde os coeficientes so dados por:

= |

= |

= |

= |

=
|

=
|

= 0 0 + z

0 =

= + + + + + +

Como a condio de contorno ser de fluxo igual a zero, ento supondo que P
esteja na parede esquerda em x, por exemplo, ento Aw=0. Alm disso, para o ponto onde
o poo ser colocado foi escolhida a abordagem pelo modelo de Peaceman, usualmente
usado para simulaes em duas dimenses, este atua do seguinte modo:

= +


ln ( ) (28)
2

Onde k a permeabilidade do bloco onde o poo colocado, o raio do poo,


a presso no raio equivalente que tomada como a do bloco onde o poo est

colocado, a presso do poo, h a altura aberta ao fluxo e raio onde o fluxo


ocorre radialmente em regime permanente, dado por:
1
2

0,14 [(

) 2 + (

=
0,5 [(

1
4

) +(

1
2

1
2

) 2 ]

1
4

(29)

) ]

Assim tem-se que, considerando k como constante:


=

2
( )(30)
ln ( )

E considera-se Sp=0, pois a abordagem para o poo explcita.

3.3 Mtodos de Resoluo do Sistema Linear


Para resolver o sistema encontrado ao final da aplicao do mtodo de diferenas
finitas foi criado um programa na linguagem C/C++. A escolha da linguagem se deu por
questes de praticidade e eficincia, como uma linguagem possui bom poder e
versatilidade, sendo capaz de fazer mais iteraes em um mesmo tempo quando
comparada a outras linguagens como Java e Python. O programa desenvolvido usa o
TDMA (TriDiagonal Matrix Algorithm).

3.3.1 TDMA
Este mtodo um mtodo linha a linha, para melhor compresso do mtodo de
resoluo ser tomado um exemplo prtico usando a equao (27). No TDMA, considerase que cada ponto tem a ele associada uma determinada propriedade a qual se quer
resolver, no caso da equao (27) tem-se presso. Em cada posio o TDMA opera
baseado em quatro coeficientes , , , sendo este referente a posio da
linha sendo calculada, deste modo num ponto qualquer e calculando na direo x tem-se:
+
+
+ + +1
+ 1
= (31)

Agora, busca-se obter e tal que:

+
= +1
+ (32)

E portanto, como o processo se d em uma linha:


+
1
= 1 + + 1 (33)

Substituindo (38) em (36), temos:


+
+ + +1
+ (1 + + 1 ) =

+ =

( 1 )
+
+1
+
(34)
( + 1 )
( + 1 )

Assim, comparando (37) e (39):


=

(35)
( + 1 )

( 1 )
(36)
( + 1 )

Para implementar o TDMA julgou-se melhor, por evitar o uso de matriz, o uso de
um vetor para guardar as posies das presses, deste modo, supondo que a x foi
discretizado em n intervalos a Figura 2 representa as coordenadas.

Figura 2. Coordenadas Utilizadas pelo Programa


A implementao do TDMA foi realizada atravs de um vetor de direes, para
isso cada posio vizinha e a prpria posio que se deseja calcular foram associadas a
direes e para cada uma destas direes foi associada um nmero, isto pode ser melhor
compreendido na figura abaixo.

Figura 3. Esquema de direes do TDMA


Desse modo, observa-se que a posio est associada a direo 0, a + 1 a
direo 1, 1 a direo 2 e assim segue-se com as demais direes. Cada uma dessas
direes associada a um coeficiente, esses coeficientes sero utilizados como os valores
de , na resoluo do TDMA, ou seja, se estivermos aplicando o TDMA na
direo x o programa utilizar = ,0 , = ,1 = ,2 , da mesma
forma aplicando na direo y teremos = ,0 , = ,3 = ,4 . Para
determinar os valores destes coeficientes devemos observar o sistema apresentado na
equao (27) que representa o sistema a ser resolvido. Assim:
= ,0 =
, { = ,1 =
= ,2 =
= ,0 =
, { = ,3 =
= ,4 =
= ,0 =
, { = ,5 =
= ,6 =

Para calcular os termos em deve-se considerar que os termos nas direes que
no so da linha que se est calculando somam-se aos valores do lado direito da equao
(42). Deste modo:

, =


+ +
+ +
+ +
+ +

+
+

, =


+ +
+ +
+ +
+ +
1

+1
+

, =


+ +
+ +
+ + +
1
+1
+

Nota-se que, no entanto, para as primeiras iteraes os valores de presso em +


devem ser tomados em , para amenizar o erro advindo disto o programa resolve a
linha numa direo e imediatamente recalcula a linha na direo contrria. Deste modo
e sero invertidos para cada um dos passos.
Ressalta-se que os valores que so conhecidos no passo anterior foram guardados
em um vetor , tal que:
=

Para as condies de contorno tem-se que, por exemplo para =


0, 0:
= ,0 =
= ,1 =
= ,2 = 0

,
=
{


+ +
+ +
+ +
+ + ;

+
+

1 = 0;

Para o stio escolhido para o poo tudo se mantm igual, exceto pela pequena
alterao em B mostrada a seguir:
=

+
( );

ln ( )

Por fim os coeficientes foram organizados na forma de um vetor, seguindo o


modelo para a posio e a direo :
, = 7+
Para as permeabilidades, conforme explicado melhor na prxima seo foram
criados dois vetores, um chamado k em que se tem os valores das permeabilidades de

cada stio, e outro que segue o esquema de direes dos coeficientes ( ) que guarda as
permeabilidades em cada direo:
3.4 Permeabilidade
A permeabilidade pode ser descrita como a conexo fsica que existe entre os
poros de uma rocha. Para um dado fluido poder fluir dentro de uma rocha porosa preciso
que exista permeabilidade o suficiente.
Quando se fala que um reservatrio heterogneo, significa que a permeabilidade
no constante dentro do mesmo e seu valor numrico correspondente depende da
posio dentro da malha. Isso impacta diretamente na escolha da posio onde se escolha
botar o poo, isso ocorre, pois, a permeabilidade, como descrito anteriormente, determina
o fluxo na clula onde o fluido escoa. Portanto, espera-se que ao se alocar um poo em
um bloco pouco permevel ocorra perda de carga muito grande e por consequncia menor
fluxo.
Como na realidade a permeabilidade tende a seguir uma distribuio lognormal
contudo, para a simplicidade e maior esclarecimento da teoria do posicionamento do
poo, ser usada uma distribuio randmica de permeabilidades de modo que o valor
mnimo seja zero para caso de total obstruo ao fluxo. Para tanto foi usada a funo
nativa de C/C++, rand. Essa funo retorna nmeros aleatrios entre um intervalo de zero
e o maior nmero comportado pelo computador, com manuseios simples foi limitado para
o valor de trezentos por fim sendo multiplicado por um nmero aleatrio entre 0 e 1.
Como a funo segue seed nica para dado computador, os nmeros gerados so
randmicos, contudo repetidos toda vez que o programa for rodado novamente. Por fim
o desvio padro mdio dos valores gerados de 162,61 mD, que por aproximadamente
20% do valor mximo da permeabilidade garante a validade do teste.
Como a permeabilidade existe no stio e o fluxo o resultado da interao entre
os stios, preciso recalcula-la a partir da posio e da direo do fluxo. Ou seja, para um
fluxo em um sentido n preciso recalcular a permeabilidade para esse fluxo usando a
permeabilidade do sitio de estudo e do seu vizinho no sentido n. Um mtodo confivel
para calcular tal permeabilidade por meio da mdia harmnica:
7+3 =

2
1
1
+
+

Desse modo as permeabilidades foram recalculadas em todas as 6 direes


gerando um novo vetor de permeabilidades que agora dependem das direes alm das
posies. Esses valores sero ento usados no clculo da vazo sendo que os pontos
selecionados sero atribudos mais frente no trabalho.

4 Anlise dos Resultados


Rodando o programa com a malha 10 x 10 x 10 foram constatados 30 pontos onde
a permeabilidade absoluta do ponto era zero. Alm disso, as permeabilidades se
distriburam de modo que:

Como fica claro a posio do poo complexa visto a alta aleatoriedade dos
valores. Contudo a grande apario de valores de permeabilidade 0 Darcy foi de grande
ajuda para validar o mtodo usado. Para isso, foi tomada uma altura aberta ao fluxo de
1m e calculou-se que = 0.179, de modo que o raio do poo foi exagerado para
1m.
Primeiramente foi selecionado um ponto aleatrio para assentar o poo. A posio
escolhida foi a de x=6, y=6 e z=6. Para esse caso a presso no poo caiu conforme mostra
a figura a seguir:

Como pode-se perceber o poo gerou grande queda de presso que foi se
estabilizando ao longo dos eixos. No caso, o representado eixo x, no possua nenhum
ponto impermevel e teve uma distribuio at simtrica da queda de presso. Fica claro
tambm que ao se simular perto de uma parede ela teve a tendncia de perder presso
mais rapidamente que a parede mais distante, isso condiz com a realidade. A distribuio
de presses para 16 dias mostrada abaixo.

Agora tomando a distribuio dentro de todo o reservatrio fica claro que a


presso est menor mais prxima do poo, sendo que verticalmente o efeito menos
sentido devido ao fato de ser uma dimenso de escala muito menor que as outras. Alm
disso possvel localizar os mesmos pontos representados anteriormente impermeveis.

Isso pois neles no ocorre fluxo de fluido e, portanto, no ocorre variao na presso nos
poros.
Indo mais alm possvel determinar a vazo nesse poo a partir da presso no
momento final de estudo com base nos dados usados para simular o problema. Disso foi
encontrada vazo de Q=22,8215cm/s.
Outro ponto tomado para anlise foi um de permeabilidade zero. No caso o ponto
x=2, y=2 e z=5 gerou resultados dentro do esperado. A figura abaixo independe do tempo.
4

3.5
10

8
3
7

2.5

3
2

1
10
9
8

10
7

1.5

6
4

5
4

3
3

2
1

atm

timestep=17
timestep=65
timestep=129
timestep=257
timestep=513
timestep=901

10

posio

Como fica claro, ao se alocar o poo dento de uma regio com permeabilidade
nula ocorre que no existe fluxo dentro do reservatrio logo no ocorre queda de presso
dentro da malha. Para esse caso a vazo encontrada foi Q=0cm/s.

O ltimo ponto a ser escolhido foi um ponto com o mximo de permeabilidade no


reservatrio. No caso o ponto x=8, y=3 e z=8. Nesse ponto ocorre de existir um vizinho
no eixo x impermevel. Isso gera para t=16dias:

E ainda, analisando a linha em torno do poo:

Fica claro agora o efeito do vizinho impermevel. A presso nesse ponto no varia
ao longo do tempo devido falta de fluxo, alm disso, ao comparar o resultado ao anterior
onde no existia vizinho impermevel, mas prximo a parede, fica claro que a presena
dessa zona sem fluxo reduz o efeito do poo na proximidade, mantendo a presso na
parede mais alta que o esperado para caso no existisse tal ocorrncia. Analisando a vazo
agora obtm-se o resultado de Q=134,29cm/s. Ou seja:

Ponto

Vazo(cm/s)

x=6,y=6,z=6

22,81

x=2,y=2,z=5

0,00

x=8,y=3,z=8

134,29

Isso deixa claro como que o posicionamento do poo dentro da malha de


fundamental importncia para que se atinja valor mximo de produo, evitar locais com
baixa permeabilidade e favorecer locais mais homogneos tendem a aumentar
significativamente a vazo.

Concluso
Os resultados para a comparao do posicionamento dos poos foram coerentes
com os esperados da teoria. O aumento da vazo quando o poo foi perfurado prximo
falha mostra como a importncia da manuteno de presso na produo de um
reservatrio.
Nota-se tambm que desprezar os efeitos gravitacionais no causou grandes
perdas para a soluo. Alm disso, apesar de ser adaptado da soluo em duas dimenses
o mtodo de Peaceman no comprometeu a soluo.
Uma melhoria a ser aplicada na simulao a reduo do raio do poo, que foi
estimado bem acima do normal. Os efeitos da vazo so reduzidos consideravelmente por
este alto uso.

Referncias
ROSA, Adalberto Jos; CARVALHO, Renato de Souza; XAVIER, Jos Augusto
Daniel.Engenharia de Reservatorios de Petrleo. Rio de Janeiro: Intercincia, 2006.
CHEN, Zhangxin; HUAN, Guaren; MA, Yuanie. Computational Methods for
Multiphase Flows in Porous Media. Dallas: Siam, 2006
MALISKA, Clovis. Transferncia de Calor
Computacional. 2. ed. Rio de Janeiro: LTC, 2014.

Mecnica

dos

Fluidos

Das könnte Ihnen auch gefallen