• Nenhum resultado encontrado

Aplicação de programação matemática na estruturação e construção de simulador de reservatórios

N/A
N/A
Protected

Academic year: 2021

Share "Aplicação de programação matemática na estruturação e construção de simulador de reservatórios"

Copied!
71
0
0

Texto

(1)

CENTRO TÉCNOLÓGICO

ESCOLA DE ENGENHARIA

DEPARTAMENTO DE ENGENHARIA QUIMICA E DE PETROLEO

André Luis Reys de Mattos

Aplicação de programação matemática na

estruturação e construção de simulador de

reservatórios.

Niterói – RJ, Brasil

2017

(2)

Aplicação de programação matemática na estruturação e

construção de simulador de reservatórios.

Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia de Petróleo da Escola de Engenharia da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Bacharel em Engenharia de Petróleo.

Orientadores:

Arturo Rodrigo Ferreira Pardo

João Felipe Mitre de Araujo

Niterói – RJ, Brasil

2017

(3)

Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF

M444 Mattos, André Luis Reys de

Aplicação de programação matemática na estruturação e construção de simulador de reservatórios / André Luis Reys de Mattos. – Niterói, RJ : [s.n.], 2017.

70 f.

Projeto Final (Bacharelado em Engenharia de Petróleo) – Universidade Federal Fluminense, 2017.

Orientadores: Arturo Rodrigo Ferreira Pardo, João Felipe Mitre de Araujo.

1. Engenharia de reservatório. 2. Fortran (Linguagem de programação). 3. Programação matemática. I. Título.

(4)

Aplicação de programação matemática na estruturação

e construção de simulador de reservatórios.

Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia de Petró-leo da Escola de Engenharia da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Bacharel em Engenharia de Petróleo

Aprovado em Niterói - RJ, Brasil, 13 de julho de 2017:

Arturo Rodrigo Ferreira Pardo, D. SC. Orientador

João Felipe Mitre de Araujo, D. SC. Orientador

Elson Antonio do Nascimento, D. SC.

João Crisósthomo de Queiroz Neto, D. SC.

Niterói - RJ, Brasil

2017

(5)
(6)

Os agradecimentos principais são direcionados a minha família, que sempre esteve ao meu lado nos momentos mais difíceis, me encorajando e não me deixando ser levado por pensamentos ruins, a Julia Rocha, por todos os momentos de desespero nos quais me acolheu e me trouxe uma luz e a todos os meus amigos companheiros de jornada, dentre os quais se destacam Melissa, Mayara, Allicia, Pedro e Arnaldo.

Agradecimentos especiais são direcionados a todo o Departamento de Engenharia de Petróleo da Universidade Federal Fluminense, assim como o Petroleum Engineering Department da Montana Tech of The University of Montana, cuja maior contribuição foi o conhecimento e inspiração necessários para a realização deste.

Agradeço ainda a meus orientadores, Dr. Arturo Rodrigo Ferreira Pardo e Dr. , por todo o suporte e orientação sem os quais o presente trabalho não passariam de notas perdidas em um caderno.

(7)
(8)

Este trabalho visa o desenvolvimento e construção de um simulador de reservatórios Black-Oil, totalmente a partir de códigos abertos ao público e de livre utilização. Primeiro faz-se um breve resumo de Engenharia de Reservatórios, passando pelos tópicos mais relevantes. Uma vez concluído, segue para desenvolvimento da equação da continuidade, adaptando-a a meios porosos e discretizando-a entre coordenadas espaciais e temporais. Ao final, é realizada a construção de uma subrotina em FORTRAN, capaz de executar estes cálculos em repetição e chegar a um resultado efetivo.

Palavras-chaves: Simulação de Reservatórios. FORTRAN. Continuidade. Engenharia de Reser-vatórios.

(9)

This study aims to deduce and develop a Black Oil Reservoir Simulator, directly from open-source codes. It begins with a short recapitulation of Reservoir Engineering, from the main definitions to the most relevant topics. Once concluded, the next step is the development of the continuity equation, discretizing it between spacial end time coordinates. Finnaly, a FORTRAN subroutine capable of apply the model in loops and achieve an effective result is written .

(10)

Figura 2.1 – Densidade vs Pressão . . . 13

Figura 2.2 – Gráfico de Standing-Katz . . . 16

Figura 2.3 – Fator Volume-Formação vs Pressão . . . 17

Figura 2.4 – Viscosidade e Razão Gás-óleo vs Pressão . . . 19

Figura 2.5 – Pressão Capilar vs Saturação . . . 21

Figura 2.6 – Fluxo mássico entre um bloco e seu entorno. . . 26

Figura 3.7 – Organização dos blocos no modelo estudado . . . 31

Figura 4.8 – Modelo de output contendo informações de cada bloco do reservatório . . . 39

Figura 4.9 – Modelo de output contendo informações do reservatório como um todo . . . 39

Figura 4.10–Interpretação das informações extraídas do programa. Pressão de óleo. . . . 40

Figura 4.11–Interpretação das informações extraídas do programa. Saturação de óleo. . . 41

Figura 4.12–Interpretação das informações extraídas do programa. Pressão de óleo. Reser-vatório convencional. . . 42

Figura 4.13–Interpretação das informações extraídas do programa. Saturação de óleo. Reservatório convencional. . . 43

Figura 4.14–Interpretação das informações extraídas do programa. Pressão de óleo. Reser-vatório com ausência de capa de gás. . . 44

Figura 4.15–Interpretação das informações extraídas do programa. Saturação de óleo. Reservatório com ausência de capa de gás. . . 45

Figura 4.16–Interpretação das informações extraídas do programa. Pressão de óleo. Reser-vatório com quantidade reduzida de água de formação. . . 46

Figura 4.17–Interpretação das informações extraídas do programa. Saturação de óleo. Reservatório com quantidade reduzida de água de formação. . . 47

(11)

1 INTRODUÇÃO . . . . 11

Introdução . . . . 11

1.1 Objetivo. . . 11

2 CONCEITOS BÁSICOS DE ENGENHARIA DE RESERVATÓRIOS . 12 2.1 Propriedades da Rocha Reservatório . . . 12

2.2 Propriedades dos Fluidos de Reservatório . . . 13

2.3 Interações Fluido-Rocha e Fluido-Fluido . . . 20

2.4 Comportamento dos Fluidos no Reservatório . . . 23

3 DESENVOLVIMENTO TEÓRICO . . . . 28

3.1 Equações de Fluxo . . . 28

3.2 Influência da Pressão Capilar . . . 29

3.3 Discretizando as Equações . . . 31

3.4 Representação dos Poços . . . 34

4 FUNCIONAMENTO DO SIMULADOR . . . . 36

4.1 A Linguagem FORTRAN. . . 36

4.2 Mecanismo de Resolução. . . 37

4.3 Funcionamento Básico do Programa. . . 37

4.4 Estudos de Caso . . . 42

4.4.1 Caso 1 - Reservatório convencional . . . 42

4.4.2 Caso 2 - Reservatório com ausência de capa de gás . . . 44

4.4.3 Caso 3 - Reservatório com quantidade reduzida de água de formação 44 5 CONCLUSÃO E SUGESTÕES PARA TRABALHOS FUTUROS. . . 48

REFERÊNCIAS . . . . 49

APÊNDICES

50

APÊNDICE A – CÓDIGO DESENVOLVIDO. . . . 51

(12)

1 Introdução

Com o advento da revolução digital, a simulação de reservatório vem continuamente ganhando espaço no mercado de óleo e gás. Simular não é mais uma questão de previsão, mas cada vez mais uma questão de estratégia. Novas descobertas de reservatórios podem envolver condições cada vez pior de escoabilidade, com permeabilidades baixas, grandes falhamentos, produções exageradas de água, entre outros. Um método de simulação corretamente efetuado pode (e geralmente consegue) propiciar estratégias de desenvolvimento respeitando cada vez mais limites econômicos e ambientais.

Graças a essa importância, empresas vêm desenvolvendo dia a dia softwares cada vez mais potentes e eficientes, chegando em questão de minutos a resultados que, sem o uso da tecnologia, nunca seriam alcançados. Por questões comerciais, entretanto, esses softwares são invioláveis, atuando como caixas obscuras de processamento, onde entram os dados, saem os resultados.

1.1

Objetivo

Este estudo tem o intuito de retornar às origens e deduzir, a partir das definições mais básicas, equações funcionais para o desenho de um simulador de reservatórios eficiente e de código aberto. O programa desenvolvido terá uma estrutura modular, permitindo sua fácil adaptação às mais diversas situações e assim criando um ambiente um pouco mais amigável para aqueles que queiram entender o funcionamento de suas versões comerciais.

Antes do desenvolvimento, entretanto, é necessário uma breve revisão de conceitos básicos da engenharia de reservatórios, como propriedades das rochas, propriedades dos flui-dos, interações entre o fluido e a rocha e seu comportamento em um reservatório. Após, será realizado um desenvolvimento intensivo de equações de fluxo, levando em conta aspectos como posicionamento espacial e temporal, condições de contorno e assunções.

(13)

2 Conceitos Básicos de Engenharia de

Reservatórios

Como o próprio nome propõe, a Simulação de Reservatórios é um estudo da como se comporta um reservatório sujeito às varias alterações que podem ser feitas pelo homem ou pela natureza ao longo de sua vida. Uma vez que este trabalho se dedica principalmente a simulações onde não há reação química, não há troca de energia entre as diferentes fases e todas as propriedades são contínuas e descritíveis, o estudo se restringirá apenas aos conceitos essenciais para o desenvolvimento de uma solução.

2.1

Propriedades da Rocha Reservatório

Porosidade

Principalmente utilizada na medição do volume de fluido no reservatório, a porosidade é uma das mais importantes propriedades a serem estudadas. SegundoRosa(2006), a porosidade é definida como sendo a relação entre o volume de vazios de uma rocha e o volume total da mesma, ou seja: φ = Vv Vt (2.1) Onde: φ representa a porosidade Vv representa o volume de vazios

Vt representa o volume total

Permeabilidade

Enquanto a porosidade mede a capacidade de armazenamento da rocha, outra informação de vital importância é a Permeabilidade. Análoga ao inverso da resistência de um circuito elétrico,

Rosa(2006) define permeabilidade como uma medida da capacidade de um meio poroso de se deixar atravessar por fluidos. Os estudos mais conclusivos sobre permeabilidade foram feitos por Henry Darcy em 1856 e serão abordados na seção2.4.

(14)

2.2

Propriedades dos Fluidos de Reservatório

Tipos de fluidos

Fluidos em geral podem ser considerados como incompressíveis, compressíveis e leve-mente compressíveis, a depender em como se comportam com o variar da pressão. Um fluido incompressível, como sugerido pelo nome, não sofre alterações com o variar da pressão, man-tendo sempre o mesmo volume. Fluidos compressíveis, por sua vez, sofrem altas variações de volume, como demonstrado na Figura (2.1) (ERTEKIN,2001).

Figura 2.1 – Densidade vs Pressão

Fonte:Ertekin(2001)

Geralmente, a água é considerada como incompressível, o gás como compressível e o óleo negro1como levemente compressível. Existe ainda o óleo com gás em solução (óleo cru

ou óleo vivo), cujo comportamento é distinto devido a solubilização do gás com o aumentar da pressão.

(15)

Pressão de bolha

SegundoAhmed(2010), a pressão de bolha de um sistema de hidrocarbonetos é definida como a mais alta pressão na qual uma bolha de gás é liberada do óleo. Essa importante proprie-dade pode ser medida experimentalmente através de um teste PVT flash ou estimada com o uso de correlações. Neste trabalho será considerada como um valor conhecido do sistema.

Compressibilidade isotérmica

De acordo comErtekin(2001), a compressibilidade isotérmica de um fluido é definida como a mudança volumétrica relativa de uma determinada massa sujeita a uma alteração de pressão em condições de temperatura constante. A compressibilidade pode, matematicamente, ser definida como:

ci = −

1 V

∂V

∂p|T (2.2)

Em termos de massa específica, sabendo que ρ = mV , a expressão resultante então é:

ci = − 1 ρ ∂ρ ∂p|T (2.3)

Fator z de compressibilidade do gás

Gás ideal

SegundoRosa(2006), um gás ideal é um fluido hipotético que obedece a 3 condições específicas:

- O volume ocupado pelas moléculas é insignificante se comparado ao volume total do fluido.

- Não existem quaisquer forças intermoleculares atrativas ou repulsivas, seja com o próprio fluido, seja com as paredes do recipiente.

- As colisões entre as moléculas são perfeitamente elásticas.

Uma vez seguidas essas condições, o gás pode ser considerado ideal e seu comportamento pode ser previsto, em unidades absolutas, pela Equação (2.4), também conhecida como Equação de Estado ou Lei dos Gases Ideais.

(16)

Gás real

Ainda que a grande maioria dos gases não siga as condições específicas dos gases ideais, quando em baixa temperatura e baixa pressão são fiéis a essa relação. Para os que não seguem esse modelo, existe um fator de correção chamado fator z de compressibilidade do gás ou, em inglês, z-factor. A equação (2.5) mostra a inserção deste fator.

P V = znRT (2.5)

Dependente de variáveis como temperatura e pressão, associadas a propriedades da substância, como temperatura e pressão críticas, esse fator tem comportamento anômalo. Apesar da existência de correlações bem precisas, como Peng-Robinson, até hoje, o método do Gráfico de Standing-Katz (Figura2.2) é ainda muito utilizado.

Razão gás-óleo

Também conhecida como Razão de Solubilidade do Gás, a Razão gás-óleo (Rs) ou Gas-Oil Ratio (GOR) representa a quantidade de gás que se desprende do óleo no caminho do mesmo entre o reservatório e a superfície (MCCAIN,1990). Essa razão então é definida em termos das quantidades de gás e óleo que surgem durante a produção.

Rs=

volume de gás produzido sob condições padrão

volume de óleo produzido sob condições padrão (2.6) Na ausência de dados de laboratório,Terry e Rogers (2014) sugerem a utilização de correlações. Standing, em seus estudos, concluiu que poderia estimar a Razão gás-óleo a partir da temperatura e da pressão do reservatório, juntamente a gravidade específica do gás e da graduação API do óleo. Beggs apresenta a correlação de Standing em formato de equação e válida para pressões abaixo da pressão de bolha como (BRADLEY,1987):

Rs = γg  p 18 ∗ 10(yg) 1.204 (2.7) Onde: yg = 0.00091T − 0.125ρAP I

Fator volume-formação

SegundoRosa(2006), fator volume-formação é a relação entre o volume que o fluido ocupa em uma determinada condição de temperatura e pressão e o volume que este mesmo fluido

(17)

Figura 2.2 – Gráfico de Standing-Katz

(18)

ocupa em condições padrão. Portanto, para uma fase genérica n pode-se escrever a equação (2.8) Bn= Vn V0,n (2.8) Fator volume-formação de gás

Substituindo a equação (2.5) na equação (2.8) e assumindo que, para condições padrão, z ∼= 1 pode-se então escrever a equação (2.9).

Bg =

P0ZT

T0P

(2.9)

Fator volume-formação de óleo

Como visto na seção Razão gás-óleo, até atingir o ponto de bolha, o gás se dissolve no óleo. Essa dissolução faz com que o óleo, entre a pressão padrão e o ponto de bolha, aumente de volume com o aumentar da pressão. Acima da pressão de bolha, o aumento da pressão faz com que o óleo e o gás nele dissolvido se comprimam, uma vez que não há mais dissolução. Como podemos notar na figura (2.3), entre a pressão de bolha e a pressão inicial, o Bo possui

comportamento linear.

Figura 2.3 – Fator Volume-Formação vs Pressão

(19)

Viscosidade

SegundoErtekin(2001), viscosidade de um fluido é a medida da facilidade de um fluido de escoar como resultado de um gradiente de pressão aplicado. Para fluidos com gás diluído, as moléculas se encontram afastadas e não oferecem muita resistência. Em contraste, um fluido mais denso oferece uma alta resistência ao escoamento. A viscosidade é geralmente estimada em função de temperatura e pressão. Neste estudo porém, serão desconsideradas quaisquer influências de variação de temperatura, visto que o modelo utilizado somente é válido para processos isotérmicos.

Viscosidade de um óleo

Em casos onde não é possível a análise laboratorial, existem inúmeras maneiras para estimar a viscosidade de um óleo. Um dos métodos mais utilizados é :

Passo 1 - Estimar a viscosidade do óleo morto através da correlação de Beggs-Robinson.

µod= 10A(T −460)

−1.163

− 1.0 (2.10)

Onde:

A = 103.0324−0.202023AP I

Passo 2 - Estimar a viscosidade para pressões menores que a pressão de bolha através da correlação de Beggs-Robinson.

µob= a(µod)b (2.11)

Onde:

a = 10.715(Rs + 100)−0.515

b = 5.44(Rs + 150)−0.338

Passo 3 - Corrigir a viscosidade do óleo para pressões maiores que a pressão de bolha através da correlação de Khan.

µo = µobexp9.6 × 10−6(P − Pb)



(2.12)

(20)

Figura 2.4 – Viscosidade e Razão Gás-óleo vs Pressão

Fonte:Rosa(2006)

Viscosidade de um gás

Assim como para estimar a viscosidade do óleo, existem inúmeras maneiras de se estimar a viscosidade de um gás. Um dos métodos mais utilizados, graças a sua simplicidade, é o método de Lee-Gonzales-Eakin.

Em seus estudos, Lee et al. apresentou uma relação semi-empírica para a viscosidade de gases naturais, propondo a seguinte equação (AHMED,2016):

µg = 10−4K exp  X ρg 62.4 Y (2.13) Onde: k = (9.4+0.02Ma)T1.5 209+19Ma+T X = 3.5 + 986T + 0.01Ma Y = 2.4 − X

(21)

2.3

Interações Fluido-Rocha e Fluido-Fluido

Além dos fenômenos comportamentais intrínsecos dos fluidos e das rochas, devemos também estudar como estes se relacionam entre si. Fatores como saturação, pressão capilar, permeabilidade relativa entre outros, podem não aparentar, mas possuem um papel decisivo na precisão de uma simulação.

Saturação

Um dos fatores determinantes do comportamento de um certo fluido na presença de outras fazes é a saturação. De acordo com Ertekin (2001), saturação de um determinado fluido representa a fração do poro ocupada pelo mesmo. Por representar uma fração do fluido, geralmente a saturação é representada como um valor entre 0 e 1, onde 0 representa a ausência do fluido em questão e 1 a total ocupação do poro pelo mesmo. Também pode se considerar que em um sistema, a soma da saturação de todas as fases se igualará a 1. Tem-se então, para n fases:

n

X

i=1

Si = 1 (2.14)

Conclui-se então que, para um sistema gás-óleo:

Sg + So = 1 (2.15)

Para um sistema água óleo:

So+ Sw = 1 (2.16)

Finalmente, para um sistema trifásico:

So+ Sg + Sw = 1 (2.17)

Pressão Capilar

Quando duas ou mais fases imiscíveis são colocadas em um recipiente, em estado estático, as fases mais pesadas tendem a se concentrar no fundo da mistura, assim como as mais leves no topo, se formando assim uma superfície de separação entre as fases. SegundoRosa(2006), em meios porosos, porém, não ocorre a formação desta superfície, mas sim de uma zona de transição devido aos fenômenos capilares.

Ertekin(2001) define pressão capilar como uma função da saturação e de seu histórico (ou seja, drenagem ou embebição) para um determinado conjunto rocha-fluidos a depender da temperatura e da composição. Pressão capilar, portanto, é a força exercida entre as fases através

(22)

dos fenômenos capilares ou, principalmente, a tensão superficial, gerando um diferencial de pressão entre fases submetidas às mesmas condições externas. Numericamente pode ser definida como a diferença de pressão entre a fase não-molhante e a fase molhante, como demonstrado nas equações2.18e2.19. A figura2.5exemplifica o comportamento da pressão capilar com o variar das saturações de óleo e água.

Pcow= Po− Pw (2.18)

Para rocha preferencialmente molhável pela água, e

Pcgo = Pg− Po (2.19)

Para sistema óleo-gás.

Figura 2.5 – Pressão Capilar vs Saturação

(23)

Permeabilidade Relativa

Originalmente a lei de Darcy foi derivada para fluxo monofásico, onde a permeabilidade do meio poroso representa a permeabilidade absoluta do meio. Quando dois ou mais fluidos fluem simultaneamente, a lei de Darcy pode ser modificada através da inserção do termo de permeabilidade relativa. Definido como a razão entre permeabilidade do sistema a um determinado fluido pela permeabilidade absoluta do meio, a permeabilidade relativa possui dimensão nula e é função do meio e dos fluidos envolvidos e suas respectivas saturações (ERTEKIN,2001).

krx =

kx

k (2.20)

Modelo de Corey

O modelo bifásico de Corey é um modelo válido principalmente para o processo de drenagem em rochas consolidadas. O modelo baseia-se principalmente numa normalização da saturação da fase molhante.

Swn =

Sw − Siw

1 − Sw

(2.21)

A permeabilidade relativa da fase molhante é, então:

krw = Swn4 (2.22)

E, para a fase não-molhante:

krnw = (1 − Swn)2(1 − Swn) (2.23)

Modelo trifásico de Naar, Henderson e Wygal

Já no modelo trifásico de Naar, Henderson e Wygal, as permeabilidades relativas de cada fase individual do reservatório são expressas por:

krw =  Sw− Siw 1 − Siw 4 (2.24) kro =  S3 o(1 − Sg+ 2Sw− 3Siw) (1 − Siw)4  (2.25) krg = S3 g(2 − Sg− 2Siw) (1 − Siw)4  (2.26)

(24)

Este modelo, porém, não incorpora Sor e Sgce, para que o modelo funcione

adequada-mente, devem ser impostas duas condições para as previsões do modelo:

kro = 0 (2.27)

Para So5 Sor, e

krg = 0 (2.28)

Para Sg 5 Sgc.

2.4

Comportamento dos Fluidos no Reservatório

Potencial de fluido

Uma informação frequentemente obtida em estudos de mecânica dos fluidos é a carga. Quando em unidades usuais de engenharia, essa carga frequentemente se apresenta em m.c.a (metros de coluna de água), podendo ser interpretada como a coluna de água necessária para atingir o mesmo nível de potencial de um certo ponto em estudo. Para fluidos incompressíveis, pode ser matematicamente representada por:

hf =

p

γ + z (2.29)

Onde:

- z representa a altura em relação a uma origem determinada arbitrariamente. - p representa a pressão no ponto em estudo

- γ = γcρg sendo γcum fator de conversão de gravidade, ρ a massa específica do fluido

em estudo e g a constante de gravidade local.

Multiplicando-se os dois lados da equação (2.29) por γ, é possível obter:

γhf = p + ρz (2.30)

Nota-se, por análise dimensional, que o termo γhf possui então dimensão semelhante a

pressão e pode ser representado pela letra grega Φ, tendo então:

Φ = p + ρz (2.31)

Uma vez que, ao se estudar reservatórios, os processos geralmente se encontram abaixo da plataforma, torna-se interessante substituir o termo z, relativo a posição vertical, pelo termo

(25)

D relativo a Profundidade Vertical Real - TVD. Colocando-se como referencial comum o Kelly Bushing(KB) e levando-se em conta a diferença de sentido, assume-se:

D = −z (2.32)

E, portanto, a a equação (2.31) torna-se:

Φ = p − γD (2.33)

Lei de Darcy

Engenheiro responsável pelo sistema de distribuição de águas de Dijon, na França, Henry Darcy designou uma das equações mais utilizadas para o estudo do fluxo de fluidos em meios porosos. Em 1856, ao estudar problemas de tratamento de água através de filtros de areia, Darcy concluiu que "a vazão através de um meio poroso é proporcional à área aberta ao fluxo e ao diferencial de pressão, e inversamente proporcional ao comprimento e à viscosidade."A fim de adequar e generalizar a equação, Darcy inseriu uma constante de proporcionalidade k que, após vários experimentos, concluiu ser função apenas do meio poroso e batizou esta constante como permeabilidade absoluta do meio. A equação obtida pr Darcy foi:

q = kAP1− P2

µL (2.34)

A equação de Darcy, em seu formato original, foi formulada sobre algumas condições como:

• Estado estacionário,

• Fluxo isotérmico,

• Propriedades constantes do fluido e do meio em todo o trecho em estudo,

• Não há interação entre o fluido e o meio e

• Fluxo laminar.

Essas condições, porém, podem ser facilmente sobrepostas com a integração de outras funções ou equações.

Estado estacionário e transiente

Durante processos como a injeção de água em um reservatório ou a produção de óleo, é possível notar que a resposta a esta perturbação não é imediata. Podem se passar minutos, horas

(26)

e até dias para que esta onda seja sentida pelas áreas limítrofes do reservatório. Este fenômeno ocorre graças a compressibilidade existente nos componentes do reservatório

De acordo comErtekin(2001), para um fluido incompressível, a resposta à perturbação seria imediatamente sentida na borda, supondo que a rocha reservatório é também incompressível ou, matematicamente: ρ 6= f (P ) (2.35) Para cf = 0 ou ρ constante, e  ∂ρ ∂t  s = 0 (2.36) E, consequentemente,  ∂P ∂t  s = 0 (2.37) Em termos de velocidade:  ∂u ∂t  s = 0 (2.38)

Problemas de fluxo envolvendo fluidos incompressíveis e meios porosos possuem solu-ções independentes do tempo, uma vez que todos os derivativos em relação ao tempo são nulos, dependendo apenas da posição s. Tal comportamento é chamado de estado estacionário.

Para fluidos levemente compressíveis e compressíveis, a perturbação é amortecida ini-cialmente pela compressibilidade do fluido, até que o fluido não consiga mais armazenar esta energia. A energia remanescente é então transferida para o próximo ponto no espaço e assim por diante. A energia armazenada será posteriormente transferida de um ponto para o outro. Após um certo tempo, a perturbação será transferida até as regiões limítrofes e será então percebida em qualquer ponto de observação. Pode-se então dizer que há no meio poroso um comportamento em função do tempo, ou estado transiente. Para este caso teríamos:

ρ = f (P ) (2.39) Para cf > 0 e  ∂ρ ∂t  s 6= 0 (2.40)

(27)

E, consequentemente,  ∂P ∂t  s 6= 0 (2.41) Em termos de velocidade:  ∂u ∂t  s 6= 0 (2.42)

Equação da continuidade

SegundoWelty et al. (2007), a equação da continuidade é uma forma diferencial da lei da conservação de massa. Por se tratar de uma forma diferencial, deve-se então partir da consideração de um volume de controle de dimensões ∆x, ∆y e ∆z. Considerar então a todo o fluxo mássico presente entre este bloco e seu entorno, como mostrado na figura2.6.

Figura 2.6 – Fluxo mássico entre um bloco e seu entorno.

Fonte:Welty et al.(2007)

A expressão para a conservação de massa do volume de controle é então:

Z

ρ (v· n) dA + ∂ ∂t

Z

ρdV = 0 (2.43)

Que pode ser interpretado como: 

   

Fluxo de massa para dentro ou para fora do volume de controle      +      Taxa de acumulação de massa no interior do volume de controle      = 0 (2.44)

(28)

O fluxo mássico ρ (v· n) em cada face do volume de controle está representado na figura

2.6. A massa contida dentro do volume de controle pode ser representada por ρ∆x∆y∆z e, portanto, a mudança de massa dentro do volume de controle é

∂t(rho∆x∆y∆z) (2.45)

A densidade, porém, pode variar ponto a ponto, ou seja, ρ = ρ(x, y, z, t). Sendo assim, o fluxo mássico pelas faces do volume de controle pode ser representado, respectivamente para as direções x, y e z por:

(ρvx|x+∆x− ρvx|x) ∆y∆z (2.46)

(ρvy|y+∆y− ρvy|y) ∆x∆z (2.47)

(ρvz|z+∆z− ρvz|z) ∆x∆y (2.48)

Substituindo as equações2.45até2.48na equação2.43, temos:

(ρvx|x+∆x− ρvx|x) ∆y∆z + (ρvy|y+∆y − ρvy|y) ∆x∆z

+ (ρvz|z+∆z− ρvz|z) ∆x∆y +

∂t(rho∆x∆y∆z) = 0 (2.49)

Uma vez que, nos estudos em geral, o volume não se altera como tempo, torna-se possível dividir a equação por ∆x∆y∆z. No limite, com ∆x,∆y e ∆z tendendo a um valor infinitesimal, obtém-se a forma extensa da equação da continuidade:

∂ ∂xρvx+ ∂ ∂yρvy + ∂ ∂zρvz+ ∂ρ ∂t = 0 (2.50)

Aplicando a função matemática divergente, é possível obter a forma compacta da equação da continuidade:

∇ · ρv +∂ρ

(29)

3 Desenvolvimento Teórico

3.1

Equações de Fluxo

Seguindo o método proposto porKoederitz(2005), é possível, baseando-se na equação da continuidade, escrever uma expressão geral para o balanço de massa de um problema de fluxo como

{fluxo de entrada} − {fluxo de saída} − {produção} = {acúmulo}. (3.1)

Onde:

{fluxo de entrada} = Qx+ Qy+ Qz (3.2)

{fluxo de saída} = {fluxo de entrada} + ∆x∂Qx ∂x + ∆y

∂Qy

∂y + ∆z ∂Qz

∂z (3.3)

Como citado na seção2.4, a equação proposta por Darcy pode ser facilmente adaptada para se adequar às condições do problema. Aplicando-se, por exemplo, as propriedades de fator volume-formação sobre a equação2.34, é possível obter

q = kA(P1− P2)

µBL . (3.4)

Para que a equação seja valida não só para fluxo horizontal, mas também para vertical, é interessante substituir os termos de pressão por termos de potencial de fluido. Da mesma maneira, a equação pode ser convertida para suportar fluxo multifásico através da inserção do termo de permeabilidade relativa, obtendo:

q = kkrA(Φ1− Φ2)

µBL (3.5)

Definindo um fluxo na direção x, assumindo dimensões infinitesimais e considerando Ax= ∆y∆z:

q = kkr∆y∆z µB

∂Φ

∂x (3.6)

(30)

{fluxo de entrada} − {fluxo de saída} = ∆x∆y∆z ∂ ∂x  kkr µB ∂Φ ∂x  + ∂ ∂y  kkr µB ∂Φ ∂y  + ∂ ∂z  kkr µB ∂Φ ∂z  (3.7)

Considerando um volume total Vb = ∆x∆y∆z,que o volume disponível para o fluido é

V = φVb, que a porção desse volume ocupada por este seja igual a sua saturação e que o termo

de acúmulo representa a mudança de massa armazenada em uma célula no tempo,

{acúmulo} = ∂ ∂t  SVbφ B  . (3.8)

Substituindo as equações3.7e3.8na equação3.1, adequando todos os termos para fase óleo e considerando uma produção de óleo igual a qo,

Vb  ∂ ∂x  kkro µoBo ∂Φ ∂x  + ∂ ∂y  kkro µoBo ∂Φ ∂y  + ∂ ∂z  kkro µoBo ∂Φ ∂z  − qo = ∂ ∂t  SoVbφ Bo  . (3.9)

De forma análoga, para a água,

Vb  ∂ ∂x  kkrw µwBw ∂Φ ∂x  + ∂ ∂y  kkrw µwBw ∂Φ ∂y  + ∂ ∂z  kkrw µwBw ∂Φ ∂z  − qw = ∂ ∂t  SwVbφ Bw  . (3.10)

Visto a existência do gás em solução, o gás não pode ser modelado da mesma maneira que a água. Uma modelagem adequada para o gás seria primeiramente modelar o gás livre e somar com o gás em solução. Assim obtendo:

Vb  ∂ ∂x  kkroRs µoBo ∂Φ ∂x  + ∂ ∂y  kkroRs µoBo ∂Φ ∂y  + ∂ ∂z  kkroRs µoBo ∂Φ ∂z  + ∂ ∂x  kkrg µgBg ∂Φ ∂x  + ∂ ∂y  kkrg µgBg ∂Φ ∂y  + ∂ ∂z  kkrg µgBg ∂Φ ∂z   − (qg+ qoRs) = ∂ ∂t  SoRsVbφ Bo +SgVbφ Bg  (3.11)

3.2

Influência da Pressão Capilar

A fim de se levar em conta os efeitos gravitacionais e de pressão capilar,Koederitz(2005) sugere um incremento ao potencial de fluido, inserindo na equação 2.33, termos relativos à pressão capilar.

(31)

Para o óleo temos então:

Φo = Po− γoD (3.12)

De forma análoga, temos para a água:

Φw = Pw− γwD (3.13)

Aplicando-se a equação2.18, temos portanto:

Φw = Po− Pcow− γwD (3.14)

Utilizando-se dos mesmos princípios, temos para o gás:

Φg = Po+ Pcgo− γwD (3.15)

Substituindo as equações3.12,3.14e3.15nas equações3.9,3.10e3.11, respectivamente, obtemos Vb  ∂ ∂x  kkro µoBo ∂ (Po− γoD) ∂x  + ∂ ∂y  kkro µoBo ∂ (Po− γoD) ∂y  + ∂ ∂z  kkro µoBo ∂ (Po− γoD) ∂z   − qo = ∂ ∂t  SoVbφ Bo  , (3.16) Para o óleo, Vb  ∂ ∂x  kkrw µwBw ∂ (Pw− γwD) ∂x  + ∂ ∂y  kkrw µwBw ∂ (Pw − γwD) ∂y  + ∂ ∂z  kkrw µwBw ∂ (Pw− γwD) ∂z   − qw = ∂ ∂t  SwVbφ Bw  , (3.17) Para a água, e Vb  ∂ ∂x  kkroRs µoBo ∂ (Po− γoD) ∂x  + ∂ ∂y  kkroRs µoBo ∂ (Po− γoD) ∂y  + ∂ ∂z  kkroRs µoBo ∂ (Po− γoD) ∂z  + ∂ ∂x  kkrg µgBg ∂ (Po+ Pcgo− γwD) ∂x  + ∂ ∂y  kkrg µgBg ∂ (Po+ Pcgo− γwD) ∂y  + ∂ ∂z  kkrg µgBg ∂ (Po+ Pcgo− γwD) ∂z   − (qg+ qoRs) = ∂ ∂t  SoRsVbφ Bo +SgVbφ Bg  , (3.18) Para o gás.

(32)

3.3

Discretizando as Equações

O modelo encontrado, entretanto, assume condições continuas dentro do reservatório e, consequentemente, existem infinitas soluções, para infinitos pontos diferentes no reservatório. Desta maneira, o sistema de equações seria complexo demais para ser calculado através de qualquer método. Faz-se, portanto, necessário a discretização e a consequente adaptação para um sistema representado por blocos homogêneos, usualmente referidos como "gridblocks".

Durante o processo de simulação, o usuário assume que o reservatório pode ser dividido em um número n de blocos. Estes não necessariamente necessitam ter o mesmo formato ou dimensões, porém devem ser pequenos o suficiente para que sejam verdadeiras considerações como propriedades constantes dentro de cada bloco e, ao mesmo tempo, grandes o suficiente para reduzir o número de cálculos. É válido lembrar que, para cada bloco, em um sistema trifásico, são atribuídas 3 equações, uma para cada fase, além das equações respectivas às saturações, que equilibram o sistema. Um sistema possui, então, para n gridblocks, um total de 6n equações.

Para os fins deste estudo, a sssunção de que cada bloco possui formato de paralelepípedo, com dimensões semelhantes ∆x, ∆y e ∆z e posicionam-se como apresentado na Figura3.7. Este modelo, porém, assume a individualidade de cada bloco que, apesar de compartilhar suas di-mensões com seus blocos irmãos, possuem propriedades diferentes e, portanto, comportamentos diferentes no decorrer do estudo.

Figura 3.7 – Organização dos blocos no modelo estudado

(33)

Para simplificar os cálculos, pode-se definir um termo M , chamado de Mobilidade e definido por:

M = k.kr

µ.B (3.19)

E, utilizando-se da aproximação da diferencial parcial como diferença finita

∂A ∂x ≈

A2− A1

x2− x1

(3.20)

obtendo então, para o óleo:

Vb     Mo∂(Po −γoD) ∂x  i+12,j,k −Mo∂(Po −γoD) ∂x  i−12,j,k ∆x +  Mo∂(Po −γoD) ∂y  i,j+12,k −Mo∂(Po −γoD) ∂y  i,j−12,k ∆y +  Mo ∂(Po−γoD) ∂z  i,j,k+1 2 −Mo ∂(Po−γoD) ∂z  i,j,k−1 2 ∆z   − qo = ∂ ∂t  SoVbφ Bo  (3.21)

Utilizando-se da mesma aproximação para o tempo:

Vb     Mo∂(Po −γoD) ∂x  i+12,j,k −Mo∂(Po −γoD) ∂x  i−12,j,k ∆x +  Mo∂(Po −γoD) ∂y  i,j+1 2,k −Mo∂(Po −γoD) ∂y  i,j−1 2,k ∆y +  Mo∂(Po −γoD) ∂z  i,j,k+12 −Mo∂(Po −γoD) ∂z  i,j,k−12 ∆z    − qo =  SoVbφ Bo  t+∆t −SoVbφ Bo  t ∆t (3.22)

(34)

Vb

∆x · "

Moi+ 1

2,j,k

Poi+1,j,k − γoDi+1,j,k − Poi,j,k − γoDi,j,k  ∆x ! − Moi− 1 2,j,k

Poi,j,k − γoDi,j,k − Poi−1,j,k − γoDi−1,j,k  ∆x !# + Vb ∆y · " Moi,j+ 1 2,k

Poi,j+1,k− γoDi,j+1,k − Poi,j,k − γoDi,j,k  ∆y ! − Moi,j− 1 2,k

Poi,j,k − γoDi,j,k − Poi,j−1,k− γoDi,j−1,k  ∆y !# + Vb ∆z · " Mo i,j,k+ 12

Poi,j,k+1 − γoDi,j,k+1 − Poi,j,k − γoDi,j,k  ∆z ! − Moi,j,k− 1 2

Poi,j,k− γoDi,j,k − Poi,j,k−1− γoDi,j,k−1  ∆z !# − qo =  SoVbφ Bo  t+∆t −SoVbφ Bo  t ∆t (3.23)

Retornando o volume total às suas condições originais Vb = ∆x∆y∆z e simplificando

os termos em que os mesmos estão presentes, obtém-se:

∆y∆z ∆x ·

h Moi+ 1

2,j,k

Poi+1,j,k − γoDi+1,j,k − Poi,j,k − γoDi,j,k − Moi− 1

2,j,k

Poi,j,k − γoDi,j,k − Poi−1,j,k − γoDi−1,j,k i + ∆x∆z ∆y · h Moi,j+ 1 2,k

Poi,j+1,k− γoDi,j+1,k − Poi,j,k− γoDi,j,k −

Mo

i,j− 12,k Poi,j,k − γoDi,j,k − Poi,j−1,k− γoDi,j−1,k i + ∆x∆y ∆z · h Moi,j,k+ 1 2

Poi,j,k+1 − γoDi,j,k+1 − Poi,j,k − γoDi,j,k − Moi,j,k− 1

2

Poi,j,k− γoDi,j,k − Poi,j,k−1− γoDi,j,k−1 i − qo =  SoVbφ Bo  t+∆t −SoVbφ Bo  t ∆t (3.24)

De forma análoga, as mesmas operações podem ser realizadas nas equações3.17e3.18, que modelam a água e o gás, respectivamente.

O termo Moi+ 1

2,j,k

, entretanto, assume uma permeabilidade média entre os centros dos blocos.Rosa(2006) sugere, em seu trabalho, que para este propósito, seja utilizado o método da

(35)

média harmônica ponderada, ou seja, kavg = ∆xi∆xi+1 ∆xi ki + ∆xi+1 ki+1 (3.25)

3.4

Representação dos Poços

Ainda que o modelo contemple a movimentação dos fluidos em um reservatório de maneira completa, principal objetivo de uma simulação é "imitar"os efeitos gerados pelas diversas perturbações em um reservatório. Estas, por sua vez, são geradas através de poços, sejam eles de injeção ou de produção. Modelar os poços, portanto, se mostra uma tarefa essencial para o desenvolvimento de um modelo eficiente.

Um dos modelos mais simples, porém mais eficientes, é o modelo de Peaceman. Este modelo parte da equação de Darcy e considera o fluido saindo da rocha como um todo, não levando em conta, por exemplo, mudanças de estado físico decorrente da alteração brusca de pressão entre a rocha-reservatório e o poço. Propriedades essenciais ao modelo, como o fluxo simultâneo de várias fases com propriedades diferentes e adaptação ao modelo de grid-blocks são facilmente adaptáveis, uma vez que a equação de Darcy pode ser facilmente manipulada.

O modelo inicialmente proposto por Peaceman(1978) é a proposição de Schwabe e Brand: q = 2πkh µ Pe− Pwf lnre rw  + s (3.26)

Onde Perepresenta a pressão média volumétrica não só do bloco em estudo, mas também

dos blocos ao entorno deste e s representa o fator de skin do poço, isto é, representa o dano (ou melhoramento) decorrente dos processos de perfuração e completação.

Peaceman(1978) então assume que as dimensões do bloco são muito superiores ao raio do poço (re >>> rw), obtendo:

Pe ≈ Pi,j,k (3.27)

Ertekin(2001) continua estes estudos e encontra, para fluxo em estado estacionário, à seguinte equação: qsc = 2πkh (Pi,j,k − Pwf) µBhlnre rw  − 0.5 + si (3.28)

(36)

Para condições anisotrópicas,Peaceman(1978) ainda define: re≈ req = 0, 28 · r hq ky kx (∆x) 2i +hqkx ky (∆y) 2i 4 q ky Kx + 4 q kx Ky (3.29)

E, consequentemente, para condições isotrópicas:

re ≈ req= 0, 14

q

(∆x)2+ (∆y)2 (3.30)

A adequação para modelo multifásico é feita pela simples inserção do termo de permea-bilidade relativa, multiplicando o numerador do lado esquerdo da equação, resultando em, para o óleo: qo = 2πkrokh Poi,j,k − Pwf  µoBo h lnre rw  − 0.5 + si . (3.31)

(37)

4 Funcionamento do Simulador

Uma vez deduzidos todos os modelos necessários, foi iniciada a montagem do simulador. Este, baseado em FORTRAN 90, utiliza em seu código apenas componentes de uso livre, não necessitando de licenças adicionais nem citações. A própria linguagem FORTRAN possui licença de uso livre e, sendo um dos códigos mais eficientes para cálculos matemáticos simples, aliado com um código de fácil aprendizado devido a sua semântica simples, foi escolhida como linguagem de uso neste trabalho.

4.1

A Linguagem FORTRAN

Definida como uma linguagem de nível alto, FORTRAN tem seu nome graças a contração de "FORmula TRANslated"(inglês para fórmula traduzida). Muito utilizada para processos extensivos de cálculo, essa linguagem teve inicio nos anos 1950 e se dedicava principalmente a cientistas e engenheiros.

Em suas primeiras versões, era inserida através de cartões perfurados, Hoje em dia, porém, por ser uma linguagem versátil e bem adequada para operações matemáticas, existem vários compiladores e infinitas IDE’s. Por esta mesma razão, esta linguagem foi, por muito tempo, a preferida pelas universidades para pesquisadores e engenheiros.

Hoje em dia no Brasil, a maioria das instituições federais ainda utiliza o FORTRAN para os cursos de engenharias Química e de Petróleo. Outros cursos, entretanto, substituem essa linguagem por C, Pascal, Java e, recentemente, Phyton.

Semântica Básica da Linguagem

A linguagem FORTRAN 90, versão utilizada neste estudo, surgiu como uma tentativa de modernizar a antiga versão 77, que, apesar de já incluir várias estruturas lógicas, apresentava-se obsoleta em relação às outras linguagens. A modernização foi bem aceita, uma vez que ambas utilizavam de um modelo de sintaxe parecido, porém com grandes diferenças quanto ao desempenho. Dentre a semântica básica desta linguagem, pode-se destacar:

1 O FORTRAN 90, ao contrário do 77, não possui uma regra explicita quanto as colunas (alguns compiladores mais arcaicos, no entanto, necessitam de flags para que esta regra seja quebrada).

2 O ponto de exclamação (!) define o início e um comentário e instrui o compilador a ignorar todo o conteúdo desta linha após o mesmo.

(38)

3 Ainda que a linguagem seja compatível com comandos em letras minúsculas, a boa prática e a praticidade na leitura sugerem que todos os comandos estejam na capitalização maiúscula. O mesmo ocorre com a identação, porém devido a incompa-tibilidade de alguns compiladores mais antigos, a boa prática recomenda também só utilizar os 8 primeiros caracteres de cada linha para os comandos, sendo utilizados na maioria das vezes apenas para referências.

4.2

Mecanismo de Resolução

As equações desenvolvidas durante os capítulos2e3podem ser reunidas, formando um sistema de, para n gridblock, 6 × n equações. Uma maneira de solucionar esse tipo de sistema, é encará-lo como uma multiplicação de matrizes, no formato A × x − b = 0, onde A é uma matriz quadrada de ordem 6n, que recebe os termos quem multiplicam as pressões e saturações nas equações, x é o vetor cujo valor será manipulado durante a solução, contendo os valores das variáveis e b é um vetor coluna que recebe todas as informações independentes das variáveis representadas em x.

Uma vez que sistemas como esse podem alcançar números incrivelmente altos de equa-ções e soluequa-ções diretas iriam exigir muito cálculo computacional, com o incidente risco de não convergir, a solução adotada, graça a sua simplicidade e eficiência, é o Método de Newton-Raphson. Esse método iterativo baseia-se na utilização da iteração anterior, somado o resquício (ou diferença) dividido pela derivada das equações que compõe o sistema.

O Método de Newton-Raphson é, então, representado por:

xn+1 = xn−

f (xn)

f0(x n)

(4.1)

4.3

Funcionamento Básico do Programa

O programa encontra-se no formato de sub-rotina, a fim de melhor se adequar a uma estrutura modular, de fácil adaptação para diferentes situações. Esta, com o nome de "Newton Solver"utiliza como entrada informações como estado anterior do reservatório(Representado pela matriz R), informações relativas aos poços (WELLS), informações relativas ao passo de tempo (tstep), dimensões dos blocos (GB), número total de blocos em cada direção (x,y e z), número total de equações do sistema (n), informações sobre o comportamento das bordas do reservatório (BOUNDARY), informações sobre a rocha-reservatório (ROCK), informações sobre o fluido a ser estudado pré processadas de acordo com as condições anteriores (PVT), Informa-ções sobre o fluido estáticas ao tempo (SPVT) e configuraInforma-ções relativas à precisão e ao limite de iterações (SETUP). Suas informações de saída constituem no novo estado do reservatório (sobrescrito sobre a matriz R) e informações quantitativas como óleo, água e gás "in-place".

(39)

Para construir as matrizes utilizadas para a resolução, o programa segue um algoritmo específico, onde ele trata cada fase por sua vez, compondo as matrizes linha por linha de acordo com as equações. As equações são inseridas no modelo na seguinte ordem:

1o- Equações relativas ao fluxo do óleo na fase líquida 2o- Equações relativas ao fluxo de água

3o- Equações relativas ao fluxo de gás livre e gás em solução

4o- Equações relativas ao correto somatório das saturações, certificando-se que as mesmas

atinjam o todo da célula

5o- Equações relativas à pressão capilar óleo-água

6o- Equações relativas à pressão capilar gás-óleo

O algoritmo utilizado segue um padrão onde, através de uma sequência de caracteres, reconhece o tipo de equação a ser tratado. Uma vez reconhecido, ele segue preenchendo as linhas com as informações tridimensionais das células, mantendo sempre a ordem de preenchimento seguindo primeiramente o eixo x, após o y e, finalmente o z. Uma vez atingido o final de um eixo, o programa da um passo no eixo seguinte e reinicia o anterior, fazendo assim com que todas as células sejam cobertas. Após o término de todos os eixos, o programa se encarrega de trocar a variável que armazena a sessão a ser trabalhada.

Devido a esta organização, é possível garantir que a matriz A gerada não possuirá determi-nante nulo e, portanto, o sistema possui uma solução única, além de transformar com excelência uma informação tridimensional em uma informação bidimensional facilmente mapeável com garantias de que nenhum dado será perdido no processo.

Uma vez montada a matriz A e o vetor b, o programa calcula a função derivada e, através do Método de Newton-Raphson, entra em loop até que o critério de parada seja atingido. O critério de parada geralmente é representado por um fator aceitável de diferença entre duas iterações consecutivas ou um número limite de iterações que evita uma eventual sobrecarga do sistema.

Atingido esse critério de parada, o programa interpreta as informações e as gera no formado de saída necessário, gerando um vetor de resultado com 4 dimensões, sendo a primeira a informação armazenada, e as outras três as coordenadas a que se referem. O programa calcula também, ao final de todos os cálculos deste espaço de tempo, as informações qualitativas e as exporta em seu respectivo vetor.

Ao final so cálculo, a subrotina se encerra e retorna ao programa principal criado pelo usuário, que pode armazenar as informações e iniciar um novo passo de tempo ou encerrar os cálculos e iniciar sua interpretação.

O formato de saída gerado pelo programa principal é uma sequência de pontos, onde o programa informa a posição x, y, z e, logo após, as pressões e saturações decorrentes do

(40)

cálculo. O programa ainda exibe como saída um segundo arquivo, representando, em sequência, as condições médias de pressão do reservatório, a quantidade de óleo e gás ainda armazenados e a vazão total dos poços, como representado na nas figuras4.8e4.9.

Figura 4.8 – Modelo de output contendo informações de cada bloco do reservatório

Figura 4.9 – Modelo de output contendo informações do reservatório como um todo

As informações exportadas sobre o reservatório podem, com auxilio do Microsoft Excel, serem transformadas em mapas, como por exemplo as figuras4.10e4.11, que indicam mapas de pressão e saturação ao redor de um poço encontrado nas coordenadas x = 5, y = 5, percorrendo todos os blocos na direção z.

(41)
(42)
(43)

Mais detalhes podem ser encontrados no Apêndice A, que apresenta o código em FORTRAN utilizado na confecção do programa.

4.4

Estudos de Caso

A fins de teste da capacidade e das limitações do programa, foram executados estudos de caso sobre situações de potencial uso do programa, incluindo:

4.4.1

Caso 1 - Reservatório convencional

Utilizando-se os inputs presentes no apêndiceB, chegou-se ao resultado apresentado nas figuras4.12e4.13, mostrando que o simulador resolveu o problema com propriedade. A queda de pressão no entorno do bloco de posição 5, 5 é devida a presença de poço produtor na região.

Figura 4.12 – Interpretação das informações extraídas do programa. Pressão de óleo. Reservató-rio convencional.

(44)

Figura 4.13 – Interpretação das informações extraídas do programa. Saturação de óleo. Reserva-tório convencional.

(45)

4.4.2

Caso 2 - Reservatório com ausência de capa de gás

O caso 2, em contrapartida, apresentou resultados inconclusivos. Acredita-se que a principal razão seja a rápida variação de pressão causada pela ausência do gás. Uma vez que o método utilizado é o método implícito de cálculo, o coeficiente de expansão do óleo não se mostra suficiente, gerando distúrbios e assim resultados irreais, como pode ser conferido nas figuras4.14e4.15.

Figura 4.14 – Interpretação das informações extraídas do programa. Pressão de óleo. Reservató-rio com ausência de capa de gás.

4.4.3

Caso 3 - Reservatório com quantidade reduzida de água de

formação

De maneira análoga ao caso 2, o caso 3 mostrou-se também inconclusivo, demonstrando a necessidade do método por todos os fluidos modelados. Valores próximos a zero para a saturação

(46)

Figura 4.15 – Interpretação das informações extraídas do programa. Saturação de óleo. Reserva-tório com ausência de capa de gás.

(47)

geram, no método implícito, situações onde erros de arredondamento, problema comum ao se tratar de métodos numéricos, se tornem relevantes e prejudiquem o cálculo do resultado. Os resultados encontram-se nas figuras4.16e4.17.

Figura 4.16 – Interpretação das informações extraídas do programa. Pressão de óleo. Reservató-rio com quantidade reduzida de água de formação.

(48)

Figura 4.17 – Interpretação das informações extraídas do programa. Saturação de óleo. Reserva-tório com quantidade reduzida de água de formação.

(49)

5 Conclusão

e

Sugestões

para

Trabalhos Futuros

A simulação de reservatórios é uma técnica em constante desenvolvimento que, a cada dia, se torna mais importante seu conhecimento. A revolução digital faz com que computadores consigam executar modelos cada vez mais complexos e confiáveis em tempo economicamente viáveis. Em contrapartida, essa disponibilidade de softwares, juntamente ao patenteamento de metodologias utilizado por várias empresas, fazem com que estes métodos caiam no esqueci-mento.

Com o intuito de reunir estas informações em um formato consolidado e didático, este trabalho apresentou o estudo e o desenvolvimento de uma metodologia de previsão de comportamento de um reservatório trifásico através da modelagem Black Oil, utilizando apenas linguagens e códigos abertos ao público. Dentre todas as características do código implementado, pode-se destacar sua facilidade em ser transformado. Uma vez que todas suas entradas são manipuláveis e suscetíveis a implantação de modelos diferentes. Sua resolução pelo método de Newton-Raphson, apesar de demorada, apresenta convergência em condições mais amenas.

A metodologia adotada para a reorganização das informações provou-se efetiva e capaz de lidar com o desafio proposto pelo programa. Posteriores revisões das deduções e discretizações confirmaram a eficiência destas equações na representação da realidade quando atendidas condições amenas de reservatório, estando limitadas a resolução do estudo, que não pode ser alta demais a fim de comprometer a performance, nem baixa demais a ponto de comprometer a eficiência e a presença de todas as fases modeladas.

Resta ainda, porém, estudos de como melhor lidar com gerenciamento de memória durante a criação das matrizes solução, assim como a pesquisa por métodos de solução mais eficientes, como método de gradiente conjugado, ORTHOMIN, entre outros. Sugere-se também estudos comparativos entre resultados obtidos através deste programa e simuladores comerciais, a fim de se realizar ajustes, assim como a criação de módulos adicionais para o programa, adicionando novas metodologias para o cálculo de propriedades.

(50)

Referências

AHMED, T. Reservoir engineering handbook. Amsterdam Boston: Gulf Professional Pub, 2010. ISBN 978-1-85617-803-7. Citado na página14.

AHMED, T. Equations of State and PVT Analysis, Second Edition: Applications for Improved Reservoir Modeling. Estados Unidos da América: Gulf Professional Publishing, 2016. ISBN 978-0-12801-570-5. Citado na página19.

BRADLEY, H. B. Petroleum Engineering Handbook. Estados Unidos da América: Society of Petroleum, 1987. ISBN 978-1-55563-010-3. Citado na página15.

ERTEKIN, T. Basic Applied Reservoir Simulation. Estados Unidos da América: Society of Petroleum Engineers, 2001. ISBN 978-1-55563-089-8. Citado 8 vezes nas páginas13,14,18,

20,21,22,25e34.

KATZ, D. L. V. Handbook of natural gas engineering. New York: McGraw-Hill, 1959. ISBN 978-0-07033-384-0. Citado na página16.

KOEDERITZ, L. F. Lecture Notes On Applied Reservoir Simulation. University of Missouri - Rolla, Estados Unidos da América: World Scientific Publishing Company, 2005. ISBN

978-9-81256-198-6. Citado 3 vezes nas páginas28,29e31.

MCCAIN, W. D. The properties of petroleum fluids. Tulsa - OK, Estados Unidos da América: PennWell Books, 1990. ISBN 978-0-87814-335-1. Citado na página15.

PEACEMAN, D. Interpretation of well-block pressures in numerical reservoir simula-tion(includes associated paper 6988 ). Society of Petroleum Engineers Journal, Society of Petroleum Engineers (SPE), v. 18, n. 03, p. 183–194, jun 1978. Disponível em:

<https://doi.org/10.2118/6893-pa>. Citado 2 vezes nas páginas34e35.

ROSA, A. J. Engenharia de Reservatório de Petróleo. Rio de Janeiro: Interciência, 2006. ISBN 978-8-57193-135-6. Citado 7 vezes nas páginas12,14,15,17,19,20e33.

TERRY, R. E.; ROGERS, J. B. Applied Petroleum Reservoir Engineering. Estados Unidos da América: Prentice Hall, 2014. ISBN 978-0-13315-558-7. Citado na página15.

WELTY, J. et al. Fundamentals of Momentum, Heat and Mass Transfer. Hoboken - NJ, Estados Unidos da América: Wiley, 2007. ISBN 978-0-47012-868-8. Citado na página26.

(51)
(52)

APÊNDICE A – Código Desenvolvido

Nas páginas a seguir, encontra-se todo o código desenvolvido durante o estudo deste trabalho. Existe no início uma seção de comentários em inglês que explicam o conteúdo de cada variável, fazendo, assim, um mapeamento detalhado da localização de cada informação.

1

2 SUBROUTINE Newton_Solver(R,WELLS,tstep,GB,x,y,z,n,BOUNDARY,ROCK

,PVT,SPVT,WRES,RRES,SETUP)

3 INTEGER x, y, z, i, j, k, l, m, n, counter,ipvt(n),info

4 REAL R(6,x,y,z),GUESS(n),GUESSold(n), WELLS(x,y,z,7), tstep, GB(3),

ROCK(3,x,y,z), PVT(10,x,y,z), SPVT(4), WRES(3,x,y,z), RRES(4), B(n ), Pi, A(n,n), BOUNDARY(6), SETUP(2),work(n), det(2), RT(n), dA(n, n)

5 CHARACTER(3) var

6 ! This subroutine organize and solve the system for a determined

timestep. 7 ! 8 ! ######################################################################### 9 ! # ATTENTION: #

10 ! # FOR THIS SUBROUTINE BE ABLE TO RUN, YOU NEED TO ADD THE

#

11 ! # -ffixed-line-length-0 AND -ffree-line-length-0 FLAGS TO THE

COMPILLER #

12 ! # ( GFORTRAN & GCC )

#

13 ! # STILL NEED SOME TESTING, BUT I THINK INTEL FORTRAN DOESN’T

NEED FLAGS #

14 ! # TO COMPILE THIS SUBROUTINE IF IT’S ON F90 FILE FORMAT

#

15 !

#########################################################################

16 !

17 ! In order to solve the system, the computer uses Newton method with

a maximum number of iterations.

(53)

19 ! *R is a 4 dimensional matrix that stores data from previous runs, like pressures and saturations. This variable will store the

new data. It has the following structure: R(data,X_position, Y_position,Z_position). The data is organized in: 1 - Oil Pressure ; 2 Water Pressure; 3 Gas Pressure; 4 Oil Saturation; 5 -Water Saturation; 6 - Gas Saturation

20 ! *WELLS is a 4 dimensional that stores the data from producing

and injecting wells. It has the following structure: WELLS( X_position,Y_position,Z_position,stored_data) Stored data is organized in: 1 - Number of the Well(0 for no well); 2 - Type of well (0 for productor, 1 for water injector, 2 for gas injector); 3 Type of Constraint (0 for Fluid Rate, 1 for Pressure); 4 Constraint as determined on 3; 5 Pwf, 6 Well diameter; 7 -Skin Effect

21 ! *tstep defines the size of the timestep to be calculated. The

distance in time between the information that will be stored.

22 ! *GB stores information about the dimensions of each gridblock

of the model. It’s organized as a single vector with the following structure: GB(1) stores the X dimension of the gridblocks; GB(2) stores the Y dimension of the gridblocks; GB(3)stores the Z

dimension of the gridblocks.

23 ! *BOUNDARY is a size 6 vector that stores the boundary

conditions for each of the reservoir boundaries. (0 for no flow, otherwise it stores the flow pressure)

24 ! *ROCK is a 4 dimensional matrix that stores information about

Porosity and Permeability. It has the following structure: ROCK( data,X_position,Y_position,Z_position). The data is organized in: 1 Vertical Permeability; 2 Horizontal Permeability; 3

-Porosity

25 ! *PVT stores data that relates to the fluid. It has the

following structure: PVT(data,X_position,Y_position,Z_position). The data is organized in: 1 -Oil Viscosity; 2 -Oil FVF; 3 - Kro; 4

Pcow; 5 Pcog; 6 Rso; 7 Gas FVF; 8 Gas Viscosity; 9 -Krw; 10 - Krg

26 ! *SPVT stores PVT data that doesn’t change with time or position

. It’s a one dimension vector with the following structure: 1 Water Brine density; 2 Gas specific gravity; 3 Oil Sp.Gr.; 4

-Reservoir Temperature.

27 ! *WRES store the output data, like the production or the

pressure on each well.

28 ! *RRES store the output data of the reservoir, like the average

(54)

29 ! *SETUP stores the parameters for the Newton solver: 1 - Maximum number of iterations before break the timestep; 2 - Decimal order of precision for the Newton solver.

30 i=1 31 j=1 32 k=1 33 34 Pi= 3.1415265358979323846264338327950288419716939937510 35 A=0 36 B=0 37 var=’OIL’

38 DO l=1,n,1 !this section creates the A matrix

39 IF (var.eq.’OIL’) THEN !Generates the section of the matrix that relates with oil equations.

40 IF (i.eq.1) THEN 41 A(l,l+1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i+1,j,k)))*GB(2)*GB (3)*PVT(3,i,j,k)/(GB(1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 42 IF (BOUNDARY(1).ne.0) THEN 43 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB(1) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(1) 44 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB (1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 45 END IF 46 A(l,l) = A(l,l)-A(l,l+1)

47 ELSE IF (i.eq.x) THEN

48 A(l,l-1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i-1,j,k)))*GB(2)*GB (3)*PVT(3,i,j,k)/(GB(1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 49 IF (BOUNDARY(2).ne.0) THEN 50 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB(1) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(2) 51 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB (1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 52 END IF 53 A(l,l) = A(l,l)-A(l,l-1) 54 ELSE 55 A(l,l+1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i+1,j,k)))*GB(2)*GB (3)*PVT(3,i,j,k)/(GB(1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 56 A(l,l-1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i-1,j,k)))*GB(2)*GB (3)*PVT(3,i,j,k)/(GB(1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 57 A(l,l) = A(l,l)-A(l,l-1)-A(l,l+1) 58 END IF 59 IF (j.eq.1) THEN

(55)

60 A(l,l+x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j+1,k)))*GB(1)*GB (3)*PVT(3,i,j,k)/(GB(2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 61 IF (BOUNDARY(3).ne.0) THEN 62 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(3,i,j,k)/(GB(2) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(3) 63 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(3,i,j,k)/(GB (2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 64 END IF 65 A(l,l) = A(l,l)-A(l,l+x)

66 ELSE IF (j.eq.y) THEN

67 A(l,l-x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j-1,k)))*GB(1)*GB (3)*PVT(3,i,j,k)/(GB(2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 68 IF (BOUNDARY(4).ne.0) THEN 69 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(3,i,j,k)/(GB(2) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(4) 70 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(3,i,j,k)/(GB (2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 71 END IF 72 A(l,l) = A(l,l)-A(l,l-x) 73 ELSE 74 A(l,l+x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j+1,k)))*GB(1)*GB (3)*PVT(3,i,j,k)/(GB(2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 75 A(l,l-x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j-1,k)))*GB(1)*GB (3)*PVT(3,i,j,k)/(GB(2)*PVT(2,i,j,k)*PVT(1,i,j,k)) 76 A(l,l) = A(l,l)-A(l,l-x)-A(l,l+x) 77 END IF 78 IF (k.eq.1) THEN 79 A(l,l+x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(3,i,j,k)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 80 B(l) = B(l) + 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(3,i,j,k)*SPVT(3)*GB(3)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 81 IF (BOUNDARY(5).ne.0) THEN 82 B(l) = B(l) - 0.006328*ROCK(1,i,j,k)*GB(2)*GB(1)*PVT(3,i,j,k)/(GB(3) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(5) 83 A(l,l) = A(l,l)-0.006328*ROCK(1,i,j,k)*GB(2)*GB(1)*PVT(3,i,j,k)/(GB (3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 84 END IF 85 A(l,l) = A(l,l)-A(l,l+x*y) 86 ELSE IF (k.eq.z) THEN 87 A(l,l-x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(3,i,j,k)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k))

(56)

88 B(l) = B(l) - 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(3,i,j,k)*SPVT(3)*GB(3)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 89 IF (BOUNDARY(6).ne.0) THEN 90 B(l) = B(l) - 0.006328*ROCK(1,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB(1) *PVT(2,i,j,k)*PVT(1,i,j,k))*BOUNDARY(6) 91 A(l,l) = A(l,l)-0.006328*ROCK(1,i,j,k)*GB(2)*GB(3)*PVT(3,i,j,k)/(GB (1)*PVT(2,i,j,k)*PVT(1,i,j,k)) 92 END IF 93 A(l,l) = A(l,l)-A(l,l-x*y) 94 ELSE 95 A(l,l+x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(3,i,j,k)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 96 A(l,l-x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(3,i,j,k)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 97 B(l) = B(l) + 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(3,i,j,k)*SPVT(3)*GB(3)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) - 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)*GB(1)* PVT(3,i,j,k)*SPVT(3)*GB(3)/(GB(3)*PVT(2,i,j,k)*PVT(1,i,j,k)) 98 A(l,l) = A(l,l)-A(l,l-x*y)-A(l,l+x*y) 99 END IF 100 IF (WELLS(i,j,k,1).ne.0) THEN 101 IF (WELLS(i,j,k,2).eq.0) THEN 102 B(l) = B(l)+0.00708*ROCK(2,i,j,k)*PVT(3,i,j,k)*GB(3)*(R(1,i,j,k)/2-WELLS(i,j,k,5))/(PVT(2,i,j,k)*PVT(1,i,j,k)*(LOG(SQRT(GB(1)*GB(2)/ Pi)/WELLS(i,j,k,6))-0.75+WELLS(i,j,k,7))) 103 A(l,l) = A(l,l)-0.00708*ROCK(2,i,j,k)*PVT(3,i,j,k)*GB(3)/(PVT(2,i,j,k

)*PVT(1,i,j,k)*(LOG(SQRT(GB(1)*GB(2)/Pi)/WELLS(i,j,k,6))-0.75+ WELLS(i,j,k,7))) 104 END IF 105 END IF 106 A(l,l+3*x*y*z) = GB(1)*GB(2)*GB(3)/tstep*ROCK(3,i,j,k)/PVT(2,i,j,k) 107 B(l) = B(l) + GB(1)*GB(2)*GB(3)/tstep*ROCK(3,i,j,k)/PVT(2,i,j,k)*R(4, i,j,k) 108 i=i+1 109 IF (i.gt.x) THEN 110 i=1 111 j=j+1 112 END IF 113 IF (j.gt.y) THEN 114 j=1 115 k=k+1 116 END IF

(57)

117 IF (k.gt.z) THEN

118 k=1

119 var=’WAT’

120 END IF

121 ELSE IF (var.eq.’WAT’) THEN !Generates the section of the matrix that relates with water equations.

122 IF (i.eq.1) THEN 123 A(l,l+1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i+1,j,k)))*GB(2)*GB (3)*PVT(9,i,j,k)/(GB(1)) 124 IF (BOUNDARY(1).ne.0) THEN 125 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB(1) )*BOUNDARY(1) 126 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB (1)) 127 END IF 128 A(l,l) = A(l,l)-A(l,l+1)

129 ELSE IF (i.eq.x) THEN

130 A(l,l-1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i-1,j,k)))*GB(2)*GB (3)*PVT(9,i,j,k)/(GB(1)) 131 IF (BOUNDARY(2).ne.0) THEN 132 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB(1) )*BOUNDARY(2) 133 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB (1)) 134 END IF 135 A(l,l) = A(l,l)-A(l,l-1) 136 ELSE 137 A(l,l+1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i+1,j,k)))*GB(2)*GB (3)*PVT(9,i,j,k)/(GB(1)) 138 A(l,l-1) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i-1,j,k)))*GB(2)*GB (3)*PVT(9,i,j,k)/(GB(1)) 139 A(l,l) = A(l,l)-A(l,l-1)-A(l,l+1) 140 END IF 141 IF (j.eq.1) THEN 142 A(l,l+x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j+1,k)))*GB(1)*GB (3)*PVT(9,i,j,k)/(GB(2)) 143 IF (BOUNDARY(3).ne.0) THEN 144 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(9,i,j,k)/(GB(2) )*BOUNDARY(3) 145 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(9,i,j,k)/(GB (2)) 146 END IF

(58)

147 A(l,l) = A(l,l)-A(l,l+x)

148 ELSE IF (j.eq.y) THEN

149 A(l,l-x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j-1,k)))*GB(1)*GB (3)*PVT(9,i,j,k)/(GB(2)) 150 IF (BOUNDARY(4).ne.0) THEN 151 B(l) = B(l) - 0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(9,i,j,k)/(GB(2) )*BOUNDARY(4) 152 A(l,l) = A(l,l)-0.006328*ROCK(2,i,j,k)*GB(1)*GB(3)*PVT(9,i,j,k)/(GB (1)) 153 END IF 154 A(l,l) = A(l,l)-A(l,l-x) 155 ELSE 156 A(l,l+x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j+1,k)))*GB(1)*GB (3)*PVT(9,i,j,k)/(GB(2)) 157 A(l,l-x) = 0.006328*(2/(1/ROCK(2,i,j,k)+1/ROCK(2,i,j-1,k)))*GB(1)*GB (3)*PVT(9,i,j,k)/(GB(2)) 158 A(l,l) = A(l,l)-A(l,l-x)-A(l,l+x) 159 END IF 160 IF (k.eq.1) THEN 161 A(l,l+x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(9,i,j,k)/(GB(3)) 162 B(l) = B(l) + 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(9,i,j,k)*SPVT(1)*GB(3)/(GB(3)) 163 IF (BOUNDARY(5).ne.0) THEN 164 B(l) = B(l) - 0.006328*ROCK(1,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB(1) )*BOUNDARY(5) 165 A(l,l) = A(l,l)-0.006328*ROCK(1,i,j,k)*GB(2)*GB(3)*PVT(9,i,j,k)/(GB (1)) 166 END IF 167 A(l,l) = A(l,l)-A(l,l+x*y) 168 ELSE IF (k.eq.z) THEN 169 A(l,l-x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(9,i,j,k)/(GB(3)) 170 B(l) = B(l) - 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(9,i,j,k)*SPVT(1)*GB(3)/(GB(3)) 171 IF (BOUNDARY(6).ne.0) THEN 172 B(l) = B(l) - 0.006328*ROCK(1,i,j,k)*GB(2)*GB(1)*PVT(9,i,j,k)/(GB(3) )*BOUNDARY(6) 173 A(l,l) = A(l,l)-0.006328*ROCK(1,i,j,k)*GB(2)*GB(1)*PVT(9,i,j,k)/(GB (3)) 174 END IF 175 A(l,l) = A(l,l)-A(l,l-x*y)

(59)

176 ELSE 177 A(l,l+x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(9,i,j,k)/(GB(3)) 178 A(l,l-x*y) = 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)* GB(1)*PVT(9,i,j,k)/(GB(3)) 179 B(l) = B(l) + 0.006328*(2/(1/ROCK(1,i,j,k)+1/ROCK(1,i,j,k+1)))*GB(2)* GB(1)*PVT(9,i,j,k)*SPVT(1)*GB(3)/(GB(3)) - 0.006328*(2/(1/ROCK(1,i ,j,k)+1/ROCK(1,i,j,k-1)))*GB(2)*GB(1)*PVT(9,i,j,k)*SPVT(1)*GB(3)/( GB(3)) 180 A(l,l) = A(l,l)-A(l,l-x*y)-A(l,l+x*y) 181 END IF 182 IF (WELLS(i,j,k,1).ne.0) THEN 183 IF (WELLS(i,j,k,2).eq.0) THEN 184 B(l) =

B(l)+0.00708*ROCK(2,i,j,k)*PVT(9,i,j,k)*GB(3)*(R(2,i,j,k)/2-WELLS(i,j,k,5))/((LOG(SQRT(GB(1)*GB(2)/Pi)/WELLS(i,j,k,6))-0.75+ WELLS(i,j,k,7)))

185 A(l,l) = A(l,l)-0.00708*ROCK(2,i,j,k)*PVT(9,i,j,k)*GB(3)/((LOG(SQRT( GB(1)*GB(2)/Pi)/WELLS(i,j,k,6))-0.75+WELLS(i,j,k,7)))

186 ELSE IF (WELLS(i,j,k,2).eq.1) THEN

187 B(l) =

B(l)-0.00708*ROCK(2,i,j,k)*PVT(9,i,j,k)*GB(3)*(R(2,i,j,k)/2-WELLS(i,j,k,5))/(PVT(2,i,j,k)*PVT(1,i,j,k)*(LOG(SQRT(GB(1)*GB(2)/ Pi)/WELLS(i,j,k,6))-0.75+WELLS(i,j,k,7)))

188 A(l,l) = A(l,l)+0.00708*ROCK(2,i,j,k)*PVT(9,i,j,k)*GB(3)/(PVT(2,i,j,k

)*PVT(1,i,j,k)*(LOG(SQRT(GB(1)*GB(2)/Pi)/WELLS(i,j,k,6))-0.75+ WELLS(i,j,k,7))) 189 END IF 190 END IF 191 A(l,l+3*x*y*z) = GB(1)*GB(2)*GB(3)/tstep*ROCK(3,i,j,k) 192 B(l) = B(l) + GB(1)*GB(2)*GB(3)/tstep*ROCK(3,i,j,k)*R(5,i,j,k) 193 i=i+1 194 IF (i.gt.x) THEN 195 i=1 196 j=j+1 197 END IF 198 IF (j.gt.y) THEN 199 j=1 200 k=k+1 201 END IF 202 IF (k.gt.z) THEN 203 k=1 204 var=’GAS’ 205 END IF

Referências

Documentos relacionados

Este trabalho tem como objetivo contribuir para o estudo de espécies de Myrtaceae, com dados de anatomia e desenvolvimento floral, para fins taxonômicos, filogenéticos e

Além da multiplicidade genotípica de Campylobacter spp., outro fator que pode desencadear resistência à desinfecção é a ineficiência dos processos de limpeza em si,

volver competências indispensáveis ao exercício profissional da Medicina, nomeadamente, colheita da história clínica e exame físico detalhado, identificação dos

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

A versão reduzida do Questionário de Conhecimentos da Diabetes (Sousa, McIntyre, Martins &amp; Silva. 2015), foi desenvolvido com o objectivo de avaliar o

Realizar a manipulação, o armazenamento e o processamento dessa massa enorme de dados utilizando os bancos de dados relacionais se mostrou ineficiente, pois o

O capítulo I apresenta a política implantada pelo Choque de Gestão em Minas Gerais para a gestão do desempenho na Administração Pública estadual, descreve os tipos de

De acordo com o Consed (2011), o cursista deve ter em mente os pressupostos básicos que sustentam a formulação do Progestão, tanto do ponto de vista do gerenciamento