Вы находитесь на странице: 1из 129

INTERPRETAÇÃO DE TESTES DE PRESSÃO ASSISTIDA POR

COMPUTADOR PARA ESTIMATIVA DE PARÂMETROS DE


POÇO/RESERVATÓRIO

MAXIMIANO KANDA FERRAZ

UNIVERSIDADE ESTADUAL DO NORTE FLUMINENSE


LABORATÓRIO DE ENGENHARIA E EXPLORAÇÃO DE PETRÓLEO

MACAÉ - RJ
DEZEMBRO - 2016
INTERPRETAÇÃO DE TESTES DE PRESSÃO ASSISTIDA POR
COMPUTADOR PARA ESTIMATIVA DE PARÂMETROS DE
POÇO/RESERVATÓRIO

MAXIMIANO KANDA FERRAZ

Monografia apresentada ao Centro de Ci-


ências e Tecnologia da Universidade Esta-
dual do Norte Fluminense, como parte das
exigências para obtenção do título de En-
genheiro de Exploração e Produção de Pe-
tróleo.

Orientador: Prof. Carlos Enrique Pico Ortiz, Dr. Eng.

MACAÉ - RJ
DEZEMBRO - 2016
INTERPRETAÇÃO DE TESTES DE PRESSÃO ASSISTIDA POR
COMPUTADOR PARA ESTIMATIVA DE PARÂMETROS DE
POÇO/RESERVATÓRIO

MAXIMIANO KANDA FERRAZ

Monografia apresentada ao Centro de Ci-


ências e Tecnologia da Universidade Esta-
dual do Norte Fluminense, como parte das
exigências para obtenção do título de En-
genheiro de Exploração e Produção de Pe-
tróleo.

Aprovada em 09 de dezembro de 2016.

Comissão Examinadora:

Prof. Fernando Diogo de Siqueira (Dr. Eng.) - LENEP/CCT/UENF

Prof. Adolfo Puíme Pires (Dr. Eng.) - LENEP/CCT/UENF

Prof. Carlos Enrique Pico Ortiz (Dr. Eng.) - LENEP/CCT/UENF - Orientador


Biografia

Nascido em 16 de fevereiro de 1993, em Macaé-RJ, técnico em Mecatrônica (CREA-


RJ 2011130949), formado pelo Instituto Nossa Senhora da Glória em 2010, estudante
de Engenharia de Exploração e Produção de Petróleo na Universidade Estadual do
Norte Fluminense Darcy Ribeiro - UENF.

De junho de 2012 a dezembro de 2013, bolsista de iniciação científica da ANP/Pe-


trobras. Participação apresentando pôsteres em eventos e conferências acadêmicas,
como o RAA (Reunião Anual de Avaliação, 2012, Uerj, Rio de Janeiro-RJ), V Con-
fict (Congresso Fluminense de Iniciação Científica e Tecnológica, 2013, Campos dos
Goytacazes-RJ), RAA/7º PDPetro (Congresso Brasileiro de P&D em Petróleo e Gás,
2013, Aracaju-SE).

Filiado à Society of Petroleum Engineers (SPE) UENF/LENEP (Laboratório de En-


genharia e Exploração de Petróleo) Student Chapter, vencedor do “SPE Outstanding
Student Chapter Award América Latina e Caribe” 2013 & 2014. Participante de ações
junto ao capítulo, como o PetroGames 2014 e Brasil Offshore. Integrante da comissão
organizadora do XI Encontro de Engenharia de Exploração e Produção de Petróleo.

Entre janeiro de 2014 e julho de 2014, estagiário no setor de Engenharia Subma-


rina na Petrobras.

Entre setembro de 2014 e agosto de 2015, bolsista pelo CNPq (Conselho Nacional
de Desenvolvimento Científico e Tecnológico), realizando o programa de graduação
sanduíche do Ciência sem Fronteiras na Universidade de Manchester, no Reino Unido.

Desde setembro de 2015, técnico de planejamento na Odebrecht Oil & Gas.

ii
Prefácio

O trabalho de conclusão de curso “Interpretação de testes de pressão assistida por


computador para estimativa de parâmetros de poço/reservatório” aqui descrito, levou,
da concepção, passando pela revisão bibliográfica, escrita da documentação, testes e
revisões, cerca de dois anos para a sua conclusão.

A ideia foi originada do professor orientador Carlos Enrique Pico Ortiz D. Sc., a fim
de estudar a possibilidade, os efeitos e as implicações decorrentes da aplicação da
modelagem de “Fair” no âmbito da Engenharia de Reservatórios. O projeto se iniciou
na bolsa de iniciação científica do PRH-20 ANP/Petrobras (Programa de Recursos
Humanos da Agência Nacional de Petróleo, Gás Natural e Biocombustíveis - ANP).

Na disciplina de “Programação Prática”, foi desenvolvido um programa em C++,


também na área de interpretação de testes de pressão, porém, mais simples e focado
no método de Horner para obter a permeabilidade a partir do gráfico semi-logarítmico
de pressão e tempo, melhor descrito no capítulo de revisão bibliográfica.

Enfrentou-se dificuldades intrísencas à realização de um trabalho de nível de gra-


duação, com longa pesquisa em testes de pressão, aprendizado da linguagem de
programação Matlab (software licenciado no LENEP) e implementação de técnicas
numéricas. A monografia alcançou o objetivo inicial.

O público alvo da monografia é a comunidade acadêmica da área de engenharia


de petróleo, especialmente da área de engenharia de reservatórios.

Trabalhos, livros e artigos relevantes estão presentes nas referências bibliográfi-


cas.

iii
Dedicatória

Trabalho dedicado aos alunos e professores do curso de Engenharia de Exploração e


Produção de Petróleo da Universidade Estadual do Norte Fluminense - UENF.

iv
Agradecimentos

Agradeço:

Primeiramente a Deus.

À minha família pelo apoio, pela confiança em mim depositada e por compreender
os momentos de ausência devido a esse trabalho, principalmente a Maximiano Ferraz
Pereira e Carmem Cristina Kanda de Sá Rocha, que proporcionaram a mim tudo que
tenho até hoje.

Aos meus amigos e colegas de classe do curso de Engenharia de Exploração


e Produção de Petróleo, pela amizade e companheirismo. Em especial, agradeço
Wagner Queiroz de Barros e Bismarck Gomes por sanar quaisquer dúvidas que lhes
trazia.

Ao professor Grazione, por possibilitar a criação da imagem em 2D/3D de variação


de pressão.

Ao meu orientador, Carlos Enrique Pico Ortiz, pelo conhecimento que me passou,
pelo tempo doado ao trabalho e por sua disposição em me auxiliar nas dificuldades
que encontrava.

Aos membros da banca, por se dispor a ler e julgar o presente trabalho.

Aos professores e funcionários do LENEP/UENF, por todo o conjunto de profissio-


nalismo para com os alunos, seus esforços e ajudas, sejam diretas ou indiretas, para
a realização deste objetivo.

Ao CENPES/PETROBRAS (Centro de Pesquisas e Desenvolvimento Leopoldo


Américo Miguez de Mello/Petrobras) pelo fornecimento de material fundamental para
o trabalho, seja na forma de livros doados para a biblioteca, presentes nas referências
bibliográficas, como no caso do financiamento de computadores e licenças acadêmi-
cas de softwares computacionais para a Universidade.

Ao comitê gestor do PRH20-ANP-PETROBRAS/LENEP/CCT/UENF, e à Universi-


dade Petrobras pelo fornecimento de bolsa de estudos e taxa de bancada por meio do
PFRH-PETROBRAS, Programa de Formação de Recursos Humanos da Petrobras.

v
Epígrafe

" O sucesso é ir de fracasso em fracasso sem perder entusiasmo. " (Winston


Churchill)

" O homem científico não pretende alcançar um resultado imediato (...). Seus
trabalhos são como sementes para o futuro. Seu dever é lançar as bases para
aqueles que estão por vir e apontar o caminho." (Nikola Tesla)

vi
Sumário

Nomenclatura xv

Resumo xix

Abstract xx

1 Introdução 1

1.1 Escopo do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Revisão Bibliográfica 6

2.1 Testes de pressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Permeabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Fator de Película . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Coeficiente de Estocagem . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Métodos convencionais de interpretação de testes de pressão . . . . . 14

2.6 Interpretação de testes de pressão por Curvas-Tipo . . . . . . . . . . . 15

2.7 Modelo de redistribuição de fases de Fair . . . . . . . . . . . . . . . . . 19

3 Formulação Matemática 23

3.1 Equação da Difusividade Hidráulica . . . . . . . . . . . . . . . . . . . . 23

3.2 Solução para reservatório radial infinito com poço cilíndrico, efeitos de
película e estocagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.1 Condições de contorno . . . . . . . . . . . . . . . . . . . . . . . 25


Sumário

3.2.2 Transformada de Laplace da EDH . . . . . . . . . . . . . . . . . 27

3.2.3 Solução da pressão com dimensões . . . . . . . . . . . . . . . . 30

3.3 Solução para reservatório radial infinito com poço cilíndrico, efeitos de
película, estocagem e redistribuição de fases . . . . . . . . . . . . . . . 33

3.3.1 Condições de contorno . . . . . . . . . . . . . . . . . . . . . . . 33

3.3.2 Transformada de Laplace da EDH . . . . . . . . . . . . . . . . . 35

3.3.3 Solução da pressão com dimensões . . . . . . . . . . . . . . . . 36

3.4 Inversão numérica da transformada de Laplace . . . . . . . . . . . . . . 38

3.5 Regressão Não-Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5.1 Notação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5.2 Método dos Mínimos Quadrados . . . . . . . . . . . . . . . . . . 41

3.5.3 Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5.4 Método de Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . 42

3.5.5 Método de Levenberg-Marquardt . . . . . . . . . . . . . . . . . . 43

3.6 Aproximação para longos tempos . . . . . . . . . . . . . . . . . . . . . . 44

4 Formulação Computacional 47

4.1 Diagrama de funcionamento . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2 Simulações computacionais . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3 Funcionalidades opcionais . . . . . . . . . . . . . . . . . . . . . . . . . 52

5 Resultados e Análises 58

5.1 Validação do método de inversão numérica . . . . . . . . . . . . . . . . 58

5.2 Validação do método de regressão não linear . . . . . . . . . . . . . . . 63

5.3 Validação da função-modelo . . . . . . . . . . . . . . . . . . . . . . . . 65

5.3.1 Reservatório radial infinito com poço cilíndrico, efeitos de pelí-


cula e estocagem . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.3.2 Reservatório radial infinito com efeitos de película, estocagem e


redistribuição de fases . . . . . . . . . . . . . . . . . . . . . . . . 71

viii
Sumário

5.4 Estudos de caso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6 Considerações Finais 82

Apêndice A -- Manual de Utilização do Programa 87

A.1 Arquivos de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.2 Arquivos de Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

A.3 Guia do Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

A.4 Guia do Programador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Apêndice B -- Código dos Programas 93

Apêndice C -- Sistemas de Unidades 105

ix
Lista de Figuras

1 Problemas direto e inverso. . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Esquema básico de um teste de pressão. . . . . . . . . . . . . . . . . . 8

3 Tipos de testes de pressão em poços. . . . . . . . . . . . . . . . . . . 10

4 Alteração de permeabilidade da formação ao redor do poço. . . . . . . 12

5 Vazão durante estocagem no poço. . . . . . . . . . . . . . . . . . . . . 13

6 Gráfico do método de Horner. . . . . . . . . . . . . . . . . . . . . . . . . 14

7 Curvas-Tipo de Ramey para um poço com efeitos de película e estoca-


gem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8 Gráfico logarítmico da curva-tipo de Gringarten e a derivada de Bourdet. 19

9 Redistribuição de fases no poço. . . . . . . . . . . . . . . . . . . . . . . 20

10 Comparação do comportamento da pressão no tempo em efeitos de es-


tocagem ideal (pontilhado) e com redistribuição de fases (linha contínua). 22

11 Comportamento das funções de Bessel do primeiro e segundo tipos de


ordens 0 e 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

12 Diagrama de funcionamento geral do programa. . . . . . . . . . . . . . 48

13 Programa-Teste que utiliza o método de Horner. . . . . . . . . . . . . . 50

14 Interface do Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

15 Variação da pressão com o tempo em teste de crescimento de pressão. 53

16 Gráfico semi-logarítmico de dados de teste de crescimento de pressão,


no formato proposto por Horner. . . . . . . . . . . . . . . . . . . . . . . 54

17 Gráfico logarítmico de dados de teste de crescimento de pressão, no


formato proposto por Agarwal. . . . . . . . . . . . . . . . . . . . . . . . 54

18 Gráfico logarítmico de dados de teste de crescimento de pressão, con-


tendo o método das derivadas de Bourdet. . . . . . . . . . . . . . . . . 55
Lista de Figuras

19 Variação do Coeficiente de Stehfest Vi quando n = 16. . . . . . . . . . 55

20 Exemplo de variação dsa estimativa dos parâmetros durante iterações. 56

21 Influência da Permeabilidade no potencial do reservatório. . . . . . . . 56

22 Modelo de variação de pressão do reservatório com a distância do poço


em 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

23 Validação do algoritmo de Stehfest, utilizando funções com inversões


1
conhecidas. Teste 1: u
↔ 1. . . . . . . . . . . . . . . . . . . . . . . . . . 59

24 Validação do algoritmo de Stehfest, utilizando funções com inversões


1
conhecidas. Teste 2: u−a
↔ eat . . . . . . . . . . . . . . . . . . . . . . . . 60

25 Validação do algoritmo de Stehfest, utilizando funções com inversões


n!
conhecidas. Teste 3: un+1
↔ tn , n=2. . . . . . . . . . . . . . . . . . . . . 60

26 Validação do algoritmo de Stehfest, utilizando funções com inversões


u
conhecidas. Teste 4: u2 +a2
↔ cos(at). . . . . . . . . . . . . . . . . . . . 61

27 Validação do algoritmo de Stehfest, utilizando funções com inversões


n!
conhecidas. Teste 5: c un+1 ↔ ctn , n=3. . . . . . . . . . . . . . . . . . . . 61

28 Validação do algoritmo de Stehfest, utilizando funções com inversões


 
1 u 1 u
conhecidas. Teste 6: c
F c
= 2 + 2 ↔ f (ct) = sen(bt) +
b( ub ) +1 b( ub ) +1
cos(bt), n=3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

29 Validação do método de regressão não linear, Teste 1. . . . . . . . . . . 63

30 Validação do método de regressão não linear, Teste 2. . . . . . . . . . . 64

31 Comportamento da função-derivada da pressão em relação à permea-


bilidade no campo de Laplace. . . . . . . . . . . . . . . . . . . . . . . . 66

32 Comportamento da função-derivada da pressão em relação ao fator de


película no campo de Laplace. . . . . . . . . . . . . . . . . . . . . . . . 67

33 Comportamento da função-derivada da pressão em relação ao coefici-


ente de estocagem no campo de Laplace. . . . . . . . . . . . . . . . . 67

34 Comportamento da função da pressão derivada em relação à permea-


bilidade no campo de Laplace por diferenças finitas. . . . . . . . . . . . 68

35 Comportamento da função da pressão derivada em relação ao fator de


película no campo de Laplace por diferenças finitas. . . . . . . . . . . . 69

xi
Lista de Figuras

36 Comportamento da função da pressão derivada em relação ao coefici-


ente de estocagem no campo de Laplace por diferenças finitas. . . . . . 69

37 Comparação da função-derivada da pressão em relação à permeabili-


dade no campo de Laplace, por método analítico e por diferenças finitas. 70

38 Comparação da função-derivada da pressão em relação ao fator de pe-


lícula no campo de Laplace, por método analítico e por diferenças finitas. 70

39 Comparação da função-derivada da pressão em relação ao coeficiente


de estocagem no campo de Laplace, por método analítico e por diferen-
ças finitas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

40 Comparação da função-derivada da pressão em relação à permeabili-


dade no campo de Laplace, por método analítico e por diferenças finitas,
para o modelo com redistribuição de fases. . . . . . . . . . . . . . . . . 72

41 Comparação da função-derivada da pressão em relação ao fator de pelí-


cula no campo de Laplace, por método analítico e por diferenças finitas,
para o modelo com redistribuição de fases. . . . . . . . . . . . . . . . . 72

42 Comparação da função-derivada da pressão em relação ao coeficiente


de estocagem no campo de Laplace, por método analítico e por diferen-
ças finitas, para o modelo com redistribuição de fases. . . . . . . . . . . 73

43 Comparação da função-derivada da pressão em relação ao parâmetro


Cφ no campo de Laplace, por método analítico e por diferenças finitas,
para o modelo com redistribuição de fases. . . . . . . . . . . . . . . . . 73

44 Comparação da função-derivada da pressão em relação ao parâmetro


α no campo de Laplace, por método analítico e por diferenças finitas,
para o modelo com redistribuição de fases. . . . . . . . . . . . . . . . . 74

45 Gráfico diagnóstico para o Caso 1, com redistribuição de fases. . . . . . 76

46 Gráfico diagnóstico para o Caso 2, com redistribuição de fases. . . . . . 77

47 Gráfico diagnóstico para o Caso 3, com redistribuição de fases. . . . . . 79

48 Gráfico diagnóstico para o Caso 3, sem redistribuição de fases. . . . . . 80

49 Gráfico semilogarítmico para o Caso 3, com redistribuição de fases. . . 80

50 Gráfico semilogarítmico para o Caso 3, sem redistribuição de fases. . . 81

51 Exemplo 1 de arquivo de registrador, com dados de pressão e tempo. . 88

xii
Lista de Tabelas

52 Exemplo 1 de arquivo de entrada de variáveis. . . . . . . . . . . . . . . 89

53 Exemplo de arquivo de saída do tipo .txt. . . . . . . . . . . . . . . . . 89

54 Ajuda do Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

xiii
Lista de Tabelas

1 Propriedades das funções de Bessel. . . . . . . . . . . . . . . . . . . . 29

2 Coeficiente de Stehfest para n = 10. . . . . . . . . . . . . . . . . . . . . 39

3 Transformada de Laplace.. . . . . . . . . . . . . . . . . . . . . . . . . . 58

4 Eficiência do método de inversão numérica. . . . . . . . . . . . . . . . . 62

5 Valores estimados pelos métodos de regressão não linear. . . . . . . . 64

6 Dados do Caso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7 Resultados para o caso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8 Dados do Caso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

9 Resultados para o caso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 77

10 Dados de Pressão X Tempo do caso 3. . . . . . . . . . . . . . . . . . . 78

11 Variáveis de entrada para o caso 3. . . . . . . . . . . . . . . . . . . . . 78

12 Resultados para o caso 3. . . . . . . . . . . . . . . . . . . . . . . . . . . 79

13 Sistemas de Unidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

14 Variáveis adimensionais. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


Nomenclatura

A nomenclatura está dividida em: alfabeto latino, alfabeto grego, sub-índices, super-
índices, símbolos e acrônimos, sendo apresentada em ordem alfabética. As unidades
em que cada unidade pode ser encontrada está descrita no Apêndice C.

Alfabeto Latino

A Área
B Fator volume formação
C Coeficiente de estocagem, parâmetro de pressão de Fair
c Compressibilidade
d Derivada total
Ei Função exponencial integral
f, F Função
G Funcão F no campo de Laplace
h Espessura/Altura do reservatório, onde há fluxo formação/poço
I Função de Bessel modificada do primeiro tipo
J Matriz jacobiana
k Permeabilidade
K Função de Bessel modificada do segundo tipo
L Comprimento
m Massa
n Parâmetro do algoritmo de Stehfest
P Pressão, probabilidade
q Vazão
r Raio
S Fator de película (skin factor )
t Tempo
Nomenclatura

u Variável de Laplace
V Volume, coeficiente do algoritmo de Stehfest
x Variável dependente
y Variável independente
a, b, c, d, z Variáveis auxilares

Alfabeto Grego

α Fator de conversão, notação de parâmetro, parâmetro de tempo de Fair


θ Ângulo
λ Parâmetro de Marquardt
µ Viscosidade
ρ Massa específica
δ Derivada parcial
φ Porosidade
ς Variável auxiliar
ξ Transformada de Boltzmann
η Erro do método de inversão numérica
γ Variável auxiliar

Sub-índices

a Aparente
D Adimensional
e Pseudo
ef Efetivo, eficiência
eq Equivalente
f Fluxo, fratura
g Gás
i Inicial, iteração
l Líquido
np Número de parâmetros

xvi
Nomenclatura

p Pressão, produção
s Fator de película (skin factor )
sc Condições padrões (standard conditions)
sf Face da formação (Sand Face)
t Tempo, total
w Poço
whf Fluxo na cabeça do poço
wf Fluxo no fundo do poço
ws Estática no fundo do poço

Super-índices

−1 Inverso
T Transposta
¯ Função no espaço de Laplace
~ Vetor, matriz

Símbolos

∇ Gradiente
4 Diferencial, delta
L Transformada de Laplace

Acrônimos

xvii
Nomenclatura

EBM Equação de Balanço de Materiais


EDH Equação da Difusividade Hidráulica
C.C. Condição de Contorno
C.C.I. Condição de Contorno Interna
C.C.E. Condição de Contorno Externa
C.I. Condição Inicial
MATLAB Matrix Laboratory
PDG Registrador Permanente de Pressão
RB Reservoir Barrel
RNL Regressao Não Linear
SI Sistema Internacional
SPE Society of Petroleum Engineers
STB Stock Tank Barrel

xviii
INTERPRETAÇÃO DE TESTES DE PRESSÃO ASSISTIDA POR
COMPUTADOR PARA ESTIMATIVA DE PARÂMETROS DE
POÇO/RESERVATÓRIO

Resumo

Na engenharia de reservatórios, um teste de pressão consiste em medir o compor-


tamento da pressão no fundo do poço durante ou após o reservatório ser submetido
à alguma perturbação. O trabalho de conclusão de curso tem como objetivo formu-
lar matematicamente o problema de interpretação de um teste de pressão, para um
modelo de reservatório radial infinito, homogêneo, isotrópico, produzindo através de
um poço vertical cilíndrico. Este trabalho foca no caso de um teste de crescimento
de pressão no qual ocorre redistribuição multifásica dentro do poço, descrito anterior-
mente por Fair (1981). A resolução do problema foi feita através do desenvolvimento
de um programa computacional que, através de um método de regressão não-linear
de mínimos quadrados, infere propriedades de determinado sistema poço-reservatório
de petróleo, tais como permeabilidade do reservatório, fator de película e coeficiente
de estocagem do poço (parâmetros da regressão). O método de regressão não linear
utilizado foi o de Levenberg-Marquardt. Como as soluções analíticas para o modelo
matemático da pressão e suas derivadas em relação aos parâmetros da regressão
são conhecidas apenas no domínio de Laplace, empregou-se o algoritmo de Stehfest
como método de inversão numérica. O problema é caracterizado como sendo um pro-
blema inverso, pois os resultados são obtidos adequando os parâmetros estimados à
resposta do reservatório (dados de campo registrados). O programa exibe gráficos de
comportamento da pressão em função do tempo e o trabalho pode ser aplicado em
análises de problemas de engenharia de reservatórios.

Palavras chave: Testes de pressão, Inversão numérica, Regressão não linear,


Redistribuição de fases, Poço, Reservatório.

xix
INTERPRETATION OF PRESSURE TESTS ASSISTED BY
COMPUTER TO ESTIMATE WELL/RESERVOIR PARAMETERS

Abstract

In reservoir engineering, a pressure test consists in measuring the behavior of the


well bottom pressure, during or after the reservoir is subject to disturbance. This work
aims to mathematically formulate the problem of pressure test interpretation to mo-
del a homogeneous, isotropic, infinite radial reservoir, producing through a cylindrical
well. The work focused on the case of a pressure buildup test with multiphase redis-
tribution within the well during the closing period, previously described by Fair (1981).
The solution to this problem was done by development of a computer program that,
by a method of non-linear least squares regression, infer properties of a particular oil
well reservoir system, such as permeability of the reservoir, skin factor and well sto-
rage coefficient (regression parameters). In order to make the non-linear regression
required, the Levenberg-Marquardt method was used. As analytical solutions to the
mathematical model of pressure and their partial derivatives with respect to the re-
gression parameters are known only in Laplace domain, the Stehfest algorithm was
used as the numerical inversion method. The problem is characterized as an inverse
problem, as the results are obtained adjusting the parameters to the response of the
reservoir (actual data recorded). The program displays graphs of pressure behavior
as a function of time and the work can be applied to analysis of reservoir engineering
problems.

Keywords: Pressure tests, Numerical inversion, Nonlinear regression, Phase


redistribution, well, reservoir.

xx
1

1 Introdução

A engenharia de reservatórios é uma subárea de extrema importância da enge-


nharia de petróleo. Consiste na utilização de características conhecidas das rochas
e fluidos de formações portadoras de petróleo para inferir o comportamento destas
formações futuramente, no decorrer da produção de petróleo. Segundo Rosa et al.
(2006), uma das finalidades da engenharia de reservatórios é a de identificar o poten-
cial produtor de fluidos de formações portadoras de petróleo e aplicar métodos que
possam otimizar os ganhos na explotação de campos. Para isto, são necessárias
técnicas de modelagem computacional para interpretação dos dados provenientes da
subsuperfície.

Medições petrofísicas são capazes de determinar diversas propriedades das ro-


chas e fluidos. Contudo, existem parâmetros do sistema poço-reservatório que não
são determinados por tais medições com grande precisão. A obtenção de parâmetros
que indiquem a produtividade de determinado poço são de vital importância para a
indústria do petróleo. Os parâmetros principais são a permeabilidade do reservatório,
o fator de película e a estocagem no poço, que podem ser obtidos pelos testes de
pressão.

1.1 Escopo do trabalho

O presente trabalho trata de uma revisão e análise de testes de pressão para obter
permeabilidade, fator de película e coeficiente de estocagem de poço em reservató-
rios homogêneos, isotrópicos, modelados como tendo extensão infinita e com poços
verticais e cilíndricos. Em particular, o trabalho foca na modelagem de Fair (1981)
para poços com redistribuição de fases.

Segundo Rosa e Correa (1987), um teste de pressão ou teste de formação con-


siste em submeter a formação a um fluxo controlado de fluidos (de produção ou de
injeção), medindo o comportamento da pressão de fundo do poço durante um deter-
2

Figura 1: Problemas direto e inverso.

minado período. Ou seja, o reservatório estudado é submetido a uma perturbação,


e sua resposta é medida. Um modelo de variação da pressão em função do tempo
é implementado e os parâmetros desconhecidos do sistema poço-reservatório são
então estimados e inseridos neste modelo. Os resultados são obtidos ajustando os
parâmetros estimados à resposta do reservatório, de forma que o comportamento do
modelo criado seja análogo ao comportamento real do sistema poço-reservatório. O
problema pode ser caracterizado como um problema inverso, pois as incógnitas são
obtidas através da adequação do modelo suposto ao comportamento real dos dados,
conforme Fig. 1.

Para se conhecer os parâmetros do sistema poço-reservatório, é necessária a


função-modelo do comportamento da pressão em função do tempo, pois é a base
do conceito de problema inverso, sendo a função que depende dos parâmetros a
serem determinados. Esta função é obtida a partir da EDH considerando as condições
de contorno do sistema poço-reservatório. Para este trabalho, empregaram-se dois
modelos de sistema poço-reservatório:

• Modelo de reservatório homogêneo, isotrópico, radial, infinito e com poço vertical


cilíndrico, considerando efeitos de película e estocagem.

• Modelo de reservatório homogêneo, isotrópico, radial, infinito e com poço vertical


cilíndrico, considerando efeitos de película, estocagem e redistribuição de fases
no poço.
3

O primeiro modelo é um caso particular do segundo, onde a variação da pressão do


poço decorrente da redistribuição de fases no seu interior é considerada nula.

O modelo que contempla a redistribuição de fases foi descrito por Fair (1981). É
um modelo que leva em consideração o fenômeno de redistribuição das fases líquida
e gasosa do fluido produzido que ocorre dentro do poço no período inicial e final de
um teste de crescimento de pressão. Este fenômeno ocasiona um comportamento
anômalo da pressão medida no fundo do poço.

Um método de inversão numérica deve ser aplicado para determinar o valor da


função-modelo e das suas derivadas parciais em relação aos parâmetros no domí-
nio real, pois a função-modelo que melhor descreve o comportamento da pressão no
reservatório só possui solução no domínio de Laplace.

Um método de regressão não linear de dados é necessário, pois a função-modelo


que melhor descreve o comportamento da pressão no reservatório é formada por uma
combinação não-linear de parâmetros a serem determinados (permeabilidade, fator de
película e coeficiente de estocagem). O resultado da regressão é o ajuste dos valores
destes parâmetros de forma que a diferença entre o comportamento da função-modelo
e dos dados reais seja mínima.

A função-modelo também depende de algumas variáveis que são determinadas


por medições laboratoriais e perfilagem de poço. Os parâmetros petrofísicos neces-
sários são: porosidade, espessura do reservatório, viscosidade do fluido, fator volume-
formação, vazão de produção, raio do poço e compressibilidade total.

O desenvolvimento da função-modelo, a inversão numérica da transformada de


Laplace e o método de regressão não linear são detalhados no capítulo 3.

Para a realização dos procedimentos mencionados acima, foi elaborado um pro-


grama de computador na linguagem Matlab. O programa importa dados de pressão e
tempo, provenientes de testes de pressão e, juntamente com informações de parâme-
tros petrofísicos, realiza a regressão não linear de dados de forma a estimar os valores
da permeabilidade do reservatório, do fator de película e do coeficiente de estocagem
do poço.

A interpretação é realizada utilizando a inversão numérica dos dados na função-


modelo e a regressão não linear de dados, conforme mencionado anteriormente. O
programa objetiva um ajuste automático de dados, de forma que os parâmetros incóg-
nitos são adequados aos dados de campo, obtidos do teste de pressão.

A escolha do tema do trabalho foi motivado pela possibilidade de aplicação de


4

técnicas da engenharia de reservatórios para realizar interpretação de dados proveni-


entes da subsuperfície, consequentemente melhorando o planejamento de produção
do campo de petróleo.

1.2 Objetivos

O objetivo geral deste trabalho é:

• Interpretar dados de testes de pressão para obter parâmetros do sistema (per-


meabilidade, fator de película e coeficiente de estocagem), utilizando os modelos
de reservatório homogêneo, isotrópico, radial, infinito e com poço vertical cilín-
drico, considerando efeitos de película, estocagem e redistribuição de fases.

As etapas necessárias para atingir o objetivo são:

• Formular matematicamente as funções-modelo da pressão e suas derivadas


para este caso.

• Formular computacionalmente um programa que realize a interpretação de tes-


tes de pressão e obtém permeabilidade do reservatório, fator de película e co-
eficiente de estocagem do poço, utilizando métodos de regressão não linear e
inversão numérica.

• Desenvolver um programa que gere gráficos informativos sobre o comporta-


mento do sistema poço-reservatório estudado.

• Validar e analisar os resultados obtidos, comparando-os com o da literatura apre-


sentada.

1.3 Organização do Documento

Apresenta-se nesta seção a organização do documento.

No Capítulo 2, “Revisão Bibliográfica”, apresenta-se a revisão bibliográfica dos


artigos técnicos e científicos que estão diretamente relacionados ao presente trabalho.
Este capítulo discorre sobre os testes de pressão em reservatórios, resume formas de
interpretação de testes de pressão utilizando métodos convencionais e por curvas-
tipo, além de apresentar o modelo de Fair de redistribuição de fases dentro do poço.
5

No Capítulo 3, “Formulação Matemática”, apresenta-se o desenvolvimento da fun-


ção da pressão para os modelos poço-reservatório citados. Contém todos os cálculos
realizados para a dedução da solução das funções da pressão do poço, a partir da
pressão adimensional. Desenvolve-se o cálculo das suas derivadas em relação aos
parâmetros a serem estimados. Este capítulo descreve também conceitos e funda-
mentos matemáticos utilizados no trabalho, como a transformada de Laplace, o al-
goritmo de Stehfest, as funções de Bessel (presentes nas soluções de pressão) e
métodos de regressão não linear de dados.

No Capítulo 4, “Formulação Computacional”, apresentam-se informações sobre


a linguagem de programação utilizada no programa, testes de rotinas computacionais
criadas, versões iniciais do programa, além da metodologia utilizada para a construção
do programa.

No Capítulo 5, “Resultados e Análises”, apresentam-se os resultados obtidos.


Contém também a validação dos métodos de inversão numérica, da regressão não
linear e da solução da pressão (função-modelo) desenvolvida no capítulo 3, compa-
rando as derivadas analíticas e por diferenças finitas.

No Capítulo 6, “Considerações Finais”, apresentam-se as conclusões dos resulta-


dos obtidos no capítulo anterior e refletindo se o objetivo inicial foi alcançado. Contém
sugestões para trabalhos futuros que explorem assunto semelhante, com o objetivo
de agregar conhecimento científico e fomentar material acadêmico sobre o tema.

Apresenta-se a seguir as “Referências”, exibindo a bibliografia da dissertação, con-


tendo todo o material citado e consultado.

O Apêndice A, “Manual de Utilização do Programa”, contém um guia básico de uti-


lização do programa. Descreve-se neste apêndice a forma de utilização do programa
pelo usuário e sua configuração para correto funcionamento.

O Apêndice B, “Código do Programa”, contém o código-fonte principal comentado


do programa desenvolvido em Matlab. São expostos os códigos desenvolvidos para o
programa (funções, métodos e programa principal).

O Apêndice C, “Sistemas de Unidades”, contém tabelas com as unidades de cada


variável trabalhada e os valores das constantes e variáveis auxiliares utilizadas.
6

2 Revisão Bibliográfica

Existe extensa literatura acadêmica em interpretação automatizada de testes de


pressão. Rosa e Horne (1983) descrevem o ajuste por curvas-tipo em gráficos semi-
logarítmicos e logarítmicos com computadores e também utiliza o algoritmo de Steh-
fest e o método de regressão não linear de Gauss-Marquardt.

Abbaszadeh e Kamal (1988) ampliaram a interpretação para poços com qualquer


histórico de produção e para diferentes modelos de reservatório. Já Vieira (1992)
comparou vários métodos de regressão não linear para interpretação de testes de
pressão por ajuste automático. Além disso, Oliveira (1989) apresenta um método para
interpretação de testes de pressão em poços não surgentes e Carvalho et al. (1992)
estudam métodos de otimização do ajuste.

Estudos sobre ajustes com redistribuição multifásica no poço são mais escassos.
Stegemeier e Matthews (1958) foram os primeiros que estudaram o formato anômalo
do comportamento da pressão, analisando qualitativamente casos no Texas e afir-
mando que em reservatórios com baixa permeabilidade e em poços com presença de
packers, ocorre um maior distúrbio no comportamento da pressão. Fair (1981), ela-
borou um modelo que leva em consideração o fenômeno de redistribuição de fases
do fluido produzido. Esse fenômeno ocasiona comportamento anômalo da pressão,
derivado da variação do coeficiente de estocagem do poço. Hegeman et al. (1993)
elaboraram uma extensão a partir do modelo de Fair, desenvolvendo uma solução no
campo de Laplace para efeitos de estocagem crescentes ou decrescentes.

Kamal (2009) reforça que o único modelo que aborda a estocagem variável é o de
Fair (1981), com a extensão de Hegeman et al. (1993), mas sugere cautela na utiliza-
ção, pontuando que os métodos são empíricos e podem convergir para conjuntos de
soluções diferentes do real.

Este capítulo explora métodos de interpretação de testes de pressão (convenci-


onais e por curvas-tipo) e a seção 2.7 explica o conceito de redistribuição de fases
proposto por Fair (1981).
7

2.1 Testes de pressão

Como mencionado anteriormente, um teste de pressão consiste em medir o com-


portamento da pressão no fundo do poço durante ou após o reservatório ser submetido
a alguma perturbação. Para a execução dos testes mais comuns, o poço, após sua
perfuração, é completado temporariamente, permitindo a produção dos fluidos con-
tidos na subsuperfície de forma segura. Durante o fluxo, ou após o fechamento do
poço (período conhecido como estática), a pressão no fundo do poço é registrada.
Estes registros de pressão e tempo compõem o conjunto de dados obtidos pelo teste
de pressão. Os passos básicos para a realização do teste de pressão são listados a
seguir, conforme Peres (2006) e ilustrados na Fig. 2:

• Isolar o intervalo a ser testado/avaliado;

• Criar um diferencial de pressão entre o poço e a formação (permitindo produção


de fluidos);

• Promover períodos intercalados de fluxo (produção) e estática (sem produção);

• Registrar de forma contínua as vazões na superfície e as pressões de fundo.


8

Figura 2: Esquema básico de um teste de pressão.


Fonte: Nupeg (2013)

Os equipamentos presentes na Fig. 2 permitem a aquisição de dados e o controle


do teste. O registrador de pressão de fundo registra as pressões externas à coluna, na
seção de influxo de fluidos da formação para o poço. Os tubos perfurados permitem
a passagem dos fluidos para o interior da coluna, com o packer vedando o espaço
anular. Outros equipamentos presentes são a válvula de circulação reversa (que per-
mite passagem do anular para o interior da coluna de teste) e o choke (utilizado para
controlar a vazão do poço).

Os objetivos de um teste de poço são, conforme Thomas (2001):

• Identificar os fluidos contidos na formação, obtendo amostras dos fluidos produ-


zidos.

• Determinar a pressão estática do reservatório. A pressão inicial pode ser obtida


em testes de crescimento de pressão onde o volume produzido for desprezível
em relação ao tamanho do reservatório. Assim, o reservatório recupera sua
9

pressão original.

• Investigar existência e extensão de dano ou estímulo. A alteração da permeabili-


dade na região ao redor do poço pode ser na forma de dano ou estímulo. O dano
acontece quando fluidos de perfuração ou completação invadem a formação, por
inchamento de argilas ou por inversão de molhabilidade, causando redução da
permeabilidade da formação. O dano pode influenciar a eficiência de produção
e o dimensionamento dos equipamentos de elevação e escoamento dos fluidos.
O estímulo é o inverso, e ocorre quando há um aumento da permeabilidade, por
acidificação, por exemplo. Este dano ou estímulo é quantificado pelo fator de
película.

• Calcular Produtividade: A eficiência de fluxo EF indica o quanto a produção está


sendo afetada pelo dano de formação. É definida pela Eq. (1), conforme Rosa et
al. (2006), onde Pi é a pressão inicial do reservatório, Pwf a pressão medida, q
vazão e 4Pskin a perda de carga relativa ao dano (melhor definido na subseção
2.3).

Pi − Pwf − ∆P skin
EF = (1)
Pi − Pwf

Os testes de pressão podem ser realizados em poços abertos ou revestidos. São


listados a seguir os tipos de testes de pressão usualmente realizados, segundo Lee
(1982). O comportamento gráfico da pressão em função do tempo para cada tipo de
teste está ilustrado na Fig. 3.

• Teste de Fluxo (Drawdown test): A pressão é registrada durante o fluxo de flui-


dos. A pressão da formação decresce com a produção de fluidos.

• Teste de Crescimento de Pressão (Buildup test): Registro da recuperação da


pressão do reservatório após uma produção anterior de fluidos. Possui menos
ruído do que testes de fluxo.

• Teste de Injeção: Analisa o comportamento da pressão do reservatório sob inje-


ção de fluidos. Ocorre um aumento da pressão da formação.

• “Falloff test”: Consiste em, após injeção de fluidos na formação, fechar o poço
de injeção. A pressão da formação é registrada após o fechamento do poço de
injeção. Ocorre um decréscimo da pressão, pois a formação tende a absorver
os fluidos que foram injetados.
10

• Teste de Interferência: Este teste é realizado ao se registrar a pressão em um


determinado poço (poço 1) que é mantido fechado. Um poço próximo ao poço
1 é submetido a períodos de produção e períodos sem produção de fluidos. A
ocorrência de variação na pressão registrada no poço 1 indica se os dois poços
estão em comunicação hidráulica.

• TLD (Teste de Longa Duração): Utilizado para realizar um balanço de materiais


e estimar o volume poroso do reservatório (Vp ).

Figura 3: Tipos de testes de pressão em poços.

Existem diferentes técnicas de interpretação dos testes de pressão, como análise


convencional e análise por curvas-tipo, que são detalhadas nas seções 2.5 e 2.6, res-
pectivamente. No presente trabalho focaremos na determinação da permeabilidade,
do fator de película e do coeficiente de estocagem do poço, parâmetros que são defi-
nidos a seguir.
11

2.2 Permeabilidade

A permeabilidade é definida como a capacidade de um material poroso transmitir


fluidos, calculada pela lei de Darcy, Eq. (2), presente em Rosa et al. (2006). Na
equação, k é a permeabilidade, A é a seção da área em que ocorre fluxo, µ é a
viscosidade do fluido, L é o comprimento do material, q é a vazão e 4P é a variação
da pressão entre as faces de entrada e saída do fluxo. As unidades de cada variável
estão explicitadas no Apêndice C.

A4P
q = −k (2)
µL

A permeabilidade obtida a partir de testes de pressão equivale a uma permeabili-


dade média da área drenada do reservatório durante o teste, aplicável em cálculos de
planejamento de produção. As equações que calculam a permeabilidade a partir de
dados de testes de pressão estão na subseção 3.1.

2.3 Fator de Película

O fator de película representa o dano em uma formação ao redor do poço. Exem-


plificando, a Fig. 4 representa uma situação de poço danificado onde uma região ao
seu redor apresenta uma permeabilidade alterada, ka . Na figura, rw é o raio do poço,
ra , o raio da região alterada ao redor do poço, e k a permeabilidade original. Quando
a permeabilidade da região alterada é menor que a permeabilidade original (ka < k), o
fluido despende uma quantidade de energia adicional ao atravessar a região alterada,
ocorrendo uma maior queda de pressão próximo ao poço.
12

Figura 4: Alteração de permeabilidade da formação ao redor do poço.

Conforme Rosa et al. (2006), o fator de película S (variável adimensional) é calcu-


lado como mostra a Eq. (3). 4Pskin é a perda de carga relativa ao dano, q, a vazão,
B, o fator volume formação, k, a permeabilidade, h, a espessura do reservatório, µ,
a viscosidade do fluido e C2 a constante de sistema de unidades utilizado (conforme
Apêndice C).

kh∆P skin
S= (3)
C2 qBµ

4Pskin = Pw0 − Pw

O fator de pelicula S é positivo (S > 0) quando ka < k, ocasionando um 4Pskin > 0.


Esta redução de permeabilidade pode ser causada por fluidos que invadem a forma-
ção, por inchamento de argilas, por inversão de molhabilidade, etc. Estímulo ocorre
quando há um aumento da permeabilidade (ka > k), gerando um fator de película ne-
gativo (S < 0), pois 4Pskin < 0. O estímulo pode ocorrer quando é feito um processo
de acidificação na formação.

2.4 Coeficiente de Estocagem

O efeito de estocagem de fluidos no poço ocorre nos primeiros momentos da pro-


dução, no fechamento do poço e em alterações de vazão.
13

Quando o poço é aberto para produção, ocorre uma liberação inicial de fluidos
estocados no poço fechado. A liberação é causada pela expansão dos fluidos. O
fluxo mássico no canhoneado aumenta gradativamente conforme a descompressão
dos fluidos ocorre, segundo Ezekwe (2010).

Quando o poço é fechado, ocorre compressão desses fluidos, pois, ao se cessar


a produção na superfície, o fluxo mássico entrando pelo canhoneado prossegue. Este
fluxo de fluidos do fundo do poço diminui gradativamente. O fenômeno é ilustrado na
Fig. 5.

Figura 5: Vazão durante estocagem no poço.

Segundo Kamal (2009), a estocagem é diretamente proporcional ao fator de pelí-


cula e à viscosidade, mas inversamente proporcional à condutividade do reservatório
(kh). O coeficiente de estocagem C é descrito pela Eq. (4). Na equação, cf é a com-
pressibilidade do fluido e Vw é o volume do poço. As unidades de cada variável estão
no Apêndice C.

C = cf Vw (4)
14

2.5 Métodos convencionais de interpretação de testes


de pressão

Existem métodos convencionais para a interpretação dos dados obtidos a partir


de testes de pressão descritos na seção 2.1 e consequente obtenção dos parâmetros
descritos nas seções 2.2, 2.3 e 2.4. Estes métodos são chamados de métodos con-
vencionais e utilizam técnicas de análise de um gráfico semilogarítmico de pressão e
tempo. O mais utilizado deles, segundo Rosa e Correa (1987), é o método desenvol-
vido por Horner em 1951, para interpretação de testes de crescimento de pressão.

Neste método, é construído um gráfico semi-logarítmico de pressão e tempo. O


eixo das ordenadas do gráfico é a pressão medida e o eixo das abcissas é o logaritmo
do tempo de Horner. O tempo de Horner é definido por:

tp + 4t
tHorner = (5)
4t

Com tp sendo o tempo de produção anterior ao fechamento do poço, e 4t o tempo


decorrido após o fechamento. O coeficiente angular da linha reta identificada, mos-
trada na Fig. 6, possui uma relação com a permeabilidade da formação.

Figura 6: Gráfico do método de Horner.

No início do teste (direita do gráfico), os efeitos de estocagem regem o compor-


tamento da curva. Já em tempos longos (área à esquerda, próximo ao 0 do eixo das
15

abcissas), efeitos da fronteira são sentidos. A linha reta identificada entre estes efeitos
é descrita pela equação abaixo (Rosa e Correa, 1987):

!
qBµ tp + 4t
Pwf = Pi − C 2 ln (6)
kh 4t

Os parâmetros do reservatório que podem ser calculados são a permeabilidade


e o fator de película, com as equações (7) e (8), onde m é o coeficiente angular da
reta delimitada entre as influências de estocagem e fronteira, ct é a compressibilidade
total, rw é o raio do poço e Pwf f é a pressão registrada no fechamento do poço..

qBµ
k = C2 (7)
mh

" #
P1hr − Pwf f k
S = 1, 151 − log − 0, 3514 (8)
m φµct rw2

Outro método de obtenção de parâmetros do sistema poço-reservatório para tes-


tes de crescimentos de pressão em reservatórios radiais infinitos é o de Agarwal et
al. (1970). Como o método de Horner, faz-se um gráfico semi-logarítmico, de onde se
identifica a linha reta e se infere permeabilidade e dano. Para casos com redistribuição
de fases no poço, métodos convencionais não podem ser utilizados, pois a linha reta
característica do gráfico semi-log pode ser distorcida, segundo Rushing et al. (1989).

2.6 Interpretação de testes de pressão por Curvas-Tipo

Existe outro método de interpretação de testes de pressão diferente do método


convencional, onde curvas padrões na engenharia de reservatórios são utilizadas para
determinar parâmetros do sistema poço-reservatório. Estas curvas-tipo são geradas
obtendo soluções para equações de fluxo em determinadas condições. São apre-
sentadas geralmente em gráficos logarítmicos com variáveis adimensionais, que são
válidas para qualquer conjunto de dados. O método de utilização é listado a seguir,
segundo Lee et al. (2003):

• Plotam-se os dados reais em um papel transparente com escalas idênticas às


do gráfico padrão apropriado.

• Desloca-se o papel transparente paralelamente aos eixos, até encontrar-se a


16

curva-tipo teórica que melhor se ajusta aos dados de campo (’match’).

• Escolhe-se um ponto de match e observam-se os valores nos eixos das ordena-


das e das abcissas.

• Ao substituir os valores nas variáveis adimensionais dos eixos, estimam-se os


parâmetros desejados.

A seguir são listados os autores de curvas-tipo mais utilizadas, segundo Lee (1982):

• Ramey, no artigo Agarwal et al. (1970): A Fig. 7 mostra uma típica curva-tipo
de Ramey. Plota-se (Pi − Pwf ) vs. t para um teste de fluxo e (Pws − Pwf f ) vs.
tp 4t
4te para testes de crescimento de pressão onde 4te = tp +4t
. Se o teste pos-
suir uma inclinação unitária (45º), calcula-se o coeficiente de estocagem (Eq.(9))
a partir de qualquer ponto dessa linha reta. Assim, utiliza-se a curva de CD
que melhor se ajusta aos dados. Com o gráfico localizado na posição que me-
lhor ajusta, observa-se os valores correspondentes de um ponto (Pi − Pwf , PD );
(t, tD ) para inferir a permeabilidade (Eq. (10)).
!
qB t
C= (9)
24 Pi − Pwf
!
qBµ PD
k = C2 (10)
h Pi − Pwf match
17

Figura 7: Curvas-Tipo de Ramey para um poço com efeitos de película e estocagem.


Fonte: Gringarten et al. (1979)

• Gringarten, no artigo Gringarten et al. (1979): A Fig. 8 mostra a curva-tipo de


Gringarten. Plota-se 4P vs. t para testes de fluxo e (Pws − Pwf f ) vs. 4te para
testes de crescimento de pressão. Calcula-se o coeficiente de estocagem (Eq.
(9)) a partir de qualquer ponto da linha de inclinação unitária. Seleciona-se pon-
tos de ajuste da pressão e tempo, (4P, PD ); (t, tD ) para inferir a permeabilidade
(Eq. (11)). Calcula-se CD e posteriormente, S, pela curva de CD e2S que melhor
se ajusta aos dados (Eq. (12)).
!
qBµ PD
k = C2 , 4P = Pi − Pwf (11)
h 4P match

CD e2S
!
1
S = ln (12)
2 CD

• Derivada de Bourdet, no artigo Bourdet et al. (1983): No método das deriva-


das, a curva tipo inclui uma função da derivada da pressão baseada na solução
analítica oriunda de Agarwal e plotado nas curvas de Gringarten. Para testes de
crescimento de pressão, plota-se 4Ps V s. 4te 4Ps0 V s. 4t0e :

d4Ps d4Ps
= 4te (13)
d [ln (4te )] d [4te ]
18

Com 4te sendo o tempo de Agarwal. 4Ps o diferencial de pressão em relação à


pressão no fechamento, Pwf f : 4Ps = Pws − Pwf f

Para testes de fluxo, plota-se 4Pf V s. 4t 4Pf0 V s. 4t0 :

dPwf dPwf
= −t (14)
d [log (t)] d [(t)]

O primeiro passo é calcular as derivadas da pressão. A derivada de um ponto é


determinada ao se encontrar uma média ponderada entre as curvas, a partir de um
ponto anterior (i − k) e outro posterior (i + j). L define a distância mínima para esses
pontos, amortecendo o ruído nas vizinhanças do ponto central (Central). Um L = 0.1 é
satisfatório, pois não se compara um ponto tão longe do ponto central, onde o detalhe
é perdido, segundo Lee et al. (2003). A Eq. (15) mostra esse conceito.

   
  ti+j ti−k 
ti+j

∂P
!
∂P
!
log ti
∆P i+j log t2i
∆Pi log ∆Pi−k 
 ti−k ti
t = = 
ti+j
 
ti+j
 + 
ti+j
   −   
ti+j

∂t i
∂logt i

log log log log ti
log ti
log

ti ti−k ti ti−k ti−k ti−k

(15)

log ti+j − log ti ≥ L = 0.1

log ti − log ti−k ≥ L = 0.1

A seguir, plota-se t4P 0 ou 4te 4P 0 . Os passos para o cálculo da permeabilidade


e fator de pelicula são semelhantes aos de Gringarten, nas equações (11) e (12).

A Fig. 8 mostra a junção da curva-tipo de Gringarten com o método das derivadas


de Bourdet. As principais características da figura são que, para variáveis adimensio-
nais, em tempos iniciais a curva possui inclinação de 45º. Essa é uma indicação que
os efeitos de estocagem estão presentes. Após o período de estocagem, o gráfico da
derivada é caracterizado por apresentar um valor constante e igual a 0,5.
19

Figura 8: Gráfico logarítmico da curva-tipo de Gringarten e a derivada de Bourdet.


Fonte: Bourdet et al. (1989)

Para casos com redistribuição de fases no poço, métodos de interpretação por


curvas-tipo não podem ser utilizados, pois o gráfico logarítmico caracteristico pode
mascarar os efeitos da segregação de fases, ocasionando estimativas equivocadas
dos parâmetros do sistema poço-reservatório, segundo Rushing et al. (1989).

2.7 Modelo de redistribuição de fases de Fair

Um modelo que considera que a redistribuição de fases dentro do poço afeta o


comportamento da pressão foi elaborado após dados mostrarem um comportamento
anômalo da pressão após o fechamento do poço em testes de crescimento de pressão.
Este comportamento anômalo tem como característica a formação de uma corcova
(’hump’) no fim do período dominado por efeitos de estocagem ao se analisar gráficos
logarítmicos do comportamento da pressão, como o da Fig. 8. Este efeito é atribuído
à redistribuição de fases e efeitos de estocagem, sendo necessária a incorporação
matemática deste efeito na solução da equação da difusividade hidráulica.
20

O fenômeno de redistribuição de fases dentro de um poço produtor de petróleo


ocorre quando o poço fechado na superfície possui fluxo simultâneo de gás e líquido
neste instante. Por efeitos de gravidade, o líquido se segrega no fundo do poço e o gás
se eleva até a superfície. Esta redistribuição de fases causa um aumento na pressão
do fundo do poço, pela inabilidade do gás de se expandir em um ambiente fechado
(volume do poço constante), conforme ilustrado na Fig. 9.

Stegemeier e Matthews (1958) afirmam que a magnitude da variação da pressão


está relacionada à quantidade de gás no poço.

Figura 9: Redistribuição de fases no poço.

No artigo de Fair (1981), a função para a pressão considerando efeitos de redistri-


buição de fases foi obtida considerando um termo Pφ na condição de contorno interna
da EDH (detalhado no Cap. 3):
21

−t
 
P φ = Cφ 1 − e α (16)

O modelo foi concebido por Fair através dos seguintes fundamentos:

• Se o gás e o líquido antes do fechamento se comportam como um fluido homo-


gêneo, a alteração da pressão devido à redistribuição de fases é nula na hora do
fechamento do poço (limt→0 Pφ = 0).

• Se nenhum gás entrou em solução na fase líquida, a função da pressão cresce


monotonicamente até um valor máximo, Cφ .

• Quando a primeira bolha atinge a superfície após o fechamento, a pressão no


poço aumenta por um determinado valor, causando um decréscimo no volume
e um crescimento na densidade das bolhas de gás restantes. O aumento da
densidade causa uma diminuição dos efeitos de segregação de fases, e a taxa de
crescimento de pressão diminui. Portanto, é esperado que a função da pressão
de redistribuição de fases aumente inicialmente de forma rápida, para depois
se aproximar lentamente do seu valor máximo Cφ . Na Eq. (16), a variável α
representa o tempo em que 63% da mudança de pressão total ocorreu.

A Figura 10 mostra a comparação dos resultados de curvas do comportamento da


pressão com e sem redistribuição de fases. Em tempos curtos, no período dominado
por efeitos de estocagem, a anomalia no comportamento da pressão é nítido, princi-
palmente em valores altos de Cφ . Quando ocorre o contrário (valores baixos de Cφ ), o
efeito da redistribuição de fases sobre a pressão é pequeno.
22

Figura 10: Comparação do comportamento da pressão no tempo em efeitos de esto-


cagem ideal (pontilhado) e com redistribuição de fases (linha contínua).
Fonte: Fair (1981)

O modelo obtido por Fair foi validado em seu artigo ao comparar resultados da
inversão numérica com os de Agarwal et al. (1970), ao se considerar Cφ = 0.

A formulação matemática do problema está presente no capítulo 3, seção 3.3.


23

3 Formulação Matemática

Neste capítulo, detalha-se o cálculo da função pressão para um reservatório de


modelo cilíndrico, homogêneo, isotrópico, infinito, com poço cilíndrico, considerando
os efeitos de estocagem, fator de película e segregação de fases. O capítulo mostra
todos os cálculos necessários para a dedução da forma final da função da pressão de
fundo do poço, a partir da pressão adimensional, assim como suas derivadas em re-
lação aos parâmetros a serem estimados. Este capítulo também detalha os conceitos
e propriedades matemáticas utilizadas para realização da interpretação do teste de
pressão.

A seção 3.4 discorre sobre o método de inversão numérica da transformada de


Laplace. Métodos de regressão não linear também são apresentados, na seção 3.5.

O desenvolvimento da solução da pressão para o modelo requerido é necessária,


pois se desconhece a expressão para 4Pwf . Assim, considera-se que a função pres-
são depende das variáveis desconhecidas, que se quer inferir (4Pwf = f (k, C, S)).

3.1 Equação da Difusividade Hidráulica

Para se obter a função pressão, é necessário compor a equação da difusividade


hidráulica, base para diversos modelos de reservatórios, e composta por 3 equações
(Rosa e Correa, 1987):

1. Equação de Continuidade (Conservação de Massa) : A conservação de massa


ocorre no espaço (entre r e r + 4r) e no tempo (entre t e t + 4t), conforme as
equações abaixo, sendo φ a porosidade da formação, r o raio do reservatório,
q
h a espessura do reservatório, ρ a densidade do fluido e v = A
a velocidade de
fluxo.
h i h i
Balanço de Massa (espaço): ρ(r) v (r) r4t h − ρ(r+4r) v (r+4r) (r + 4r)4t h
24

h ih i
Balanço de Massa (tempo): π (r + 4r)2 h − πr2 h ρ(t+4t) φ(t+4t) − ρ(t) φ(t)

Considerando 4r2 desprezível, a equação se resume a:


h i h i
ρ(t+4t) φ(t+4t) − ρ(t) φ(t) ρ(r) v (r) (r) − ρ(r+4r) v (r+4r) (r + 4r)
= (17)
4t r4r

∂ (ρφ) 1 ∂(ρvr)
− = (18)
∂t r ∂r
2. Lei de Darcy (Transporte de Massa):
q k ∂P
v= =− (19)
A µ ∂r

3. Definição da compressibilidade, para rochas e fluidos, presente nas equações


(20) e (21), respectivamente:
1 ∂ρ
cf = (20)
ρ ∂P
1 ∂φ
cR = (21)
φ ∂P
∂φ ∂φ ∂P ∂ρ ∂ρ ∂P
Resultando em: ∂t
= ∂P ∂t
e ∂t
= ∂P ∂t

Acoplando a Eq. (19) na Eq. (18), resulta-se a equação da difusividade hidráulica, ou


EDH (Matthews e Russel, 1967):

∂ 2P 1 ∂P φµct ∂P
2
+ = , com ct = cf + cR (22)
∂r r ∂r k ∂t

Para que a EDH seja descrita por variáveis adimensionais, são definidos rD , tD ,
CD e PD nas equações (23), (24) e (25), respectivamente. Os valores das constantes
C1 , C2 e C3 estão presentes no Apêndice C.

r
rD = (23)
rw

C1 kt
tD = (24)
φµct rw2

kh4P
PD = (25)
C2 qBµ

A aplicação destas definições na Eq. (22) produz:


25

1 ∂PD ∂ 2 PD ∂PD
+ 2
= (26)
rD ∂rD ∂rD ∂tD

A solução desta equação diferencial parcial de segunda ordem depende de con-


dições de contorno e inicial específicas para o modelo de sistema poço-reservatório
analisado, conforme será exposto nas próximas seções.

3.2 Solução para reservatório radial infinito com poço


cilíndrico, efeitos de película e estocagem

Esta seção contém a formulação matemática para se obter a função da pressão


para reservatório radial infinito com poço cilíndrico e efeitos de película e estocagem.

3.2.1 Condições de contorno

Para ser resolvida, a EDH necessita de duas condições de contorno para cada
dimensão espacial (por conter derivada parcial de segunda ordem) e uma condição em
relação ao tempo. Segundo Rosa e Correa (1987), “a condição em relação ao tempo
é denominada condição inicial, pois expressa a configuração do perfil das pressões
do reservatório em t = 0”. Em t = 0, é considerado que o reservatório se encontra em
repouso, portanto, a condição inicial (C.I.) é dada por:

P (t = 0, r) = Pi , r>0

PD (tD = 0, rD ) = 0, rD > 0 (27)

Para as condições de contorno espaciais, devem ser definidas as condições de


contorno externa (C.C.E.) e interna (C.C.I.). A condição de contorno externa reflete a
condição de fluxo no extremo do reservatório e supõe que para fluxo radial, o ponto ini-
cial é o centro do poço e que a produção no poço não altera as condições de repouso
no limite do reservatório. A C.C.E. é dada por:

P (t, r → ∞) = Pi , t>0
26

PD (tD , rD → ∞) = 0, tD > 0 (28)

A C.C.I. indica o modo de como o poço se comporta no teste. Para se obter a


C.C.I., é necessário realizar o balanço de massa no interior do poço. O balanço de
massa é realizado considerando que a massa que entra no poço menos a massa
que sai do poço é igual ao acúmulo de massa. A massa acumulada pode ser dada
multiplicando-se o volume do poço pela variação da densidade do fluido e pela varia-
ção do fluxo mássico em determinado período (Rosa et al., 2006). Igualando-se estas
equações, o balanço de massa é expresso pela Eq. (30) :

4t (qsf ρsf − qρ) = Vw 4ρ (29)


qsf ρsf − qρ = Vw (30)
dt
∂ρ ∂ρsf ∂ρ ∂ρ ∂P
Considerando que ∂t
= ∂t
e utilizando a regra da cadeia, ∂t
= ∂P ∂t
, a Eq. (30)
se torna:

dρsf dP
qsf ρsf = qρ + Vw (31)
dP dt
1 ∂ρ
Considerando a definição de compressibilidade, cf = ρ ∂P
, divide-se toda a equa-
ção por ρsf :

qρ dPw
qsf = + Vw cf (32)
ρsf dt
ρ
Com C = Vw cf e o fator volume-formação B = ρsf
, a equação se torna:

dPw
qsf = qB + C (33)
dt

Conforme Rosa e Correa (1987), qsf é determinado pela lei de Darcy:

C2 kh ∂P
qsf = (r )r=rw (34)
µ ∂r

Portanto,
27

kh ∂P dPw
(r )r=rw − C = qB, (35)
C2 µ ∂r dt

Que em variáveis adimensionais é:

! !
∂PD dPwD
−rD = 1 − CD . (36)
∂rD rD =1
dtD

Onde a variável CD possui a seguinte forma:

C3 C
CD = (37)
φhct rw2

Para a inclusão dos efeitos de película, utiliza-se o modelo matemático da Fig. 4 e


da Eq. (8):

Pw (t) = [P (t, r)]r=rw − 4Pskin (38)

qµ C2 kh
Como 4Pskin = C2 kh
S, e utilizando a lei de Darcy q = µ
(r ∂P )
∂r r=rw
, obtém-se a
pressão no poço na forma adimensional:

" ! #
∂PD
PwD = P (tD , rD ) − rD S (39)
∂rD rD =1

O método escolhido para se obter a solução da EDH, que é uma equação diferen-
cial parcial de segunda ordem, foi obtendo sua transformada de Laplace, pois existe
solução analítica neste domínio para o modelo de poço-reservatório escolhido.

3.2.2 Transformada de Laplace da EDH

Notação da transformada de Laplace:


Z∞
F̄ (u)= L{f (t)} = f (t)e−U t dt (40)
0

A transformada de Laplace da EDH pode ser calculada utilizando a propriedade


da transformada de uma derivada temporal:

Z∞
0
L [f (t)] = f 0 (t)e−ut dt = uF̄ (u) − F (t = 0) (41)
0
28

1 ∂ P̄D ∂ 2 P̄D
+ 2
= uP̄D − PD (tD = 0, rD ) (42)
rD ∂rD ∂rD

1 ∂ P̄D 1 ∂ 2 P̄D
+ 2
− P̄D = 0 (43)
urD ∂rD u ∂rD

Rearranjando a equação utilizando w = rD u , e aplicando a regra da cadeia
∂ P̄D ∂w ∂ P̄D
∂w ∂rD
= ∂rD
na Eq. (43), têm-se:

1 ∂ P̄D ∂ 2 P̄D
+ − P̄D = 0 (44)
w ∂w ∂w2

A Eq. (44) tem solução pois é análoga à equação diferencial ordinária (EDO)
abaixo, que é a equação de Bessel modificada:

d2 y dy  2 
x2 + x − x + ν 2
y=0 (45)
dx2 dx

Com x = w e v = 0. Esta EDP possui como solução a Eq. (46).

y = AIν (x) + BKν (x) (46)

Portanto, de forma análoga, a transformada de Laplace da pressão adimensional


é dada pela Eq. (47):

√ √
P̄D = AI0 (rD u) + BK0 (rD u) (47)

Com A e B sendo determinados pelas condições de contorno. Sendo:

• A, B, Constantes da integração da equação diferencial de 2ª ordem.

• ν, a ordem da função.

• I, a função de Bessel modificada do primeiro tipo.

• K, a função de Bessel modificada do segundo tipo.

Os comportamentos das funções de Bessel do segundo tipo de ordens 0 e 1 são mos-


trados na Fig. 11. As funções de Bessel possuem funções próprias já pré-embutidas
no Matlab (besselk(nu,x), ver Apêndice B). Propriedades de derivação das funções
de Bessel estão na tabela 1, conforme Weisstein (2004):
29

4
I0
I1
3.5
K0
K1
3

2.5
Iv(X), Kv(X)

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4
X

Figura 11: Comportamento das funções de Bessel do primeiro e segundo tipos de


ordens 0 e 1.

Tabela 1: Propriedades das funções de Bessel.


∂K0 (z)
∂z
−K1 (z)
∂K1 (z) K1 (z)
∂z
−K0 (z) − z
∂K0 [f (z)]
∂z
− ∂f∂z(z) K1 [f (z)]
∂K1 [f (z)]
∂z
− ∂f∂z(z) K0 (f (z)) − ∂f (z) K1 [f (z)]
∂z z
∂(zK1 (z))
∂z
−zK0 (z)
∂(f (z)K1 [f (z)])
∂z
−f (z) ∂f∂z(z) K0 [f (z)]

Para o modelo em que o raio do poço não é deprezível (caso da fonte cilíndrica),
utilizando-se a C.C.E, é possível determinar A:

P̄D (rD → ∞, tD ) = 0 (48)

√ √
0 = AI0 (rD u) + BK0 (rD u) (49)

Quando rD tende ao infinito, a função de Bessel modificada do segundo tipo de


ordem 0 tende a 0. Já a função de bessel modificada do primeiro tipo de ordem 0 (I0 )
tende ao infinito, conforme mostrado na Fig. 11. Portanto A = 0 e:
30


P̄D = BK0 (rD u) (50)

Para se obter o coeficiente B, é necessário utilizar a condição de contorno interna,


que é obtida ao se incluir os efeitos de estocagem. Para isto, faz-se a transformada
da C.C.I.:

 
∂ P¯D
! ! !
dPwD ∂PD 1
L CD − rD = 1 = CD uP̄wD −CD uPwD (tD = 0)−rD =
dtD ∂rD rD =1
∂rD rD =1
u
(51)
∂ P̄D √ √
Utilizando a derivada da Eq. (25), ∂rD
= −B uK1 ( urD ):

√ √ 1
CD uP̄wD + B uK1 ( u) = (52)
u

A transformada de Laplace da função de pressão no poço P̄wD foi obtida conforme


Eq. (39):

!
∂ P̄D
P̄wD = P̄D (rD = 1, tD ) − S rD (53)
∂rD rD =1

√ √ √
P̄wD = BK0 ( urD )rD =1 + BS uK1 ( urD )rD =1 (54)

Isolando B e utilizando as equações (54) e (52), com rD = 1, obtém-se:

h √ 3 √ i−1
B = CD u2 K0 ( u) + u 2 (uCD S + 1) K1 ( u) (55)

Com os coeficientes A e B, obtém-se a função adimensional de pressão no campo de


Laplace, considerando efeitos de película e estocagem:

√ √ √
K0 ( u) + K1 ( u) S u
PwD = √ √ √ (56)
u[uCD K0 ( u) + uK1 ( u)(1 + uCD S)]

3.2.3 Solução da pressão com dimensões

Para a obtenção da função da pressão com dimensões, definem-se variáveis au-


xiliares, contendo variáveis dimensionais.
31

C1 k
αt = (57)
φµct rw2

kh
αp = (58)
C2 qBµ

Então, tem-se:

tD = αt t (59)

PwD = αp 4Pwf (60)

De acordo com a Eq. (60), e seguindo a propriedade de Laplace L{af (t)} = aF̄ (u),
é possível afirmar que:

PwD = αp L{4Pwf } (61)

!
1
4Pwf = PwD (62)
αp

Considerando que PwD é função de tD , e seguindo a propriedade de Laplace


L{f (at)} = a1 F̄ ( ua ), tem-se:

1 u
L{PwD (αt t)} = PwD ( ) (63)
αt αt

Juntando as equações (62) e (63), tem-se que a solução da pressão com dimen-
sões é:

!
1 u
 
4Pwf = PwD (64)
αp αt αt

Aplicando a Eq. (64) na Eq. (56), tem-se a Eq. (65), a solução da pressão com
dimensões:
32

q q q
u u u
K0 ( bk
) + K(
bk 1 bk
)S
4Pwf = u
q
u
q
u
q
u
q
u udCS
(65)
aku[ bk dCK0 ( bk
) + K(
bk 1 bk
) + K1 ( bk
) bk )]

Sendo,

h
a= (66)
C2 qBµ

C1
b= (67)
φµct rw2

C3
d= (68)
φhct rw2

Derivando a Eq. (65) em relação aos parâmetros desconhecidos, coeficiente de


estocagem (C), fator de película (S) e permeabilidade (k), obtêm-se as equações (69),
(70) e (71) respectivamente.

∂4Pwf −ad 2 2
= u 4Pwf (69)
∂C b

q q
u u
∂4Pwf bk
) K(
bk 1 ad
= q q q q (1 − u2 C4Pwf ) (70)
∂S u u u u u udCS
aku[ bk dCK0 ( bk ) + bk K1 ( bk ) + K1 ( bk ) bk )] b

hq q  q q  q  q i
u u u u u u
∂4Pwf − K2
bk 0 bk
+ K2
bk 1 bk
(2S − 1) + 2K0 bk
K1 bk
= q q q q   (71)
∂k 2au u 2
k [ u
dCK0 ( u
) + K1 ( u
) 1+ u
dCS ]2
bk bk bk bk bk
33

3.3 Solução para reservatório radial infinito com poço


cilíndrico, efeitos de película, estocagem e redis-
tribuição de fases

Esta seção contém a formulação matemática para se obter a função da pressão


para reservatório radial infinito com poço cilíndrico, efeitos de película, estocagem e
redistribuição de fases.

3.3.1 Condições de contorno

O desenvolvimento da formulação matemática para um poço onde existem efei-


tos de estocagem é realizado conforme os passos realizados na seção anterior. Para
obter a solução da pressão adimensional, é necessário incorporar os efeitos de redis-
tribuição de fases na EDH. Para um reservatório radial, infinito, homogêneo, isotrópico,
a Eq. (22) é válida. A equação na forma adimensional e suas condições inicial e de
contorno externa são expressas por:

∂ 2 PD 1 ∂PD ∂PD
2
+ = (72)
∂rD rD ∂rD ∂tD

C.I.: PD (rD , tD = 0) = 0 (73)

C.C.E.: limrD →∞ PD (rD , tD ) = 0 (74)

Nota-se que a condição inicial (C.I.) e a condição de contorno externa (C.C.E.) não
se alteraram. Contudo, a condição de contorno interna (C.C.I.) sofre uma significativa
alteração. Para descrever os efeitos de redistribuição de fases, nem toda mudança
de pressão pode ser atribuída à estocagem pura, pois parte da mudança é causada
pela própria redistribuição, conforme discutido na seção 2.7. Então, é necessário
acrescentar um termo correspondente à alteração de pressão devido à redistribuição
de fases, Pφ , na Eq. (33):

" #
d4Pwf dPφ
qsf = qB + C − + (75)
dt dt

Em termos adimensionais:
34

!
qsf dPwD dPφD
= 1 − CD − (76)
qB dtD dtD

A Eq. (76) pode ser desenvolvida para a C.C.I. ao se utilizar a lei de Darcy no lado
q
sf
esquerdo da equação ( qB ):

! !
∂PD dPwD dPφD
− = 1 − CD − (77)
∂rD rD =1
dtD dtD

Esta equação também pode ser escrita na forma da Eq. (33) ao se definir um
pseudo-coeficiente de estocagem, dada pela Eq. (79):

qsf dPwD
= 1 − CeD (78)
qB dtD

dPφD
 
dtD
CeD = CD 1 − dPwD
 (79)
dtD

Nessa forma, é nítido que a redistribuição de fases no poço influencia nos efeitos
dPφD
de estocagem, pois quando dtD
> 0, o efeito de redistribuição de fases causa uma
queda no coeficiente de estocagem.

A Eq. (80) supõe o modelo para a função Pφ e a Eq. (81), sua forma adimensional,
conforme explicado na seção 2.7.

−t
 
P φ = Cφ 1 − e α (80)

−tD
 
PφD = CφD 1 − e αD (81)

Com Cφ sendo uma constante representando a mudança máxima de pressão atin-


gida resultante da redistribuição de fases e α é o parâmetro de tempo de redistribui-
ção de fases.O parâmetro α também representa o tempo em que 63% da mudança de
pressão por redistribuição de fases ocorre. As variáveis adimensionais são compostas
pelas equações abaixo.

C2 khPφ
PφD = (82)
qBµ
35

C2 khCφ
CφD = = akCφ (83)
qBµ

C1 kα
αD = = bkα (84)
φµct rw2

3.3.2 Transformada de Laplace da EDH

Para o cálculo de PwD (transformada de Laplace da função de pressão desejada),


utiliza-se a forma geral da transformada da EDH, conforme a seção anterior:

√ √
P̄D = AI0 (rD u) + BK0 (rD u) (85)

Com A e B sendo determinados pelas condições inicial e de contorno. Como a


C.C.E. é a mesma, A = 0 e:


P̄D = BK0 (rD u) (86)

Para inclusão dos efeitos de película, utiliza-se a Eq. (54):

√ √ √
PwD = BK0 ( u) + BS uK1 ( u) (87)

B será determinado pela transformada da C.C.I.:

 !  " # " #
∂PD dPwD dPφD
L −  = L [1] − L CD + L CD (88)
∂rD rD =1
dtD dtD

√ √ 1    
B uK1 u = − CD uPwD − CD uPwD (tD = 0) + CD uPφD − CD uPφD (tD = 0) (89)
u

√ √ 1
B uK1 u = − CD uPwD + CD uPφD (90)
u

PwD é definido pela Eq. (54) e PφD pode ser calculado transformando a Eq. (81):

−tD
 
PφD = L [CφD ] − L CφD e αD (91)
36

CφD CφD
PφD = − (92)
u u − α1D

Então, B possui a seguinte forma:

 
2 1 1
1 + CD CφD u − u u+ α1
B= √ √ √ D
√ √ (93)
u { uK1 ( u) + uCD [K0 ( u) + S uK1 ( u)]}

Portanto, para o modelo de Fair de redistribuição multifásica, a solução da pressão


para um reservatório radial infinito com poço cilíndrico e efeitos de película e estoca-
gem, PwD é:

h √ i  
√Ko ( √u)
+S 1 + C D C φD u 2 1
− 1
uK1 ( u) u u+ α1
D
PwD = h  √ i (94)
u 1 + uCD √Ko ( √u)
+S
uK1 ( u)

3.3.3 Solução da pressão com dimensões

Utilizando as já definidas variáveis auxiliares, a, b, d, retiram-se as variáveis adi-


mensionais da Eq. (94) e obtém-se:

h q q q i  
u u u ad 1 1
K0 ( bk
) + K(
bk 1 bk
)S 1+ b
CCφ u2 u
− 1
u− α
4Pwf = q q  q  q q q  (95)
u
K(
bk 1
u
bk
)aku K1 ( u
bk
) + √ udCu √ u K0 ( u
bk
) + u
K(
bk 1
u
bk
)S
bk bk
K1 ( bk
)

q
u
Criando as variáveis auxiliares z = bk
e γ = K0 (z) + zK1 (z)S e aplicando-as na
Eq. (95), simplifica-se para:

 
b uα
adu
+ CCφ 1 − uα+1
4Pwf = bkzK1 (z)
(96)

+ uC

Agora, derivando a Eq. (96) em relação aos parâmetros desconhecidos, coe-


ficiente de estocagem (C), fator de película (S) e permeabilidade (k), obtêm-se as
equações (97), (98) e (99), respectivamente.

C uα
∂4Pwf Cφ − uα+1
φ
− u4Pwf
= bkzK1 (z)
(97)
∂C dγ
+ uC
37

∂4Pwf z 2 K12 (z)4Pwf


= (98)
∂S γzK1 (z) + udbk
γ 2C

h i
zK0 (z) zK1 (z)
∂4Pwf −4Pwf K1 (z) + 2
− γ
(K1 (z) + zK0 (z)S)
= (99)
∂k kK1 (z) + ud
bz
γC

Contudo, existem mais dois parâmetros desconhecidos na eq. de 4Pwf para o


modelo de Fair de redistribuição de fases no poço: Cφ e α. Estes parâmetros também
serão estimados e portanto, o jacobiano da função deverá conter as derivadas parciais
de 4Pwf em relação a Cφ e α, conforme equações (100) e (101) :

∂4Pwf C
= h i (100)
∂Cφ (uα + 1) bkzK

1 (z)
+ uC

∂4Pwf −uCCφ
= 2
h i (101)
∂α (uα + 1) bkzK

1 (z)
+ uC

Como α é um parâmetro complicado para se estimar, estima-se sua ordem de


grandeza levando-se em consideração o valor do coeficiente aparente, Ca que é menor
que C quando Cφ > 0. Fair (1981) define o coeficiente aparente na Eq. (102).

1 1 CφD
= − (102)
CaD CD αD

Em termos dimensionais:

C
Ca = b Cφ
(103)
1+ C2 qB α

Como as funções da pressão e suas derivadas parciais em relação aos parâmetros


a serem determinados estão no campo de Laplace, é necessário um método de inver-
são numérica do domínio de Laplace para o domínio real, conhecido como algoritmo
de Stehfest, detalhado na próxima seção.

Na seção subsequente à supracitada, são detalhados métodos de regressão não


linear de dados. Estes se fazem necessários, pois ajustam o conjunto de parâmetros
a serem determinados (k, S, C), minimizando a diferença entre o modelo e os dados
de campo.
38

3.4 Inversão numérica da transformada de Laplace

Van Everdigen e Hurst (1949) foram pioneiros na formulação e aplicação de equa-


ções de engenharia de reservatórios no domínio de Laplace. Conforme a complexi-
dade das equações aumentava, a solução analítica invertida se mostrava mais com-
plexa de se alcançar. O algoritmo proposto por Stehfest (1970) é uma técnica numé-
rica para inversão dos valores do campo de Laplace para o campo real. Cheng et al.
(1994) descrevem outros métodos para realização da inversão de dados do campo
de Laplace para o real. Contudo, notam que o método de Stehfest é o mais aplicável
para a área de engenharia de petróleo, assim como Ozkan e Raghavan (1997), que
aplicam o algoritmo em dados de testes de pressão.

Segundo Rosa et al. (2006), o algoritmo é amplamente utilizado por sua simplici-
dade e perfomance satisfatória, considerando a seguinte condição: que seja aplicado
em funções suaves (não oscilatórias). O funcionamento do algoritmo de Stehfest é
descrito a seguir.

Notação da transformada de Laplace: L {f (t)} = F (u) (104)

Sendo F (u) a transformada de Laplace de f (t), uma função em relação ao tempo


t. O valor aproximado desta função quando t=0, ou seja, o valor de f (t0 ) pode ser
estimado pela Eq. (105) e pela Eq. (106):

n
!
ln 2 X ln 2
f (t0 ) = Vi F i (105)
t0 i=1 t0

min(i, n ) n
i+ n
X 2
K 1+ 2 (2K)!
Vi = (−1) 2   (106)
K=int( i+1
)
n
2
− K ! (K!)2 (i − K)! (2K − i)!
2

O valor de n é definido pelo número de dígitos suportados pela máquina, e nor-


malmente varia entre 8 ≤ n ≤ 16. No programa desenvolvido, n = 16. Observando-se
a Eq. (106),Vi depende de n e o somatório dos coeficientes é obrigatoriamente:
n
X
Vi = 0 (107)
i=1

A tabela 106 expõe os valores calculados no caso de n = 10.


39

Tabela 2: Coeficiente de Stehfest para n = 10.


i Vi i Vi
1 0,08333... 6 -236957,5
2 -32,08333... 7 375911,666...
3 1279 8 -340071,666...
4 -15623,666... 9 164062,5
5 84244,1666... 10 -32812,5
SOMA 0

Quando implementado no programa, o algoritmo de Stehfest foi testado para vali-


dar sua eficiência na inversão numérica de forma adequada. Para este objetivo, foram
utilizadas funções simples e propriedades conhecidas da transformada de Laplace .
Tais testes e validações estão no Capítulo 5.

3.5 Regressão Não-Linear

A regressão não linear é uma forma de análise observacional em que um con-


junto de dados é modelado por uma função que é uma combinação não linear de
parâmetros do modelo. A estimativa destes parâmetros consiste em um problema de
otimização, ou regressão. Segundo Vieira (1992), os métodos de regressão não linear
permitem obter parâmetros da formação onde a análise convencional (linear, diferen-
ças finitas) não obtém bons resultados. As subseções abaixo descrevem a notação
utilizada e os diferentes métodos de minimização por mínimos quadrados (norma L2).
Métodos de regressão não linear de norma L1, como o de mínimos valores absolutos
(MVA1, MVAM, MVA2) não serão abordados.

3.5.1 Notação

No conjunto de n observações, {xi , yi }, as variáveis independentes, dependentes


e os parâmetros a serem estimados podem ser representados, respectivamente, por:

 
 x1 
 .. 
~x = 
 . 
 (108)
 
xn
40

 
 y1 
 .. 
~y = 
 . 
 (109)
 
yn
 
 α1 
 .. 
α
~= 
 . 
 (110)
 
αnp

Já os valores da função-modelo para as variáveis independentes do conjunto de


observações são dados por:  
 f (x1 , α
~) 
~ =  .. 
f (α)  . 
 (111)
 
f (xn , α
~)

~
~r (α) = ~r = ~y − f (α) (112)

A matriz jacobiana é formada pelas derivadas parciais de primeira ordem de uma


função vetorial:


∂f (x1 ,~
α) ...... ∂f (x1 ,~
α)

∂α1
... ∂αm
~
∂f ~~

 ......


= J(α) =  ...  (113)
∂~
α  

∂f (xn ,~
α) ...... ∂f (xn ,~
α)

∂α1
... ∂αm

~
∂r ~
∂f ~
=− = −J~ (114)
∂~
α ∂~
α

No caso, ela será utilizada da seguinte forma: A função f será a função modelo da
pressão, com as variáveis α1 , α2 , α3 sendo os parâmetros a serem determinados pela
regressão não linear: permeabilidade, fator de pelicula e coeficiente de estocagem.
Assim, o Jacobiano do programa será dado pelas equações (115) e (116), para os
casos com e sem redistribuição de fases respectivamente:

(" # " # " #)


~~ ∂4Pwf ∂4Pwf ∂4Pwf
J4P wf
(k, S, C) = , , (115)
∂k ∂S ∂C

(" # " # " # " # " #)


~~ ∂4Pwf ∂4Pwf ∂4Pwf ∂4Pwf ∂4Pwf
J4P wf
(k, S, C, Cφ , α) = , , , ,
∂k ∂S ∂C ∂Cφ ∂α
(116)
41

3.5.2 Método dos Mínimos Quadrados

Para ajustar a função-modelo com os valores de yi , é preciso minimizar o valor da


função-objetivo, que é a soma dos quadrados dos resíduos entre os dados medidos
(observados) e os calculados pela função-modelo:

n n
1X 1
α, xi )]2 = ri2 = ~rT ~r
X
E(~
α) = [yi − f (~ (117)
i=1 2 i=1 2

Portanto, o valor de α
~ que minimiza o valor da função E será o vetor que melhor
ajusta as observações {xi , yi } à função-modelo, f . Assim, o método dos mínimos
quadrados consiste em minimizar a função-objetivo E, dada por:

n
[Pmedido (ti ) − Pcalculado (ti , k, S, C)]2
X
E= (118)
i=1

3.5.3 Método de Newton

O método de minimização de Newton, ou Newton-Raphson, tem o objetivo de es-


timar as raízes de uma função aproximando-a por uma expansão de série de Taylor
até o termo de segunda ordem, em torno de uma estimativa inicial α~0 (vetor de parâ-
metros desconhecidos). Como E ∗ é apenas uma aproximação da função-objetivo E,
repete-se o processo, criando um método iterativo que converge para a raiz da função,
como mostra a Eq. (119) (Rosa et al., 2006).

1 ~~
α)T .~g +
E ∗ = E |α~0 + (4~ α )T H
(4~ (4~
α) (119)
2

Onde:

• (4~ ~ − α~0 é a variação de parâmetros em relação à estimativa inicial (ou à


α) = α
anterior na iteração).

• T o transposto.

• H é a matriz Hessiana simétrica (termo da segunda derivada):

∂ 2E
( ! )
~~
H = {hjm } = (120)
∂αj δαm α0

n
∂ 2F
( ! )
X ∂F ∂F
hjm = −2 − + [yi − F (~
α, xi )] (121)
i=1 ∂αm ∂αj ∂αm ∂αj α~0
42

• ~g o gradiente (termo da primeira derivada):


( ! )
∂E
~g = {gj } = (122)
∂αj α~0

n
( ! )
h  i ∂F
yi − F δ α~0 , xi
X
gj = −2 (123)
i=1 ∂αj α~0

Com j e m sendo posições na matriz ou vetor de parâmetros avaliado.

j = m = 1, 2, ..., np (124)

np é o número de parâmetros a serem determinados. As derivadas da função


modelo F em relação ao componente de α
~ podem ser calculadas:
( )
∂F (~
α, x) ∂F (~
α, u)
= L−1 (125)
∂αj ∂αj

O ponto de mínimo é o ponto que representa a solução do problema, dado por:

∂E ∗
=0 (126)
∂4~
α

Resultando em:

~~
H4~α = −~g (127)

Resolvida a Eq. (127), o novo vetor-solução é dado por:

~ = α~0 + 4~
α α (128)

~ substitui α~0 na iteração seguinte. O fim do processo iterativo se dá quando


Onde α
a diferença entre duas soluções sucessivas é menor que uma tolerância estabelecida
ε. Usualmente, ε = 10−4 .

h i
~K − α
max | α ~ K−1 | ≤ ε (129)

3.5.4 Método de Gauss-Newton

O método de Gauss-Newton é um método de minimização utilizado para resolu-


ção de problemas de mínimos quadrados não lineares, sendo uma modificação do
43

de Newton para encontrar um mínimo de uma função. O método tenta diminuir as


consequências de quando a matriz Hessiana não é positiva-definida, caso em que a
solução pode convergir para outro ponto de inflexão, não necessariamente o mínimo
da função. Essa mudança consiste em ignorar os termos da derivada de segunda
ordem da equação da Hessiana, conforme mostra a Eq. (121) (Rosa et al., 2006).

n
" #
X ∂F ∂F
hjm = 2 (130)
i=1 ∂αm ∂αj α~0

A matriz Hessiana e o gradiente podem ser reescritos em termos do jacobiano (Jun-


queira, 2011):

~~ ~T~
H = J~ J~ (131)

~T
~g = J~ ~r (132)

3.5.5 Método de Levenberg-Marquardt

Apesar do método de Gauss-Newton ser numericamente estável, pode apresen-


tar problemas como demora na convergência ou convergência para um mínimo local e
não global (Mazucheli e Achcar, 2008). O método de Levenberg-Marquardt, ou Gauss-
Marquardt, tenta reduzir o efeito do mau condicionamento da matriz Hessiana. Para
isto, normaliza-se a matriz, e após resolvê-la, desnomarliza-se a matriz. A aproxima-
ção da matriz Hessiana possui a seguinte forma:

~~ ~T~ ~
H = J~ J~ + λI~

A solução iterativa a ser resolvida se torna (Marquardt, 1963):

 
~ ~
H~n + λI~ (4~
α)n = −g~n (133)

~ = α~0 + ρ4~
α α (134)

Onde o vetor (4~


α)n é:
44

 
 (4α) 
nj
α)n = {4αn } =
(4~ q (135)
 h 
jj

Onde ρ é o comprimento do passo, I é a matriz identidade e λ é o parâmetro de


Marquardt. Ao invés de I, para se manter a ordem de grandeza do problema, pode-se
utilizar a diagonal da matriz Hessiana. Assim, em outra notação:

" #−1
~T~ ~~ ~T
~ = α~0 − J~ J~ + λdiag(H)
α − J~ ~r (136)

Caso a condição de que o erro diminua na iteração seja satisfeita, diminui-se o


parâmetro de Marquardt: λ = 0, 1λ.

Caso contrário (o erro não diminua na iteração), altera-se ρ, e substitue-se λ por


10λ. O fim do processo iterativo segue o padrão de uma tolerância pré-estabelecida ε.

Este é o método de regressão não linear utilizado no programa para realização da


interpretação do teste de pressão.

3.6 Aproximação para longos tempos

Para a utilização de métodos convencionais de interpretação de testes de pressão,


descritos no capítulo 2, é necessária realizar uma aproximação da solução da EDH
adimensional para poços de modelo linha-fonte (rw → 0). Para tanto, as condições
inicial e de contorno são as seguintes:

PD (tD = 0, rD ) = 0, rD > 0 (137)

PD (tD , rD → ∞) = 0, tD > 0 (138)

!
∂PD
rD = −1, tD>0 (139)
∂rD rD →0

Segundo Rosa e Correa (1987), o processo de resolução deste tipo de equação


consiste na redução da equação diferencial parcial para uma equação diferencial ordi-
nária, através da transformação:
45

2
rD
y= (140)
4tD

Aplicando esta transformação na EDH e suas condições:

dPD d 2 PD
(1 + y) +y =0 (141)
dy dy 2

PD (y → ∞) = 0 (142)

!
dPD
2y = −1 (143)
dy rD →0

dPD
Definindo que PD0 (y) = dy
, tem-se:

dPD0
(1 + y)PD0 + y =0
dy

Cuja solução é:
r2
!
1
PD (rD , tD ) = − Ei − D (144)
2 4tD

Para pequenos argumentos ( rtD2 > 10), a função integral exponencial pode ser
D

aproximada para Ei(−x) = ln(x) + 0, 5772. Além disso, em longos tempos, quando
tD > 50, a solução para a pressão no poço é :

1
PwD (tD ) = PD (tD , 1) = [ln(tD ) + 0, 80907] (145)
2

Após a inclusão dos efeitos de película, conforme Eq. (3), a equação se torna:
PwD (tD ) = PD (tD , 1) = 21 [ln(tD ) + 0, 80907 + 2S]

Para alcançar o método de Horner, utiliza-se a superposição. Para determinar o


comportamento da pressão após uma produção de +q desde o tempo inicial, soma-se
uma produção de −q a partir do tempo de fechamento tp :

h i h i
PwDs (tp + 4t)D = PwD (tp + 4t)D − PwDs [4tD ] (146)

O que resulta, em variáveis dimensionais:


46

!
kh 1 tp + 4t
(Pi − Pws ) = ln (147)
C2 qBµ 2 4t

Alcançando a Eq. (7). Para determinar o fator de película, a equação é (Rosa e


Correa, 1987):

" ! !#
kh 1 4tpD tp + 4t
(Pws − Pwf f ) = ln − ln +S (148)
C2 qBµ 2 0, 5772 4t
 
tp +4t
Para se alcançar e Eq. (8), toma-se 4t = 1 e log tp
= 0, quando tp é muito
maior que 1.
47

4 Formulação Computacional

O método de realização da pesquisa se deu por meio da obtenção da solução


da pressão para modelos de poços-reservatórios e desenvolvimento de algoritmos
que compõem o programa de computador para testar a eficácia destes modelos.
Apresenta-se neste capítulo a formulação computacional construída e a metodologia
seguida para atingir os objetivos deste trabalho. O capítulo inclui informações sobre os
softwares e linguagem de programação utilizados, além de apresentar funcionalidades
do programa.

4.1 Diagrama de funcionamento

Na concepção do trabalho, houve um delineamento do que deveria ser realizado


para que os objetivos fossem alcançados. Listam-se os procedimentos realizados para
o desenvolvimento do trabalho:

1. Definição dos objetivos e planejamento inicial;

2. Revisão bibliográfica na área de testes de pressão em poços, fluxo de fluidos em


meios porosos, inversão numérica de dados, regressão não linear, linguagens
de programação;

3. Cálculo da função-modelo da pressão e suas derivadas em relação aos parâme-


tros incógnitos, e sua validação através da comparação da derivada numérica
com a derivada por diferenças finitas dos dados;

4. Implementação do programa com métodos de importação de dados, entrada de


dados, inversão numérica e regressão não linear.

5. Comparação dos resultados obtidos com o programa criado com os valores reais
dos dados da literatura, gerando gráficos diagnósticos;
48

Para a realização do passo 4 (criação do programa de interpretação de testes de


pressão), houve a concepção do algoritmo básico que o programa seguiria. Este
algoritmo está ilustrado no diagrama de funcionamento geral do programa, idealizado
antes da própria programação (Fig. 12). O diagrama mostra a ordem de execução do
programa e algumas rotinas condicionais.

Como mostrado na Figura, primeiramente os dados do teste de pressão devem


ser consistentes, para que o programa realize a interpretação corretamente. Então,
define-se com quais modelos de poço-reservatório o programa irá trabalhar, para que
o programa utilize a função-modelo no domínio de Laplace adequada. Subsequente-
mente, ocorre a importação de dados das variáveis petrofísicas, de forma que a inser-
ção das mesmas na função modelo possibilite a inversão numérica de dados para o
campo real e a regressão não linear que estima os parâmetros.

Figura 12: Diagrama de funcionamento geral do programa.


49

O objetivo básico do programa, depois de implementado completamente, consiste


em definir qual o conjunto de valores dos parâmetros a serem determinados, que
fazem com que o modelo teórico tenha o mesmo comportamento dos dados obtidos
do campo. Para isso, são necessárias suposições iniciais dos valores deste conjunto
de parâmetros. As estimativas iniciais são então inseridas no método de ajuste por
regressão não linear. Este método recebe o jacobiano da função (derivadas parciais
da pressão em relação a cada parâmetro estimado inicialmente). O método então,
teoricamente, obtêm convergência de valores após um certo número de iterações. A
convergência tende ao erro 0, ou seja, diferença mínima entre o comportamento real
do reservatório e o comportamento obtido com as estimativas finais dos parâmetros.

O programa inicia sua rotina de execução da seguinte forma: Ocorre a importação


dos dados do teste de pressão por meio de um arquivo de texto (.txt). A entrada de
dados das propriedades do fluido, poço e reservatório, também é feita por arquivo edi-
tável de texto. Os dados de entrada necessários são: Pressão registrada em diferentes
tempos; Tempos em que as pressões foram registradas; Altura (espessura) do reser-
vatório; Porosidade da rocha reservatório; Vazão de produção; Fator volume formação
do fluido; Compressibilidade total (compressibilidade da rocha mais compressibilidade
do fluido); Raio do poço; Tempo de produção anterior ao teste.O programa é compa-
tível com os sistemas americano, o petrobras/brasileiro e o sistema internacional de
unidades, possibilitando a escolha do sistema que se encaixa ao conjunto de variáveis
apresentadas.

Após a entrada de dados, a definição do sistema de unidades e a escolha do mo-


delo do sistema poço-reservatório a ser considerado, o algoritmo de Stehfest realiza
a inversão numérica do jacobiano para a utilização do método de regressão não li-
near. Após a regressão, a rotina de execução do programa se conclui na exibição de
resultados.

4.2 Simulações computacionais

Para testes, desenvolveu-se um programa em linguagem C++, que interpretava


dados de testes de pressão por meios convencionais, utilizando o método de Horner
para o cálculo de parâmetros do reservatório, como permeabilidade, fator de película,
pressão inicial, índice de produtividade e eficiência de fluxo. O programa também
gerava o gráfico semi-logarítmico característico do reservatório e ajustava a linha reta
do período após os efeitos de estocagem, conforme Fig. 13. Este programa-teste
50

serviu para a melhora de técnicas de programação para interpretação de testes de


pressão.

Figura 13: Programa-Teste que utiliza o método de Horner.

Contudo, a linguagem de programação do trabalho é a do software MATLAB (Ver-


são 7 em diante). A escolha se deve ao fato do Matlab possuir uma interface amigável,
facilidade de programação (não necessidade de declaração de variáveis, definição de
tipos de dados, pré-alocação de memória) e geração de gráficos. Também é otimizada
para operações com matrizes, fundamental para solucionar problemas de engenharia,
permitindo rápida execução e processamento.

O Matlab (Matrix Laboratory ) pode ser descrito como “um software interativo de
alta performance voltado para o cálculo numérico”. O software trabalha com análise
numérica e foco em processamento de dados em termos de vetores e matrizes de
números. Integra computação e visualização gráfica em um ambiente flexível e ami-
gável, provendo grande quantidade de funções auxiliares já construídas e disponíveis
na sua biblioteca (como análise de Fourier, sistemas lineares, integração e diferenci-
ação, importação de dados de arquivos de diferentes extensões). A capacidade de
personalização e gerenciamento de gráficos é ampla, trabalhando-se com gráficos
log-log, semi-log, 3D, subplots, eixos, cores, formatos e pontos modificáveis.
51

Após a escolha da linguagem e do software para realizar a modelagem dos dados,


uma nova revisão bibliográfica foi realizada, com o intuito de se familiarizar com a
linguagem e possibilitar o desenvolvimento de algoritmos mais complexos. Foram
utilizadas publicações como:

• Matsumoto (2004), que contém os fundamentos de como se programar nessa


linguagem.

• Chapman (2010) e Palm (2005), que se concentram na programação mais co-


mum a engenheiros, como regressão de dados, importação de dados, operações
matemáticas diversas, etc.

• Magrab et al. (2007), que contém temas mais aprofundados de regressão li-
near e não-linear de dados, métodos de display na tela e geração de gráficos
personalizados, aplicação de equações diferencias ordinárias e parciais e outros
assuntos relacionados à solução de problemas específicos de engenharia.

A interface do Matlab é ilustrada na Fig. 14. É possivel notar que a interface é com-
posta por vários módulos. O módulo “Editor ” é o que contém linhas individuais de
código, sendo editável e debugável. O módulo “Command Window” é interativo e é
possível definir variáveis, solicitar informações sobre determinados assuntos (“ajuda
do Matlab”), executar comandos e mostra resultados. O módulo “Workspace” contém
informações sobre as variáveis definidas e criadas, englobando seu tipo, tamanho, va-
lor máximo e mínimo, todas as suas informações no momento atual de execução. A
aba “Current Directory ” permite a mudança de pasta de execução no explorer.
52

Figura 14: Interface do Matlab.

No Matlab, a extensão do arquivo de código é o .m , que pode ser do tipo script


(código normal, padrão e linear), ou de função. O arquivo de função é um código que
cria seu próprio local independente no Matlab. Todas as variáveis definidas ali são
locais e tem uma compilação mais rápida que um arquivo script. A utilização de fun-
ções torna a depuração, compilação e execução do programa mais rápidos. Funções
são utilizadas para evitar duplicação de códigos e facilitar a reusabilidade, identifica-
ção de erros e aumento de perfomance. Todos os códigos principais do programa
desenvolvido estão no Apêndice B. A seguir, citam-se as funcionalidades opcionais do
programa.

4.3 Funcionalidades opcionais

O programa tem funcionalidades opcionais, que não são vitais para a interpreta-
ção de testes de pressão, porém, são interessantes para uma avaliação qualitativa do
comportamento da pressão em função do tempo. Segue abaixo uma lista com funcio-
nalidades possíveis de realização com o programa. Os dados para a construção dos
53

gráficos foram retirados do capítulo 12 de Ezekwe (2010).

• Gráfico de escala linear da variação da pressão com o tempo (Fig. 15);

• Gráfico semilogarítmico do método de Horner (Fig. 16);

• Gráfico logarítmico do método de Agarwal (Fig. 17);

• Gráfico logarítmico do método das derivadas de Bourdet (Fig. 18);

• Valores do coeficiente de Stehfest (Fig. 19);

• Variação dos valores dos parâmetros estimados em relação às iterações do mé-


todo de regressão (Fig. 20);

3500

3400

3300
∆P (psi)

3200

3100

3000

2900

2800
0 10 20 30 40 50 60
t (horas)

Figura 15: Variação da pressão com o tempo em teste de crescimento de pressão.


54

600

500

400
∆P (psi)

300

200

100

0 0 1 2
10 10 10
∆tp

Figura 16: Gráfico semi-logarítmico de dados de teste de crescimento de pressão, no


formato proposto por Horner.

3
10

2
10
∆P (psi)

1
10

0
10 −3 −2 −1 0 1 2
10 10 10 10 10 10
∆te

Figura 17: Gráfico logarítmico de dados de teste de crescimento de pressão, no for-


mato proposto por Agarwal.
55

3
10
Dados Reais
Derivada dos Dados

2
10
∆P (psi)

1
10

0
10 −3 −2 −1 0 1 2
10 10 10 10 10 10
t (horas)

Figura 18: Gráfico logarítmico de dados de teste de crescimento de pressão, contendo


o método das derivadas de Bourdet.

A Fig. 19 retrata a variação do coeficiente de Stehfest Vi quando n = 16 (utilizado


no programa).
9
x 10
4

1
Valor

−1

−2

−3

−4
0 2 4 6 8 10 12 14 16
Vstehfest

Figura 19: Variação do Coeficiente de Stehfest Vi quando n = 16.

A Fig. 20 mostra o gráfico de variação do cálculo dos parâmetros durante as


iterações.
56

k
S
600 C

α
500

400

300

200

100

5 10 15 20

Figura 20: Exemplo de variação dsa estimativa dos parâmetros durante iterações.

Para testes, foram gerados gráficos de comportamento de pressão (provenientes


de programa teste utilizado na disciplina de Engenharia de Reservatórios). A Fig. 21
mostra a velocidade da queda de pressão em testes de fluxo, ao se utilizar diferentes
permeabilidades. Observa-se que ao se diminuir a permeabilidade, a pressão de pro-
dução (’energia do reservatório’) cai de forma muito mais rápida. A Fig. 22 mostra o
comportamento da pressão do reservatório com a distância do poço. Observa-se que
ocorre uma brusca queda de pressão nos arredores do poço produtor, por se tratar de
um diferencial de pressão significativo.

Figura 21: Influência da Permeabilidade no potencial do reservatório.


57

Figura 22: Modelo de variação de pressão do reservatório com a distância do poço


em 3D.

O funcionamento do programa, resultados derivados do mesmo e suas discussões


estão no capítulo 5.
58

5 Resultados e Análises

Neste capítulo, apresenta-se a união da formulação matemática e computacio-


nal para obtenção de resultados. As seções 5.1 a 5.3 contemplam as validações do
método de inversão numérica utilizado, a regressão não linear e a função-modelo,
respectivamente. A seção 5.4 contém os resultados considerando estudos de caso.

5.1 Validação do método de inversão numérica

Para validação do algoritmo de inversão numérica desenvolvido, foi escrito o có-


digo “TesteStehfest.m”. O código recebe funções simples no domínio de Laplace, que
são invertidas para o domínio real pelo algoritmo. Os resultados são então compara-
dos com as funções invertidas analiticamente. Os testes se seguiram baseando-se na
tabela 3, utilizando funções com inversões conhecidas.

Tabela 3: Transformada de Laplace..


Fonte: Rosa et al. (2006)
Domínio Real (f (t)) Domínio de Laplace (F (u))
1
1 u
1
eat u−a
n!
tn un+1
a
sen(at) u2 +a2
u
cos(at) u2 +a2
ect f (t) F (u − c)
cf (t) cF (u)
 
1
f (ct) c
F uc
−cu
δ(t − c) e
Rt
0 f (t − τ )g(τ )dτ F (u)G(u)

As figuras 23 a 28 mostram os testes realizados. Observa-se que os pontos inverti-


59

dos pelo código (círculos), se sobrepõem ao valor esperado (linha contínua), validando
o algoritmo. Os dados de tempo foram retirados de um teste de fluxo de Lee (1982).

Os testes foram:

1
• Teste 1: u
↔ 1;

1
• Teste 2: u−a
↔ eat , a=0,001;

n!
• Teste 3: un+1
↔ tn , n=2;

u
• Teste 4: u2 +a2
↔ cos(at);

n!
• Teste 5: c un+1 ↔ ctn , n=3, c=0,01;
 
• Teste 6: 1c F u
c
= 1
2 + u
2 ↔ f (ct) = sen(bt) + cos(bt), n=3;
b( ub ) +1 b( ub ) +1

1.1
Função Invertida Real
1.08 Função Invertida pelo Algoritmo

1.06

1.04
F(x) invertida

1.02

0.98

0.96

0.94

0.92

0.9
0 5 10 15 20 25 30 35 40 45
x

Figura 23: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
1
nhecidas. Teste 1: u
↔ 1.
60

1.045

1.04 Função Invertida Real


Função Invertida pelo Algoritmo

1.035

1.03
F(x) invertida

1.025

1.02

1.015

1.01

1.005

1
0 5 10 15 20 25 30 35 40 45 50
x

Figura 24: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
1
nhecidas. Teste 2: u−a
↔ eat .

2500
Função Invertida Real
Função Invertida pelo Algoritmo

2000
F(x) invertida

1500

1000

500

0
0 5 10 15 20 25 30 35 40 45 50
x

Figura 25: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
n!
nhecidas. Teste 3: un+1
↔ tn , n=2.
61

1.0001
Função Invertida Real
1 Função Invertida pelo Algoritmo

0.9999

0.9998
F(x) invertida

0.9997

0.9996

0.9995

0.9994

0.9993

0.9992

0.9991
0 5 10 15 20 25 30 35 40 45 50
x

Figura 26: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
u
nhecidas. Teste 4: u2 +a2
↔ cos(at).

8
x 10
2
Função Invertida Real
1.8 Função Invertida pelo Algoritmo

1.6

1.4
F(x) invertida

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25 30 35 40 45 50
x

Figura 27: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
n!
nhecidas. Teste 5: c un+1 ↔ ctn , n=3.
62

1.4
Função Invertida Real
Função Invertida pelo Algoritmo
1.35

1.3
F(x) invertida

1.25

1.2

1.15

1.1

1.05

1
0 5 10 15 20 25 30 35 40 45 50
x

Figura 28: Validação do algoritmo de Stehfest, utilizando funções com inversões co-
 
nhecidas. Teste 6: 1c F u
c
= 1
2 + u
2 ↔ f (ct) = sen(bt) + cos(bt), n=3.
b( ub ) +1 b( ub ) +1

Em conjunto com os gráficos de comparação construídos, foi realizada uma avali-


ação quantitativa sobre a exatidão do método de inversão numérica. Para tanto foram
realizados testes com diferentes valores de n. O erro η foi calculado como o módulo da
diferença relativa entre o valor real e o calculado pela função teste, conforme Eq. 149.
Os resultados estão na Tabela 4. O n escolhido foi de 16, pois seu erro se mostrou
pequeno e é o valor sugerido por Rosa et al. (2006).

!
f Real − f T este
η = 1 − 100 | | (149)
f Real

Tabela 4: Eficiência do método de inversão numérica.


n η (%) n η (%)
8 93,0110 18 99,9996
10 99,4021 20 99,9915
12 99,9866 22 99,8972
14 99,9957 24 97,5558
16 99,9994
63

5.2 Validação do método de regressão não linear

Para testes, foi escrito um algoritmo de regressão não linear que utiliza o método
de Levenberg-Marquardt. Para validação do algoritmo de regressão não linear de-
senvolvido, foi implementado o código “TesteRNL.m”. O código compara resultados
obtidos da regressão pelo programa desenvolvido (“GaussMarquardt.m”) e pelos mé-
todos “lsqnonlin” e “lsqcurvefit”, próprios do software Matlab. Os métodos “lsqnonlin” e
“lsqcurvefit” foram configurados para utilizar o método de Levenberg-Marquardt. Para
a validação, foram criadas funções não lineares simples, com 3 parâmetros (incóg-
nitas) a serem determinados. A equivalência das estimativas garante a validação do
método “GaussMarquardt”.

As figuras 29 e 30 mostram os comportamentos da função teste com os parâme-


tros estimados. Observa-se que os círculos azuis (calculados pelo método implemen-
tado) se se sobrepõem à linha contínua vermelha e aos círculos verdes (calculados
pelo Matlab em “lsqnonlin” e “lsqcurvefit”, respectivamente), validando o algoritmo.
Foram realizados 2 testes:

• Teste 1: F = ln(tk 3 ) + ln(tS 2 ) + ln(tC);

• Teste 2: F = kCetS ;

5
F(x)

lsqnonlin
4
Algoritmo Implementado
lsqcurvefit
3

1
0 0.5 1 1.5 2 2.5
x

Figura 29: Validação do método de regressão não linear, Teste 1.


64

lsqnonlin
7 Algoritmo Implementado
lsqcurvefit

5
F(x)

1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

Figura 30: Validação do método de regressão não linear, Teste 2.

A tabela 5 mostra um resumo dos resultados obtidos. As estimativas ruins de k


no teste 1 se deve ao formato da função teste, com o logaritmo natural sendo sensí-
vel a pequenas variações de parâmetros. Observa-se que os métodos “lsqnonlin” e
“lsqcurvefit” são equivalentes, e que o método criado “GaussMarquardt.m” possui uma
equivalência de 99,94% em relação aos métodos do Matlab (conforme Eq.149).

Tabela 5: Valores estimados pelos métodos de regressão não linear.


Parâmetro Valor Real Estimativa método Estimativa lsqnonlin Estimativa lsqcurvefit
Teste 1
k 10 15,9978 15,998 15,998
S 2 3,5269 3,527 3,527
C 0,1 0,0887 0,09 0,09
Teste 2
k 10 9,9968 9,9999 9,9999
S 2 2,008 2 2
C 0,1 0,1 0,1 0,1

Apesar do método de regressão não linear de dados criado ter sido validado, na
versão final do programa é utilizada a função “lsqcurvefit”, própria do Matlab. Esta
função é robusta, otimizada e possui opção de se escolher o método de regressão
não linear a ser utilizado. Com ela foram obtidos resultados melhores nos estudos de
caso.
65

5.3 Validação da função-modelo

A validação das soluções obtidas da pressão em reservatório radial infinito, com


efeitos de estocagem e película, e do modelo de Fair, é composta por três procedi-
mentos:

• A análise das derivadas analíticas da função da pressão;

• A análise das derivadas por diferenças finitas da função da pressão;

• A comparação entre essas soluções.

Para a validação das equações, a comparação deve necessariamente mostrar os pon-


tos coincidindo dos dois métodos de análise. As subseções a seguir detalham tais
procedimentos.

5.3.1 Reservatório radial infinito com poço cilíndrico, efeitos de


película e estocagem

Para a validação, foi implementada uma função computacional (’testederivadas’)


que recebe como parâmetro as funções-soluções. As funções-soluções são as de-
rivadas em relação à permeabilidade, fator de pelicula e coeficiente de estocagem.
Varia-se um parâmetro por vez, e deixa-se fixo o valor das outras duas incógnitas.
Calculam-se os valores assumidos pela função-derivada do parâmetro que varia, se-
guindo o funcionamento a seguir:

• O passo de variação escolhido para a permeabilidade foi de 10 (milidarcy), e va-


riando entre os valores de 10 e 200, totalizando 20 pontos (para melhor visualiza-
ção), com valores fixos de fator de película sendo 2 e coeficiente de estocagem
sendo 0,02.

• O passo de variação escolhido para o fator de película foi de 1, e variando entre


os valores de 1 e 20, totalizando 20 pontos, com valores fixos de permeabilidade
sendo 20 e coeficiente de estocagem sendo 0,02.

• O passo de variação escolhido para o coeficiente de estocagem foi de 0,01, e


variando entre os valores de 0,01 e 0,2, totalizando 20 pontos, com valores fixos
de de permeabilidade sendo 20 e fator de película sendo 2.
66

• O passo da iteração superior, da variável de Laplace, u, é de 0,1, variando entre


valores de 0,1 e 1. As 3 iterações acima ocorrem para cada valor de u, gerando
assim 10 curvas contendo 20 pontos cada.

Os resultados para a permeabilidade, fator de pelicula e coeficiente de estocagem são


mostrados nas figuras 31, 32 e 33, respectivamente. O eixo das ordenadas contém o
valor da função e o eixo das abcissas contém o valor do parâmetro, com cada curva
sendo característica de um valor de tempo de Laplace u.

0
u=0.1
u=0.2
−50
u=0.3
u=0.4
−100 u=0.5
∂Pwf/∂k

u=0.6
−150 u=0.7
u=0.8
u=0.9
−200 u=1.0

−250

−300
0 20 40 60 80 100 120 140 160 180 200
k (md)

Figura 31: Comportamento da função-derivada da pressão em relação à permeabili-


dade no campo de Laplace.
67

300
u=0.1
250 u=0.2
u=0.3
200 u=0.4
u=0.5
∂Pwf/∂S

u=0.6
150 u=0.7
u=0.8
100 u=0.9
u=1.0
50

0
0 2 4 6 8 10 12 14 16 18 20
S

Figura 32: Comportamento da função-derivada da pressão em relação ao fator de


película no campo de Laplace.

0
u=0.1
−500 u=0.2
u=0.3
−1000 u=0.4
u=0.5
−1500
∂Pwf/∂C

u=0.6
−2000 u=0.7
u=0.8
−2500 u=0.9
u=1.0
−3000

−3500

−4000
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
C (bbl/psi)

Figure 33: Comportamento da função-derivada da pressão em relação ao coeficiente


de estocagem no campo de Laplace.

Foi escrita outra função computacional (’testediferencasfinitas’) que recebe como


parâmetro a função-solução geral (não as derivadas, mas a função geral de pressão
no campo de Laplace). Este método possui a mesma variação de passo e valores
mínimos e máximos para cada variável citados anteriormente, para que o modelo por
diferenças finitas possua as mesmas condições do modelo a ser testado.
68

O teste por diferenças finitas consiste em receber a função da pressão e, por meio
da fórmula geral de derivada abaixo, aplicar os valores assumidos de cada parâmetro
para (h − 4h) e (h + 4h). Foi utilizado a derivada centrada, conforme Eq. 150. 4h é
a variação do passo para cada variável.

F (h + 4h) − F (h − 4h)
F 0 (h) = (150)
24h

Os resultados para a permeabilidade, fator de película e coeficiente de estocagem


são mostrados nas figuras 34, 35 e 36, respectivamente.

0
u=0.1
−20 u=0.2
u=0.3
u=0.4
−40 u=0.5
∂Pwf/∂k

u=0.6
u=0.7
−60 u=0.8
u=0.9
u=1.0
−80

−100
20 40 60 80 100 120 140 160 180 200
k (md)

Figura 34: Comportamento da função da pressão derivada em relação à permeabili-


dade no campo de Laplace por diferenças finitas.
69

300 u=0.1
u=0.2
250 u=0.3
u=0.4
200 u=0.5
∂Pwf/∂S

u=0.6
150 u=0.7
u=0.8
u=0.9
100
u=1.0

50

0
2 4 6 8 10 12 14 16 18 20
S

Figura 35: Comportamento da função da pressão derivada em relação ao fator de


película no campo de Laplace por diferenças finitas.

0
u=0.1
−500 u=0.2
u=0.3
−1000 u=0.4
u=0.5
−1500
∂Pwf/∂C

u=0.6
u=0.7
−2000
u=0.8
−2500 u=0.9
u=1.0
−3000

−3500

−4000
0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
C (bbl/psi)

Figure 36: Comportamento da função da pressão derivada em relação ao coeficiente


de estocagem no campo de Laplace por diferenças finitas.

São mostradas nas Figuras 37, 38 e 39, a comparação do comportamento das


soluções pelos métodos acima. É possível observar a equivalência das soluções,
validando o modelo. A derivada do modelo utilizando as derivadas analíticas é repre-
sentada pela linha contínua e a derivada por diferenças finitas, pelos círculos.
70

0 u=0.1
u=0.1
u=0.2
−2000 u=0.2
u=0.3
u=0.3
u=0.4
−4000
∂Pwf/∂k

u=0.4
u=0.5
u=0.5
u=0.6
−6000
u=0.6
u=0.7
u=0.7
−8000 u=0.8
u=0.8
u=0.9
u=0.9
−10000
0 2 4 6 8 10 12 14 16 18 20 u=1.0
u=1.0
k (md)

Figura 37: Comparação da função-derivada da pressão em relação à permeabilidade


no campo de Laplace, por método analítico e por diferenças finitas.

300 u=0.1
u=0.1
u=0.2
250 u=0.2
u=0.3
u=0.3
200 u=0.4
∂Pwf/∂S

u=0.4
u=0.5
150 u=0.5
u=0.6
100 u=0.6
u=0.7
u=0.7
50 u=0.8
u=0.8
u=0.9
0 u=0.9
0 2 4 6 8 10 12 14 16 18 20 u=1.0
S u=1.0

Figura 38: Comparação da função-derivada da pressão em relação ao fator de película


no campo de Laplace, por método analítico e por diferenças finitas.
71

0 u=0.1
u=0.1
−500 u=0.2
u=0.2
−1000 u=0.3
u=0.3
−1500 u=0.4
∂Pwf/∂C

u=0.4
u=0.5
−2000
u=0.5
u=0.6
−2500 u=0.6
u=0.7
−3000 u=0.7
u=0.8
−3500 u=0.8
u=0.9
−4000 u=0.9
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 u=1.0
C (bbl/psi) u=1.0

Figure 39: Comparação da função-derivada da pressão em relação ao coeficiente de


estocagem no campo de Laplace, por método analítico e por diferenças finitas.

5.3.2 Reservatório radial infinito com efeitos de película, estoca-


gem e redistribuição de fases

A validação da função-modelo para casos onde ocorre redistribuição de fases se-


guiu os mesmos procedimentos. São mostradas nas Figuras 40, 41 e 42 a compa-
ração do comportamento das soluções. Como para o modelo de Fair são estimados
mais 2 parâmetros, Cφ e α, as Figuras 43 e 44 foram construídas para a comparação
entre as derivadas. Cφ foi variado entre 10 e 2000 (passo de 100) e α entre 0 e 10
(passo de 0,5). É possível observar novamente a equivalência das soluções, validando
o modelo. A derivada do modelo utilizando as derivadas analíticas é representada pela
linha contínua e a derivada por diferenças finitas, discretizada por asteriscos.
72

0 u=0.1
u=0.1
u=0.2
u=0.2
−1000 u=0.3
u=0.3
u=0.4
u=0.4
−2000
∂Pwf/∂k

u=0.5
u=0.5
u=0.6
u=0.6
−3000 u=0.7
u=0.7
u=0.8
u=0.8
−4000 u=0.9
u=0.9
u=1.0
u=1.0
−5000
0 20 40 60 80 100 120 140 160 180 200
k (md)

Figura 40: Comparação da função-derivada da pressão em relação à permeabilidade


no campo de Laplace, por método analítico e por diferenças finitas, para o modelo
com redistribuição de fases.

500 u=0.1
u=0.1
u=0.2
u=0.2
400 u=0.3
u=0.3
u=0.4
u=0.4
∂Pwf/∂S

300 u=0.5
u=0.5
u=0.6
u=0.6
200 u=0.7
u=0.7
u=0.8
u=0.8
100 u=0.9
u=0.9
u=1.0
u=1.0
0
0 2 4 6 8 10 12 14 16 18 20
S

Figura 41: Comparação da função-derivada da pressão em relação ao fator de película


no campo de Laplace, por método analítico e por diferenças finitas, para o modelo com
redistribuição de fases.
73

0
u=0.1
u=0.1
−2000
u=0.2
u=0.2
−4000 u=0.3
u=0.3
−6000 u=0.4
∂Pwf/∂C

u=0.4
−8000 u=0.5
u=0.5
−10000 u=0.6
u=0.6
u=0.7
−12000
u=0.7
u=0.8
−14000 u=0.8
u=0.9
−16000 u=0.9
u=1.0
−18000 u=1.0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
C (bbl/psi)

Figure 42: Comparação da função-derivada da pressão em relação ao coeficiente de


estocagem no campo de Laplace, por método analítico e por diferenças finitas, para o
modelo com redistribuição de fases.

1.4 u=0.1
u=0.1
1.2 u=0.2
u=0.2
u=0.3
1 u=0.3
u=0.4
∂Pwf/∂Cφ

u=0.4
0.8
u=0.5
u=0.5
0.6 u=0.6
u=0.6
u=0.7
0.4 u=0.7
u=0.8
u=0.8
0.2
u=0.9
u=0.9
0 u=1.0
0 200 400 600 800 1000 1200 1400 1600 1800 2000 u=1.0
Cφ (psi)

Figure 43: Comparação da função-derivada da pressão em relação ao parâmetro Cφ


no campo de Laplace, por método analítico e por diferenças finitas, para o modelo
com redistribuição de fases.
74

0
u=0.1
u=0.1
−50 u=0.2
u=0.2
u=0.3
−100 u=0.3
u=0.4
∂Pwf/∂α

−150 u=0.4
u=0.5
u=0.5
−200 u=0.6
u=0.6
u=0.7
−250
u=0.7
u=0.8
−300 u=0.8
u=0.9
u=0.9
−350 u=1.0
0 1 2 3 4 5 6 7 8 9 10
α (horas)
u=1.0

Figure 44: Comparação da função-derivada da pressão em relação ao parâmetro α no


campo de Laplace, por método analítico e por diferenças finitas, para o modelo com
redistribuição de fases.

A seção a seguir desenvolve os resultados utilizando o programa para interpretar


dados de teste de pressão e a análise dos mesmos.

5.4 Estudos de caso

Apresentam-se os resultados obtidos com o programa. Os dados de campo utili-


zados são dados de testes de pressão presentes em:

• Casos 1 e 2: Exemplos 1 e 2 do Modelo de Fair de estocagem variável, presente


em Fair (1981).

• Caso 3: Exemplo 2 de Rushing et al. (1989).

O conjunto de dados 1, na Tabela 6, contém os dados registrados de Pressão Vs.


Tempo e os valores dos parâmetros. Durante o fluxo, o poço produziu com uma vazão
de 212 bbl O reservatório possui boa porosidade (28%). O fluido é viscoso (4 cp).
d
Características do poço (área e raio) também são descritos na tabela.
75

Tabela 6: Dados do Caso 1.


4t (horas) 4Pw (psi) Parâmetro Valor Unidade
0 -
m3
0,25 296 q= 212 d
0,30 449 µ= 4, 0 cp
bbl
0,75 520 B= 1, 1 ST B
1 574 h= 10 ft
psi
2 597 ρf = 0, 330 ft
4 588 φ= 0, 28
6 576 ct = 0, 0006 psi−1
7 576 rw2 = 0, 083 ft²
8 576
9 578
10 578

A Tabela 7 e a Fig. 45 resumem os resultados obtidos com o programa (estimativa


final), comparando com a estimativa inicial e o valor obtido pelo autor de referência.
Na figura, observa-se visualmente o ajuste obtido da função-modelo com os dados de
campo. A diferença entre as estimativas dos parâmetros entre o programa e o autor de
referência se devem ao fato da pouca quantidade de dados de campo, além do autor
ter utilizado um método diferente de interpretação do teste (por curvas-tipo). Além
disso, não é possível julgar a qualidade do ajuste quantitativamente, pois não foram
utilizados intervalos de confiança no método de regressão não linear.

Tabela 7: Resultados para o caso 1.


Parâmetro Estimativa Inicial Estimativa Final Valor da Referência Diferença (%)
k [md] 100 122,92 134 -8
S 1 -0,09 0 -
C [bbl/psi] 0,01 0,0408 0,01173 248
Cφ [psi] 1000 661,39 940,795 -30
α[horas] 0,01 0,0036 0,00178 102

O conjunto de dados 2 é descrito pela Tabela 8. Durante o fluxo, o poço produz


com uma vazão baixa de 14 bbl O reservatório possui boa porosidade (28%). O fluido
d
é viscoso (4 cp). Características do poço (área e raio) também são descritos na tabela.
76

3
10

2
10
∆P (psi)

1
10
Dados de campo
Derivada dados de campo
Função modelo
Derivada função modelo

0
10 −1 0 1
10 10 10
t (horas)

Figura 45: Gráfico diagnóstico para o Caso 1, com redistribuição de fases.

Tabela 8: Dados do Caso 2.


4t (horas) 4Pw (psi) Parâmetro Valor Unidade
0,25 102
bbl
0,50 190 q= 14 d
0,75 254 µ= 4, 0 cp
bbl
1 278 B= 1, 05 ST B
2 306 h= 20 ft
psi
3 292 ρf = 0, 420 ft
4 284 φ= 0, 28
6 273 ct = 0, 0006 psi−1
8 276 rw = 0, 2915 ft
10 276
12 276
14 278
16,5 281

A Tabela 9 e a Fig. 46 resumem os resultados obtidos com o programa (estimativa


final), comparando com a estimativa inicial e o valor obtido pelo autor de referência.
Na figura, observa-se visualmente o ajuste obtido da função-modelo com os dados
de campo. Novamente, a grande diferença entre as estimativas dos parâmetros entre
o programa e o autor de referência se devem ao fato da pouca quantidade de dados
77

de campo. Pontua-se que foi testado a inserção dos valores de referência na função
modelo, não ocorrendo um ajuste aos dados de campo.

Tabela 9: Resultados para o caso 2.


Parâmetro Estimativa Inicial Estimativa Final Valor da Referência Diferença (%)
k [md] 100 17,884 1,8 894
S 1 7,552 5 51
C [bbl/psi] 0,01 0,0017 0,00921 88
Cφ [psi] 1000 301,378 2299,88 -87
α[horas] 0,1 0,479 0,0493 871

3
10

2
10
∆P (psi)

1
10
Dados de campo
Derivada dados de campo
Função modelo
Derivada função modelo

0
10 −1 0 1 2
10 10 10 10
t (horas)

Figura 46: Gráfico diagnóstico para o Caso 2, com redistribuição de fases.

O conjunto de dados 3 é descrito pelas Tabelas 10 e 11. Durante o fluxo, o poço


produz com uma vazão de 85 bbl O reservatório possui boa porosidade (25%). O
d
fluido é pouco viscoso (0,41 cp). Características do poço (área e raio) também são
descritos na tabela.
78

Tabela 10: Dados de Pressão X Tempo do caso 3.


4t (horas) 4Pw (psia) 4t (horas) 4Pw (psia) 4t (horas) 4Pw (psia)
0 0 0,5000 276 8 578
0,0167 11 0,6667 336 10 577
0,0333 22 0,8333 384 12 579
0,0500 35 1 426 14 582
0,0667 45 1,25 472 16 584
0,0833 60 1,5 509 18 586
0,1000 69 2 554 20 588
0,1333 89 2,5 576 23 590
0,1667 113 3 590 30 596
0,2500 155 4 600 36 599
0,3333 200 5 594 45,75 604
0,4167 240 6 586 - -

Tabela 11: Variáveis de entrada para o caso 3.


Parâmetro Valor Unidade
ST B
q 85 d
h 6 ft
bbl
B 1, 38 ST B
φ 0, 25
kgf −1
ct 9, 6.10−6 cm2
µ 0, 41 cp
rw 0, 364 ft
Awh 0, 00315 ft²
ρo 0, 30 lbm
ft³
P (t=0) 2520 psia
tp 303, 6 horas

A Tabela 12 e a Fig. 47 resume os resultados obtidos com o programa (estimativa


final), comparando com a estimativa inicial e o valor obtido pelo autor de referência. O
autor utilizou um método de intepretação do teste de pressão semelhante ao utilizado
no trabalho (ajuste automático). Nota-se que a estimativa realizada pelo programa foi
bem próxima do valor referencial dos parâmetros.
79

Tabela 12: Resultados para o caso 3.


Parâmetro Estimativa Inicial Estimativa Final Valor da Referência Diferença (%)
k [md] 100 26,56 24,7 8
S 1 6,45 5,6 15
C [bbl/psi] 0,01 0,009 0,00921 -2
Cφ [psi] 100 521,80 526,95 -1
α[horas] 1 2,73 2,552 7

2
10
∆P (psi)

Dados de campo
Derivada dados de campo
1
10 Função modelo
Derivada função modelo

−1 0 1 2
10 10 10 10
t (horas)

Figura 47: Gráfico diagnóstico para o Caso 3, com redistribuição de fases.

Para o caso 3, também foi realizado uma comparação de resultados ao se utilizar


o modelo sem redistribuição de fases para o ajuste. A mesma estimativa inicial foi
utilizada. O resultado está expresso na Fig. 48. Os parâmetros estimados foram
k = 38, 13 md, S = 12, 78 e C = 0, 006 bbl/psi. Apesar de poder ser considerado um
bom ajuste qualitativamente, de acordo com o gráfico diagnóstico, pontua-se que o
ajuste dos dados ao se utilizar o modelo que leva em consideração a redistribuição de
fases no poço foi mais próximo dos valores de referência.
80

Dados de campo
Derivada dados de campo
Função modelo
Derivada função modelo

2
10
∆P (psi)

1
10

−1 0 1 2
10 10 10 10
t (horas)

Figura 48: Gráfico diagnóstico para o Caso 3, sem redistribuição de fases.

Para o caso 3, o método convencional de interpretação de teste de pressão foi


aplicado para a comparação dos resultados obtidos entre este método e o ajuste do
programa. As figuras abaixo são os gráficos semilogarítmicos de Horner para o mo-
delo com e sem redistribuição de fases respectivamente. É possível observar que o
modelo que melhor se ajusta aos dados de campo foi o que considera a segregação
de fases, conforme Fig. 49. Rushing (1989) indica que obteve utilizando métodos
convencionais de interpretação k = 26, 7 md e S = 6, 5.

700
Dados de campo
Função Modelo
600

500
∆P (psi)

400

300

200

100

0 −3 −2 −1 0 1
10 10 10 10 10
∆tp

Figura 49: Gráfico semilogarítmico para o Caso 3, com redistribuição de fases.


81

700

Dados de campo
600
Função Modelo

500
∆P (psi)

400

300

200

100

0 −3 −2 −1 0 1
10 10 10 10 10
∆tp

Figura 50: Gráfico semilogarítmico para o Caso 3, sem redistribuição de fases.

Comparações quantitativas da qualidade do ajuste não serão abordados, pois in-


tervalos de confiança no método de regressão não linear não fazem parte do escopo
do trabalho. A seguir, as considerações finais do trabalho.
82

6 Considerações Finais

Apresentam-se neste capítulo as conclusões do trabalho, considerando as con-


sequências dos resultados obtidos, além de sugestões para trabalhos futuros. Consi-
derando os objetivos iniciais, dispostos no capítulo 1, afirma-se que os mesmos foram
alcançados, pois todos os procedimentos mencionados para a interpretação de um
teste de pressão foram seguidos de maneira e ordem delineadas.

Os resultados obtidos no capítulo 5, Resultados e Análises, baseados no que foi


apresentado nos capítulos 4, Formulação Computacional e 3, Formulação Matemá-
tica em sua maioria condizem com as teorias apresentadas no capítulo 2, Revisão
Bibliográfica.

No trabalho, mostrou-se que a redistribuição multifásica é um fenômeno complexo


de estocagem no poço. Foram utilizados métodos matemáticos específicos, aplicados
no problema inverso, de forma a determinar os parâmetros do reservatório ao ajustar
o conjunto de incógnitas à resposta do reservatório.

No âmbito do modelo de Fair de redistribuição multifásica no poço, salienta-se


que mesmo que um hump (corcunda) não seja observado no teste, a redistribuição
pode causar uma distorção nos dados. É preciso considerar também que a presença
de diferentes fases dentro do poço pede que mais registradores de pressão sejam
instalados na coluna, de forma a estabelecer precisamente a escala da anomalia, e
se realmente é este fator que está influenciando o comportamento anômalo da curva
da pressão.

Pontua-se que a aplicação do modelo de Fair deve ser realizada somente para
sistemas poço-reservatório em que se aplica a redistribuição de fases dentro do poço,
não em casos de parada de produção através de fechamento do fluxo de fluidos no
fundo do poço (downhole shut-in), ou em reservatórios extremamente permeáveis.
Se faz necessário constante verificação e acompanhamento de produção, revisando
dados e parâmetros previamente calculados.

A interpretação de testes de pressão através do ajuste automático é uma valiosa


83

ferramenta da engenharia de reservatórios. Resultados relevantes podem ser obtidos


trabalhando os dados de forma eficaz e considerando as características intrínsecas de
cada sistema poço-reservatório. A utilização de softwares na engenharia de reserva-
tórios reduz o tempo e aumenta a qualidade de interpretação de dados, possibilitando
melhor planejamento de produção de um campo de petróleo. Desta forma, o desen-
volvimento de novas técnicas de modelagem de reservatórios a partir de dados de
testes de pressão é de profunda importância para a indústria do petróleo.

Estudos subsequentes com o mesmo tema poderão ser realizados, como a incor-
poração de novas funcionalidades no software:

• Implementação de outros modelos de reservatório, como reservatórios hetero-


gêneos, ou reservatórios com formatos específicos;

• Implementação de outros modelos de poço, como aplicação em poços próximos


a falhas;

• Comparações de soluções por soluções provenientes de programas semelhan-


tes;

Há também a possibilidade de realização de testes de otimização do software, como:

• Implementação de intervalos de confiança na regressão não linear, para melho-


rar a qualidade do ajuste.

• Testes com outros algoritmos de inversão para o campo real, diferentes do algo-
ritmo de Stehfest;

• Conversão do código para outras linguagens de programação, como Python,


C++;

• Inclusão de leitura de arquivos de registradores de pressão de outros formatos,


como .xls.

• Formulação estocástica do problema.


84

Referências

ABBASZADEH, M.; KAMAL, M. Automatic type curve matching for well test analysis.
SPE formation evaluation, Society of Petroleum Engineers, v. 3, n. 3, p. 567–577,
1988.

AGARWAL R. G.; AL HUSSAINY, R.; RAMEY, J. An investigation of wellbore storage


and skin effect in unsteady liquid flow: analytical treatment. Society of Petroleum
Engineers Journal, v. 10, p. 279–290, 1970.

BOURDET, D.; AYOUB, J. A.; PIRARD, Y. M. Use of pressure derivative in well test
interpretation. SPE Formation Evaluation, Society of Petroleum Engineers, v. 4, n. 2,
p. 293–302, 1989.

CARVALHO, R. S.; REDNER, R. A.; THOMPSON, L. G.; REYNOLDS, A. C. Robust


procedures for parameter estimation by automated type-curve matching. In: SPE
Annual Technical Conference and Exhibition, 1992.

CHAPMAN, S. J. Programação em matlab para engenheiros. São Paulo: Thomson


Learning, 2010.

CHENG, A. H.; SIDAURUK, P.; ABOUSLEIMAN, Y. Approximate inversion of the


Laplace transform. Addison-Wesley Pub. Co., 1994. 76–82 p. 39

OZKAN, E.; RAGHAVAN, R. S. Some strategies to apply the Stehfest algorithm for a
tabulated set of numbers. Society of Petroleum Engineering Journal, v. 2, n. 03, p.
363-372, 1997.

EZEKWE, N. Petroleum reservoir engineering practice. Pearson Education, 2010.

FAIR, W. Pressure buildup analysis with wellbore phase redistribution. Society of


Petroleum Engineering Journal, Society of Petroleum Engineers, v. 21, n. 2, p.
259–270, 1981.

GRINGARTEN, Alain C. et al. A comparison between different skin and wellbore


storage type-curves for early-time transient analysis. In: SPE Annual Technical
Conference and Exhibition. Society of Petroleum Engineers, 1979.

HEGEMAN, P. S.; HALLFORD, D. L.; JOSEPH, J. A. Well test analysis with changing
85

wellbore storage. SPE formation evaluation, Society of Petroleum Engineers, v. 8, n.


3, p. 201–207, 1993.

JUNQUEIRA, C. P. Estimativa de parâmetros de reservatórios e reconstrução do


histórico de vazão a partir de dados de pressão de fundo. Dissertação (Tese de
Mestrado) - Universidade Estadual do Norte Fluminense, 2011.

KAMAL, M. M. Transient Well Testing. SPE Monograph Series Vol. 23. Society of
Petroleum Engineers, 2009.

LEE, J. Well testing. Society of Petroleum Engineers, 1982.

LEE, J.; ROLLINS, J. B.; SPIVEY, J. P. Pressure transient testing. Henry L. Doherty
Memorial Fund of Aime Society of Petroleum Engineers, 2003.

MAGRAB, E. B.; AZARM, S.; BALACHANDRAN, B.; DUNCAN, J.; HEROLD, K.;
WALSH, G. Engineers guide to matlab. Prentice Hall Press, 2007.

MARQUARDT, D. W. An algorithm for least-squares estimation of nonlinear


parameters. Journal of the Society for Industrial and Applied Mathematics, SIAM, v.
11, n. 2, p. 431–441, 1963.

MATSUMOTO, E. MATLAB 7, Fundamentos. São Paulo: Editora Érica, 2004.

MATTHEWS, C. S.; RUSSELL, D. G. Pressure buildup and flow tests in wells. Society
of petroleum engineers of AIME, 1967.

MAZUCHELI, J.; ACHCAR, J. A. Algumas considerações em regressão não linear.


Acta Scientiarum Technology, v. 24, p. 1761–1770, 2008.

NUPEG. Testes em poços. Notas de Aula. UFRN, 2013.

OLIVEIRA, J. V. Análise automatizada de testes de pressão em poços não-surgentes.


Dissertação (Tese de Mestrado) - Unicamp, 1989.

PALM, W. J. Introduction to matlab 7 for engineers. McGraw-Hill New York, 2005.

PERES, Á. Fundamentos da análise de testes de pressão em poços. Apostila. 2006.

ROSA, A.; CORREA, A. Análise de testes de pressão em poços. Apostila. 1987.

ROSA, A.; HORNE, R. Automated type-curve matching in well test analysis using
Laplace space determination of parameter gradients. In: SPE Annual Technical
Conference and Exhibition, 1983.

ROSA, A. J.; CARVALHO, R. S.; XAVIER, J. A. D. Engenharia de Reservatórios de


Petróleo. Rio de Janeiro: Interciência, 2006.
86

RUSHING, J. A.; LEE, W. J.. Use of an automatic historymatching technique to


analyze pressure buildup data affected by wellbore phase segregation: case histories.
SPE Production Operations Symposium, 1989.

STEGEMEIER, G.; MATTHEWS, C. A study of anomalous pressure build-up behavior.


AIME, v. 213, p. 44–50, 1958.

STEHFEST, H. Algorithm 368: numerical inversion of Laplace transforms.


Communications of the ACM, ACM, v. 13, n. 1, p. 47–49, 1970.

THOMAS, J. E. Fundamentos de engenharia de petróleo. (S.l.): Interciência, 2001.

VAN EVERDINGEN, A.; HURST, W. The application of the Laplace transformation to


flow problems in reservoirs. Journal of Petroleum Technology, Society of Petroleum
Engineers, v. 1, n. 12, p. 305–324, 1949.

VIEIRA, P. Análise automatizada de testes de pressão. Dissertação (Tese de


Mestrado) - Unicamp, 1992.

WEISSTEIN, E. W. Bessel function of the second kind. Wolfram, Wolfram Research,


Inc., 2004.
87

APÊNDICE A -- Manual de Utilização do


Programa

A presente documentação refere-se ao "Programa para cálculo de parâmetros de


poço/reservatório por interpretação de testes de pressão". Esta documentação tem o
formato de uma apostila que explica passo a passo como usar o programa, para o
usuário e também para o desenvolvedor. O apêndice A contém um guia básico de
utilização do programa, cujo código está presente no Apêndice B. Descreve-se:

• A forma de utilização do programa pelo usuário;

• Arquivos de entrada que devem ser fornecidos;

• Arquivos de saída gerados;

• Configuração do programa;

• Unidades das variáveis e parâmetros calculados.

As seções A.1 e A.2 explicam as extensões requeridas dos arquivos de entrada e


saída do programa, respectivamente, acompanhado de ilustrações para melhor
compreensão da natureza dos arquivos. A seção A.3 é um manual de utilização do
programa, com menções a possíveis erros que eventualmente podem ocorrer. A
seção A.4 é um manual de edição/modificação do programa para estudantes ou
programadores, com o intento de melhora na sua eficiência, elaboração de novos
métodos e implementação de novos recursos e funcionalidades, seguindo as
sugestões feitas no capítulo 6.

A.1 Arquivos de Entrada

O método “entradaDados” controla toda a importação dos dados do teste.


Basicamente são necessários dois arquivos de entrada para a realização da
importação dos dados:
88

• O arquivo do registrador de pressão, contendo dados de pressão e tempo


medidos/coletados. Formato: Arquivo de texto .txt, com o tempo na primeira
coluna e a pressão na segunda coluna. A figura a seguir é um exemplo de
arquivo de entrada contendo dados de pressão e tempo. O prefixo
“DadosRegistrador” é utilizado para melhor padronização e identificação do tipo
de arquivo de entrada.

Figura 51: Exemplo 1 de arquivo de registrador, com dados de pressão e tempo.

• O arquivo de variáveis, arquivo de texto .txt, contendo os valores, na ordem:


Sistema de unidades em que as variáveis acima estão descritas; Vazão; Altura
do reservatório; Fator Volume-Formação; Porosidade; Compressibilidade Total;
Viscosidade; Raio do Poço; Pressão no fechamento; Tempo de produção.

O programa possui 3 sistemas de unidades compatíveis de trabalho com as variáveis


citadas acima: sistema internacional, sistema americano (oilfield) e sistema brasileiro
(Petrobras). As unidades de cada sistema estão explicitadas na tabela 13, no
Apêndice C. Para definição de qual sistema se quer trabalhar, o arquivo de entrada
de variáveis deve conter o nome do sistema, na primeira linha do arquivo. O
programa lerá a palavra como variável string e, por meio de um método condicional,
aplicará as contantes de unidades adequadas para o sistema de unidades em
questão. Caso não haja definição, o padrão utilizado será o sistema internacional. É
aconselhável realizar uma cópia de um arquivo exemplo para depois alterá-lo.

A figura abaixo mostra um exemplo de arquivo contendo as variáveis citadas e a


definição do sistema como sendo “americano”. O prefixo “DadosVariaveis” é utilizado
89

para melhor padronização e identificação do tipo de arquivo de entrada.

Figura 52: Exemplo 1 de arquivo de entrada de variáveis.

A.2 Arquivos de Saída

Após a execução do programa, geram-se arquivos de saída, categorizados em dois


tipos:

• Arquivo de texto .txt contendo os valores dos parâmetros calculados, de


nome “Parâmetros_Perm_Dano_Estoc.txt” (Fig. A.2). A cada execução do
programa, caso não haja renomeação ou cópia do arquivo para outro diretório,
o mesmo será sobrescrito. As unidades dos parâmetros calculados serão
equivalentes ao do sistema utilizado.

Figura 53: Exemplo de arquivo de saída do tipo .txt.

• Arquivos de imagem .jpg contendo gráficos. O código para salvar o plot é:


“saveas(filename,’filename.jpg’)”. A cada execução do programa, caso não haja
renomeação ou cópia dos arquivos para outro diretório, os mesmos serão
sobrescritos. Os nomes dos arquivos salvos são:

– “PressaoXTempo.jpg” ;
90

– “PressaoXTempo-Horner-Semilog.jpg”;

– “PressaoXTempo-Agarwal-LogLog.jpg”;

– “PressaoXTempo-Bourdet-LogLog.jpg” ;

A.3 Guia do Usuário

O "Programa para cálculo de parâmetros de poço/reservatório por interpretação de


testes de pressão” calcula a permeabilidade, o fator de película e a estocagem do
sistema poço-reservatório submetido a um teste de pressão. No casos de testes com
redistribuição de fases, os parâmetros Cφ e α. Para o funcionamento correto do
programa, devem-se obedecer os seguintes requisitos:

• Obrigatório: Possuir software que suporta arquivos em linguagem Octave


(Matlab, preferencialmente).

• Obrigatório: Executar o programa pelo arquivo “ProgramaPrincipalFair.m”, na


pasta fornecida, de nome “listagens”.

• Os dados do registrador de pressão do poço devem ser colocados no diretório


do programa, sob qualquer nome, em formato de texto, com este nome sendo
informado ao programa principal, linha 5.

• Os dados das variáveis devem ser colocados na pasta do programa, sob


qualquer nome, em formato de texto, com este nome sendo informado ao
programa principal, linha 6.

• Alteração do sistema de unidades diretamente no script (e não no arquivo de


entrada): entre no arquivo entradadados.m e edite a linha 6, Digite 1 para o
sistema americano (oilfield), 2 para o brasileiro (petrobras) ou 3 para o sistema
internacional.

• Informar as variáveis diretamente no script: entre no arquivo entradadados.m e


edite as linhas 25 a 31 (Informe a porosidade do reservatório, a altura do
reservatório, o fator volume formação do fluido, a compressibilidade total, a
vazão de produção e o raio do poço).

• Na execução do programa, é solicitado pela janela de comando as estimativas


iniciais dos parâmetros a serem estimados. Em caso de necessidade de
91

informar a estimativa inicial do conjunto de parâmetros diretamente no script:


edite as linhas 37 a 41.

• Com o software aberto, tecle F5 para executar o programa. O resultado será


salvo na pasta (arquivos de saída) e mostrado na tela do Matlab.

Possíveis erros que podem gerar falhas de execução do programa ou convergência


para valores muito distantes do real são listados abaixo. A solução geral seria
analisar se o erro foi devido ao motivo mencionado. Caso não seja, o procedimento
padrão é o reinício do programa e mudança do nome do arquivo de importação.

• Entrada negativa ou inconsistente de valor de variáveis petrofísicas;

• Dados de registrador de pressão inconsistentes;

• Suposições iniciais dos parâmetros a serem estimados muito distantes do real;

• Nome errado do arquivo a ser importado;

• Matriz de dados do teste muito pequena;

• Importação de dados de testes de pressão não englobados pelo modelo


proposto (reservatórios heterogêneos, testes de injeção, supressão,
interferência, pulso).

A.4 Guia do Programador

As documentações são importantes para o programador pois, apesar de todo o


código-fonte estar com linhas comentadas, isto nem sempre é o suficiente para
permitir alterações mais complexas. Portanto, citam-se técnicas de implementação
das sugestões feitas no capítulo 6:

• Criação de Função:

– Codificar a primeira linha como “function [variável_de_saída_1,


variável_de_saída_2, ...] = Nome_da_Função (variável_de_entrada_1,
variável_de_entrada_2, ...)” ;

• Incluir outros modelos físicos de sistemas poço-reservatório:


92

– Criar uma função para cada modelo e para cada derivada, no formato
pré-estabelecido de variáveis de entrada e saída;

– Substituir o nome da função criada no método de regressão não linear,


para utilizar a nova técnica;

• Implementação de leitura de arquivos de entrada do tipo .xls (arquivo do


Microsoft Excel):

– Utilizar o código “matriz_de_Valores = xlsread (Nome_Arquivo)” ;

– Implementar uma rotina condicional para que o programa perceba qual a


extensão do arquivo correta a ser lida;

• Geração de gráficos 3D:

– Utilizar a sintaxe: “plot3 (Variável_eixo_X, Variável_eixo_Y,


Variável_eixo_Z)” ;

– Para personalização do gráfico: “title (Título); xlabel (Nome_Eixo_X); ylabel


(Nome_Eixo_Y); legend (Legenda 1, Legenda 2)” ;

• Caso haja necessidade de conversão de código Matlab para código C++,


existem conversores altamente competentes, da própria Mathworks.

• Ajuda: digitar na janela de comando do Matlab “help Tema_Dúvida”. Isto trará


resultados da própria documentação de ajuda do Matlab (Figura 54).

Figura 54: Ajuda do Matlab.


93

APÊNDICE B -- Código dos Programas

Este apêndice contém o código-fonte principal comentado do programa desenvolvido


em Matlab. Sao expostos os códigos principais desenvolvidos e utilizados na versão
final do programa, como funções, métodos, testes e o próprio programa principal.
Todos possuem a extensão de um arquivo de código de matlab .m. O caracter ’%’
denota um comentário, não fazendo parte do código. Tais comentários foram
inseridos em pontos-chave do código para entendimento do que cada rotina realiza.
Apresentam-se as seguintes listagens neste apêndice:

• B.1 o código da função entradaDados. Contém o método de importação de


dados dos arquivos de entradas.

• B.2 o código da função bourdet. Contém o método de cálculo da derivada dos


dados e geração de gráfico característico de Bourdet.

• B.3 o código da função agarwal. Contém o método de cálculo da variável de


tempo de Agarwal e geração de gráfico característico de Agarwal.

• B.4 o código da função horner. Contém o método de cálculo da variável de


tempo de Horner e geração de gráfico característico de Horner.

• B.5 o código da função coeficientestehfest. Contém o método de cálculo do


coeficiente de Stehfest.

• B.6 o código da função stehfest. Contém o algoritmo de Stehfest. Chama a


função anterior para realizar o procedimento.

• B.7 o código da função TesteStehfest. Contém o método de validação do


algoritmo de Stehfest.

• B.8 o código da função TesteRNL. Contém o método de validação da regressão


não linear.
94

• B.9 o código da função FairRadialInfinito. Contém o modelo obtido do


comportamento da pressão de um reservatório radial infinito com poço cilíndrico
e efeitos película e estocagem de Fair, no campo de Laplace.

• B.10 o código da função FairDerivadaPermeabilidade. Contém a derivada


parcial em relação à permeabilidade do modelo.

• B.11 o código da função FairDerivadaEstocagem. Contém a derivada parcial


em relação ao coeficiente de estocagem do modelo.

• B.12 o código da função FairDerivadaSkin. Contém a derivada parcial em


relação ao fator de película do modelo.

• B.13 o código da função FairDerivadaCphi. Contém a derivada parcial em


relação ao termo Cphi do modelo.

• B.14 o código da função FairDerivadaAlpha. Contém a derivada parcial em


relação ao termo α do modelo.

• B.15 o código da função testederivadasFair. Contém a validação do


modelo desenvolvido.

• B.16 o código da função modeloFairRadialInfinito. Contém o modelo de Fair,


juntamente com suas derivadas.

• B.17 o código do programa principal.

Listagem B.1: Arquivo da função entradaDados.m.


f u n c t i o n [ a , b , d , d e l t a t , pws , pwf , t p ] = entradaDados ( a r q u i v o R e g i s t r a d o r , a r q u i v o V a r i a v e i s )

r e g i s t r a d o r = dlmread ( a r q u i v o R e g i s t r a d o r ) ; %L e i t u r a do a r q u i v o de t e x t o
t = registrador (: ,1) ’; %Pega toda a coluna e f a z a t r a n s p o s t a para s e r v e t o r l i n h a
p = registrador (: ,2) ’;

v a r i a v e i s = load ( arquivoVariaveis ) ;
sistema = f g e t l ( fopen ( a r q u i v o V a r i a v e i s ) ) ;

i f ( strcmp ( sistema ( 2 : 1 0 ) , ’ americano ’ ) ==1)


c1 = 0.00026374;
c2 = 1 4 1 . 2 ; % Constantes de unidade − O i l f i e l d
c3 = 0 . 8 9 3 6 ;
else
i f ( strcmp ( sistema ( 2 : 1 0 ) , ’ p e t r o b r a s ’ ) ==1)
c1 = 0.0003484;
c2 = 1 9 . 0 3 ; % Constantes de unidade − P e t r o b r a s
c3 = 1 / ( 2 * p i ) ;
else
c1 = 1 ;
c2 = 1 / ( 2 * p i ) ; % Constantes de unidade − Sistema I n t e r n a c i o n a l
c3 = 1 / ( 2 * p i ) ;
end
end
q = variaveis (1) ;
h = variaveis (2) ;
95

B = variaveis (3) ;
phi = variaveis (4) ;
ct = variaveis (5) ;
visc = variaveis (6) ;
rw = v a r i a v e i s ( 7 ) ;
pwf= v a r i a v e i s ( 8 ) ;
tp=variaveis (9) ;

a = h / ( c2 * q * B * v i s c ) ;
b = c1 / ( p h i * v i s c * c t * rw * rw ) ;
d = c3 / ( p h i * h * c t * rw * rw ) ;

d e l t a t ( l e n g t h ( t ) −1)=0; %Pré−alocação
pws ( l e n g t h ( t ) −1)=0; %Pré−alocação

for i =2:( length ( t ) )


d e l t a t ( i −1) = t ( i ) ;
pws ( i −1) = p ( i ) ;
end

i f ( t p ==0)
tp= d e l t a t ( length ( d e l t a t ) ) ;
end

end

Listagem B.2: Arquivo da função bourdet.m.


f u n c t i o n [ d er i v a d a p ] = b o u r d e t ( pwf , pws , d e l t a t , L )
% pwf Pressao de fechamento do poco
% pws Dados de Pressao medida
% d e l t a t Dados de tempo
% L Parametro que d e f i n e a d i s t a n c i a minima no e i x o l o g ( tempo )
%Pré−Alocações
d e l t a t L ( l e n g t h ( d e l t a t ) −1)=0;
d e l t a t R ( l e n g t h ( d e l t a t ) −1)=0;
d e l t a p L ( l e n g t h ( d e l t a t ) −1)=0;
deltapR ( l e n g t h ( d e l t a t ) −1)=0;
d e r i va d a p ( l e n g t h ( d e l t a t ) −2)=0;

i f ( pws ( 1 ) >pwf )
f o r i = 2 : ( l e n g t h ( d e l t a t ) −1)

d e l t a t L ( i −1) = l o g ( d e l t a t ( i ) / d e l t a t ( i −1) ) ;
d e l t a t R ( i −1) = l o g ( d e l t a t ( i +1) / d e l t a t ( i ) ) ;

f o r j = 1 : 1 : ( i −1)
i f ( d e l t a t L ( i −1)<L )
d e l t a t L ( i −1) = l o g ( d e l t a t ( i ) / d e l t a t ( i−j ) ) ;
end
end

f o r j = 1 : 1 : ( l e n g t h ( d e l t a t )−i )
i f ( d e l t a t R ( i −1)<L )
d e l t a t R ( i −1) = l o g ( d e l t a t ( i + j ) / d e l t a t ( i ) ) ;
end
end
d e l t a p L ( i −1) = pws ( i ) − pws ( i −1) ;
deltapR ( i −1) = pws ( i +1) − pws ( i ) ;
d e r i v ad a p ( i −1) = ( ( d e l t a t R ( i −1) * d e l t a p L ( i −1) / d e l t a t L ( i −1) ) + . . .
( d e l t a t L ( i −1) * deltapR ( i −1) / d e l t a t R ( i −1) ) ) / ( d e l t a t L ( i −1)+ d e l t a t R ( i −1) ) ;
end
end

i f ( pws ( 1 ) <pwf )

f o r i = 2 : ( l e n g t h ( d e l t a t ) −1)

d e l t a t L ( i −1) = l o g ( d e l t a t ( i ) / d e l t a t ( i −1) ) ;
d e l t a t R ( i −1) = l o g ( d e l t a t ( i +1) / d e l t a t ( i ) ) ;

f o r j = 1 : 1 : ( i −1)
i f ( d e l t a t L ( i −1)<L )
d e l t a t L ( i −1) = l o g ( d e l t a t ( i ) / d e l t a t ( i−j ) ) ;
end
96

end

f o r j = 1 : 1 : ( l e n g t h ( d e l t a t )−i )
i f ( d e l t a t R ( i −1)<L )
d e l t a t R ( i −1) = l o g ( d e l t a t ( i + j ) / d e l t a t ( i ) ) ;
end
end
d e l t a p L ( i −1) = pws ( i ) − pws ( i −1) ;
deltapR ( i −1) = pws ( i +1) − pws ( i ) ;
d e r i v ad a p ( i −1) = ( ( d e l t a t R ( i −1) * d e l t a p L ( i −1) / d e l t a t L ( i −1) ) + . . .
( d e l t a t L ( i −1) * deltapR ( i −1) / d e l t a t R ( i −1) ) ) / ( d e l t a t L ( i −1)+ d e l t a t R ( i −1) ) ;
end
end

Listagem B.3: Arquivo da função agarwal.m.


f u n c t i o n agarwal ( tp , d e l t a t , pws , pwf )
% t p Tempo de fechamento do poco
% d e l t a t Dados de tempo
% pws Dados de Pressao medida

deltate = tp * d e l t a t . / ( tp+ d e l t a t ) ;
i f ( t p == d e l t a t ( l e n g t h ( d e l t a t ) ) )
deltate=deltat ;
end
figure ;
p l o t 4 = l o g l o g ( d e l t a t e , ( pws−pwf ) , ’ ob ’ , ’ LineWidth ’ , 2 ) ;
%t i t l e ( ’ Pressao Vs . Tempo de Agarwal − Escala Log−Log ’ ) ;
x l a b e l ( ’ \ D e l t a t _ e ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; %legend ( ’ Dados Reais ’ ) ;
saveas ( p l o t 4 , ’ PressaoXTempo−Agarwal−LogLog . jpg ’ )
end

Listagem B.4: Arquivo da função horner.m.


f u n c t i o n h o r n e r ( tp , d e l t a t , pws , pwf )
% t p Tempo de fechamento do poco
% d e l t a t Dados de tempo
% pws Dados de Pressao medida
deltatp = log ( ( tp+ d e l t a t ) . / d e l t a t ) ;
figure ;
p l o t 3 = semilogx ( d e l t a t p , ( pws−pwf ) , ’ ob − ’ , ’ LineWidth ’ , 2 ) ;
%t i t l e ( ’ Pressao Vs . Tempo de Horner − Escala SemiLog ’ ) ;
x l a b e l ( ’ \ D e l t a t _ p ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; %legend ( ’ Dados Reais ’ ) ;
saveas ( p l o t 3 , ’ PressaoXTempo−Horner−Semilog . jpg ’ )

Listagem B.5: Arquivo da função coeficientestehfest.m.


function V = coeficientestehfest (n)
% V c o e f i c i e n t e do a l g o r i t m o de s t e h f e s t
% n número de c o e f i c i e n t e s no a l g o r í t m o de S t e h f e s t
V( n ) =0; %Pré−alocação
f o r i =1: n
V( i ) =0;
f o r k = f l o o r ( ( i +1) / 2 ) : min ( i , ( n / 2 ) )
V( i ) = V( i ) + ( ( k ^ ( 1 + ( n / 2 ) ) ) * f a c t o r i a l ( 2 * k ) ) / ( f a c t o r i a l ( ( n / 2 )−k ) * f a c t o r i a l ( k ) * f a c t o r i a l ( k ) * f a c t o r i a l ( i−k ) *
f a c t o r i a l (2* k − i ) ) ;
end
V( i ) = (−1) ^ ( i + ( n / 2 ) ) * V( i ) ;
end

Listagem B.6: Arquivo da função stehfestsimplesFair.m.


f u n c t i o n f = s t e h f e s t s i m p l e s F a i r ( f c t , V , d e l t a t , k , s , C, Cphi , alpha , a , b , d )
% f c t t r an s fo r ma d a de Laplace de f ( t )
97

% d e l t a t Dados de tempo
% f t r an s fo r ma d a i n v e r s a de F ( u )
f ( l e n g t h ( d e l t a t ) ) =0; %Pré−alocação
for j =1:1: length ( d e l t a t )
soma=0;
f o r i = 1 : 1 : l e n g t h (V)
u = i * log (2) / d e l t a t ( j ) ;
soma = soma+V( i ) * f c t ( k , s , C, Cphi , alpha , a , b , d , u ) ;
end
f ( j ) = ( l o g ( 2 ) / d e l t a t ( j ) ) * soma ;
end

Listagem B.7: Arquivo da função TesteStehfest.m.


clear a l l ;
close a l l ;
a r q u i v o R e g i s t r a d o r = ’ DadosRegistrador−SPE1 . t x t ’ ;
a r q u i v o V a r i a v e i s = ’ DadosVariaveis−SPE1 . t x t ’ ;
[ a , b , d , d e l t a t , pws , pwf , t p ] = entradaDados ( a r q u i v o R e g i s t r a d o r , a r q u i v o V a r i a v e i s ) ;
k =0; s =0; C=0; n =16;

V = coeficientestehfest (n) ;
f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo1 , V , d e l t a t , k , s , C, a , b , d ) ;
f R e a l = ones ( s i z e ( d e l t a t ) ) ;
figure ;
p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
axis ( [ 0 d e l t a t ( length ( d e l t a t ) ) 0.9 1 . 1 ] ) ;
axis ( [ 0 d e l t a t ( length ( d e l t a t ) ) 0.9 1 . 1 ] ) ;
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 1 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo2 , V , d e l t a t , k , s , C, a , b , d ) ;
f R e a l = exp ( a * d e l t a t ) ;
figure ;
p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 2 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo3 , V , d e l t a t , k , s , C, a , b , d ) ;
fReal = d e l t a t . ^ 2 ;
figure ;
p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 3 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

% f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo4 , V , d e l t a t , k , s , C, a , b , d ) ;
% fReal = sin ( a* d e l t a t ) ;
% figure ;
% p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
% x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
% s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
% legend ( ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ , ’ Função I n v e r t i d a Real ’ ) ;
e f 4 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo5 , V , d e l t a t , k , s , C, a , b , d ) ;
f R e a l = cos ( a * d e l t a t ) ;
figure ;
p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 5 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f T e s t e ) ) ;

% f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo6 , V , d e l t a t , k , s , C, a , b , d ) ;
% f R e a l = exp ( 0 . 0 1 * d e l t a t ) . * exp ( a * d e l t a t ) ;
% figure ;
% p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
% x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
% s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
98

% legend ( ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ , ’ Função I n v e r t i d a Real ’ ) ;


e f 6 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo7 , V , d e l t a t , k , s , C, a , b , d ) ;
fReal = b . * ( d e l t a t . ^ 3 ) ;
figure ;
p l o t ( d e l t a t ( 1 : l e n g t h ( d e l t a t ) ) , f T e s t e ( 1 : l e n g t h ( d e l t a t ) ) , ’−r ’ , d e l t a t ( 1 : l e n g t h ( d e l t a t ) ) , f R e a l ( 1 : l e n g t h ( d e l t a t ) ) , ’ ob ’ , ’
LineWidth ’ , 2 )
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 7 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

b=0.01;
f T e s t e = s t e h f e s t s i m p l e s ( @testeAlgoritmo8 , V , d e l t a t , k , s , C, a , b , d ) ;
f R e a l = s i n ( b * d e l t a t ) +cos ( b * d e l t a t ) ;
figure ;
p l o t ( d e l t a t , f T e s t e , ’−r ’ , d e l t a t , fReal , ’ ob ’ , ’ LineWidth ’ , 2 )
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) i n v e r t i d a ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Função I n v e r t i d a Real ’ , ’ Função I n v e r t i d a p e l o A l g o r i t m o ’ ) ;
e f 8 =max ( abs ( ( f T e s t e−f R e a l ) * 1 0 0 . / f R e a l ) ) ;

e f t =100−max ( [ e f 1 e f 2 e f 3 e f 4 e f 5 e f 6 e f 7 e f 8 ] )

Listagem B.8: Arquivo da função TesteRNL.m.


clear a l l ;
close a l l ;
fclose ( ’ all ’ ) ;

%SUPOSIÇÃO INICIAL
k =20; s =5; C= 0 . 2 ;
x0 = [ k s C ] ; x=x0 ’ ;
e =0.0001;
a =1; b =1; d =1;
l b = [ ] ; ub = [ ] ;
o p t i o n s = o p t i m s e t ( ’ Jacobian ’ , ’ on ’ , ’ A l g o r i t h m ’ , ’ levenberg−marquardt ’ , ’ ScaleProblem ’ , ’ Jacobian ’ ) ;
t e s t e =1;

%VALORES REAIS
%Teste 3
i f ( t e s t e ==3)
deltat =[0.1 ,0.25 ,0.5 ,0.6 ,0.7 ,0.8 ,0.9 ,1];
y =[12.0020010003334 , 27.0050062552116 , 52.0100250417188 , 77.0150563908891 , 102.020100334168 , 127.025156903081 ,
152.030226129231 , 177.035308044302 , 202.040402680054 , 227.045510068329 , 252.050630241049];
[ x1 ] = l s q n o n l i n ( @testeRNLModelo3 , x0 ’ , l b , ub , o p t i o n s ) ;
[ x3 ] = l s q c u r v e f i t ( @testeRNLModelo3a , x0 ’ , d e l t a t , y , l b , ub , o p t i o n s ) ;
[ x2 , i t , e r r o ] = GaussMarquardt ( x0 ’ , d e l t a t , y , e , a , b , d , d e l t a t , y ) ;
F1 = d e l t a t . * x1 ( 1 ) . ^ 2 + x1 ( 2 ) . * exp ( d e l t a t . * x1 ( 3 ) ) ;
F2 = d e l t a t . * x2 ( 1 ) . ^ 2 + x2 ( 2 ) . * exp ( d e l t a t . * x2 ( 3 ) ) ;
F3 = d e l t a t . * x3 ( 1 ) . ^ 2 + x3 ( 2 ) . * exp ( d e l t a t . * x3 ( 3 ) ) ;
else
%Teste 2
i f ( t e s t e ==2)
deltat =[0.1 ,0.25 ,0.5 ,0.6 ,0.7 ,0.8 ,0.9 ,1];
y = [ 1 . 2 2 1 4 , 1.6487 , 2.7183 , 3.3201 , 4.0552 , 4 . 9 5 3 0 , 6 . 0 4 9 6 , 7 . 3 8 9 1 ] ;
[ x1 ] = l s q n o n l i n ( @testeRNLModelo2 , x0 ’ , l b , ub , o p t i o n s ) ;
[ x3 ] = l s q c u r v e f i t ( @testeRNLModelo2a , x0 ’ , d e l t a t , y , l b , ub , o p t i o n s ) ;
[ x2 , i t , e r r o ] = GaussMarquardt ( x0 ’ , d e l t a t , y , e , a , b , d , d e l t a t , y ) ;
F1 = ( x1 ( 1 ) * x1 ( 3 ) * exp ( x1 ( 2 ) * d e l t a t ) ) ;
F2 = ( x2 ( 1 ) * x2 ( 3 ) * exp ( x2 ( 2 ) * d e l t a t ) ) ;
F3 = ( x3 ( 1 ) * x3 ( 3 ) * exp ( x3 ( 2 ) * d e l t a t ) ) ;
else
%Teste 1
deltat =[0.1 ,0.25 ,0.5 ,0.75 ,1 ,1.25 ,1.5 ,1.75 ,2 ,2.25 ,2.5];
%y = [ − 0 . 9 1 6 3 , 1 . 8 3 2 6 , 3 . 9 1 2 0 , 5 . 1 2 8 4 , 5 . 9 9 1 5 , 6 . 6 6 0 9 , 7 . 2 0 7 9 , 7 . 6 7 0 3 , 8 . 0 7 0 9 , 8 . 4 2 4 3 , 8 . 7 4 0 3 ] ;
y =[202.010033416834 , 205.063024104886 , 210.254219275205 , 215.576830176926 , 221.03418361513 , 226.629690613365 ,
232.366848545657 , 238.249243322472 , 244.280551632034 , 250.464543238373 , 256.805083337548];
[ x1 ] = l s q n o n l i n ( @testeRNLModelo1 , x0 ’ , l b , ub , o p t i o n s ) ;
[ x3 ] = l s q c u r v e f i t ( @testeRNLModelo1a , x0 ’ , d e l t a t , y , l b , ub , o p t i o n s ) ;
[ x2 , i t , e r r o ] = GaussMarquardt ( x0 ’ , d e l t a t , y , e , a , b , d , d e l t a t , y ) ;
%F1 = l o g ( d e l t a t . * ( a . * ( x1 ( 1 ) . ^ 3 ) ) + l o g ( d e l t a t . * b . * ( x1 ( 2 ) . ^ 2 ) ) ) + l o g ( d e l t a t . * d . * x1 ( 3 ) ) ;
%F2 = l o g ( d e l t a t . * ( a . * ( x2 ( 1 ) . ^ 3 ) ) + l o g ( d e l t a t . * b . * ( x2 ( 2 ) . ^ 2 ) ) ) + l o g ( d e l t a t . * d . * x2 ( 3 ) ) ;
%F3 = l o g ( d e l t a t . * ( a . * ( x3 ( 1 ) . ^ 3 ) ) + l o g ( d e l t a t . * b . * ( x3 ( 2 ) . ^ 2 ) ) ) + l o g ( d e l t a t . * d . * x3 ( 3 ) ) ;
99

F1 = ( x1 ( 1 ) * x1 ( 2 ) * l o g ( x1 ( 3 ) * d e l t a t ) ) ;
F2 = ( x2 ( 1 ) * x2 ( 2 ) * l o g ( x2 ( 3 ) * d e l t a t ) ) ;
F3 = ( x3 ( 1 ) * x3 ( 2 ) * l o g ( x3 ( 3 ) * d e l t a t ) ) ;
end
end
ef12=max ( abs ( ( F2−F1 ) * 1 0 0 . / F1 ) ) ;
ef23=max ( abs ( ( F2−F3 ) * 1 0 0 . / F3 ) ) ;
p l o t = p l o t ( d e l t a t , F1 , ’ ob ’ , d e l t a t , F2, ’ − r ’ , d e l t a t , F3 , ’ * g ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’ x ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ F ( x ) ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; legend ( ’ l s q n o n l i n ’ , ’ A l g o r i t m o Implementado ’ , ’ l s q c u r v e f i t ’ ) ;

%FIM

Listagem B.9: Arquivo da função FairRadialInfinito.m.


f u n c t i o n F = F a i r R a d i a l I n f i n i t o ( k , s , C, Cphi , alpha , a , b , d , u )
z = (u . / ( b*k ) ) . ^ 0 . 5 ;
numF = ( b / ( a * d . * u ) ) + (C * Cphi ) * (1 −(u . * alpha . / ( ( u . * alpha ) +1) ) ) ;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
F = numF . / denF ;

Listagem B.10: Arquivo da função FairDerivadaPermeabilidade.m.


f u n c t i o n F = F a i r D e r i v a d a P e r m e a b i l i d a d e ( k , s , C, Cphi , alpha , a , b , d , u )
z = (u / ( b*k ) ) ^0.5;
numF = ( b / ( a * d . * u ) ) + (C * Cphi ) * (1 −(u . * alpha . / ( ( u . * alpha ) +1) ) ) ;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
Func = numF . / denF ;
aux1 = ( b e s s e l k ( 1 , z ) +( z . * b e s s e l k ( 0 , z ) / 2 ) −((z . * b e s s e l k ( 1 , z ) / gama ) * ( b e s s e l k ( 1 , z ) +z . * b e s s e l k ( 0 , z ) * s ) ) ) ;
F = (−Func * aux1 ) . / ( k * b e s s e l k ( 1 , z ) + ( ( u . * d * C * gama ) / ( b * z ) ) ) ;

Listagem B.11: Arquivo da função FairDerivadaEstocagem.m.


f u n c t i o n F = FairDerivadaEstocagem ( k , s , C, Cphi , alpha , a , b , d , u )
Cphi =500;
a l f a =6;
z = (u / ( b*k ) ) ^0.5;
numF = ( b / ( a * d . * u ) ) + (C * Cphi ) * (1 −(u . * alpha . / ( ( u . * alpha ) +1) ) ) ;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
Func = numF . / denF ;
F = ( Cphi−(Cphi * u . * alpha . / ( ( u . * alpha ) +1) )−u . * Func ) . / denF ;

Listagem B.12: Arquivo da função FairDerivadaSkin.m.


f u n c t i o n F = F a i r D e r i v a d a S k i n ( k , s , C, Cphi , alpha , a , b , d , u )
z = (u / ( b*k ) ) ^0.5;
numF = ( b / ( a * d . * u ) ) + (C * Cphi ) * (1 −(u . * alpha . / ( ( u . * alpha ) +1) ) ) ;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
Func = numF . / denF ;
F = ( z . * z . * b e s s e l k ( 1 , z ) * b e s s e l k ( 1 , z ) * Func ) / ( gama . * z . * b e s s e l k ( 1 , z ) + d * C * gama . * gama . * u . / ( b * k ) ) ;

.
100

Listagem B.13: Arquivo da função FairDerivadaCphi.m.


f u n c t i o n F = F a i r D e r i v a d a C p h i ( k , s , C, Cphi , alpha , a , b , d , u )
z = (u / ( b*k ) ) ^0.5;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
F = C / ( ( u . * alpha +1) . * ( denF ) ) ;

Listagem B.14: Arquivo da função FairDerivadaAlpha.m.


f u n c t i o n F = F a i r D e r i v a d a A l p h a ( k , s , C, Cphi , alpha , a , b , d , u )
z = (u / ( b*k ) ) ^0.5;
gama = b e s s e l k ( 0 , z ) + ( z . * s . * b e s s e l k ( 1 , z ) ) ;
denF = b * k * z . * b e s s e l k ( 1 , z ) . / ( d * gama ) + u . * C;
F = (−u . * C * Cphi ) . / ( ( ( u . * alpha +1) . * ( u . * alpha +1) ) . * ( denF ) ) ;

Listagem B.15: Arquivo da função testederivadasFair.


f u n c t i o n [ dFdk , d i f f F d k , dFds , d i f f F d s , dFdC , d i f f F d C , dFdCphi , d i f f F d C p h i , dFdalpha , d i f f F d a l p h a ] = t e s t e d e r i v a d a s F a i r ( f c t , der1 , der2 ,
der3 , der4 , der5 , a , b , d )

%Permeabilidade
k =1:10:200;
s =2;
C= 0 . 0 2 ;
Cphi =500;
alpha =6;

dk = ( k ( l e n g t h ( k ) )−k ( 1 ) ) / ( l e n g t h ( k ) −1) ;

%Pré−alocações
dFdk ( l e n g t h ( k ) ) =0;
d i f f F d k ( l e n g t h ( k ) −1)=0;

for u = 0.1:0.1:1;
for i =1:1: length ( k )
dFdk ( i ) = der1 ( k ( i ) , s , C, Cphi , alpha , a , b , d , u ) ;
i f ( i ==2)
d i f f F d k ( i −1) = ( f c t ( k ( i ) , s , C, Cphi , alpha , a , b , d , u )−f c t ( k ( i −1) , s , C, Cphi , alpha , a , b , d , u ) ) / dk ; %Derivada avançada , não
utilizada
end
i f ( i >2)
d i f f F d k ( i −1) = ( f c t ( k ( i ) , s , C, Cphi , alpha , a , b , d , u )−f c t ( k ( i −2) , s , C, Cphi , alpha , a , b , d , u ) ) / ( 2 * dk ) ; %Derivada c e n t r a d a
end
end
i f ( u==0.1)
figure ;
p l o t ( k , dFdk , ’ − ’ , k ( 2 : ( l e n g t h ( k ) −1) ) , d i f f F d k ( 2 : l e n g t h ( d i f f F d k ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’ k (md) ’ , ’ FontSize ’ , 2 0 ) ;
y l a b e l ( ’ \ p a r t i a l P _ { wf } / \ p a r t i a l k ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Derivada Numérica ’ , ’ Derivada por d i f e r e n ç a s f i n i t a s ’ ) ;
else
hold a l l ;
p l o t ( k , dFdk , ’ − ’ , k ( 2 : ( l e n g t h ( k ) −1) ) , d i f f F d k ( 2 : l e n g t h ( d i f f F d k ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
end
end
legend ( ’ u = 0 . 1 ’ , ’ u = 0 . 1 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 5 ’ , ’ u = 0 . 5 ’ , . . .
’u=0.6 ’ , ’u=0.6 ’ , ’u=0.7 ’ , ’u=0.7 ’ , ’u=0.8 ’ , ’u=0.8 ’ , ’u=0.9 ’ , ’u=0.9 ’ , ’u=1.0 ’ , ’u=1.0 ’) ;

%F a t o r P e l i c u l a
k =20;
s =1:1:20;
C= 0 . 0 2 ;
Cphi =500;
alpha =6;

ds = ( s ( l e n g t h ( s ) )−s ( 1 ) ) / ( l e n g t h ( s ) −1) ;

%Pré−alocações
d i f f F d s ( l e n g t h ( s ) −1)=0;
101

dFds ( l e n g t h ( s ) ) =0;

for u = 0.1:0.1:1;
for i =1:1: length ( s )
dFds ( i ) = der2 ( k , s ( i ) ,C, Cphi , alpha , a , b , d , u ) ;
i f ( i ==2)
d i f f F d s ( i −1) = ( f c t ( k , s ( i ) ,C, Cphi , alpha , a , b , d , u )−f c t ( k , s ( i −1) ,C, Cphi , alpha , a , b , d , u ) ) / ds ; %Derivada avançada , não
utilizada
end
i f ( i >2)
d i f f F d s ( i −1) = ( f c t ( k , s ( i ) ,C, Cphi , alpha , a , b , d , u )−f c t ( k , s ( i −2) ,C, Cphi , alpha , a , b , d , u ) ) / ( 2 * ds ) ; %Derivada c e n t r a d a
end
end
i f ( u==0.1)
figure ;
p l o t ( s , dFds , ’ − ’ , s ( 2 : ( l e n g t h ( s ) −1) ) , d i f f F d s ( 2 : l e n g t h ( d i f f F d s ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’ S ’ , ’ FontSize ’ , 2 0 ) ;
y l a b e l ( ’ \ p a r t i a l P _ { wf } / \ p a r t i a l S ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Derivada Numérica ’ , ’ Derivada por d i f e r e n ç a s f i n i t a s ’ ) ;
else
hold a l l ;
p l o t ( s , dFds , ’ − ’ , s ( 2 : ( l e n g t h ( s ) −1) ) , d i f f F d s ( 2 : l e n g t h ( d i f f F d s ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
end
end
legend ( ’ u = 0 . 1 ’ , ’ u = 0 . 1 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 5 ’ , ’ u = 0 . 5 ’ , . . .
’u=0.6 ’ , ’u=0.6 ’ , ’u=0.7 ’ , ’u=0.7 ’ , ’u=0.8 ’ , ’u=0.8 ’ , ’u=0.9 ’ , ’u=0.9 ’ , ’u=1.0 ’ , ’u=1.0 ’) ;

%CoefEstocagem
k =20;
s =2;
C= 0 . 0 1 : 0 . 0 1 : 0 . 2 0 ;
Cphi =500;
alpha =6;

dC = (C( l e n g t h (C) )−C( 1 ) ) / ( l e n g t h (C) −1) ;

%Pré−alocações
d i f f F d C ( l e n g t h (C) −1)=0;
dFdC ( l e n g t h (C) ) =0;

for u = 0.1:0.1:1;
f o r i = 1 : 1 : l e n g t h (C)
dFdC ( i ) = der3 ( k , s ,C( i ) , Cphi , alpha , a , b , d , u ) ;
i f ( i ==2)
d i f f F d C ( i −1) = ( f c t ( k , s ,C( i ) , Cphi , alpha , a , b , d , u )−f c t ( k , s ,C( i −1) , Cphi , alpha , a , b , d , u ) ) / dC ; %Derivada avançada , não
utilizada
end
i f ( i >2)
d i f f F d C ( i −1) = ( f c t ( k , s ,C( i ) , Cphi , alpha , a , b , d , u )−f c t ( k , s ,C( i −2) , Cphi , alpha , a , b , d , u ) ) / ( 2 * dC ) ; %Derivada c e n t r a d a
end
end
i f ( u==0.1)
figure ;
p l o t (C, dFdC, ’ − ’ ,C ( 2 : ( l e n g t h (C) −1) ) , d i f f F d C ( 2 : l e n g t h ( d i f f F d C ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’C ( b b l / p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
y l a b e l ( ’ \ p a r t i a l P _ { wf } / \ p a r t i a l C ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Derivada Numérica ’ , ’ Derivada por d i f e r e n ç a s f i n i t a s ’ ) ;
else
hold a l l ;
p l o t (C, dFdC, ’ − ’ ,C ( 2 : ( l e n g t h (C) −1) ) , d i f f F d C ( 2 : l e n g t h ( d i f f F d C ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
end
end
legend ( ’ u = 0 . 1 ’ , ’ u = 0 . 1 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 5 ’ , ’ u = 0 . 5 ’ , . . .
’u=0.6 ’ , ’u=0.6 ’ , ’u=0.7 ’ , ’u=0.7 ’ , ’u=0.8 ’ , ’u=0.8 ’ , ’u=0.9 ’ , ’u=0.9 ’ , ’u=1.0 ’ , ’u=1.0 ’) ;

%Cphi
k =20;
s =2;
C= 0 . 0 2 ;
Cphi =10:100:2000;
alpha =6;
102

dCphi = ( Cphi ( l e n g t h ( Cphi ) )−Cphi ( 1 ) ) / ( l e n g t h ( Cphi ) −1) ;

%Pré−alocações
d i f f F d C p h i ( l e n g t h ( Cphi ) −1)=0;
dFdCphi ( l e n g t h ( Cphi ) ) =0;

for u = 0.1:0.1:1;
f o r i = 1 : 1 : l e n g t h ( Cphi )
dFdCphi ( i ) = der4 ( k , s , C, Cphi ( i ) , alpha , a , b , d , u ) ;
i f ( i ==2)
d i f f F d C p h i ( i −1) = ( f c t ( k , s , C, Cphi ( i ) , alpha , a , b , d , u )−f c t ( k , s , C, Cphi ( i −1) , alpha , a , b , d , u ) ) / dCphi ; %Derivada avançada ,
não u t i l i z a d a
end
i f ( i >2)
d i f f F d C p h i ( i −1) = ( f c t ( k , s , C, Cphi ( i ) , alpha , a , b , d , u )−f c t ( k , s , C, Cphi ( i −2) , alpha , a , b , d , u ) ) / ( 2 * dCphi ) ; %Derivada
centrada
end
end
i f ( u==0.1)
figure ;
p l o t ( Cphi , dFdCphi , ’ − ’ , Cphi ( 2 : ( l e n g t h ( Cphi ) −1) ) , d i f f F d C p h i ( 2 : l e n g t h ( d i f f F d C p h i ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’ C_ { \ p h i } ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
y l a b e l ( ’ \ p a r t i a l P _ { wf } / \ p a r t i a l C _ { \ p h i } ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Derivada Numérica ’ , ’ Derivada por d i f e r e n ç a s f i n i t a s ’ ) ;
else
hold a l l ;
p l o t ( Cphi , dFdCphi , ’ − ’ , Cphi ( 2 : ( l e n g t h ( Cphi ) −1) ) , d i f f F d C p h i ( 2 : l e n g t h ( d i f f F d C p h i ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
end
end
legend ( ’ u = 0 . 1 ’ , ’ u = 0 . 1 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 5 ’ , ’ u = 0 . 5 ’ , . . .
’u=0.6 ’ , ’u=0.6 ’ , ’u=0.7 ’ , ’u=0.7 ’ , ’u=0.8 ’ , ’u=0.8 ’ , ’u=0.9 ’ , ’u=0.9 ’ , ’u=1.0 ’ , ’u=1.0 ’) ;

%Alpha
k =20;
s =2;
C= 0 . 0 2 ;
Cphi =500;
alpha = 0 : 0 . 5 : 1 0 ;

dalpha = ( alpha ( l e n g t h ( alpha ) )−alpha ( 1 ) ) / ( l e n g t h ( alpha ) −1) ;

%Pré−alocações
d i f f F d a l p h a ( l e n g t h ( alpha ) −1)=0;
dFdalpha ( l e n g t h ( alpha ) ) =0;

for u = 0.1:0.1:1;
f o r i = 1 : 1 : l e n g t h ( alpha )
dFdalpha ( i ) = der5 ( k , s , C, Cphi , alpha ( i ) , a , b , d , u ) ;
i f ( i ==2)
d i f f F d a l p h a ( i −1) = ( f c t ( k , s , C, Cphi , alpha ( i ) , a , b , d , u )−f c t ( k , s , C, Cphi , alpha ( i −1) , a , b , d , u ) ) / dalpha ; %Derivada
avançada , não u t i l i z a d a
end
i f ( i >2)
d i f f F d a l p h a ( i −1) = ( f c t ( k , s , C, Cphi , alpha ( i ) , a , b , d , u )−f c t ( k , s , C, Cphi , alpha ( i −2) , a , b , d , u ) ) / ( 2 * dalpha ) ; %Derivada
centrada
end
end
i f ( u==0.1)
figure ;
p l o t ( alpha , dFdalpha , ’ − ’ , alpha ( 2 : ( l e n g t h ( alpha ) −1) ) , d i f f F d a l p h a ( 2 : l e n g t h ( d i f f F d a l p h a ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
x l a b e l ( ’ \ alpha ( horas ) ’ , ’ FontSize ’ , 2 0 ) ;
y l a b e l ( ’ \ p a r t i a l P _ { wf } / \ p a r t i a l \ alpha ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
legend ( ’ Derivada Numérica ’ , ’ Derivada por d i f e r e n ç a s f i n i t a s ’ ) ;
else
hold a l l ;
p l o t ( alpha , dFdalpha , ’ − ’ , alpha ( 2 : ( l e n g t h ( alpha ) −1) ) , d i f f F d a l p h a ( 2 : l e n g t h ( d i f f F d a l p h a ) ) , ’ * ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
end
end
legend ( ’ u = 0 . 1 ’ , ’ u = 0 . 1 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 2 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 3 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 4 ’ , ’ u = 0 . 5 ’ , ’ u = 0 . 5 ’ , . . .
’u=0.6 ’ , ’u=0.6 ’ , ’u=0.7 ’ , ’u=0.7 ’ , ’u=0.8 ’ , ’u=0.8 ’ , ’u=0.9 ’ , ’u=0.9 ’ , ’u=1.0 ’ , ’u=1.0 ’) ;
103

Listagem B.16: Arquivo da função modeloFairRadialInfinito.m.


f u n c t i o n [ F , J ] = m o d e l o F a i r R a d i a l I n f i n i t o ( x , xdata )

a r q u i v o R e g i s t r a d o r = ’ DadosRegistrador−F a i r 1 . t x t ’ ;
a r q u i v o V a r i a v e i s = ’ DadosVariaveis−F a i r 1 . t x t ’ ;
[ a , b , d , d e l t a t , pws , t p ] = entradaDados ( a r q u i v o R e g i s t r a d o r , a r q u i v o V a r i a v e i s ) ;
%d e l t a t = t p * d e l t a t . / ( t p + d e l t a t ) ;
n =16;
V = coeficientestehfest (n) ;

F = s t e h f e s t s i m p l e s F a i r ( @ F a i r R a d i a l I n f i n i t o , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;

d f d k = s t e h f e s t s i m p l e s F a i r ( @FairDerivadaPermeabilidade , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
d f d s = s t e h f e s t s i m p l e s F a i r ( @FairDerivadaSkin , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
dfdC = s t e h f e s t s i m p l e s F a i r ( @FairDerivadaEstocagem , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
dfdCphi = s t e h f e s t s i m p l e s F a i r ( @FairDerivadaCphi , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
dfdAlpha = s t e h f e s t s i m p l e s F a i r ( @FairDerivadaAlpha , V , xdata , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;

J = [ dfdk ’ , dfds ’ , dfdC ’ , dfdCphi ’ , dfdAlpha ’ ] ;


fclose ( ’ all ’ ) ;
end

Listagem B.17: Arquivo da função ProgramaPrincipalFair.m.


%INTERPRETACAO TESTES DE PRESSAO
clear a l l ; close a l l ; fclose ( ’ a l l ’ ) ;

a r q u i v o R e g i s t r a d o r = ’ DadosRegistrador−SPE1 . t x t ’ ;
a r q u i v o V a r i a v e i s = ’ DadosVariaveis−SPE1 . t x t ’ ;
[ a , b , d , d e l t a t , pws , pwf , t p ] = entradaDados ( a r q u i v o R e g i s t r a d o r , a r q u i v o V a r i a v e i s ) ;
% tD = b * d e l t a t ; pD = a * pws ;
L = 0 . 1 ; %Parametro que d e f i n e a d i s t a n c i a minima no e i x o l o g ( tempo )
%d e l t a t = t p * d e l t a t . / ( t p + d e l t a t ) ;
%GERAÇÃO DE GRÁFICOS DE COMPORTAMENTO PRESSÃO X TEMPO
% figure ; % p l o t 1 = p l o t ( d e l t a t , pws , ’ ob ’ , ’ LineWidth ’ , 2 ) ;
% x l a b e l ( ’ t ( horas ) ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
% s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
% saveas ( p l o t 1 , ’ PressaoXTempo . jpg ’ )
% figure ;
% l o g l o g ( d e l t a t , ( pws−pwf ) , ’ ob ’ , d e l t a t ( 2 : l e n g t h ( d e l t a t ) −1) , b o u r d e t ( pwf , pws , d e l t a t , L ) , ’ * r ’ , ’ LineWidth ’ , 2 ) ; %funcao que c a l c u l a
d e r i v a d a de Bourdet
% x l a b e l ( ’ t ( horas ) ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
% s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; legend ( ’ Dados Reais ’ , ’ Derivada dos Dados ’ ) ;
% h o r n e r ( tp , d e l t a t , pws , pwf ) ;
% agarwal ( tp , d e l t a t , pws , pwf ) ;

%COMPARAÇÃO ENTRE DERIVADA NUMÉRICA E DIFERENÇAS FINITAS


%[dFdk , d i f f F d k , dFds , d i f f F d s , dFdC , d i f f F d C , dFdCphi , d i f f F d C p h i , dFdalpha , d i f f F d a l p h a ] = t e s t e d e r i v a d a s F a i r ( @ F a i r R a d i a l I n f i n i t o ,
@FairDerivadaPermeabilidade , . . .
% @FairDerivadaSkin ,
@FairDerivadaEstocagem , @FairDerivadaCphi , @FairDerivadaAlpha , a , b , d ) ;
%SUPOSIÇÃO INICIAL
k =100; s =1; C= 0 . 0 1 ; Cphi =1000; alpha =1;
x0 = [ k s C Cphi alpha ] ;
%x0 ( 1 , 1 ) = i n p u t ( ’ I n f o r m e a e s t i m a t i v a i n i c i a l da Permeabilidade : ’) ;
%x0 ( 1 , 2 ) = i n p u t ( ’ I n f o r m e a e s t i m a t i v a i n i c i a l do f a t o r de p e l í c u l a : ’) ;
%x0 ( 1 , 3 ) = i n p u t ( ’ I n f o r m e a e s t i m a t i v a i n i c i a l do C o e f i c i e n t e de Estocagem : ’) ;
%x0 ( 1 , 4 ) = i n p u t ( ’ I n f o r m e a e s t i m a t i v a i n i c i a l do parâmetro Cphi : ’) ;
%x0 ( 1 , 5 ) = i n p u t ( ’ I n f o r m e a e s t i m a t i v a i n i c i a l do parâmetro alpha : ’) ;
x=x0 ’ ; e =0.000001;

%REGRESSÃO NÃO−LINEAR
%l b = [ 0 0 0 0 0 ] ; ub= [1000 30 1 5000 1 0 0 ] ;
l b = [ ] ; ub= [ ] ;
%o p t i o n s = o p t i m s e t ( ’ LargeScale ’ , ’ o f f ’ , ’ Jacobian ’ , ’ on ’ , ’ A l g o r i t h m ’ , ’ levenberg−marquardt ’ ) ;
o p t i o n s = o p t i m s e t ( ’ A l g o r i t h m ’ , ’ levenberg−marquardt ’ , ’ Jacobian ’ , ’ on ’ , ’ ScaleProblem ’ , ’ Jacobian ’ , ’ LargeScale ’ , ’ o f f ’ ) ;
[ x , resnorm , r e s i d u a l , e x i t f l a g , o u t p u t , lambda , j a c o b i a n ] = l s q c u r v e f i t ( @ m o d e l o F a i r R a d i a l I n f i n i t o , x , d e l t a t , pws , l b , ub , o p t i o n s ) ;
%[x ] = GaussMarquardt ( x , d e l t a t , pws , e , a , b , d , d e l t a t , pws ) ;

%MOSTRANDO NA TELA OS VALORES CALCULADOS


% d i s p ( ’ Os v a l o r e s f i n a i s a j u s t a d o s para os parâmetros são : ’)
% f p r i n t f ( ’ Permeabilidade k = %.4 f \ n ’ , x ( 1 ) ’ )
% f p r i n t f ( ’ F a t o r de P e l í c u l a S = %.4 f \ n ’ , x (2) ’)
% f p r i n t f ( ’ C o e f i c i e n t e de Estocagem C = %.4 f \ n ’ , x (3) ’)
104

% f p r i n t f ( ’ Parâmetro Cphi = %.4 f \ n ’ , x (4) ’)


% f p r i n t f ( ’ Parâmetro alpha = %.4 f \ n ’ , x (5) ’)

%GERACAO DE ARQUIVO DE SAIDA


% f i d = fopen ( ’ Parametros_Perm_Dano_Estoc . t x t ’ , ’ wt ’ ) ;
% f p r i n t f ( f i d , ’ Permeabilidade : %6f \ nDano : %6f \ nEstocagem : %6f \ nCphi : %6f \ nAlpha : %6f \ n ’ , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) ) ;
% fclose ( f i d ) ;
k=x ( 1 ) ; s=x ( 2 ) ; C=x ( 3 ) ; Cphi=x ( 4 ) ; alpha=x ( 5 ) ;

% GRÁFICO COEF. STEHFEST


% n =16; V= c o e f i c i e n t e s t e h f e s t ( n ) ;
% display (V ’ ) ; f i g u r e ;
% C o e f i c i e n t e S t e h f e s t = p l o t ( V , ’ LineWidth ’ , 2 ) ;
% x l a b e l ( ’ V_ { s t e h f e s t } ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ Valor ’ , ’ FontSize ’ , 2 0 ) ; s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ;
% saveas ( C o e f i c i e n t e S t e h f e s t , ’ C o e f i c i e n t e S t e h f e s t . jpg ’ ) ;

%GERAÇÃO DE GRÁFICOS DE PRESSÃO X TEMPO DO MODELO AJUSTADO


n =16; V= c o e f i c i e n t e s t e h f e s t ( n ) ; pwf =0;
Fmodelo= s t e h f e s t s i m p l e s F a i r ( @ F a i r R a d i a l I n f i n i t o , V , d e l t a t , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
figure ;
l o g l o g ( d e l t a t , ( pws−pwf ) , ’ ob ’ , d e l t a t ( 2 : l e n g t h ( d e l t a t ) −1) , b o u r d e t ( pwf , pws , d e l t a t , L ) , ’ og ’ , ’ LineWidth ’ , 2 ) ;
h o l d on ;
l o g l o g ( d e l t a t , ( Fmodelo−pwf ) ,’− r ’ , d e l t a t ( 2 : l e n g t h ( d e l t a t ) −1) , b o u r d e t ( pwf , Fmodelo , d e l t a t , L ) ,’−k ’ , ’ LineWidth ’ , 2 ) ;
h o l d on ;
%F t e s t e = s t e h f e s t s i m p l e s F a i r ( @ F a i r R a d i a l I n f i n i t o D e r i v a d a , V , d e l t a t , x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) , a , b , d ) ;
%l o g l o g ( d e l t a t ( 2 : l e n g t h ( d e l t a t ) −1) , F t e s t e ( 2 : l e n g t h ( d e l t a t ) −1),’−y ’ , ’ LineWidth ’ , 2 ) ;
hold o f f ;
x l a b e l ( ’ t ( horas ) ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; legend ( ’ Dados de campo ’ , ’ Derivada dados de campo ’ , ’ Função modelo ’ , ’ Derivada função modelo ’ ) ;

f i g u r e ; deltatp = log ( ( tp+ d e l t a t ) . / d e l t a t ) ;


semilogx ( d e l t a t p , pws , ’ ob − ’ , d e l t a t p , Fmodelo , ’ − r ’ , ’ LineWidth ’ , 2 ) ;
%t i t l e ( ’ Pressao Vs . Tempo de Horner − Escala SemiLog ’ ) ;
x l a b e l ( ’ \ D e l t a t _ p ’ , ’ FontSize ’ , 2 0 ) ; y l a b e l ( ’ \ DeltaP ( p s i ) ’ , ’ FontSize ’ , 2 0 ) ;
s e t ( gca , ’ f o n t s i z e ’ , 1 5 ) ; legend ( ’ Dados de campo ’ , ’ Função Modelo ’ ) ;
%saveas ( p l o t 2 , ’ PressaoXTempo−Bourdet−LogLog . jpg ’ )

%FIM DO PROGRAMA PRINCIPAL


105

APÊNDICE C -- Sistemas de Unidades

Os sistemas de unidades são padrões de unidades para cada variável. As unidades


utilizadas por cada sistema estão mostradas na Tabela 13. Os coeficientes e
variáveis adimensionais estão presentes da Tabela 14.

Tabela 13: Sistemas de Unidades.


Parâmetro SI Americano/Oilfield Brasileiro/Petrobras
kgf
Pressão (Pwf , Pi , 4Pskin ) Pascal (Pa) psi cm²
m3 m3
Vazão (qo ) s barril/dia ( bbl
d ) d

Comprimento (rw , h) metros (m) pés (ft) metros (m)

Permeabilidade (k) m² milidarcy (md) milidarcy (md)


cm2
Compressibilidade (c) Pa−1 psi−1 kgf

Tempo (t) segundos (s) horas (h) horas (h)


m³ bbl m³
Coeficiente de Estocagem (C) Pa psi kgf
cm2

Viscosidade (µ) Pa.s centipoises (cp) centipoises (cp)

Fator Volume-Formação (B) m³ bbl m³


m³ STD STB m³ STD

Tabela 14: Variáveis adimensionais.


Variável Adimensional Coeficiente SI Americano/Oilfield Brasileiro/Petrobras
C1 kt
tD =φµct rw2 C1 1 0.0002637 0.0003484
kh4P 1
PD = C2 qBµ C2 2π 141.2 19.03
C3 C 1 1
CD = φhc t rw
2 C3 2π 0, 8936 2π
r
rD = rw - - - -
khCφ 1
CφD = C2 qBµ C2 2π 141.2 19.03
C1 kα
αD = φµc 2
t rw
C1 1 0.0002637 0.0003484
106

Índice Remissivo

Área, xv Dano, 11, 12


dedicação, iv
Abbaszadeh, 6
Dedicatória, iv
Abstract, xx
Derivada Estocagem, 32, 99
Acrônimos, xvii
Derivada Fator de Película, 32
Agarwal, 18, 96
Derivada Permeabilidade, 32, 99
Agradecimentos, v
Derivada Skin, 99
Ajuda, 92
Derivada Total, xv
Alfabeto Grego, xvi
Diagrama, 47
Alfabeto Latino, xv
Difusividade Hidráulica, 23
Algoritmo, 38, 58
Algoritmo de Stehfest, xix EDH, 23
Altura, xv Eficiência de Fluxo, 9
Análises, 58 Entrada de Dados, 94
Apêndice, 87, 93 Epígrafe, vi
Arquivos de Entrada, 87 Equação da Difusividade Hidráulica,
Arquivos de Saída, 89 xviii
Autor, i Equação de Continuidade, 23
Bessel, xv, 29 Equação de Darcy, 24
Biografia, ii Equação de Estado, 24
Bourdet, 17, 19, 95 Escopo do Problema, 1
Espessura, xv
Código-Fonte, 93 Estocagem, 12, 13, 25, 65, 105
Carvalho, 6 Estocagem Variável, 33, 71
Chapman, 51 Everdigen, 38
Cheng, 38 Exponencial Integral, xv
Coeficiente de Estocagem, xv
Coeficiente de Stehfest, 39, 55 Fair, 1, 19, 33, 71, 99, 100
Comissão Examinadora, i Fator de Película, xv, 11, 12
Compressibilidade, xv, 105 Fator Volume Formação, xv
Comprimento, xv, 105 Folha de Aprovação, i
Computacional, 47 Formation Tests, xx
Conclusões, 82 Formulação, 47
Condição de Contorno, xviii Formulação Matemática, 23
Condição Inicial, xviii Função-objetivo, 41
Configuração, 90
Conservação de Massa, 23 Gauss-Marquardt, 43
Considerações Finais, 82 Gauss-Newton, 42
Curvas-Tipo, 15 Gradiente, 42

Dados, 53, 54 Hessiana, 41


107

Horner, 14, 50, 96 Programa-Teste, 50


Programador, 91
Introdução, 1
iterações, 56 Radial, 65, 71
Radial Infinito, 25, 33, 65, 71, 99
Jacobiana, xv
Raio, xv
Jacobiano, 40
Regressão Não Linear, xix
Kamal, 6, 13 Regressão Não-Linear, 39
Keywords, xx Resultados, 58, 74
Resultados e Análises, 58
Laplace, 58 Resumo, xix
Lee, 9 Revisão Bibliográfica, 6
Levenberg-Marquardt, 43 Rosa, 6, 9
Listagens, 93
Símbolos, xvii
Método das Derivadas, 17, 55 Sistema Internacional, 88, 105
Método de Newton, 41 Sistema Oilfield, 88
Métodos convencionais, 14 Sistema Petrobras, 88
Mínimos Quadrados, 41 Sistemas de Unidades, 88, 105
Magrab, 51 Sobrescrito, xvii
Manual, 91 Society of Petroleum Engineers, xviii
Manual do Programa, 87 Solução, 30
Marquardt, 43 Stegemeier, 6
Massa, xv Stehfest, 38, 58, 96
Matlab, xviii, 3 Stehfest algorithm, xx
Matsumoto, 51 Stock Tank Barrel, xviii
Matthews, 24 Sub-índices, xvi
Mazucheli, 43 Super-índices, xvii
Nomenclatura, xv
Título, i, xix
Nonlinear regression, xx
Tabela, 29, 39, 58, 105
Notação, 39
Tempo, 105
Objetivos, 4 Testes, 65
Objetivos gerais, 4 Testes de Formação, xix
Oilfield, 105 Testes de pressão, 8
Organização do Documento, 4 Thomas, 8
Tipos de Testes, 10
Palavras-chave, xix Title, xx
Palm, 51 Transformada de Laplace, 39
Película, 25, 33, 65, 71
Peres, 7 Validação, 58, 65, 71
Permeabilidade, xv, 11, 105 Variáveis Adimensionais, 105
Petrobras, 105 Vazão, xv, 105
Poço cilíndrico, 25, 33, 65, 71 Vidal, 6
Prefácio, iii Vieira, 6, 39
Pressão, 105 Viscosidade, 105
Pressão adimensional, 30 Volume-Formação, 105

Оценить