desenvolvimento de ferramentas computacionais em … · 2018-12-19 · objetivo de construir um...

274
UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA DEPARTAMENTO DE ENGENHARIA QUÍMICA E DE PETRÓLEO CURSO DE ENGENHARIA DE PETRÓLEO MARCO AURÉLIO NUNES DE FARIA DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM EXCEL-VBA PARA GERENCIAMENTO SIMPLIFICADO DE RESERVATÓRIOS DE GÁS NITERÓI, RJ 2018

Upload: others

Post on 20-Apr-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

UNIVERSIDADE FEDERAL FLUMINENSE

ESCOLA DE ENGENHARIA

DEPARTAMENTO DE ENGENHARIA QUÍMICA E DE PETRÓLEO

CURSO DE ENGENHARIA DE PETRÓLEO

MARCO AURÉLIO NUNES DE FARIA

DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM EXCEL-VBA

PARA GERENCIAMENTO SIMPLIFICADO DE RESERVATÓRIOS DE GÁS

NITERÓI, RJ

2018

Page 2: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

MARCO AURÉLIO NUNES DE FARIA

DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM EXCEL-VBA

PARA GERENCIAMENTO SIMPLIFICADO DE RESERVATÓRIOS DE GÁS

Trabalho de Conclusão de Curso apresentado

ao Corpo Docente do Departamento de

Engenharia Química e de Petróleo da Escola de

Engenharia da Universidade Federal

Fluminense, como parte dos requisitos

necessários à obtenção do título de Engenheiro

de Petróleo.

Orientador:

Prof. Dr. João Felipe Mitre de Araujo

Niterói, RJ

2018

Page 3: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

AUTORIZO A REPRODUÇÃO E DIVULGAÇÃO TOTAL OU PARCIAL DESTE

TRABALHO, POR QUALQUER MEIO CONVENCIONAL OU ELETRÔNICO, PARA

FINS DE ESTUDO E PESQUISA, DESDE QUE CITADA A FONTE.

FICHA CATALOGRÁFICA GERADA EM:

http://www.bibliotecas.uff.br/bee/ficha-catalografica

Page 4: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento
Page 5: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

Dedico este trabalho à minha facelida avó,

Magaly Buonocore Nunes, que não pode estar

aqui para realizar mais uma etapa de seu sonho

de ver todos os netos formados.

Page 6: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

AGRADECIMENTOS

Ao meu ilustríssimo orientador, Prof. Dr. João Felipe Mitre de Araujo, por todo seu empenho

e prontidão no auxílio da elaboração deste trabalho.

Ao Prof. Dr. Victor Rolando Ruiz Ahón, pela disponibilização de material suplementar.

Aos demais professores do curso, por todo conhecimento transmitido.

À instituição, Universidade Federal Fluminense, por tudo aquilo que representa.

À minha família, por todo apoio incondicional durante estes longos 5 anos.

Aos meus amigos de faculdade, por tornar, dia pós dia, tudo um pouco mais suportável.

Aos meus irmãos, primos, e amigos mais próximos, por servirem como válvula de escape nos

momentos mais difíceis.

Page 7: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

“Gás Natural é o combustível que temos que é acessível, escalonável, pode substituir o

carvão com o tempo, pode substituir o óleo importado, pode criar empregos americanos.”

(Aubrey McClendon, tradução nossa)

Page 8: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

RESUMO

O gás natural é uma fonte energética mais limpa que o petróleo e que vem ganhando espaço no

mundo. A exploração e produção desse recurso requer grandes investimentos tecnológicos e de

gerenciamento de reservatórios, que se encontram no interior da Terra. Este trabalho tem o

objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar

no gerenciamento de reservatórios de gás, que produzem pelo método volumétrico ou sob

influxo de água, focando no constante ajuste da previsão de reservas através de novos dados de

produção e equação de balanço de materiais (EBM). Dada esta finalidade, a metodologia do

trabalho é realizar uma extensa revisão bibliográfica de engenharia de reservatórios,

explicitando os conceitos e variáveis pertinentes ao funcionamento do programa construído,

seguido da apresentação de todo o desenvolvimento e acompanhamento da estruturação no

Excel e VBA, com posterior aplicação em exemplos conhecidos para comparação de resultados,

que mostraram-se satisfatórios, com erro desprezível para correlações do fator de

compressibilidade e modelos de influxo de água, e erro médio de 4,5% nas previsões de reserva

pelos métodos volumétricos com 12 observações, em que a tendência é diminuir quanto mais

dados forem inclusos, haja vista que a diferença aconteceu por distinções no estilo de regressão.

Não foi possível comparar resultados de reservas de formações com influxo de água, pela

ausência de fontes de dados para tal. Na conclusão, discute-se a eficácia e aplicabilidade do

programa, assim como sugestões futuras de aprimoramento.

Palavras-Chave: Reservatório de Gás. Influxo de Água. Previsão de Reserva. Gerenciamento

de Reservatório.

Page 9: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

ABSTRACT

Natural gas is an energy source that is cleaner than oil and is gaining space worldwide. The

exploration and production of this resource requires great technology investments and

management of reservoir, found deep inside the interior of the Earth. This work has the

objective of building a program in Excel and Visual Basic for Application (VBA) to aid in the

management of gas reservoirs, which produce through the volumetric or water influx methods,

focusing on the continuous reserves forecast adjustment through new production data and the

material balance equation. Given this purpose, the methodology of this work is to elaborate an

extensive literature review on reservoir engineering, gathering the definitions and variables

related to the built program, followed by the whole development and accompanying of the

structuring inside Excel and VBA, with later application in known examples for results

comparisons, that showed themselves satisfactory, with negligible error for the compressibility

factor and water influx models, and mean error of 4,5% for the reserves forecast in the

volumetric methods with 12 observations, which tends to get lower when more data is included,

since the difference occurred mostly because of the regression style distinction. It was not

possible to compare reserves results for formations with water influx, given the absence of data

sources for such. In the conclusion, it is discussed the effectiveness and applicability of the

program, as are made future suggestion of enhancement.

Keywords: Gas Reservoir. Water Influx. Reserves Forecast. Reservoir Management.

Page 10: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

LISTA DE FIGURAS

Figura 1 – Diagrama de Fases do Petróleo ................................................................................. 3

Figura 2 – Gás Seco .................................................................................................................... 4

Figura 3 – Gás Úmido ................................................................................................................ 5

Figura 4 – Gás Retrógrado.......................................................................................................... 5

Figura 5 – Fluxo Radial .............................................................................................................. 7

Figura 6 – Relação Pressão-Volume .......................................................................................... 9

Figura 7 – Massa Específica vs. Pressão para diferentes tipos de fluido ................................... 9

Figura 8 – Fator de Compressibilidade Z para Gases Naturais ................................................ 13

Figura 9 – Geometria de Fluxo ................................................................................................. 24

Figura 10 – Influxo de Água em Reservatórios Cilíndricos ..................................................... 25

Figura 11 – Influxo Acumulado Adimensional ........................................................................ 27

Figura 12 – Reservatório Volumétrico de Gás Seco ................................................................ 33

Figura 13 – Reservatório Volumétrico de Gás Seco Anormalmente Pressurizado .................. 34

Figura 14 – Reservatório de Gás Seco...................................................................................... 35

Figura 15 – Reservatório de Gás Seco sob Influxo de Agua .................................................... 37

Figura 16 – Fluxograma da Utilização do Programa ................................................................ 39

Figura 17 – Visão Inicial do Programa ..................................................................................... 42

Figura 18 – Conversores de Unidade ....................................................................................... 44

Figura 19 – Conversão Rápida de Pressão ............................................................................... 44

Figura 20 – Conversor para Inúmeros Dados ........................................................................... 45

Figura 21 – Simulação de Conversão ....................................................................................... 45

Figura 22 – Influxo de Água..................................................................................................... 46

Figura 23 – Mensagem de Erro: dados necessários [Pot Aquifer] ........................................... 48

Figura 24 – Resposta do Programa para Fetkovich .................................................................. 49

Figura 25 – Resposta do Programa para Van Everdingen & Hurst .......................................... 51

Figura 26 – Dados..................................................................................................................... 52

Figura 27 – Métodos de Calcular Z .......................................................................................... 52

Figura 28 – Exemplo de Análise de Formações Consolidadas ................................................ 55

Figura 29 – Diferença entre as Reservas .................................................................................. 57

Figura 30 – Cálculo dos Termos da EBM no Programa........................................................... 58

Figura 31 – Gráfico Produção Acumulada da Literatura ......................................................... 59

Page 11: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

Figura 32 – Gráfico Produção Acumulada do Programa ......................................................... 59

Figura 33 – Exemplo de Resposta de uma Análise de Influxo ................................................. 61

Page 12: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

LISTA DE TABELAS

Tabela 1 – Constantes de Dranchuk e Abou-Kassem............................................................... 14

Tabela 2 – Índice de Produtividade do Aquífero para os Fluxos Radial e Linear .................... 30

Tabela 3 – Dados do Exemplo Comparativo para Modelos de Aquífero ................................. 47

Tabela 4 – Histórico de Pressões Médias no Contato Óleo/Água do Exemplo ....................... 47

Tabela 5 – Resumo de Cálculo Fetkovich ................................................................................ 49

Tabela 6 – Resumo de Cálculo Van Everdingen & Hurst ........................................................ 50

Tabela 7 – Resultados de Z da Apostila ................................................................................... 53

Tabela 8 – Resultados de Z do Programa ................................................................................. 53

Tabela 9 – Cálculo dos Termos da EBM no Livro ................................................................... 58

Page 13: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

LISTA DE ABREVIATURAS E SIGLAS

API

BBL

CBM

EBM

FR

PVT

RGL

RGO

SCF

STB

VBA

American Petroleum Institute

Barril

Coal Bed Methane

Equação de Balanço de Materiais

Fator de Recuperação

Pressão-Volume-Temperatura

Razão Gás-Líquido

Razão Gás-Óleo

Standard Cubic Feet (Pé Cúbico Padrão)

Standard Barrel (Barril Padrão)

Visual Basic for Application

Page 14: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

LISTA DE SÍMBOLOS

𝐴 Área

𝐴𝐵 Parâmetro de Brill e Beggs

𝐴𝑊 Parâmetro de Wichert-Aziz

𝐴1−11 Constantes de Dranchuk e Abou-Kassem

𝐵 Parâmetro de Brill e Beggs

𝐵𝑊 Parâmetro de Wichert-Aziz

𝐵𝑔 Fator volume-formação do gás

𝐵𝑔𝑖 Fator volume-formação do gás

𝐵𝑤 Fator volume-formação da água

𝑐 Compressibilidade isotérmica

𝐶 Parâmetro de Brill e Beggs

𝑐𝑒𝑤𝑓 Compressibilidade efetiva do sistema água-formação

𝑐𝑓 Compressibilidade da formação

𝑐𝑔 Compressibilidade isotérmica do gás

𝑐𝑡𝑖 Compressibilidade total na pressão inicial

𝑐𝑤 Compressibilidade da água

𝐷 Parâmetro de Brill e Beggs

𝐸𝑔 Fator de expansão do gás

𝑓 Relação 𝜃 2𝜋⁄ do raio de ação do aquífero radial no reservatório

𝐺 Volume original total de gás no reservatório

𝐺𝑝 Produção acumulada de gás

ℎ Altura

𝐽 Índice de produtividade do Aquífero

𝑘 Permeabilidade

𝐿 Comprimento

𝑚(𝑝) Pseudopressão do gás real

𝑝 Pressão

�̅�𝑎 Pressão média do aquífero

𝑃𝐶 Pressão crítica

Page 15: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

𝑃𝑐′ Pressão crítica corrigida

𝑝𝐷 Pressão adimensional

𝑝𝑒 Pressão externa

𝑝𝑖 Pressão inicial

𝑃𝑃𝐶 Pressão pseudocrítica

𝑃𝑃𝑅

𝑃𝑅

Pressão pseudorreduzida

Pressão reduzida

�̅�𝑟 Pressão média do reservatório

𝑝𝑟𝑒𝑓 Pressão de referência

𝑝𝑠𝑐 Pressão em condições padrões

𝑝𝑤𝑓 Pressão no fundo do poço

𝑞 Vazão

𝑞𝑔𝑟 Vazão do gás no raio r do reservatório

𝑄𝑔 Vazão do gás em condições padrão

𝑟 Raio

𝑅1−5 Parâmetros de Dranchuk e Abou-Kassem

𝑟𝐷 Raio adimensional

𝑟𝑒 Raio externo

𝑟𝑒𝐷 Raio adimensional

𝑟𝑜 Raio do reservatório

𝑟𝑤 Raio do poço

𝑆 Fator de película

𝑆𝑤𝑖

𝑡

Saturação de água conata

Tempo

𝑇 Temperatura

𝑇𝐶 Temperatura crítica

𝑇𝑐′ Temperatura crítica corrigida

𝑡𝐷 Tempo adimensional

𝑇𝑃𝐶

𝑇𝑃𝑅

𝑡𝑟

Temperatura pseudocrítica

Temperatura pseudorreduzida

Inverso da temperatura reduzida

𝑇𝑅 Temperatura reduzida

Page 16: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

𝑇𝑠𝑐 Temperatura em condições padrão

𝑈 Constante de influxo de água do aquífero

𝑉 Volume

𝑉𝑖 Volume inicial

𝑉𝑟 Volume do reservatório

𝑣𝑟 Velocidade na direção radial

𝑉𝑟𝑒𝑓 Volume de referência

𝑣𝑥 Velocidade na direção x

𝑣𝑦 Velocidade na direção y

𝑣𝑧 Velocidade na direção z

𝑊𝐷 Influxo adimensional acumulado

𝑊𝑒 Influxo acumulado de água

𝑊𝑒𝑖 Influxo máximo do aquífero

𝑊𝑖 Volume inicial de água no aquífero

𝑊𝑝 Produção acumulada de água

𝑋1−4 Parâmetros de Hall e Yarborough

𝑌 Densidade reduzida de Hall e Yarborough

𝑦𝑖 Fração percentual do composto químico i

𝑍 Fator de compressibilidade do gás

�̅� Fator de compressibilidade médio do gás

𝑍𝑖 Fator de compressibilidade inicial do gás

LISTA DE SÍMBOLOS GREGOS

𝛾 Constante de Euler

𝛾𝑔 Densidade do gás

∆𝑝 Variação da pressão

∆𝑝𝑜 Queda de pressão no contato reservatório-aquífero

𝜀 Parâmetro de Wichert-Aziz

𝜇 Viscosidade

�̅� Viscosidade média

Page 17: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

𝜇𝑔 Viscosidade do gás

𝜌 Massa específica

𝜌𝑟 Densidade reduzida de Dranchuk e Abou-Kassem

𝛷 Porosidade

𝜓 Pseudopressão do gás real

𝜓𝑒 Pseudopressão do gás real avaliada de 0 a pressão externa

𝜓𝑤 Pseudopressão do gás real avaliada de 0 a pressão do poço

Page 18: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

SUMÁRIO

1 INTRODUÇÃO ............................................................................................................... 1

1.1 Objetivos ...................................................................................................................... 2

1.2 Estrutura do trabalho .................................................................................................... 2

2 ENGENHARIA DE RESERVATÓRIOS ....................................................................... 3

2.1 Tipos de reservatórios .................................................................................................. 4

2.2 Propriedades ................................................................................................................. 7

2.2.1 Propriedades críticas ............................................................................................. 9

2.2.2 Fator de compressibilidade do gás (Z) ............................................................... 11

3 FLUXOS DE GASES EM MEIOS POROSOS ............................................................ 16

3.1 Equação da difusividade hidráulica para gases .......................................................... 17

3.2 Lei de Darcy ............................................................................................................... 18

4 INFLUXO DE ÁGUA ................................................................................................... 23

4.1 Van Everdingen & Hurst ........................................................................................... 25

4.1.1 Superposição de efeitos ...................................................................................... 26

4.2 Carter-Tracy ............................................................................................................... 28

4.3 Modelo aproximado de Fetkovich ............................................................................. 28

5 GERENCIAMENTO DE RESERVATÓRIOS DE GÁS ............................................. 31

5.1 Balanço de materiais em reservatórios de gás ........................................................... 31

5.2 Reservatórios volumétricos de gás............................................................................. 32

5.2.1 Reservatórios volumétricos anormalmente pressurizados .................................. 33

5.3 Reservatórios de gás sob influxo de água .................................................................. 34

6 METODOLOGIA - DESENVOLVIMENTO DO PROGRAMA ................................ 38

6.1 “Home” ...................................................................................................................... 40

6.2 “Conversores de Unidade” ......................................................................................... 40

6.3 “Influxo de Água” ...................................................................................................... 40

6.4 “Dados” ...................................................................................................................... 41

7 RESULTADOS ............................................................................................................. 42

7.1 “Conversores de Unidade” ......................................................................................... 42

7.2 “Influxo de Água” ...................................................................................................... 46

7.2.1 Pot Aquifer ......................................................................................................... 47

7.2.2 Fetkovich ............................................................................................................ 48

7.2.3 Van Everdingen & Hurst .................................................................................... 49

Page 19: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

7.3 “Dados” ...................................................................................................................... 51

7.3.1 Aplicação das correlações de compressibilidade do gás (Z) .............................. 53

7.3.2 Formações normalmente pressurizadas .............................................................. 53

7.3.3 Formações anormalmente pressurizadas ............................................................ 56

7.3.4 Formações sob influxo d’água ............................................................................ 60

8 CONCLUSÃO ............................................................................................................... 62

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 63

APÊNDICE A – CÓDIGOS VBA ........................................................................................... 65

ANEXO A – SISTEMAS E CONVERSÕES DE UNIDADES............................................. 241

ANEXO B – TABELAS DE INFLUXO ADIMENSIONAL ................................................ 246

Page 20: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

1

1 INTRODUÇÃO

Atualmente, o gás natural é uma fonte de energia em crescimento no mundo, sendo a

principal matriz energética da Eurásia (BP, 2017), e em constante avanço no resto do globo.

Por ser uma energia considerada mais limpa que o petróleo, o gás natural também vem

ganhando espaço junto às questões ambientais, que cresce nos países mais desenvolvidos.

Desta forma, para se consumir gás natural, é necessário antes prospectá-lo e produzi-

lo de reservatórios no interior da Terra, ato que envolve muita tecnologia, dificuldades e

investimentos. Para realizar esta produção, as empresas utilizam diversos softwares de

engenharia, que incluem softwares de gerenciamento de reservatórios que, por sua vez, visam

realizar o cálculo e ajustar constantemente pelo histórico de produção a expectativa total de

reserva, no caso gás natural, contido na zona produtora em questão.

Este trabalho focará no desenvolvimento de ferramentas computacionais que auxiliem

nesse gerenciamento para reservatórios exclusivamente de gás, sem a presença de óleo no

estado líquido em quantidade significativa. Com esta finalidade, as ferramentas serão

desenvolvidas no programa Microsoft Excel, juntamente com sua linguagem de programação

Visual Basic for Application (VBA).

A elaboração deste material tem como principal objetivo tornar possível gerenciar, de

modo simplificado, reservatórios de gás de forma pouco dispendiosa. Secundariamente, tem-se

também o objetivo de criar quantas ferramentas forem possíveis para realizar o cálculo das mais

diversas variáveis pertinentes à engenharia de reservatórios a partir dos dados de pressão,

volume e temperatura (PVT) de subsuperfície.

Espera-se que, com o trabalho concluído, seja possível gerenciar reservatórios de gás de

modo simples e sem a aquisição de licenças de softwares e simuladores de reservatórios

contidos no mercado, que são extremamente caros, sendo inviáveis para pequenas empresas ou

instituições que operam em terra com recursos limitados. Ou seja, uma maneira barata, porém

confiável de gerenciar. Não obstante, também poderá ser utilizado no meio acadêmico, sendo

aplicado aos muitos exemplos conhecidos e usado como referência ou para fins comparativos.

Deste modo, para atingir os objetivos especificados, a metodologia utilizada será a

realização uma extensa pesquisa bibliográfica sobre o assunto, reunindo todos os dados teóricos

conhecidos e pertinentes a elaboração das ferramentas computacionais. Em um segundo

momento, o conhecimento pesquisado será transferido para a plataforma do Microsoft Excel e

para os códigos de programação do VBA, de modo a criar um método interativo simples e de

fácil operação.

Page 21: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

2

1.1 Objetivos

Elaborar um programa em Excel-VBA capaz de auxiliar no gerenciamento de

reservatórios radiais de gás seco com ou sem influxo de água, através da previsão de reservas e

curvas características de modelos de pressão e influxo pela equação de balanço de materiais.

Ademais, incluir nas opções da ferramenta correlações consagradas na literatura para

determinação de variáveis importantes, como fator de compressibilidade do gás e influxo

acumulado de água, entre outras que mostrarem-se viáveis pertinentes.

1.2 Estrutura do trabalho

O trabalho está estruturado em 4 partes. Na primeira, são apresentados todos os

conceitos, definições, variáveis e fórmulas pertinentes à construção do tema proposto,

distribuídos nos capítulos 2, 3, 4 e 5. Na segunda etapa, capítulo 6, é disposto o passo-a-passo

da elaboração das ferramentas, para que seja possível entender seu desenvolvimento, enquanto

os códigos associados em VBA propriamente ditos estão disponibilizados no Apêndice deste

documento. Posteriormente, no capitulo 7, o software é aplicado a exemplos conhecidos e os

resultados discutidos. Por fim, no capitulo 8, são tomadas as devidas conclusões e feitas

recomendações e sugestões que possam vir a complementar este trabalho no futuro.

Page 22: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

3

2 ENGENHARIA DE RESERVATÓRIOS

Hidrocarbonetos são definidos por uma grande variedade de compostos de carbono e

hidrogênio quimicamente agrupados em série (ROSA, CARVALHO e XAVIER, 2006). Gás

natural, por sua vez, são hidrocarbonetos que, em dada pressão e temperatura, estão no estado

físico gasoso, como indicado na Figura 1. Assim, segundo a geologia do petróleo, reservatórios

de gás são corpos rochosos de subsuperfície que contém porosidade e permeabilidade suficiente

para guardar e transmitir hidrocarbonetos gasosos em quantidade e qualidade significativas em

termos econômicos. Por outro lado, Rosa, Carvalho e Xavier (2006), definem reservatórios de

gás apenas como jazidas de petróleo que contém uma mistura de hidrocarbonetos que se

encontram no estado gasoso nas condições de reservatórios.

Figura 1 – Diagrama de Fases do Petróleo

Fonte: QUEIROZ GALVÃO EXPLORAÇÃO E PRODUÇÃO.

Page 23: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

4

2.1 Tipos de reservatórios

Em termos de reservatórios de gás, Ahmed (2006) cita quatro classificações distintas

quanto a posição em que estes reservatórios e o separador de produção se encontram no

diagrama de fases, sendo elas:

Gás seco: acontece quando ambas as temperaturas do reservatório e do separador estão

à direita da curva de pontos de orvalho, como visto na Figura 2. Possui uma razão gás-

óleo (RGO) de produção maior que 100.000 scf/STB;

Figura 2 – Gás Seco

Fonte: ROSA, CARVALHO e XAVIER (2006).

Gás úmido: acontece quando o par temperatura e pressão do reservatório estão à direita

da curva dos pontos de orvalho, mas no separador estão dentro da região bifásica,

representado na Figura 3. Apresenta uma RGO entre 60.000 e 100.000 scf/STB e o óleo

do tanque de estocagem um grau API acima de 60º.

Page 24: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

5

Figura 3 – Gás Úmido

Fonte: ROSA, CARVALHO e XAVIER (2006).

Gás-condensado retrógrado: acontece quando a temperatura do reservatório se encontra

entre a temperatura crítica e a cricondenterma, como na Figura 4. Possui uma RGO entre

8.000 e 70.000 scf/STB e densidade do condensado acima de 50º API.

Figura 4 – Gás Retrógrado

Fonte: ROSA, CARVALHO e XAVIER (2006).

Page 25: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

6

Gás-condensado quase crítico: acontece quando a temperatura do reservatório está

muito próxima da temperatura crítica.

Uma outra classificação simplificada é apresentada por Craft e Hawkins (1959), e

divide os reservatórios como sendo de óleo, gás condensado ou gás seco, dependendo da razão

gás/líquido de produção (RGL):

Reservatório de óleo: RGL ≤ 900 m³ std/m³ std;

Reservatório de gás condensado: 900 m³ std/m³ std < RGL < 18.000 m³ std/m³ std;

Reservatório de gás seco: RGL ≥ 18.000 m³ std/m³ std.

Todavia, existem diversos outros métodos de classificação de um reservatório de gás.

Podemos classificar como, por exemplo, reservatórios convencionais e não convencionais, onde

entre os não convencionais, segundo Ahmed e Meehan (2012), destacam-se os reservatórios

de:

Tight gas: caracterizados por uma permeabilidade menor que 0,1 md (milidarcy);

Shallow gas: reservatórios de tight gas localizados em profundidade rasa, de origem

biogênica;

Hidratos de gás: caracterizados por sua peculiaridade estrutural, que se assemelha ao

gelo ou a neve molhada, mas sem a estrutura sólida usual do gelo. É causado pelas

baixas temperaturas e altas pressões na presença de água e gás;

Coalbed methane (CBM): caracterizados, como o nome sugere, pela rocha-reservatório

ser composta principalmente por carvão, e sua produção é majoritariamente de metano

(𝐶1), 𝐶2, traços de 𝐶3, 𝑁2 e 𝐶𝑂2.

Também existem subclassificações importantes, como quanto ao fluxo nas

proximidades do poço, podendo ser radial, representado na Figura 5, linear, esférico ou

hemisférico. Na verdade, esses são os modelos aproximados utilizados na engenharia, uma vez

que cada reservatório tem uma geometria própria e seria necessária a utilização de simuladores

numéricos com descrições matemáticas rigorosas (AHMED e MEEHAN, 2012). Também

poderíamos classificar quanto a angulação do poço, normalmente vertical ou horizontal.

Entretanto, este trabalho abrangerá apenas reservatórios de gás seco convencionais verticais e

com fluxo radial, uma vez que um escopo maior fugiria da magnitude proposta e esperada desta

obra.

Page 26: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

7

Figura 5 – Fluxo Radial

Fonte: TESTWELLS (adaptado).

2.2 Propriedades

Para gerenciar um reservatório de gás, é necessário ter conhecimento sobre inúmeros

fatores que afetam a produção. Entre estes parâmetros, muitos são relativos às propriedades dos

gases e das rochas, como porosidade (Ф), permeabilidade (k), viscosidade (µ),

compressibilidade do gás (𝑐𝑔), compressibilidade da formação (𝑐𝑓), fator de compressibilidade

do gás (Z), que será fortemente explicado no tópico 2.3, visto sua relevância ao programa

desenvolvido, fator volume formação do gás (𝐵𝑔), fator de película ou skin (S), entre muitos

outros. Dito isto, espera-se do leitor algum conhecimento sobre propriedade dos fluidos e

formação, visto que definir um a um não faz parte do objetivo deste trabalho. Adicionalmente,

também é importante reforçar que as equações neste documento estão apresentadas, em sua

grande maioria, em unidades de campo ou similar. Tabelas de conversão serão dispostas em

Anexo e embutidas no Excel.

Apesar disso, das propriedades anteriores, é importante comentar a compressibilidade

dos fluidos. Em termos de reservatórios, os fluidos podem se comportar como incompressíveis,

poucos compressíveis e compressíveis, sendo este último o caso do gás, dada sua alta expansão

ou retração com a variação da pressão. Esta compressibilidade isotérmica (c), é descrita por

duas formas matemáticas equivalentes, as equações (1) e (2) (AHMED e MEEHAN, 2012):

Em termos de volume:

𝑐 = −1

𝑉(

𝜕𝑉

𝜕𝑝)

𝑇

(1)

Page 27: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

8

Em termos da massa específica:

𝑐 = 1

𝜌(

𝜕𝜌

𝜕𝑝)

𝑇

(2)

Onde V é o volume do fluido; 𝜌 a massa específica do fluido; p a pressão; e c o coeficiente de

compressibilidade isotérmica.

Assim, os fluidos incompressíveis são aqueles que não variam volume ou densidade

com a mudança da pressão. Logo:

(𝜕𝑉

𝜕𝑝)

𝑇

= 0 (3)

Fluidos pouco compressíveis exibem pouca mudança no volume ou densidade com a

mudança da pressão. Tomando como referência um volume 𝑉𝑟𝑒𝑓 de um fluido líquido pouco

compressível em uma pressão de referência 𝑝𝑟𝑒𝑓, as mudanças no comportamento volumétrico

são descritas como uma função da pressão p, como sugere a equação (4).

𝑉 = 𝑉𝑟𝑒𝑓[1 + 𝑐(𝑝𝑟𝑒𝑓 − 𝑝)] (4)

Onde T = constante, p é a pressão em psi absoluto (psia); V o volume na pressão p, em ft³; 𝑝𝑟𝑒𝑓

a pressão inicial de referência, em psia; e 𝑉𝑟𝑒𝑓 o volume do fluido na pressão inicial de

referência, em ft³.

E por último, e mais importante, dada sua pertinência ao trabalho em questão, os fluidos

compressíveis são aqueles que sofrem grandes variações no volume como uma função da

pressão. Todos os sistemas envolvendo gás são considerados fluidos compressíveis. Sua

fórmula matemática passa a ser descrita pela equação (5):

𝑐𝑔 =1

𝑝−

1

𝑍(

𝜕𝑍

𝜕𝑝)

𝑇

(5)

Onde 𝑐𝑔 é a compressibilidade do gás, que é uma função da pressão e da compressibilidade do

gás, que por sua e função da temperatura reduzida e pressão reduzida. Ou seja, 𝑐𝑔(𝑝, 𝑇𝑅, 𝑃𝑅).

As Figuras 6 e 7 mostram as variações de volume e massa específica em função da

pressão para os três tipos de fluidos citados, onde a temperatura (T) é constante em todos os

casos, não expressos diretamente nas fórmulas presentes.

Page 28: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

9

Figura 6 – Relação Pressão-Volume

Fonte: AHMED e MEEHAN (2012, adaptado).

Figura 7 – Massa Específica vs. Pressão para diferentes tipos de fluido

Fonte: AHMED e MEEHAN (2012, adaptado).

2.2.1 Propriedades críticas

Segundo McCain (1999), diferentemente dos componentes puros, que possuem

propriedades críticas bem definidas, as propriedades pseudocríticas das misturas gasosas não

representam suas verdadeiras propriedades críticas, mas sim uma invenção a ser usada como

parâmetros de correlação para gerar propriedades físicas do gás, devido a grande dificuldade

envolvida na obtenção das propriedades críticas reais. Desta maneira, seguindo a regra de

Page 29: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

10

misturar linear, que nada mais é que uma média ponderada das frações molares de cada

componente puro e suas propriedades críticas, as propriedades pseudocríticas de uma mistura

bem definida pode ser expressa pelas equações (6), para temperatura, e (7), para pressão.

𝑇𝑝𝐶 = ∑ 𝑦𝑖𝑇𝐶𝑖

𝑖

(6)

𝑃𝑝𝐶 = ∑ 𝑦𝑖𝑃𝐶𝑖

𝑖

(7)

Onde 𝑦𝑖 é a fração molar de cada componente na mistura, 𝑃𝐶𝑖 e 𝑇𝐶𝑖 a pressão e temperatura

críticas de cada componente e, 𝑇𝑝𝐶 e 𝑃𝑝𝐶 as propriedades críticas, ou pseudocríticas, globais da

mistura.

2.2.1.1 Correlação de Brown et al.

Uma maneira de determinar as propriedades críticas do gás natural apenas com o valor

de sua densidade é através das equações de Standing (1977), que são ajustes do gráfico

construído por Brown et al (1948). Para gás seco, as equações (8) e (9) resumem o cálculo e,

para gás úmido, a forma das equações (10) e (11) é adotada.

𝑇𝑝𝐶 = 168 + 325𝛾𝑔 − 12,5𝛾𝑔2 (8)

𝑃𝑝𝐶 = 667 + 15𝛾𝑔 − 37,5𝛾𝑔2 (9)

𝑇𝑝𝐶 = 187 + 330𝛾𝑔 − 71,5𝛾𝑔2 (10)

𝑃𝑝𝐶 = 706 − 51,7𝛾𝑔 − 11,1𝛾𝑔2 (11)

Onde 𝛾𝑔 é a densidade do gás, 𝑃𝑝𝐶 a pressão pseudocrítica e 𝑇𝑝𝐶 a temperatura pseudocrítica.

Por simplificação, as pressões e temperaturas pseudocríticas serão referenciadas apenas como

críticas no decorrer do trabalho.

A densidade de referência adotada e modelada no desenvolvimento deste trabalho foi

de úmido para igual ou maior que 0,75, e seco para menor, uma vez que não há um consenso

explícito na literatura.

Page 30: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

11

2.2.1.2 Efeito de “contaminantes” (Wichert-Aziz)

Quando há contaminantes na mistura de gás natural, como o gás carbônico (𝐶𝑂2) e/ou

o sulfeto de hidrogênio (𝐻2𝑆), isto tem uma influência na temperatura e pressão pseudocrítica

da mistura, e é necessário que seja implementada uma correção. Neste trabalho, esta correção

é modelada pela correlação de Wichert e Aziz (1972), que age em cima dos resultados obtidos

com Brown et al., e utiliza as frações molares de 𝐶𝑂2 e 𝐻2𝑆 na mistura, como indicam as

equações (12), (13) e (14).

𝐴𝑊 = 𝑦𝐻2𝑆 + 𝑦𝐶𝑂2

𝐵𝑊 = 𝑦𝐻2𝑆

𝜀 = 120(𝐴𝑊0,9 − 𝐴𝑊

1,6) + 15(𝐵𝑊0,5 − 𝐵𝑊

4,0) (12)

𝑇𝐶′ = 𝑇𝐶 − 𝜀 (13)

𝑃𝐶

′ =𝑃𝑐𝑇𝑐

𝑇𝑐 + 𝐵𝑊(1 − 𝐵𝑊)𝜀

(14)

Em que 𝑦 é a fração molar de seus respectivos componentes e 𝑇𝐶′ e 𝑃𝐶

′ correspondem às

propriedades corrigidas.

2.2.2 Fator de compressibilidade do gás (Z)

O fator de compressibilidade do gás é uma variável de extrema importância em

reservatórios de gás. É através dele que será possível definir a quantidade de reserva e entender

a economicidade do prospecto.

Muitas correlações foram elaboradas ao longo dos anos para tentar descobrir este fator.

Por vezes modelo como gás ideal, em que Z é igual a 1, como em casos de pressões próximas

à atmosférica, isto não é possível na engenharia de reservatórios, uma vez que o gás está sob

ação de pressões altas, e discorremos sobre o quão compressível é o gás anteriormente. A seguir,

serão apresentados quatro correlações famosas na literatura para tentar encontrar o fator de

compressibilidade do gás real, que utilizam as pressões e temperaturas reduzidas em sua

modelagem e estarão disponíveis para uso no Excel.

Page 31: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

12

2.2.2.1 Método de Papay

A mais simples das correlações a serem mostradas, assim como a que apresenta um

percentual de erro mais elevado, de 4,8%, o método de Papay (1985) é recomendado para as

faixas 1,2 ≤ 𝑇𝑅 ≤ 3,0 𝑒 0,2 ≤ 𝑃𝑅 ≤ 15,0, e está expresso na equação (16).

𝑍 = 1 −3,53𝑃𝑝𝑟

100,9813𝑇𝑝𝑟+

0,274𝑃𝑝𝑟2

100,8157𝑇𝑝𝑟 (15)

Onde 𝑃𝑝𝑟 é a pressão pseudorreduzida e 𝑇𝑝𝑟 a temperatura pseudorreduzida.

2.2.2.2 Método de Hall e Yarborough

Hall e Yarborough (1973) propuseram uma solução ajustando dados retirados do gráfico

da Figura 8, produzido por Standing e Katz (1942). A equação (16) oferece a resposta para Z,

enquanto a equação (17) oferece uma expressão não linear para a densidade reduzida (Y), que

precisa de uma estimativa inicial e um método iterativo para ser resolvida.

𝑍 = [0,06125𝑡𝑃𝑅

𝑌] 𝑒𝑥𝑝[−1,2(1 − 𝑡)2] (16)

Onde t é inverso da temperatura reduzida (𝑡𝑟 = 1𝑇𝑅

⁄ ).

𝐹(𝑌) = 𝑋1 +𝑌 + 𝑌2 + 𝑌3 − 𝑌4

(1 − 𝑌)3− 𝑋2𝑌2 + 𝑋3𝑌𝑋4 = 0 (17)

𝑋1 = −0,06125𝑡𝑃𝑅𝑒𝑥𝑝[−1,2(1 − 𝑡)2]

𝑋2 = 14,76𝑡 − 9,76𝑡2 + 4,58𝑡³

𝑋3 = 90,7𝑡 − 242,2𝑡2 + 42,4𝑡3

𝑋4 = 2,18 + 2,82𝑡

A utilização do método, afim de conter o erro percentual médio em 0,518%, é

recomendada nas faixas de 1,2 ≤ 𝑇𝑅 ≤ 3,0 𝑒 0,1 ≤ 𝑃𝑅 ≤ 24,0.

Page 32: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

13

Figura 8 – Fator de Compressibilidade Z para Gases Naturais

Fonte: ENGINEERING UNITS (adaptado).

Page 33: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

14

2.2.2.3 Método de Dranchuk e Abou-Kassem

A correlação de Dranchuk e Abou-Kassem (1975) também faz uso da densidade

reduzida (𝜌𝑟), expressa pela equação (18):

𝑍 =0,27𝑃𝑅

𝜌𝑟𝑇𝑅 (18)

A densidade reduzida pode ser encontrada como solução da função (19), utilizando uma

estimativa inicial e um método iterativo. As 11 constantes que a função faz uso estão dispostas

na Tabela 1.

𝑓(𝜌𝑟) = 𝑅1𝜌𝑟 −𝑅2

𝜌𝑟+ 𝑅3𝜌𝑟

2 − 𝑅4𝜌𝑟5 + 𝑅5(1 + 𝐴11𝜌𝑟

2)𝜌𝑟2𝑒𝑥𝑝[−𝐴11𝜌𝑟

2] + 1 = 0 (19)

𝑅1 = 𝐴1 +𝐴2

𝑇𝑅+

𝐴3

𝑇𝑅3 +

𝐴4

𝑇𝑅4 +

𝐴5

𝑇𝑅5

𝑅2 =

0,27𝑃𝑅

𝑇𝑅

𝑅3 = 𝐴6 +

𝐴7

𝑇𝑅+

𝐴8

𝑇𝑅2

𝑅4 = 𝐴9 [

𝐴7

𝑇𝑅+

𝐴8

𝑇𝑅2]

𝑅5 =

𝐴10

𝑇𝑅3

Tabela 1 – Constantes de Dranchuk e Abou-Kassem

Constante Valor Constante Valor

𝐴1 0,3265 𝐴7 -0,7361

𝐴2 -1,0700 𝐴8 0,1844

𝐴3 -0,5339 𝐴9 0,1056

𝐴4 0,01569 𝐴10 0,6134

𝐴5 -0,05165 𝐴11 0,7210

𝐴6 0,5475

Fonte: AHMED (2007, adaptado).

A utilização do método também é indicada para a faixa de 1,2 ≤ 𝑇𝑅 ≤ 3,0 𝑒 0,1 ≤

𝑃𝑅 ≤ 24,0, com erro médio de 0,518%.

Page 34: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

15

2.2.2.4 Método de Brill e Beggs

Brill e Beggs (1974) chegaram na equação (20) para encontrar o fator de

compressibilidade do gás, que só é válida no intervalo 1,2 ≤ 𝑇𝑅 ≤ 2,4. Na faixa de aplicação,

o erro médio máximo é de 0,20%.

𝑍 = 𝐴𝐵 +1 − 𝐴𝐵

exp (𝐵)+ 𝐶𝑃𝑅

𝐷 (20)

𝐴𝐵 = 1,39(𝑇𝑅 − 0,92)2 − 0,36𝑇𝑅 − 0,101

𝐵 = (0,62 − 0,23𝑇𝑅)𝑃𝑅 + (

0,066

𝑇𝑅 − 0,86− 0,037) 𝑃𝑅

2 +0,32

109(𝑇𝑅−1)𝑃𝑅

6

𝐶 = 0,132 − 0,32𝑙𝑜𝑔10𝑇𝑅

𝐷 = 10(0,3106−0,49𝑇𝑅+0,1824𝑇𝑅2)

Page 35: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

16

3 FLUXOS DE GASES EM MEIOS POROSOS

Existem basicamente três tipos de regimes de fluxo que precisam ser reconhecidos

para descrever o comportamento dos fluxos de fluidos de um reservatório (AHMED e

MEEHAN, 2012). São eles:

a) Regime estacionário ou permanente:

O regime de fluxo é permanente quando a pressão em todos os pontos do

reservatório permanece constante, sem qualquer mudança. Matematicamente, essa condição

é descrita por:

(𝜕𝑝

𝜕𝑡)

𝑖= 0 (21)

Ou seja, a pressão (p) não muda conforme o tempo (t) passa, em nenhum lugar (i) do

reservatório. Isso só ocorre quando o reservatório é completamente recarregado por um

aquífero muito forte ou por alguma outra operação de manutenção de pressão.

b) Regime pseudoestacionário ou pseudopermanente:

Este regime é caracterizado por um declínio linear da pressão em função do

tempo em diferentes locais do reservatório. Matematicamente, é descrito por:

(𝜕𝑝

𝜕𝑡)

𝑖= 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 (22)

c) Regime transiente

Uma característica atribuída a este regime é que as bordas do reservatório ainda

não sentiram os efeitos do escoamento, e ainda estão na pressão original. É definido pela

variação de pressão causada pelo fluxo de fluidos em relação ao tempo em qualquer posição

do reservatório não ser constante nem zero. Sendo assim, o diferencial da pressão em

relação ao tempo é essencialmente uma função do tempo e da posição:

𝜕𝑝

𝜕𝑡= 𝑓(𝑖, 𝑡) (23)

Page 36: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

17

3.1 Equação da difusividade hidráulica para gases

Rosa, Carvalho e Xavier (2006) admitem as seguintes hipóteses na formulação da

equação da difusividade hidráulica de gases:

Meio poroso homogêneo e isotrópico;

Fluxo estritamente horizontal e isotérmico;

Poço penetrando totalmente a formação;

Permeabilidade constante;

Pequenos gradientes de pressão;

Rocha com compressibilidade pequena e constante;

Forças gravitacionais desprezíveis;

Fluidos e rochas não reagentes entre si.

Uma importante equação que faz parte do desenvolvimento da equação da difusividade

hidráulica para meios porosos é a equação da continuidade, que nada mais é que um balanço de

massa que pode ser resumido com as seguintes palavras: “A diferença entre a massa que entra

e a massa que sai nas três direções de fluxo é igual à variação da massa dentro do meio poroso”.

A equação (24) expressa sua forma matemática em coordenadas cartesianas, e a equação (25)

em coordenadas cilíndricas (MATTHEWS e RUSSEL, 1967).

𝜕

𝜕𝑥(𝑣𝑥𝜌) +

𝜕

𝜕𝑦(𝑣𝑦𝜌) +

𝜕

𝜕𝑧(𝑣𝑧𝜌) = −

𝜕

𝜕𝑡(Ф𝜌) (24)

1

𝑟

𝜕

𝜕𝑟(𝜌𝑟𝑣𝑟) = −

𝜕

𝜕𝑡(Ф𝜌) (25)

Onde 𝑣𝑟 é a velocidade aparente de fluxo na direção radial.

E a equação da difusividade hidráulica para gases reais:

𝜕²𝑚(𝑝)

𝜕𝑥²+

𝜕²𝑚(𝑝)

𝜕𝑦²+

𝜕²𝑚(𝑝)

𝜕𝑧²=

Ф𝜇𝑐𝑔

𝑘

𝜕𝑚(𝑝)

𝜕𝑡 (26)

E, em coordenada radiais:

Page 37: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

18

1

𝑟

𝜕

𝜕𝑟[𝑟

𝜕𝑚(𝑝)

𝜕𝑟] =

Ф𝜇𝑐𝑔

𝑘

𝜕𝑚(𝑝)

𝜕𝑡 (27)

Onde 𝑚(𝑝) é a pseudopressão do gás real, definida por:

𝑚(𝑝) = 𝜓 = ∫ (2𝑝

µ𝑔𝑍) 𝑑𝑝

𝑝

0

(28)

3.2 Lei de Darcy

A lei de Darcy, equação fundamental do escoamento de fluidos em meios porosos

(AHMED e MEEHAN, 2012), possui diversas formas, a depender das características do fluxo

ou sistema de unidades utilizado. Em sua forma original, ela é dada pela equação (29):

𝑣 =𝑞

𝐴= −

𝑘

µ

𝑑𝑝

𝑑𝑥 (29)

Onde v é a velocidade aparente do fluido, em centímetros por segundo (cm/s); q é a vazão

volumétrica, cm³/s; k é a permeabilidade, em Darcy; µ é a viscosidade, em centipoise (cp); e 𝐴

é a área transversal da rocha, cm².

Todavia, o foco deste trabalho são reservatórios radiais de gás. Desse modo, quando

aplicado para fluxo radial de fluidos compressíveis, a equação se torna:

Regime Permanente

𝑞𝑔𝑟 =0,001127(2𝜋𝑟ℎ)𝑘

µ𝑔

𝑑𝑝

𝑑𝑟 (30)

Onde 𝑞𝑔𝑟 é a vazão de gás no raio r nas condições de reservatório, em bbl/d; r é a distância

radial, em ft; h é a espessura da formação, em ft; µ𝑔 é a viscosidade do gás, em cp; p é a

pressão, em psi; e 0,001127 é o fator de conversão para as unidades de campo.

Page 38: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

19

Tradicionalmente, a vazão do gás é expressa em pé cúbico padrão por dia (scf/d).

Definindo 𝑄𝑔 como a vazão em superfície e aplicando a definição do fator volume formação

de gás 𝐵𝑔 para 𝑞𝑔𝑟:

𝑄𝑔 =𝑞𝑔𝑟

𝐵𝑔 (31)

Onde 𝐵𝑔 =

𝑝𝑠𝑐

5,615𝑇𝑠𝑐

𝑍𝑇

𝑝

𝑏𝑏𝑙

𝑠𝑐𝑓

(32)

E 𝑝𝑠𝑐 é a pressão padrão, em psia; 𝑇𝑠𝑐 é a temperatura padrão, R; 𝑄𝑔 é a vazão de gás, scf/d;

𝑞𝑔𝑟 é a vazão de gás no raio r, bbl/d; p é a pressão no raio r, psia; T é a temperatura do

reservatório, R; e Z é o fator de compressibilidade do gás a p e T.

Realizando todas as transformações necessárias, podemos definir a vazão de produção

em condições de superfície como:

𝑄𝑔 =𝑘ℎ(𝜓𝑒 − 𝜓𝑤)

1422𝑇𝑙𝑛(𝑟𝑒

𝑟𝑤) (33)

Onde 𝜓𝑒 é a pseudopressão do gás real avaliada de 0 a pressão externa (𝑝𝑒); 𝜓𝑤 é a

pseudopressão do gás real avaliada de 0 a pressão do poço (𝑝𝑤𝑓); k é a permeabilidade, em md;

h a espessura da formação, em ft; 𝑟𝑒 é o raio de drenagem, ft; 𝑟𝑤 é o raio do poço, ft; e 𝑄𝑔 é a

vazão de gás, em Mscf/d.

Regime Pseudopermanente

Para o regime pseudopermanente de fluidos compressíveis, a equação da difusividade

hidráulica assume a forma:

𝜕𝑚(𝑝)

𝜕𝑡= 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒. (34)

E aplicando as transformações e utilizando as mesmas unidades do regime permanente,

torna-se:

Page 39: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

20

𝑄𝑔 =𝑘ℎ(𝑚(�̅�𝑟) − 𝑚(𝑝𝑤𝑓))

1422𝑇 [𝑙𝑛 (𝑟𝑒

𝑟𝑤) − 0,75]

(35)

Para resolver essa equação, normalmente duas aproximações são usadas com

regularidade:

o Método aproximado da pressão quadrada, que oferece uma solução exata

compatível para quando a pressão for menor que 2000 psi, e segue a fórmula

(36).

𝑄𝑔 =𝑘ℎ (�̅�2

𝑟− 𝑝2

𝑤𝑓)

1422𝑇µ̅�̅� [𝑙𝑛 (𝑟𝑒

𝑟𝑤) − 0,75]

(36)

Onde µ̅ 𝑒 �̅� são avaliados em:

�̅� = √�̅�𝑟

2 + 𝑝𝑤𝑓2

2 (37)

o Método aproximado da pressão, que é aplicável para pressão maiores de 3000

psi, e assume a forma matemática da equação (38).

𝑄𝑔 =𝑘ℎ(�̅�𝑟 − 𝑝𝑤𝑓)

1422𝑇µ̅�̅�𝑔 [𝑙𝑛 (𝑟𝑒

𝑟𝑤) − 0,75]

(38)

Onde as propriedades do gás são avaliadas em:

�̅� =�̿�𝑟 + 𝑝𝑤𝑓

2 (39)

E �̅�𝑔, dado em bbl/scf, definido por:

�̅�𝑔 = 0,00504�̅�𝑇/�̅� (40)

Page 40: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

21

Regime Transiente

Neste caso, a equação da difusividade hidráulica assume a forma:

𝜕2𝑚(𝑝)

𝜕𝑟²+

1

𝑟

𝜕𝑚(𝑝)

𝜕𝑟=

Фµ𝑐𝑡

0,000264𝑘

𝜕𝑚(𝑝)

𝜕𝑡 (41)

Onde 𝑐𝑡 é a soma da compressibilidade do gás (𝑐𝑔) com a compressibilidade da

formação (𝑐𝑓).

Para resolver a equação (41), três métodos podem ser aplicados:

1. Método m(p), que oferece uma solução exata

2. Método aproximado da pressão quadrada, como utilizado no regime

pseudopermanente

3. Método aproximado da pressão, também utilizado no regime pseudopermanente

o Método m(p)

Apresenta a seguinte formulação final:

𝑚(𝑝𝑤𝑓) = 𝑚(𝑝𝑖) − (1637𝑄𝑔𝑇

𝑘ℎ) [𝑙𝑜𝑔 (

4𝑡𝐷

𝛾)] (42)

Onde 𝑡𝐷 é o tempo adimensional, dado por:

𝑡𝐷 =0,0002637𝑘𝑡

Фµ𝑖𝑐𝑡𝑖𝑟𝑤2

(43)

𝛾 é a constante de Euler, dada por:

𝛾 = 𝑒0,5772 = 1,781 (44)

𝑝𝑤𝑓 = pressão de fundo do poço, psi

𝑝𝑖 = pressão inicial do reservatório, psi

𝑄𝑔 = vazão do gás, Mscf/d

t = tempo, horas

Page 41: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

22

k = permeabilidade, md

T = temperatura do reservatório, R

𝑟𝑤 = raio do poço, ft

h = espessura do reservatório, ft

µ𝑖 = viscosidade do gás na pressão inicial, cp

𝑐𝑡𝑖 = compressibilidade total na pressão inicial, 𝑝𝑠𝑖−1

Ф = porosidade

o Método aproximado da pressão quadrada

Após as devidas transformações, pode ser expressa como na equação (45).

𝑝2𝑤𝑓

= 𝑝2𝑖

− (1637𝑄𝑔𝑇µ̅�̅�

𝑘ℎ) [𝑙𝑜𝑔 (

4𝑡𝐷

𝛾)] (45)

É válido acrescentar que a expressão a cima assume que o produto (µZ) é constante na

pressão média �̅�, o que limita a aplicabilidade do método 𝑝2 para reservatórios com pressão

inferior a 2000 psi.

o Método aproximado da pressão

𝑝𝑤𝑓 = 𝑝𝑖 − ((162,5𝑥103)𝑄𝑔µ̅�̅�𝑔

𝑘ℎ) [𝑙𝑜𝑔 (

4𝑡𝐷

𝛾)] (46)

Onde as unidades são as mesmas do item anterior e �̅�𝑔 está em bbl/scf.

Page 42: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

23

4 INFLUXO DE ÁGUA

Quase todos os reservatórios de hidrocarbonetos no mundo estão cercados por rochas

contendo água, os chamados aquíferos (AHMED, 2006). Os aquíferos causam grande diferença

na produção de petróleo, e existem inúmeros modelos matemáticos que procuram fazer o

cálculo do seu impacto na pressão do reservatório, e alguns serão descritos em breve. As

equações descritas neste capítulo estão no sistema internacional, para mais simples

compreensão. Tabelas com conversão de sistemas e unidades estão no Anexo A deste trabalho.

Ahmed (2006) oferece várias classificações distintas para os aquíferos:

Pelo grau de manutenção da pressão

a. Fluxo ativo de água

b. Fluxo parcial de água

c. Fluxo limitado de água

Pelo regime de fluxo

a. Regime Permanente

b. Regime Pseudopermanente

c. Regime Transiente

Pela geometria de fluxo, como demonstrado na Figura 9

a. Influxo de água pelos cantos

b. Influxo de água por baixo

c. Influxo linear de água

Pela Condição de borda

a. Aquífero infinito

b. Aquífero finito

Page 43: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

24

Figura 9 – Geometria de Fluxo

Fonte: AHMED, 2006 (adaptado).

Segundo Rosa, Carvalho e Xavier (2006), define-se influxo de água, 𝑊𝑒, como sendo

o volume acumulado de água fornecido pelo aquífero ao reservatório, através do contato

reservatório-aquífero, até determinado tempo. Além disso, apresenta um modelo simplificado,

tratado por Ahmed (2006) e Ahmed; Meehan (2012) como Pot Aquifer, em que o aquífero é

pequeno, na mesma escala de grandeza do reservatório, sendo descrito pela equação (47):

𝑊𝑒 = 𝑐𝑡𝑊𝑖(𝑝𝑖 − 𝑝) (47)

Onde 𝑐𝑡 é a compressibilidade total do aquífero, 𝑊𝑖 o volume inicial de água no aquífero, 𝑝𝑖 a

pressão inicial e p a pressão no contato.

Entretanto, como normalmente os aquíferos são imensos em relação ao reservatório,

outros modelos dependentes do tempo são necessários para um cálculo mais preciso. Os

modelos abordados serão:

1) Van Everdingen & Hurst

2) Carter-Tracy

3) Modelo Aproximado de Fetkovich

Page 44: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

25

4.1 Van Everdingen & Hurst

As formulações matemáticas que descrevem o fluxo do aquífero para os reservatórios

cilíndricos são as mesmas que descrevem o fluxo do reservatório para os poços (AHMED e

MEEHAN, 2012), como esquematizado na Figura 10.

Figura 10 – Influxo de Água em Reservatórios Cilíndricos

Fonte: AHMED; MEEHAN, 2012 (adaptado).

No caso dos aquíferos, entretanto, como não se tem controle sobre a vazão no contato

reservatório-aquífero, a equação diferencial que rege o fluxo no aquífero é resolvida

considerando-se que a pressão no contato se mantém constante (ROSA, CARVALHO e

XAVIER, 2006).

Van Everdingen & Hurst (1949) apresentam soluções para aquíferos radiais e lineares,

dos quais trataremos apenas dos radiais. Para isso, são definidas algumas variáveis

adimensionais, utilizadas no modelo:

Raio adimensional: 𝑟𝐷 =𝑟

𝑟𝑜 (48)

Onde 𝑟 é o raio do aquífero e 𝑟𝑜 o raio do reservatório

Page 45: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

26

Tempo adimensional: 𝑡𝐷 =𝑘𝑡

Ф𝜇𝑐𝑡𝑟2 (49)

Pressão adimensional: 𝑝𝐷 =𝑝𝑖 − 𝑝

𝑝𝑖 − 𝑝𝑜=

𝑝𝑖 − 𝑝

∆𝑝𝑜 (50)

Onde ∆𝑝𝑜 = 𝑝𝑖 − 𝑝𝑜 é a queda de pressão constante no contato.

Assim, o influxo acumulado de água é definido por:

𝑊𝑒 = 𝑈∆𝑝𝑜𝑊𝐷(𝑡𝐷) (51)

Onde 𝑊𝐷(𝑡𝐷) é o influxo adimensional, dependente do tempo, e

𝑈 = 2𝜋𝑓Ф𝑐𝑡ℎ𝑟𝑜2 (52)

Sendo 𝑓 = 𝜃/2𝜋, 𝜃 em radianos.

O influxo adimensional (𝑊𝐷) pode ser encontrado com as tabelas no Anexo B desta

obra, ou com a Figura 11, para os três diferentes tipos de aquíferos: infinito, selado e

realimentado (finito com pressão constante no limite externo).

4.1.1 Superposição de efeitos

A equação (51) pressupõe que a pressão no contato é constante, e só é aplicável quando

∆𝑝𝑜 é constante (ROSA, CARVALHO e XAVIER, 2006). Levando em consideração a queda

da pressão no contato, uma vez que há depleção, há a superposição de efeitos, e a discretização

da queda da pressão média com o tempo, a equação torna-se:

𝑊𝑒(𝑡𝐷𝑛) = 𝑈 ∑ (𝑝𝑗−1 − 𝑝𝑗+1

2)

𝑛−1

𝑗=0

𝑊𝐷(𝑡𝐷𝑛 − 𝑡𝐷𝑗) (53)

Page 46: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

27

Figura 11 – Influxo Acumulado Adimensional

Figura 11.a Figura 11.b

Figura 11.c Figura 11.d

Fonte: ROSA, CARVALHO e XAVIER (2006).

Page 47: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

28

4.2 Carter-Tracy

O modelo de Carter-Tracy (1960) é aplicável a qualquer geometria de fluxo, desde que

se conheça a solução para a pressão adimensional em função do tempo para a geometria do

aquífero em questão, abrangendo uma gama maior de casos em que pode ser usado (ROSA,

CARVALHO e XAVIER, 2006). Diferentemente do modelo de Van Everdingen e Hurst, que

oferece uma resposta exata para equação da difusividade, Carter-Tracy não requer a aplicação

do princípio da superposição de efeitos no desenvolvimento, fator que torna o cálculo complexo

e robusto, enquanto mantém uma ótima aproximação e, quando o intervalo entre as medidas é

pequeno, até 1 mês, a aproximação é muito boa e não possui uma diferença significativa

(AHMED e MEEHAN, 2012).

Sua formulação matemática final é descrita por:

𝑊𝑒(𝑡𝐷𝑗) = 𝑊𝑒(𝑡𝐷𝑗−1) +𝑈∆𝑝(𝑡𝐷𝑗) − 𝑊𝑒(𝑡𝐷𝑗−1)𝑝′

𝐷(𝑡𝐷𝑗)

𝑝𝐷(𝑡𝐷𝑗) − 𝑡𝐷𝑗−1𝑝′𝐷

(𝑡𝐷𝑗)(𝑡𝐷𝑛 − 𝑡𝐷𝑗) (54)

Onde 𝑝′𝐷

(𝑡𝐷𝑗) é a derivada da pressão adimensional discretizada no tempo adimensional j.

Como a equação para pressão adimensional irá variar com a geometria, poucos casos

possuem uma formulação definida. A equação (55) exemplifica uma boa aproximação para a

pressão adimensional de um aquífero radial infinito.

𝑝𝐷(𝑡𝐷) =1

2[𝑙𝑛(𝑡𝐷) + 0,80907] (55)

4.3 Modelo aproximado de Fetkovich

Usado para aquíferos finitos em regime pseudopermanente ou permanente, o modelo

de Fetkovich (1971) é bem simples de ser aplicado quando comparado ao de Van Everdingen

e Hurst. Assim como o modelo de Carter-Tracey, não requer a superposição de efeitos, e foi

desenvolvido para fluxos lineares e radiais.

Page 48: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

29

Fetkovich define 𝐽 como o índice de produtividade do aquífero, �̅�𝑎 como a pressão

média do aquífero e 𝑝 como a pressão no contato reservatório-aquífero (ROSA, CARVALHO

e XAVIER, 2006).

A equação final do modelo, que considera pressão constante no contato reservatório-

aquífero, se resume a:

𝑊𝑒 =𝑊𝑒𝑖

𝑝𝑖(𝑝𝑖 − 𝑝) [1 − 𝑒𝑥𝑝 (−

𝐽𝑝𝑖

𝑊𝑒𝑖𝑡)] (56)

Onde 𝑊𝑒𝑖 é o influxo máximo que o aquífero pode fornecer, explícito na equação (57),

correspondendo a expansão total da água ao ser despressurizada da pressão inicial (𝑝𝑖) para

pressão zero.

𝑊𝑒𝑖 = 𝑐𝑡𝑊𝑖𝑝𝑖 (57)

Onde 𝑊𝑖 é o volume inicial de água.

Quando se considera variação da pressão no contato, o modelo sofre mudanças, e a

equação fica em função da variação do influxo nos dados intervalos:

∆𝑊𝑒𝑛 =𝑊𝑒𝑖

𝑝𝑖(�̅�𝑎𝑛−1 − �̅�𝑛) [1 − 𝑒𝑥𝑝 (−

𝐽𝑝𝑖

𝑊𝑒𝑖∆𝑡𝑛)] (58)

Onde n é o intervalo de referência,

�̅�𝑎𝑛−1 = 𝑝𝑖 (1 −𝑊𝑒𝑛−1

𝑊𝑒𝑖) (59)

E

�̅�𝑛 =𝑝𝑛−1 − 𝑝𝑛

2 (60)

Apesar de voltado para aquíferos radiais e lineares, Fetkovich também possui uma

equação dependente do Fator de forma Ditzer para outras geometrias, mas que foge do escopo

desta obra.

Page 49: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

30

Os índices de produtividade (𝐽) para aquíferos radiais e lineares estão explícitos na

tabela 2.

Tabela 2 – Índice de Produtividade do Aquífero para os Fluxos Radial e Linear

Condição de fluxo Aquífero radial Aquífero linear

Pseudopermanente 𝐽 =

2𝜋𝑓𝑘ℎ

𝜇 [𝑟𝑒𝐷

2

𝑟𝑒𝐷2 − 1

𝑙𝑛 (𝑟𝑒

𝑟𝑜) −

3𝑟𝑒𝐷4 − 4𝑟𝑒𝐷

4 𝑙𝑛𝑟𝑒𝐷 − 2𝑟𝑜2 − 1

4(𝑟𝑒𝐷2 − 1)2 ]

𝐽 =

3𝑘ℎ𝑤

𝜇𝐿

Permanente 𝐽 =2𝜋𝑓𝑘ℎ

𝜇 𝑙𝑛 (𝑟𝑒

𝑟𝑜) 𝐽 =

3𝑘ℎ𝑤

𝜇𝐿

Fonte: ROSA, CARVALHO e XAVIER (2006).

Quando o raio do aquífero for muito maior que o raio do reservatório, o índice de

produtividade para fluxo radial pseudopermanente, mostrado na tabela 2, pode ser simplificado

para:

𝐽 =

2𝜋𝑓𝑘ℎ

𝜇 [𝑙𝑛 (𝑟𝑒

𝑟𝑜) −

34

]

(61)

Onde 𝑟𝑒 é o raio do aquífero e 𝑟𝑜 o raio do reservatório.

Page 50: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

31

5 GERENCIAMENTO DE RESERVATÓRIOS DE GÁS

Existem inúmeros métodos de gerenciamento de reservatórios de gás para as diversas

classificações existentes. Costuma-se separar, ao menos, em poços verticais e horizontais, e em

campos convencionais e não convencionais de gás (AHMED e MEEHAN, 2012). Entretanto,

como citado no capítulo 2, este trabalho abordará apenas poços verticais de reservatórios

convencionais, com e sem influxo de água. É interessante comentar que, no caso de

reservatórios volumétricos de gás, ou seja, aqueles que produzem apenas por depleção e

expansão do gás, o fator de recuperação (FR), que é o valor percentual do quanto se consegue

produzir do gás total original na formação, chega a atingir 90%, enquanto reservatórios sob

influxo de água tem a tendência de ter um FR entre 50% e 70%. Todavia, de acordo com

Ezekwe (2011), reservatórios verdadeiramente volumétricos são raros, pois uma das condições

é que a saturação de água inicial não se altere durante a vida produtiva das jazidas, e é comum

que fluidos, especialmente água, de camadas de folhelhos ou aquíferos vizinhos migre para o

reservatórios. Contudo, se o influxo de fluidos for relativamente pequeno, assumir um

comportamente volumétrico é considerado viável e aplicável.

5.1 Balanço de materiais em reservatórios de gás

Rosa, Carvalho e Xavier (2006) postulam como principais utilizações práticas da

equação de balaço de materiais (EBM) em reservatórios de gás a determinação do volume

original de gás (G), a determinação do influxo de água proveniente de aquíferos (𝑊𝑒) e a

previsão do comportamento do reservatório.

Uma variável importante para o balanço de materiais em reservatórios de gás é o fator

volume formação de gás (𝐵𝑔), ou seu inverso, 𝐸𝑔 =1

𝐵𝑔, denominado fator de expansão do gás.

Dependendo das unidades a serem usadas, podem apresentar formas variadas, como nas

equações (62) e (63) (AHMED e MEEHAN, 2012):

𝐸𝑔 =𝑇𝑆𝐶

𝑝𝑠𝑐

𝑝

𝑍𝑇= 198,6

𝑝

𝑍𝑇𝑠𝑐𝑓 𝑏𝑏𝑙⁄ = 35.37

𝑝

𝑍𝑇𝑠𝑐𝑓 𝑓𝑡³⁄ (62)

Page 51: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

32

𝐵𝑔 =𝑝𝑠𝑐

𝑇𝑠𝑐

𝑍𝑇

𝑝= 0,02827

𝑍𝑇

𝑝𝑓𝑡³ 𝑠𝑐𝑓⁄ = 0,00504

𝑍𝑇

𝑝𝑏𝑏𝑙 𝑠𝑐𝑓⁄ (63)

Conhecendo o volume do reservatório (𝑉𝑟), a porosidade da rocha (Ф) e a saturação de

água conata (𝑆𝑤𝑖) , pode-se facilmente calcular o volume original de gás de um reservatório

volumétrico (ROSA, CARVALHO e XAVIER, 2006), conforme:

𝐺 =𝑉𝑟Ф(1 − 𝑆𝑤𝑖)

𝐵𝑔𝑖 (64)

Onde as unidades estão no sistema internacional.

A equação de balanço de materiais generalizada para um reservatório de gás pode ser

dada pela equação (65), entre outras formas usuais na literatura:

𝑝

𝑍=

1

𝑉(

𝑝𝑖𝑉𝑖

𝑍𝑖−

𝑇𝑝𝑠𝑐

𝑇𝑠𝑐𝐺𝑝) (65)

Onde 𝐺𝑝 é o acumulado de gás produzido

5.2 Reservatórios volumétricos de gás

Reservatórios volumétricos são aqueles que produzem somente por depleção (ROSA,

CARVALHO e XAVIER, 2006), ou seja, pela expansão do gás contido no meio poroso, sem o

influxo de água de aquíferos. Como a compressibilidade do gás é muito grande quando

comparada a compressibilidade da rocha e da água conata, a produção da mesma e variação do

volume de poros tornam-se desprezíveis. A equação (65) pode ser reduzida para:

𝑝

𝑍=

𝑝𝑖

𝑍𝑖−

𝑇𝑝𝑠𝑐

𝑉𝑇𝑠𝑐𝐺𝑝 (66)

Onde agora é possível passar a equação para um gráfico linear, com 𝐺𝑝 no eixo das

abscissas e 𝑝

𝑍 no eixo das ordenadas.

𝑝𝑖

𝑍𝑖 é o ponto em que a reta cruza o eixo das ordenadas e

𝑇𝑝𝑠𝑐

𝑉𝑇𝑠𝑐 é a inclinação da reta. Além disso, é possível estimar a reserva inicial de gás pela

Page 52: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

33

extrapolação da reta, como apresentado na Figura 12, assim como é possível determinar o total

de gás a ser produzido com uma pressão de abandono de referência.

Figura 12 – Reservatório Volumétrico de Gás Seco

Fonte: LAKE e HOLSTEIN (2007, adaptado).

Outra forma de apresentar a equação de balanço de materiais para reservatórios de gás

volumétricos é utilizando 𝐵𝑔:

𝐺 =𝐺𝑝𝐵𝑔

𝐵𝑔 − 𝐵𝑔𝑖 (67)

5.2.1 Reservatórios volumétricos anormalmente pressurizados

Uma das hipóteses utilizadas para a formulação anterior era de que a compressibilidade

da rocha de formação e da água eram desprezíveis. Porém, isso nem sempre é verdade, e há

Page 53: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

34

casos em que devem ser levadas em conta. Para tais situações, a Equação (66) muda de forma

para:

𝑝

𝑍(1 − 𝑐𝑒𝑤𝑓∆𝑝) =

𝑝𝑖

𝑍𝑖−

𝑇𝑝𝑠𝑐

𝑉𝑇𝑠𝑐𝐺𝑝 (68)

Em que ∆𝑝 = 𝑝𝑖 − 𝑝 e representa a queda da pressão no reservatório em relação a

pressão inicial 𝑝𝑖, e 𝑐𝑒𝑤𝑓 é a compressibilidade efetiva do sistema água-formação,

matematicamente descrita pela equação (69):

𝑐𝑒𝑤𝑓 =𝑐𝑤𝑆𝑤𝑖 + 𝑐𝑓

1 − 𝑆𝑤𝑖 (69)

Onde 𝑐𝑤 é a compressibilidade da água, 𝑆𝑤𝑖 a saturação inicial de água conata e 𝑐𝑓 a

compressibilidade da formação. O desvio para o método normalmente pressurizado é

esquematizado pela Figura 13, em que se nota a real estimativa de gás devido a pressão anormal

bem inferior a estimativa caso fosse considerado reservatório volumétrico.

Figura 13 – Reservatório Volumétrico de Gás Seco Anormalmente Pressurizado

Fonte: ROSA, CARVALHO e XAVIER (2006).

5.3 Reservatórios de gás sob influxo de água

Quando temos influxo de água no reservatório, o volume ocupado pelo gás não poderá

mais ser considerado o volume inicial (𝑉𝑖) (ROSA, CARVALHO e XAVIER, 2006), uma vez

Page 54: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

35

que haverá influxo de água (𝑊𝑒), retirando espaço do gás, e poderia haver produção de água

(𝑊𝑝), devolvendo espaço para o gás. Logo, o novo volume ocupado pelo gás passa a ser descrito

pela equação (70):

𝑉 = 𝑉𝑖 − 𝑊𝑒 + 𝐵𝑤𝑊𝑝 (70)

Onde 𝐵𝑤 é o fator volume-formação da água

A equação se torna, então:

𝑝

𝑍=

1

𝑉𝑖 − 𝑊𝑒 + 𝑊𝑝𝐵𝑤

𝑝𝑖𝑉

𝑍𝑖−

𝑇𝑝𝑠𝑐

𝑇𝑠𝑐𝐺𝑝 (71)

Que é a equação de balanço de materiais para um reservatório de gás produzindo sob

mecanismo de influxo de água.

Quando comparado com o caso do reservatório volumétrico, está equação não mais está

linearizada, como mostra a Figura 14.

Figura 14 – Reservatório de Gás Seco

Fonte: LAKE e HOLSTEIN (2007, adaptado).

Page 55: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

36

Para descobrir o valor de G, caso o influxo de água (𝑊𝑒) seja conhecido, pode ser usada

a equação (72).

𝐺 =𝑉𝑖

𝐵𝑔𝑖 (72)

Outra maneira de expressar a EBM de uma formação sob influxo de água está disposta

na equação (73):

𝐺 =𝐺𝑝𝐵𝑔 − 𝑊𝑒 + 𝑊𝑝𝐵𝑤

𝐵𝑔 − 𝐵𝑔𝑖 (73)

Entretanto, como foi dito, para este caso de influxo, a equação não está linearizada, o

que impossibilita sua extrapolação para encontrar a quantidade de reserva de gás inicial. Por

esta razão, a equação (73) será reestruturada para:

𝐺𝑝𝐵𝑔 + 𝑊𝑝𝐵𝑤

𝐵𝑔 − 𝐵𝑔𝑖= 𝐺 +

𝑊𝑒

𝐵𝑔 − 𝐵𝑔𝑖 (74)

Pois assim, fazendo

𝑦 =𝐺𝑝𝐵𝑔 + 𝑊𝑝𝐵𝑤

𝐵𝑔 − 𝐵𝑔𝑖 (75)

E

𝑥 =𝑊𝑒

𝐵𝑔 − 𝐵𝑔𝑖 (76)

Temos:

𝑦 = 𝐺 + 𝑥 (77)

Que, por sua vez, está linearizada.

Neste arranjo, 𝑊𝑒 deve ser calculado utilizando um dos modelos do capítulo 4. Ainda,

como a determinação de G e 𝑊𝑒 são feitas simultaneamente, o procedimento envolve tentativa

e erro, que estará correto quando o gráfico apresentar a a curva linearizada com uma angulação

de 45º com o eixo das abscissas, ou seja, tangente igual a 1, conforme a Figura 15.

Page 56: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

37

Figura 15 – Reservatório de Gás Seco sob Influxo de Agua

Fonte: ROSA, CARVALHO e XAVIER (2006, adaptado).

Page 57: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

38

6 METODOLOGIA - DESENVOLVIMENTO DO PROGRAMA

Neste capítulo, será finalmente mostrado o desenvolvimento e estrutura do programa,

que tem por objetivo o acompanhamento de reservatórios radiais de gás seco pelo balanço de

materiais. Primeiramente, será apresentada a ideia original para a ferramente e, posteriormente,

como ela foi implementada.

O programa foi pensado em 7 ‘abas’ (planilhas) de excel, em que a primeira, nomeada

“Home”, é apenas uma página inicial com esclarecimentos sobre o programa. A segunda,

“Conversores de Unidade”, é destinada a diversas calculadoras que facilitam a conversão das

variáveis que serão utilizadas no decorrer do software, sem que seja necessário recorrer a outros

métodos. A terceira, denominada “Influxo de Água”, é responsável pelas modelagens do

influxo, caso haja, em que é possível calculá-lo pelos diversos modelos apresentados. A quarta,

e mais importante, chamada de “Dados”, é onde de fato é inserido o histórico de produção e

calculadas as variáveis mais importantes, com botões de análise dos dados inseridos que, por

sua vez, são resumidos e agregados nas três últimas planilhas para reservatórios consolidados,

inconsolidados e sob influxo de água, respectivamente.

Em termos do fator de compressibilidade do gás, o arquivo foi projetado para trabalhar

com as correlações de Papay, Hall e Yarborough, Dranchuk e Abou-Kassem e Brill e Beggs,

sem contar a possível inserção manual dos valores e também gás ideal, enquanto para influxo

de água no reservatórios, os modelos são o Pot Aquifer, Fetkovich e Van Everdingen & Hurst.

Um fluxograma para as funcionalidades do arquivo pode ser conferido na Figura 16.

Outrossim, as ferramentas computacionais são fortemente baseadas em macros inseridas

nos diversos botões espalhados pelas pastas, programados em VBA. Todos os códigos gerados

estão disponíveis no Apêndice A desta dissertação e serão referenciados neste capítulo.

Page 58: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

39

Figura 16 – Fluxograma da Utilização do Programa

Fonte: Autoria própria.

Preciso de uma análise para o reservatório.

Meus dados estão todos nas unidades do

programa?

Não

Converto as unidades dos dados.

Sim

Possuo o valor do fator de compressibilidade do gás em cada observação?

Sim

Espera-se influxo d'água?

Sim

Conheço o influxo?

Não

Prevejo pelos modelos de influxo disponíveis.

Sim

Análise para formações com influxo d'água.

Não

Formação Consolidada?

Sim

Análise volumétrica para pressões normais.

Não

Análise volumétrica para pressões anormalmente

altas.

Não

Correlações disponíveis

Page 59: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

40

6.1 “Home”

Esta pasta, a primeira do arquivo, deve ser responsável por apresentar o programa, dizer

seus objetivos e esclarecer pontos sensíveis de sua utilização, como funcionalidades do Excel

a serem habilitadas para seu funcionamento correto, faixas recomendadas de aplicação para os

modelos do fator de compressibilidade do gás e outras especificidades embutidas na

programação. Os botões contidos nesta etapa são compartilhados entre todas as páginas do

programa, com objetivo apenas de navegar entre elas. Seus códigos podem ser encontrados na

seção “BOTÕES COMPARTILHADOS” do Apêndice A deste documento.

6.2 “Conversores de Unidade”

Segunda pasta do programa, deve conter métodos para realizar a conversão das unidades

mais importantes que a ferramenta utiliza, como pressão, volume e temperatura, visto que os

dados de entrada requerem uma unidade específica, que pode diferir da original do usuário.

Além disso, deve ser capaz de fazer muitas conversões de uma só vez, pois dados de produção,

volume e pressão, são longas listas referenciadas para cada momento de medição, tornando

ineficiente a realização de conversões isoladas.

Enquanto as conversões de apenas um dado são realizadas em tabelas com fórmulas

inseridas diretamente nas células, as conversões por lista devem ser feitas a partir de uma

quantidade pré-definida de dados, e aplicados para gerar uma tabela onde colocá-los, conforme

código do botão “Aplicar”, na seção “CONVERSORES DE UNIDADE” do Apêndice A. Em

seguida, com o parâmetro, unidade de origem e unidade desejada selecionados nas combo

boxes, é possível converter tudo de uma só vez, através do botão “Calcular”, com código

disponível na mesma seção do apêndice, e resetar tudo para uma nova medição, com o botão

“Resetar”.

6.3 “Influxo de Água”

Pasta designada para as previsões de influxo segundo os modelos projetados, precisa

conter espaços destinados aos inputs das características do aquífero, como raio, espessura,

porosidade, permeabilidade compressibilidade, entre outros, o regime atuante no aquífero

(transiente, pseudopermanente ou permanente) e uma tabela para informar o histórico de

pressões no contato reservatório-aquífero, junto com o tempo dessas medições.

Page 60: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

41

Sendo assim, para inserir e formatar a tabela para o histórico de pressões com o número

de medições informado pelo usuário, a planilha conta com um botão “Aplicar” similar ao da

página anterior. Adicionalmente, o regime do aquífero e o modelo a ser utilizado para previsão

do influxo devem ser escolhidos através de uma combo box, enquanto outro botão destinado a

realizar o cálculo reconhece todas essas informações e preenche a tabela com os influxos. Os

códigos referentes a esta etapa podem ser conferidos na seção “INFLUXO DE ÁGUA” do

apêndice.

6.4 “Dados”

Última pasta de trabalho do programa, será responsável por utilizar todas as informações

do reservatório, insertadas em locais demarcados, para realizar as análises, que facilmente

definirão as reservas e terão sua validade atestada ou não pelas curvas geradas. Também deverá

conter uma tabela para o histórico de produção, fator de compressibilidade do gás e demais

resultados de fórmulas específicas que se configuram em eixos de gráficos das diferentes

análises.

Desta maneira, para criar a tabela formatada, que dessa vez contará com aplicação de

fórmulas em várias colunas da tabela, novamente existirá o botão “Aplicar”. Ademais, uma

combo box para escolha da correlação a ser usada para o cálculo do fator de compressibilidade

do gás (Papay, Hall e Yarborough, Brill e Beggs e Dranchuck e Abou-Kassem) também se fará

necessária, e um botão para cada uma das três análises, que utilizarão diferentes colunas da

tabela como eixos para regressão e linearização. Os códigos em VBA para os botões desta

planilha encontram-se na seção “DADOS” do Apêndice A.

Page 61: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

42

7 RESULTADOS

Uma vez estabelecido o projeto das ferramentas, é chegada a hora de mostrar os

resultados. Este capítulo será destinado a apresentar o layout do programa, as funcionalidades

que foram implementadas, assim como expor exemplos delas, e a comparar os cálculos

realizados pelo programa com exemplos conhecidos da literatura. A Figura 17 revela a primeira

visão do usuário ao executar o arquivo, na página inicial “Home”, que exibe os esclarecimentos

e peculiaridades do programa, como ferramentas do excel que precisam ser habilitadas para que

os códigos funcionem corretamente e o método com que alguns dados devem ser inseridos.

Figura 17 – Visão Inicial do Programa

Fonte: Autoria própria.

7.1 “Conversores de Unidade”

Planilha destinada para conversões, oferece o cálculo para 6 parâmetros distintos

utilizados ao longo do programa, com diversas opções de unidade. São eles:

1) Pressão

a) Quilograma-força por centímetro quadrado (𝑘𝑔𝑓/𝑐𝑚²)

b) Quilo Pascal (kPa)

c) Libra-força por polegada ao quadrado (PSI)

d) Atmosfera (atm)

Page 62: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

43

2) Temperatura

a) Grau Celsius (ºC)

b) Grau Fahrenheit (ºF)

c) Rankine (R)

d) Kelvin (K)

3) Volume

a) Metro cúbico (m³)

b) Barril (bbl)

c) Polegada cúbica (in³)

d) Pé cúbico (ft³)

e) Litro

f) Galão Americano

4) Compressibilidade

a) (𝑘𝑔𝑓/𝑐𝑚²)−1

b) 𝑘𝑃𝑎−1

c) 𝑃𝑆𝐼−1

d) 𝑎𝑡𝑚−1

5) Permeabilidade

a) Milidarcy (md)

b) Darcy (D)

c) Metro quadrado (m²)

d) Centímetro quadrado (cm²)

6) Viscosidade

a) Centipoise (cp)

b) Pascal-segundo (Pa.s)

c) Dina-segundo por centímetro quadrado (𝑑𝑖𝑛𝑎. 𝑠/𝑐𝑚²)

As fórmulas de conversão utilizadas estão disponíveis no Anexo A deste documento. A

visão inicial que se tem ao entrar na planilha de conversão de dados pode ser vista na Figura

18.

Page 63: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

44

Figura 18 – Conversores de Unidade

Fonte: Autoria própria.

Como discutido no Capítulo 6, o programa oferece duas maneiras para converter os

dados. A primeira delas, para quando se tem apenas um ou poucos dados para converter em

cada parâmetro, necessita apenas que seja informado o valor da sua variável dentro do campo

de sua unidade, que automaticamente ela é convertida para as outras unidades, conforme o

exemplo da Figura 19, que simula uma conversão rápida de 10 atmosferas de pressão.

Figura 19 – Conversão Rápida de Pressão

Fonte: Autoria própria.

A outra maneira de converter os dados permite que sejam feitas inúmeros conversões

de uma só vez, como sugere a Figura 20.

Page 64: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

45

Figura 20 – Conversor para Inúmeros Dados

Fonte: Autoria própria.

Nesta forma de conversão, é inserido a quantidade de dados que se deseja alterar e clica

em ‘Aplicar’. Este botão irá gerar uma tabela estruturada para a inserção dos dados.

Posteriormente, se escolhe qual dos 6 parâmetros contidos no programa será convertido, e qual

sua unidade original e desejada, clicando nas setas para que seja mostrada a lista das opções.

Feito isso, basta inserir os dados e clicar em ‘Calcular’. O botão ‘Resetar’ retorna toda planilha

ao estado original, inclusive os valores inseridos nas tabelas de ‘conversão rápida’. Uma

simulação da conversão de 15 dados de volume está representada na Figura 21.

Figura 21 – Simulação de Conversão

Fonte: Autoria própria.

Page 65: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

46

7.2 “Influxo de Água”

A pasta de influxo de água é a primeira planilha técnica do programa desenvolvido.

Uma visão geral da página pode ser observada na Figura 22, que conta com três modelos para

definir o influxo d’água. São eles:

Pot Aquifer

Fetkovich

Van Everdingen & Hurst

Figura 22 – Influxo de Água

Fonte: Autoria própria.

Assim como na Conversão de Dados, o botão ‘Aplicar’ insere a tabela formatada da

quantidade de dados a serem inseridos informada, o botão de calcular irá, sendo escolhido o

modelo e inseridas as variáveis necessárias, dispor o influxo em cada pressão e, o botão

“Resetar Dados” retornará a planilha ao seu estado original, removendo a tabela e os dados

adicionados.

Apesar de diversos lugares para entrada de dados, a necessidade dos mesmos irá

depender do modelo escolhido, que acusa os dados necessários caso se tente calcular sem os

inputs requeridos. A seguir, mostraremos as especificidades e requerimentos de cada modelo

no programa, além de apresentar exemplos e comparar resultados para os dois mais complexos,

Fetkovich e Van Everdingen & Hurst, que utilizarão como base os dados do Exemplo 6.4 de

Rosa, Carvalho e Xavier (2006), que podem ser conferidos nas tabelas 3 e 4 e pede o influxo

acumulado de água após 500 dias.

Page 66: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

47

Tabela 3 – Dados do Exemplo Comparativo para Modelos de Aquífero

Variável Valor

Raio do reservatório 𝑟𝑜 = 762 𝑚

Raio do aquífero 𝑟𝑒 = 6 096 𝑚

Espessura ℎ = 18,3 𝑚

Porosidade 𝛷 = 0,22

Permeabilidade 𝑘 = 100 𝑚𝑑

Viscosidade da água 𝜇 = 0,30 𝑐𝑝

Compressibilidade da formação 𝑐𝑓 = 56,9𝑥10−6 (𝑘𝑔𝑓 𝑐𝑚²⁄ )−1

Compressibilidade da água 𝑐𝑤 = 42,7𝑥10−6 (𝑘𝑔𝑓 𝑐𝑚²⁄ )−1

Fonte: ROSA, CARVALHO e XAVIER (2006, adaptado)

Tabela 4 – Histórico de Pressões Médias no Contato Óleo/Água do Exemplo

Variável Valor

𝑡 (𝑑) 0 100 200 300 400 500

𝑝 (𝑘𝑔𝑓 𝑐𝑚²⁄ ) 246,13 245,43 244,44 243,18 242,19 240,51

Fonte: ROSA, CARVALHO e XAVIER (2006, adaptado)

7.2.1 Pot Aquifer

Sendo o modelo mais simples da ferramenta, apresentado no Capítulo 4 deste

documento, a Figura 23, que é uma mensagem de ‘erro’, indica quais dados são necessários

para seu cálculo, caso o usuário tente rodar sem antes entrar com as informações demandadas.

Esta estrutura é repetida, de acordo com seus respectivos requisitos, para as outras opções de

cálculo. Vale lembrar que este modelo não depende do tempo, tampouco do regime do aquífero,

e é indicado apenas para aquífero muito pequenos, da mesma ordem de grandeza do

reservatório. Os dados de entrada são:

Histórico de pressões no contato

Raio do reservatório

Raio do aquífero

Espessura

Porosidade

Compressibilidade da água

Page 67: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

48

Compressibilidade da formação

Figura 23 – Mensagem de Erro: dados necessários [Pot Aquifer]

Fonte: Autoria própria.

7.2.2 Fetkovich

O segundo modelo de influxo d’água presente no trabalho é o de Fetkovich, apresentado

no tópico 4.3. Os dados de entrada são:

Histórico de pressões no contato

Raio do reservatório

Raio do aquífero

Espessura

Porosidade

Compressibilidade da água

Compressibilidade da formação

Viscosidade da água

Seção de contato aquífero-reservatório (f)

Regime do aquífero

7.2.2.1 Aplicação

Baseado nos dados das Tabelas 3 e 4, o resumo de cálculo exposto no Livro está

expresso na Tabela 5.

Page 68: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

49

Tabela 5 – Resumo de Cálculo Fetkovich

𝑡

(𝑑)

𝑝

(𝑘𝑔𝑓 𝑐𝑚²⁄ )

�̅�𝑛

(𝑘𝑔𝑓 𝑐𝑚²⁄ )

∆𝑊𝑒𝑛

(𝑚³)

𝑊𝑒𝑛

(𝑚³)

�̅�𝑎𝑛

(𝑘𝑔𝑓 𝑐𝑚²⁄ )

0 246,13 - - - 246,1300

100 245,43 245,780 6 570,9 6 570,9 245,9874

200 244,44 244,935 19 757,9 26 328,8 245,5587

300 243,18 243,810 32 829,2 59 158,0 244,8462

400 242,19 242,685 40 575,3 99 733,3 243,9657

500 240,51 241,350 49 108,1 148 841,0 242,9001

Fonte: ROSA, CARVALHO e XAVIER (2006)

A resposta do livro, contida na Tabela 5, é de após 500 dias 𝑊𝑒 = 148 841 𝑚3. Em

comparação, quando inseridos os valores de entrada, a resposta do programa para o influxo é

vista na Figura 24.

Figura 24 – Resposta do Programa para Fetkovich

Fonte: Autoria própria.

É possível inferir que o resultado foi praticamente idêntico, com uma pequena exceção

da casa decimal do influxo no último tempo, que pode ter sido erro de digitação no livro, visto

tamanho igualdade nos outros valores, ou diferença por uma menor utilização de casas decimais

durante as contas, e a comparação é bastante satisfatória.

7.2.3 Van Everdingen & Hurst

O método de Van Everdingen & Hurst, o mais rigoroso implementado no programa, é

dependente do tempo e faz uso da superposição de efeitos. As tabelas de influxo adimensional

Page 69: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

50

para os diversos regimes do aquíferos, utilizadas nesta modelagem, podem ser encontradas no

Anexo B desta obra.

Estas tabelas estão inseridas dentro do Excel e, no processo de cálculo, é feita a

interpolação tanto do tempo adimensional, quanto do raio adimensional para definir o influxo

adimensional, que por sua vez é utilizado para definir o influxo no dado tempo. Os inputs do

modelo são:

Histórico de pressões no contato

Raio do reservatório

Raio do aquífero

Espessura

Porosidade

Compressibilidade da água

Compressibilidade da formação

Viscosidade da água

Seção de contato aquífero-reservatório (f)

Regime do aquífero

Intervalo de tempo entre as medidas

7.2.3.1 Aplicação

Aplicando novamento os dados das Tabelas 3 e 4, agora ao modelo de Van Everdingen

& Hurst, um novo resumo de cálculo está representado na Tabela 6.

Tabela 6 – Resumo de Cálculo Van Everdingen & Hurst

𝑗 𝑡

(𝑑)

𝑝

(𝑘𝑔𝑓 𝑐𝑚²⁄ )

(𝑡𝐷𝑛 − 𝑡𝐷𝑗) 𝑊𝐷(𝑡𝐷𝑛 − 𝑡𝐷𝑗)

Tabela B.2

∆𝑝𝑗 ∆𝑝𝑗𝑊𝐷(𝑡𝐷𝑛 − 𝑡𝐷𝑗)

0 0 246,13 109,5 28,7 0,350 10,05

1 100 245,43 87,6 27,0 0,845 22,82

2 200 244,44 65,7 24,3 1,125 27,34

3 300 243,18 43,8 20,0 1,125 22,50

4 400 242,19 21,9 12,9 1,335 17,22

5 500 240,51 ∑ 99,93

Fonte: ROSA, CARVALHO e XAVIER (2006, adaptado).

Page 70: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

51

É válido lembrar que a constante de influxo de água do aquífero (U), apresentada neste

documento pela equação (52), vale, neste caso, 𝑈 = 1 462,9 𝑚3/𝑘𝑔𝑓/𝑐𝑚². Pela equação (51)

𝑊𝑒 = 1 462,9 𝑥 99,93 = 146 190 𝑚³.

E, para compararmos, a Figura 25 mostra os resultados obtidos no programa com os

dados das Tabelas 3 e 4.

Figura 25 – Resposta do Programa para Van Everdingen & Hurst

Fonte: Autoria própria.

Enquanto no livro era importante definir o influxo apenas após os 500 dias, e o modelo

de Van Everdingen não apresenta os influxos para os intervalos como o de Fetkovich, temos

como comparar apenas o valor final, que ficou extremamente próximo. 146.190 para 146.167,

para este tipo de variável, é um erro desprezível, e depois, a diferença provavelmente ocorreu

porque o livro utiliza apenas as casas decimais que aparecem nas contas, enquanto o programa

utiliza muito mais. Além disso, é possível comparar os valores intermediários com os

encontrados por Fetkovich, sendo verificados resultados bastante coerentes.

7.3 “Dados”

Esta é a pasta mais importante do programa desenvolvido. É nela que os dados de

produção do reservatório serão de fato adicionados e geradas as análises, que indicarão a

proximidade da realidade que os dados inseridos tem para os modelos contidos, sendo estes

formação consolidada (ou de pressões normais), formação inconsolidada (ou de pressões

anormalmente altas) e sob influxo d’água.

Entre os objetivos destas análises, destaca-se a previsão de reserva total do prospecto,

assim como poder, com as regressões geradas, saber quanto terá sido produzido quando a

Page 71: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

52

pressão de abandono (ou qualquer outra) for atingida. Outros objetivos incluem a determinação

da pressão inicial do reservatório, caso não seja conhecida, e o influxo real. Uma visão geral

desta planilha pode ser observada na Figura 26.

Figura 26 – Dados

Fonte: Autoria própria.

Assim como nas abas anteriores, esta também conta com um campo para informar

quantos dados de produção serão inseridos. Entretanto, ao aplicar, além de montar a tabela para

os dados, são inseridas fórmulas em cada linha das colunas E (𝑃𝑍⁄ ), F ((𝑃

𝑍⁄ ) ∗

(1 − 𝐶𝑒𝑤𝑓∆𝑃)), I (𝑊𝑒/(𝐵𝑔 − 𝐵𝑔𝑖)) e J ((𝐺𝑝𝐵𝑔 + 𝑊𝑝𝐵𝑤)/(𝐵𝑔 − 𝐵𝑔𝑖)).

Além disso, adicionadas as pressões do histórico, a temperatura do reservatórios e as

propriedades críticas do gás, que por sua vez podem ser deduzidas apenas com sua densidade

pela correlação de Brown et al (1948), e corrigidas para contaminantes por Whichert-Aziz

(1972), caso o fator de compressibilidade do gás (Z) não seja conhecido, é possível calculá-lo

para cada valor de pressão por diversas correlações famosas na literatura, basta escolher a

correlação na lista da coluna D, como demonstra a Figura 27, e clicar em calcular. A definição

das propriedades críticas por Brown e Whichert-Aziz estão codificadas no botão “Calcular

propriedades pseudocríticas por correlação”.

Figura 27 – Métodos de Calcular Z

Fonte: Autoria própria.

Page 72: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

53

O botão “Resetar Dados”, assim como nas páginas anteriores, retorna a planilha para

seu estado original, enquanto o “Apagar Análises” limpa todas as três pastas de resultados, ação

necessária para gerar novas análises, caso exista qualquer informação nas pastas.

7.3.1 Aplicação das correlações de compressibilidade do gás (Z)

Para validar esta etapa, mais precisamente as correlações de Papay, Hall e Yarborough,

Brill e Beggs e Dranchuk e Abou-Kassem, será utilizado o exemplo 4.7 da apostila de Ahón

(2017), onde a temperatura é de 654 R, a temperatura crítica 484,7942 R, a pressão 3810 psi e

a pressão crítica 678,6000 psi. As respostas do exemplo podem ser vistas na Tabela 7 para cada

uma das correlações, enquanto as calculadas pelo programa, que envolvem, inclusive, o sistema

de conversão de unidades embutido, uma vez que as entradas são em ºC e kgf/cm², podem ser

vistas na Tabela 8.

Tabela 7 – Resultados de Z da Apostila

Método Z

Papay 0,7451

Hall e Yarborough 0,7884

Brill e Beggs 0,7961

Dranchuk e Abou-Kassem 0,7891

Fonte: AHÓN (2017, adaptado).

Tabela 8 – Resultados de Z do Programa

Método Z

Papay 0,74510

Hall e Yarborough 0,78837

Brill e Beggs 0,79612

Dranchuk e Abou-Kassem 0,78912

Fonte: Autoria própria.

Analisando os resultados, é possível verificar que as respostas são as mesmas, levando

em consideração que o excel retorna valores com 15 casas decimais, que foram arredondadas

para mostrar uma a mais que a apostila, por motivos comparativos, mas que seriam

perfeitamente iguais, caso a quantidade de algarismos significativos fosse mantida.

7.3.2 Formações normalmente pressurizadas

A primeira das análises a ser implementada, as formações normalmente pressurizadas

requerem apenas os dados de produção para serem geradas, isto é, volume acumulado de gás

produzido, pressão e fator de compressibilidade, que caso seja gerado por uma das correlações

Page 73: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

54

disponíveis, vai precisar da temperatura do reservatório e propriedades críticas. Na hipótese das

condições iniciais da formação não estarem contidas no histórico apresentado, isto é, gás

acumulado produzido zero e pressão inicial, a análise também oferece soluções para a pressão

inicial e fator de compressibilidade inicial, através do valor de 𝑃𝑖 𝑍𝑖⁄ gerado pela extrapolação

da curva linearizada até o intercepto do eixo y, e a correlação de Beggs e Brill de modo

adaptado, utilizando o Solver do Excel para encontrar um 𝑍𝑖 que satisfaça a equação. A

formulação para este caso está expressa na equação (78):

−𝑍𝑖 + 𝐴𝐵 +1 − 𝐴𝐵

exp (𝐵)+ 𝐶 (

𝑃𝑖

𝑍𝑖

𝑍𝑖

𝑃𝑐)

𝐷

= 0 (78)

Sendo 𝑃𝑖 𝑍𝑖⁄ um número definido, 𝑃𝑐 a pressão crítica do gás e 𝐴𝐵, B, C e D os coeficientes da

correlação, expressos na equação (20) deste trabalho. Todavia, por conter pressão reduzida na

forma, B precisou ser adaptado para (79):

𝐵 = (0,62 − 0,23𝑇𝑅) (𝑃𝑖

𝑍𝑖

𝑍𝑖

𝑃𝑐) +

+ (0,066

𝑇𝑅 − 0,86− 0,037) (

𝑃𝑖

𝑍𝑖

𝑍𝑖

𝑃𝑐)

2

+0,32

109(𝑇𝑅−1)(

𝑃𝑖

𝑍𝑖

𝑍𝑖

𝑃𝑐)

6

(79)

Quando B é muito grande, a expressão 1−𝐴𝐵

exp (𝐵), de (78), tende a 0, e o resultado costuma

ser facilmente encontrado, fato que teve que ser modelado, inclusive, pela ocasião de B ser

superior a 709, situação que ocasionaria erro no programa, uma vez que o mesmo não suporta

valores superiores a 1,79769313486232E+308, que é excedido pela exponencial de 710.

Entretanto, quando B afeta significativamente o valor de 𝑍𝑖, a expressão tem muitos resultados,

e o Solver para ao encontrar o primeiro, que pode não ser o correto.

O resultado da análise é gerado na aba “Resultados – Pressão Normal” e conta com,

além do gráfico de regressão propriamente dito, gráficos de distribuição de probabilidade,

desvios da produção, dados estatísticos, interceções de eixos e informações da linearização,

como R² e equação da reta. Exemplo pode ser visto nas Figuras 28.a, 28.b e 28.c. Por motivos

de simplificação, foram omitidos 6 zeros dos valores de volume, em relação a fonte de dados.

Page 74: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

55

Figura 28 – Exemplo de Análise de Formações Consolidadas

a. Dados utilizados

Fonte: Autoria própria.

b. Resultados da análise

Fonte: Autoria própria.

Page 75: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

56

c. Resultado da regressão

Fonte: Autoria própria.

Exemplo comparativo para esta análise será apresentado em conjunto com o das

formações inconsolidadas, na seção 7.3.3.1.

7.3.3 Formações anormalmente pressurizadas

Diferentemente das formações normalmente pressurizadas, as formações

inconsolidadas precisam de alguns dados adicionais, que são a água conata inicial no

reservatório (𝑆𝑤𝑖), a compressibilidade da água (𝑐𝑤) e a compressibilidade da formação (𝑐𝑓),

sempre sendo conferidas pelo programa para avisar o usuário caso não estejam com valores

válidos na hora de gerar a análise. Outra diferença é o requerimento de conter dados iniciais do

reservatório no histórico, ou seja, a primeira linha deve conter produção acumulada zero e a

pressão inicial.

A análise gerada, na pasta “Resultados – P. Anormais”, irá informar um número mais

coerente e real para a reserva, frente aos informados pela análise de formações consolidadas,

que mostra uma reserva muito otimista para casos de compressibilidade da formação elevados.

Ademais, a diferença de reserva entre os dois modelos é informada, na ocasião de uma análise

para o caso anterior tenha sido produzida. A Figura 29 mostra como essa informação aparece.

Page 76: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

57

Figura 29 – Diferença entre as Reservas

Fonte: Autoria própria.

7.3.3.1 Aplicação

Uma vez que a análise para formações com pressões normais, quando tratando de

formações inconsolidadas, retorna valores aparentemente coerentes, com o entrave de ser

otimista demais, devido a compressibilidade da formação deixar de ser desprezível frente a do

gás, elas podem ser validadas com a mesma fonte de dados. Será utilizado como fonte para

validação o Exemplo 7.1 de Rosa, Carvalho e Xavier (2006), onde será possível também validar

a fórmula da coluna ‘F’ do programa, que trás os dados de (𝑃𝑍⁄ ) ∗ (1 − 𝐶𝑒𝑤𝑓∆𝑃) ou, em sua

notação simplificada, (𝑃 𝑍⁄ )𝑐𝑜𝑟𝑟..

Os dados do exemplo, que é representado por um reservatório de gás a 4.050 metros de

profundidade e com temperatura de 128,4 ℃, que são relevantes ao problema, são: 𝑆𝑤𝑖 = 22%,

𝑐𝑤 = 4,3𝑥10−5 (𝑘𝑔𝑓/𝑐𝑚²)−1, 𝑐𝑓 = 27,7𝑥10−5 (𝑘𝑔𝑓/𝑐𝑚²)−1 e o histórico de produção, que

está admitindo valores de p/Z e (𝑃𝑍⁄ ) ∗ (1 − 𝐶𝑒𝑤𝑓∆𝑃), lembrando que 𝐶𝑒𝑤𝑓 =

𝑐𝑤𝑆𝑤𝑖+𝑐𝑓

1−𝑆𝑤𝑖, na

tabela 9.

Page 77: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

58

Tabela 9 – Cálculo dos Termos da EBM no Livro

𝐺𝑝

(106 𝑚3𝑠𝑡𝑑)

p

(𝑘𝑔𝑓/𝑐𝑚²)

Z

p/Z

(𝑘𝑔𝑓/𝑐𝑚²)

𝑝

𝑍(1 − 𝐶𝑒𝑤𝑓∆𝑃)

(𝑘𝑔𝑓/𝑐𝑚²)

0 805 1,496 538,1 538,1

81 712 1,397 509,7 492,3

152 651 1,330 489,5 461,8

220 603 1,280 471,1 436,2

287 556 1,230 452,0 410,7

341 519 1,192 435,4 389,7

411 482 1,154 417,7 368,2

455 449 1,122 400,2 347,9

516 410 1,084 378,2 323,4

611 352 1,033 340,8 284,1

696 293 0,988 296,6 240,9

Fonte: ROSA, CARVALHO e XAVIER (2006).

E, com os dados da saturação de água inicial, compressibilidade da água e

compressibilidade da rocha inseridas no planilha, uma vez que a temperatura e propriedades

críticas não são necessárias, visto que o fator de compressibilidade do gás foi fornecido, a

mesma tabela gerada pelo programa e as fórmulas embutidas podem ser observadas na Figura

30. É possível notar que os valores estão batendo quando arrendondados, ou muito próximos,

como é o caso da última linha, pelas questões previamente relatadas de que o livro utiliza apenas

os algarismo significativos que mostra durante as contas, resultando em pequenas variações.

Também é pertinente informar que foi omitido o multiplicador 106 do gás produzido nos dados

gerados.

Figura 30 – Cálculo dos Termos da EBM no Programa

Fonte: Autoria própria.

Page 78: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

59

Agora, comparando os gráficos e previsão de reserva, observamos na Figura 31 os

valores encontrados como solução no livro, que apresenta um erro de 38,3% para mais na

reserva total, caso a compressibilidade da formação seja desprezada. E, na Figura 32,

observamos o gerado pelo programa, com um erro de 26,4%.

Figura 31 – Gráfico Produção Acumulada da Literatura

Fonte: ROSA, CARVALHO e XAVIER (2006).

Figura 32 – Gráfico Produção Acumulada do Programa

Fonte: Autoria própria.

Page 79: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

60

Neste caso, é possível verificar uma diferença significativa para os valores do livro. Tal

diferença, provavelmente, advém do modo em que foi gerada a regressão. No livro, o valor

inicial da pressão, quando gás produzido é zero, aparenta ser tratado como base da regressão,

sendo um valor inquestionável, enquanto a regressão modelada no programa trata todos os

dados da mesma maneira, causando esta ligeira distorção, que tende a diminuir quando se utiliza

uma grande quantidade de dados.

7.3.4 Formações sob influxo d’água

Última das análises contidas no trabalho, as formações com influxo d’água tem um

tratamento um tanto quanto distinto. A análise dependerá de, além das informações do histórico

de produção de gás, pressões e do fator de compressibilidade (ou fator volume-formação), do

histórico de água produzida e do influxo d’água. Este influxo, caso não conhecido, deve ser

gerado através de modelos de influxo dependentes do tempo que, por sua vez, dependem de

outras informações importantes, como histórico de pressão no contato do aquífero com o

reservatório. A regressão utiliza as colunas “I” e “J” da planilha, que são automaticamente

preenchidas quando os dados necessários são introduzidos.

O resultado dessa análise deve retornar um gráfico simlar com o da Figura 15 deste

documento, determinando se os dados de influxo informados estão corretos, maiores ou

menores que o real. Caso o influxo esteja certo, determinado pela tangente da regressão fazer

um ângulo de 45º com o eixo x, a quantidade de reserva de gás será o intercepto da reta com o

eixo y, e estão então tanto o influxo quanto a reserva de gás determinados simultaneamente.

7.3.4.1 Aplicação

Infelizmente, não foi possível adquirir dados para fazer uma comparação ou validação

propriamente dita dos resultados das análises de reservatórios sob influxo d’água. Desta

maneira, este tópico focará em mostrar como os dados são tratados e oferecidos ao usuário.

Primeiramente, as informações requeridas para gerar esta análise são: histórico de

produção, com produção acumulada de gás (𝐺𝑝), produção acumulada de água (𝑊𝑝) e pressão,

fator de compressibilidade do gás (𝑍) ou fator volume formação do gás (𝐵𝑔), e seus valores

iniciais, fator volume formação da água (𝐵𝑤) e o influxo de água (𝑊𝑒). Caso este influxo seja

conhecido, o que normalmente não acontece, devido a enorme complexidade que se tem de

Page 80: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

61

definí-lo, tornar-se-ia fácil de descobrir a reserva. No entanto, este influxo, normalmente, será

calculado por modelos de influxo e, ao gerar esta análise ao passo em que permanentemente

tenta-se ajustar o valor do influxo, quando as condições da Figura 15 forem atingidas, o influxo

está definido e correto, e a reserva (𝐺) é a interceção da reta gerada com o eixo das ordenadas.

Um exemplo da aplicação pode ser visto na Figura 33 com valores inventados, mas que está

longe de ser uma aproximação de algum caso real, haja vista que as condições para que o influxo

fosse correto não foram atendidas.

Figura 33 – Exemplo de Resposta de uma Análise de Influxo

Fonte: Autoria própria.

Pelo gráfico da Figura 33, levando em consideração que os dados de gás acumulado

produzido, pressão e água acumulada produzida estariam supostamente corretos, uma vez que

deveriam ser retirados do histórico de produção do reservatório, o influxo estaria incorreto, e a

reserva não foi determinada. Na hipótese do influxo estar correto, o coeficiente angular da reta

deveria ser 1, formando um ângulo de 45º, e a interceção, 1E+09, seria o valor da reserva.

Page 81: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

62

8 CONCLUSÃO

Analisando de forma geral, o programa desenvolvido provou-se uma ótima alternativa

para auxiliar no gerenciamento de reservatórios de gás. Parte dos objetivos era ser uma opção

confiável e barata para empresas de pequeno porte, que operam em poços terrestres, sem o

capital necessário para adquirir softwares caros estabelecidos no mercado, e pode-se dizer que

foi atendido. Além disso, o programa também pode ajudar no aprendizado acadêmico de

engenharia de reservatórios, sendo uma ferramente de validação ou até de otimização, uma vez

que poderia ser aplicável para questões pontuais em outras disciplinas, como propriedade dos

fluidos.

Os resultados obtidos com o programa, que foram extremamente similares, quando não

exatamente iguais, às referências com que fora comparado, mostra que a ferramente é adequada

na determinação do influxo através dos modelos programados, na determinação do fator de

compressibilidade do gás e, principalmente naquilo que se faz objetivo principal do trabalho,

na determinação da previsão de reserva total do reservatório, podendo ser ajustada

recorrentemente ao passo que novos dados de produção são adquiridos, sendo viável inferir

mudanças no reservatório, como a descoberta de um aquífero adjacente que não se tinha

conhecimento.

Entretanto, não foi possível validar o modelo da determinação de reservas em

reservatórios com influxo, pela ausência de exemplos na literatura e dificuldade de se conseguir

dados para teste. Dito isto, não há razões para crer que o modelo falharia durante a verificação,

posto que, apesar de longe do ideal, o exemplo fictício mostrou uma estrutura interessante.

Desta maneira, o trabalho atingiu seus objetivos, dentro de suas limitações como uma

dissertação de graduação. Para uma próxima pesquisa relacionada ao tema, seria interessante a

criação de um banco de dados com modelos composicionais dos gases, a adição de novos

modelos de influxo de água, uma modelagem com as correlações para a compressibilidade da

água e da formação, que variam com a pressão e, por fim, uma expansão para outros tipos de

reservatórios de gás, citados no Capítulo 2, ou, numa abordagem mais completa, incluir

reservatórios de óleo.

Page 82: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

63

REFERÊNCIAS BIBLIOGRÁFICAS

AHMED, Tarek. Reservoir Engineering Handbook. 3ª Edição. Burlington, TX: Gulf

Professional Publishing, 2006. 1359 p.

AHMED, Tarek. Equations of State and PVT Analysis: Applications for Improved Reservoir

Modeling. Houston, TX: Gulf Publishing Company, 2007. 549 p.

AHMED, Tarek; MEEHAN, D. Nathan. Advanced Reservoir Management and Engineering.

2ª Edição. Waltham, TX: Gulf Professional Publishing, 2012. 702 p.

AHÓN, Victor R. R.; Notas de Aula da Disciplina TEQ-160: Propriedades de Fluidos de

Petróleo. Apostila do Curso de Propriedades de Fluidos de Petróleo da UFF, 2017.

BASÍLIO, Lorran Santos. Ferramentas Numérico-Computacionais para Análise do

Comportamento de Reservatórios de Petróleo. Niterói, 2012. 79f. Trabalho de Conclusão de

Curso (Graduação em Engenharia de Petróleo) – Curso de Engenharia de Petróleo –

Departamento de Engenharia Química e de Petróleo, Universidade Federal Fluminense, Niterói,

2012.

BP. BP Statistical Review of World Energy 2017. Disponível em:

<https://www.bp.com/content/dam/bp/en/corporate/pdf/energy-economics/statistical-review-

2017/bp-statistical-review-of-world-energy-2017-full-report.pdf>. Acessado em 10 de maio de

2018.

BROWN, et al. Natural Gasoline and the Volatile Hydrocarbons. Tulsa: NGAA, 1948. 92 p.

Disponível em: <

https://babel.hathitrust.org/cgi/pt?id=mdp.39015002087339;view=1up;seq=3>. Acesso em: 10

de maio de 2018

CRAFT, B. C.; HAWKINS, M. F. Applied Petroleum Reservoir Engineering. Englewood

Cliffs, NJ: Prentice-Hall, Inc., 1959. 437 p.

DRANCHUK, P.M.; ABOU-KASSEM, J.H., 1975. Calculation of Z Factors for Natural

Gases, Using Equations of State. Journal Canadian Petroleum Technology, Vol. 14, 3, Julho,

1975, p. 34-36.

ENGINEERING UNITS. Determine Compressibility factor, Z Factor. Disponível em:

<http://engineeringunits.com/compressibility-factor-z-factor/>. Acessado em 17 de novembro

de 2018.

EZEKEW, N. Petroleum Reservoir Engineering Practice. Boston, MA: Prentice Hall, 2011.

770 p.

ALVES, Farley de Freitas. Estimativa de Propriedades de Reservatórios de Gás Natural

Relevantes às Análises de Viabilidade Econômica. Niterói, 2010. 82f. Trabalho de Conclusão

de Curso (Graduação em Engenharia de Petróleo) – Curso de Engenharia de Petróleo –

Departamento de Engenharia Química e de Petróleo, Universidade Federal Fluminense, Niterói,

2010.

Page 83: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

64

LAKE, Larry W.; HOLSTEIN, Edward D. Petroleum Engineer Handbook, Vol. 5 – Reservoir

Engineering and Petrophysics. Richardson, TX: Society of Petroleum Engineers, 2007.

1640 p.

MATTHEWS C. S.; RUSSEL D. G. Pressure Buildup and Flow Tests in Wells. Dallas, TX:

Society of Petroleum Engineers of AIME, 1967. 163 p.

McCAIN, W. D. The Properties of Petroleum Fluids. 2ª Edição. Tulsa, Oklahoma: PennWell

Publishing Company, 1999. 548 p.

QUEIROZ GALVÃO EXPLORAÇÃO E PRODUÇÃO. Tipos de Reservatórios. Disponível

em: <http://www.qgep.com.br/static/ptb/tipos-de-reservatorio.asp?idioma=ptb>. Acessado em

05 de junho de 2018.

ROSA, Adalberto José; CARVALHO, Renato de Souza; XAVIER, José Augusto Daniel.

Engenharia de Reservatórios de Petróleo. Rio de Janeiro: Interciência Ltda., 2006. 808 p.

TESTWELLS. Radius of Investigation. Disponível em: <https://www.testwells.com/radius-of-

investigation/>. Acessado em 05 de junho de 2018.

WICHERT, E; AZIZ, K. 1972. Calculate Z's for Sour Gases. Hydrocarbon Processing 51

(Maio), 1972, p. 119–122.

YARBOROUGH, L; HALL, K.R. How to Solve Equation of State for Z-Factors. Oil and Gas

Journal, 1974, p.86-88.

Page 84: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

65

APÊNDICE A – CÓDIGOS VBA

Neste apêndice, serão dispostos todos os códigos VBA que estão inseridos dentro do

programa, divididos por planilha e organizados por botão.

Botões que compõem todas as planilhas serão dispostos separadamente no início, com

seu código sendo igual em todas as vezes que aparece. Botões que possuem o mesmo nome

mas códigos diferentes serão apresentados na parte destinada para sua aba.

Adicionalmente, os códigos serão apresentados em sua formatação original do VBA,

tanto em cores, fonte, tamanho e posição, para que facilite o entendimento. E, quando um

código continuar em mais de uma linha de word, ele precisa estar na mesma linha no VBA, a

não ser que contenha um underline “_”, caracter que indica continuação na linha seguinte.

BOTÕES COMPARTILHADOS

Private Sub Home_Click()

' Leva para a Aba 'Home'

Sheets("Home").Select

End Sub

Private Sub ConvUni_Click()

' Leva para a Aba 'Conversores de Unidade'

Sheets("Conversores de unidade").Select

End Sub

Private Sub Dados_Click()

' Leva para a Aba 'Dados'

Sheets("Dados").Select

Home

Dados

Conversores de Unidade

Page 85: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

66

End Sub

Private Sub Inf_Click()

' Leva para a Aba 'Influxo'

Sheets("Influxo").Select

End Sub

Private Sub Result1_Click()

' Leva para a Aba 'Resultados1'

Sheets("Resultados1").Select

End Sub

Private Sub Result2_Click()

' Leva para a Aba 'Resultados2'

Sheets("Resultados2").Select

End Sub

Private Sub Result3_Click()

' Leva para a Aba 'Resultados3'

Sheets("Resultados3").Select

End Sub

CONVERSORES DE UNIDADE

Private Sub Aplic_Click()

Influxo de Água

Resultados - Pressão Normal

Resultados - P. Anormais

Resultados - Influxo

Aplicar

Page 86: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

67

'Tira a proteção da pasta para pode rodar o código

ThisWorkbook.Worksheets("Conversores de Unidade").Unprotect ("manf")

'Definir variável usada

Dim i As Integer

'Valor inicial da variável

i = 1

'Retira atualização automática de tela para execução do código

Application.ScreenUpdating = False

'Condicional de que a quantidade de dados a serem inseridos foi apresentada

If Cells(9, 11).Value > 0 Then

'Cria a numeração da tabela onde serão inseridos os valores para conversão

Do Until i = Cells(9, 11).Value + 1

Cells(13 + i, 9) = i

i = i + 1

Loop

'Apaga os valores abaixo do número indicado de conversão

Range(Cells(13 + i, 9), Cells(1048576, 11)).Value = ""

If Cells(9, 11).Value > 1 Then

'Cria a tabela organizada para inserção dos dados

Range(Cells(12 + i, 9), Cells(12 + i, 11)).Select

Range(Selection, Selection.End(xlUp)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

Page 87: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

68

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark2

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Range("I12:K13").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

Page 88: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

69

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Range(Cells(13 + i, 9), Cells(13 + i, 11)).Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Range(Cells(12 + i, 9), Cells(12 + i, 11)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

Page 89: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

70

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Range("I14").Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent5

.TintAndShade = 0.399975585192419

.PatternTintAndShade = 0

End With

Cells(6, 9).Select

End If

Else

Page 90: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

71

'Pede que o nº de dados a serem inseridos seja informado, caso não o tenha

sido, e apaga a tabela

Range(Cells(14, 9), Cells(1048576, 9)).Value = ""

MsgBox "Informe quantidade de dados do histórico a serem inseridos."

End If

'Reativa animações na planilha

Application.ScreenUpdating = True

'Reativa proteção da planilha

ThisWorkbook.Worksheets("Conversores de Unidade").Protect ("manf")

End Sub

Private Sub Conver1_Change()

'Ao modificar o parâmetros de conversão, o valor das ComboBox com

'as unidades de origem e desejadas é apagado.

Application.ScreenUpdating = False

Conver2 = ""

Conver3 = ""

Application.ScreenUpdating = True

End Sub

Private Sub Conver2_GotFocus()

'Ao abrir a ComboBox da unidade de origem da conversão, são

'instantaneamente inseridas as unidades disponíveis de acordo com

'a ComboBox que define o parâmetro a ser convertido

If Conver1 = "Pressão" Then

With Conver2

.AddItem "kgf/cm²"

.AddItem "kPa"

.AddItem "PSI"

.AddItem "atm"

.ListRows = 4

End With

ElseIf Conver1 = "Volume" Then

With Conver2

.AddItem "Metro cúbico (m³)"

Selecione Parâmetro

PSI

Page 91: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

72

.AddItem "Barril (bbl)"

.AddItem "Polegada cúbica (in³)"

.AddItem "Pé cúbico (ft³)"

.AddItem "Litro (l)"

.AddItem "Galão Americano"

.ListRows = 6

End With

ElseIf Conver1 = "Temperatura" Then

With Conver2

.AddItem "Celsius (ºC)"

.AddItem "Fahrenheit (ºF)"

.AddItem "Rankine (R)"

.AddItem "Kelvin (K)"

.ListRows = 4

End With

ElseIf Conver1 = "Compressibilidade" Then

With Conver2

.AddItem "(kgf/cm²)¯¹"

.AddItem "(kPa)¯¹"

.AddItem "(PSI)¯¹"

.AddItem "(atm)¯¹"

.ListRows = 4

End With

ElseIf Conver1 = "Permeabilidade" Then

With Conver2

.AddItem "Milidarcy (md)"

.AddItem "Darcy"

.AddItem "m²"

.AddItem "cm²"

.ListRows = 4

End With

ElseIf Conver1 = "Viscosidade" Then

With Conver2

.AddItem "Centipoise (cp)"

.AddItem "Pascal-segundo (Pa.s)"

.AddItem "dina.s/cm²"

.ListRows = 3

Page 92: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

73

End With

End If

End Sub

Private Sub Conver2_LostFocus()

Application.ScreenUpdating = False

Dim v As String

'Ao tirar o foco da ComboBox com a unidade de origem, todo seu conteudo

'é esvaziado, e o valor selecionado (mantido na variável v) é reposto.

v = Conver2

With Conver2

.Clear

End With

Conver2 = v

Application.ScreenUpdating = True

End Sub

Private Sub Conver3_GotFocus()

'Ao abrir a ComboBox da unidade final da conversão, são

'instantaneamente inseridas as unidades disponíveis de acordo com

'a ComboBox que define o parâmetro a ser convertido

If Conver1 = "Pressão" Then

With Conver3

.AddItem "kgf/cm²"

.AddItem "kPa"

.AddItem "PSI"

.AddItem "atm"

.ListRows = 4

End With

ElseIf Conver1 = "Volume" Then

With Conver3

.AddItem "Metro cúbico (m³)"

.AddItem "Barril (bbl)"

.AddItem "Polegada cúbica (in³)"

.AddItem "Pé cúbico (ft³)"

.AddItem "Litro (l)"

PSI

kgf/cm²

Page 93: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

74

.AddItem "Galão Americano"

.ListRows = 6

End With

ElseIf Conver1 = "Temperatura" Then

With Conver3

.AddItem "Celsius (ºC)"

.AddItem "Fahrenheit (ºF)"

.AddItem "Rankine (R)"

.AddItem "Kelvin (K)"

.ListRows = 4

End With

ElseIf Conver1 = "Compressibilidade" Then

With Conver3

.AddItem "(kgf/cm²)¯¹"

.AddItem "(kPa)¯¹"

.AddItem "(PSI)¯¹"

.AddItem "(atm)¯¹"

.ListRows = 4

End With

ElseIf Conver1 = "Permeabilidade" Then

With Conver3

.AddItem "Milidarcy (md)"

.AddItem "Darcy"

.AddItem "m²"

.AddItem "cm²"

.ListRows = 4

End With

ElseIf Conver1 = "Viscosidade" Then

With Conver3

.AddItem "Centipoise (cp)"

.AddItem "Pascal-segundo (Pa.s)"

.AddItem "dina.s/cm²"

.ListRows = 3

End With

End If

End Sub

Private Sub Conver3_LostFocus()

Application.ScreenUpdating = False

kgf/cm²

Page 94: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

75

Dim v As String

'Ao tirar o foco da ComboBox com a unidade destino, todo seu conteudo

'é esvaziado, e o valor selecionado (mantido na variável v) é reposto.

v = Conver3

With Conver3

.Clear

End With

Conver3 = v

Application.ScreenUpdating = True

End Sub

Private Sub CalcUni_Click()

'Calcula a conversão dos dados inseridos na coluna J para

'a coluna K, de acordo com o escolhido nas ComboBox.

Dim i As Integer

Application.ScreenUpdating = False

'Caso o número de dados para criação da tabela não tenha sido inserido,

'manda uma mensagem para que coloque, e encerra o código.

If Cells(9, 11).Value <= 0 Then

MsgBox "Insira quantidade de dados a serem convertidas"

GoTo Fim

Else

'Caso não tenha sido selecionado um parâmetro para conversão,

'solicita que o mesmo seja adicionado

If Conver1 = "Selecione Parâmetro" Then

MsgBox "Insira o parâmetro a ser convertido. Posteriormente, Insira as

unidades de origem e final."

GoTo Fim

End If

'Caso as unidades de origem e destino não tenham sido inseridos,

'solicita que as mesmas sejam adicionadas

If Conver2 = "" Or Conver3 = "" Then

MsgBox "Insira as unidades originais e finais para cálculo."

GoTo Fim

Calcular

Page 95: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

76

End If

i = 1

'Sequência de condicionais chamadas para rodar as fórmulas de conversão de

acordo

'com o parâmetros das variáveis a serem convertidas e as unidades de origem

de finais.

If Conver2 = "kgf/cm²" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "kPa" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 98.0665

ElseIf Conver3 = "PSI" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 14.22334

ElseIf Conver3 = "atm" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.9678411

ElseIf Conver3 = "kgf/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "kPa" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "kgf/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.01019716

ElseIf Conver3 = "PSI" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1450377

ElseIf Conver3 = "atm" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.009869233

ElseIf Conver3 = "kPa" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

Page 96: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

77

ElseIf Conver2 = "PSI" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "kgf/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.0730695

ElseIf Conver3 = "kPa" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 6.894757

ElseIf Conver3 = "atm" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.06804596

ElseIf Conver3 = "PSI" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "atm" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "kgf/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1.033227

ElseIf Conver3 = "kPa" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101.325

ElseIf Conver3 = "PSI" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 14.69595

ElseIf Conver3 = "atm" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Celsius (ºC)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Fahrenheit (ºF)" Then

Page 97: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

78

Cells(13 + i, 11) = (Cells(13 + i, 10).Value * 1.8) + 32

ElseIf Conver3 = "Rankine (R)" Then

Cells(13 + i, 11) = (Cells(13 + i, 10).Value + 273.15) * 1.8

ElseIf Conver3 = "Kelvin (K)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value + 273.15

ElseIf Conver3 = "Celsius (ºC)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Fahrenheit (ºF)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Celsius (ºC)" Then

Cells(13 + i, 11) = (Cells(13 + i, 10).Value - 32) / 1.8

ElseIf Conver3 = "Rankine (R)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value + 459.67

ElseIf Conver3 = "Kelvin (K)" Then

Cells(13 + i, 11) = (Cells(13 + i, 10).Value + 459.67) / 1.8

ElseIf Conver3 = "Fahrenheit (ºF)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Rankine (R)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Celsius (ºC)" Then

Cells(13 + i, 11) = (Cells(13 + i, 10).Value / 1.8) - 273.15

ElseIf Conver3 = "Fahrenheit (ºF)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value - 459.67

ElseIf Conver3 = "Kelvin (K)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value / 1.8

ElseIf Conver3 = "Rankine (R)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

Page 98: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

79

End If

i = i + 1

Loop

ElseIf Conver2 = "Kelvin (K)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Celsius (ºC)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value - 273.15

ElseIf Conver3 = "Fahrenheit (ºF)" Then

Cells(13 + i, 11) = (Cells(13 + i, 10).Value * 1.8) - 459.67

ElseIf Conver3 = "Rankine (R)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1.8

ElseIf Conver3 = "Kelvin (K)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Metro cúbico (m³)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 6.28981

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 61023.74

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 35.31467

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1000

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 264.172

ElseIf Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

Page 99: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

80

ElseIf Conver2 = "Barril (bbl)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1589873

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 9702.001

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 5.614584

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 158.9873

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 42

ElseIf Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Polegada cúbica (in³)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (1.638706 * (10 ^

(-5)))

ElseIf Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (1.030715 * (10 ^

(-4)))

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (5.787037 * (10 ^

(-4)))

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.01638706

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 4.329004 * (10 ^

(-4))

Page 100: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

81

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Pé cúbico (ft³)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.02831685

ElseIf Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1781076

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1728

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 28.31685

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 7.48052

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Litro (l)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.001

ElseIf Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 6.28981 * (10 ^ (-

4))

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 61.02374

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.03531467

Page 101: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

82

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.264172

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Galão Americano" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Metro cúbico (m³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.003785412

ElseIf Conver3 = "Barril (bbl)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.02380952

ElseIf Conver3 = "Polegada cúbica (in³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 231

ElseIf Conver3 = "Pé cúbico (ft³)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1336806

ElseIf Conver3 = "Litro (l)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 3.785412

ElseIf Conver3 = "Galão Americano" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "(kgf/cm²)¯¹" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "(kPa)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.01019716

ElseIf Conver3 = "(PSI)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.0730695

ElseIf Conver3 = "(atm)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1.033227

ElseIf Conver3 = "(kgf/cm²)¯¹" Then

Page 102: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

83

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "(kPa)¯¹" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "(kgf/cm²)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 98.0665

ElseIf Conver3 = "(PSI)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 6.894757

ElseIf Conver3 = "(atm)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101.325

ElseIf Conver3 = "(kPa)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "(PSI)¯¹" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "(kgf/cm²)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 14.22334

ElseIf Conver3 = "(kPa)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1450377

ElseIf Conver3 = "(atm)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 14.69595

ElseIf Conver3 = "(PSI)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "(atm)¯¹" Then

Page 103: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

84

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "(kgf/cm²)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.9678411

ElseIf Conver3 = "(kPa)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.009869233

ElseIf Conver3 = "(PSI)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.06804596

ElseIf Conver3 = "(atm)¯¹" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Milidarcy (md)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Darcy" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (10 ^ (-3))

ElseIf Conver3 = "m²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (9.86923 * (10 ^

(-16)))

ElseIf Conver3 = "cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 9.86923 * (10 ^ (-

12))

ElseIf Conver3 = "Milidarcy (md)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Darcy" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Milidarcy (md)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1000

Page 104: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

85

ElseIf Conver3 = "m²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (9.86923 * (10 ^

(-13)))

ElseIf Conver3 = "cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (9.86923 * (10 ^

(-9)))

ElseIf Conver3 = "Darcy" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "m²" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Milidarcy (md)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101325 * (10 ^ 10)

ElseIf Conver3 = "Darcy" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101.325 * (10 ^

10)

ElseIf Conver3 = "cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (10 ^ 4)

ElseIf Conver3 = "m²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "cm²" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Milidarcy (md)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101.325 * (10 ^ 9)

ElseIf Conver3 = "Darcy" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 101.325 * (10 ^ 6)

ElseIf Conver3 = "m²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (10 ^ (-4))

Page 105: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

86

ElseIf Conver3 = "cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Centipoise (cp)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Pascal-segundo (Pa.s)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (10 ^ (-3))

ElseIf Conver3 = "dina.s/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * (10 ^ (-2))

ElseIf Conver3 = "Centipoise (cp)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "Pascal-segundo (Pa.s)" Then

Do Until i = Cells(9, 11).Value + 1

If Conver3 = "Centipoise (cp)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 1000

ElseIf Conver3 = "dina.s/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 10

ElseIf Conver3 = "Pascal-segundo (Pa.s)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

ElseIf Conver2 = "dina.s/cm²" Then

Do Until i = Cells(9, 11).Value + 1

Page 106: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

87

If Conver3 = "Centipoise (cp)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 100

ElseIf Conver3 = "Pascal-segundo (Pa.s)" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value * 0.1

ElseIf Conver3 = "dina.s/cm²" Then

Cells(13 + i, 11) = Cells(13 + i, 10).Value

End If

i = i + 1

Loop

End If

End If

Application.ScreenUpdating = True

Fim:

End Sub

Private Sub ResetAll_Click()

ThisWorkbook.Worksheets("Conversores de Unidade").Unprotect ("manf")

'Pergunta se o usuário tem certeza que quer resetar os dados da planilha

'E então reseta todas as celulas alteráveis para o estado original

Dim resultado As VbMsgBoxResult

resultado = MsgBox("Tem certeza que deseja resetar todos os dados?",

vbYesNo, "Tomando uma decisão")

Application.ScreenUpdating = False

'Reseta todos os valores do programa

If resultado = vbYes Then

Cells(11, 2).Value = ""

Cells(12, 3).Value = ""

Cells(13, 4).Value = ""

Cells(14, 5).Value = ""

Cells(19, 2).Value = ""

Cells(20, 3).Value = ""

Cells(21, 4).Value = ""

Cells(22, 5).Value = ""

Cells(27, 2).Value = ""

Cells(28, 3).Value = ""

Cells(29, 4).Value = ""

Resetar

Page 107: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

88

Cells(30, 5).Value = ""

Cells(31, 6).Value = ""

Cells(32, 7).Value = ""

Cells(37, 2).Value = ""

Cells(38, 3).Value = ""

Cells(39, 4).Value = ""

Cells(40, 5).Value = ""

Cells(9, 11).Value = ""

Cells(45, 2).Value = ""

Cells(46, 3).Value = ""

Cells(47, 4).Value = ""

Cells(48, 5).Value = ""

Cells(53, 2).Value = ""

Cells(54, 3).Value = ""

Cells(55, 4).Value = ""

Conver1 = "Selecione Parâmetro"

Conver2 = ""

Conver3 = ""

Range("I14:K14").Select

Range(Selection, Selection.End(xlDown)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.ClearContents

Range("I12:K13").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

Page 108: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

89

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Cells(9, 11).Select

End If

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Conversores de Unidade").Protect ("manf")

End Sub

INFLUXO DE ÁGUA

Private Sub Aplicar_Click()

Dim i As Integer

i = 1

ThisWorkbook.Worksheets("Influxo").Unprotect ("manf")

Aplicar

Page 109: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

90

Application.ScreenUpdating = False

'Condicional de que a quantidade de dados a serem inseridos foi apresentada

'Cria a tabela onde serão inseridos os valores de produção históricos

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

Cells(19 + i, 1) = i

i = i + 1

Loop

'Apaga os valores abaixo da tabela

Range(Cells(19 + i, 1), Cells(1048576, 4)).Select

Selection.ClearContents

If Cells(16, 4).Value > 1 Then

'Cria a tabela organizada para inserção dos dados

Range(Cells(18 + i, 1), Cells(18 + i, 4)).Select

Range(Selection, Selection.End(xlUp)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

Page 110: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

91

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark2

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Range("A18:D19").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

Page 111: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

92

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Range(Cells(19 + i, 1), Cells(19 + i, 4)).Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Range(Cells(18 + i, 1), Cells(18 + i, 4)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Page 112: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

93

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Range("A20").Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent5

.TintAndShade = 0.399975585192419

.PatternTintAndShade = 0

End With

Cells(6, 2).Select

End If

Else

'Pede que o nº de dados a serem inseridos seja informado, caso não o tenha

sido

MsgBox "Informe quantidade de dados do histórico a serem inseridos."

Page 113: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

94

End If

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Influxo").Protect ("manf")

End Sub

Private Sub TipoAqui_Change()

'Nome da ComboBox contendo os regimes do aquífero.

End Sub

Private Sub CalcInf_Click()

'Botão para, escolhido o modelo de calcular influxo, fazer o cálculo

'e inserir os valores na tabela

ThisWorkbook.Worksheets("Influxo").Unprotect ("manf")

Application.ScreenUpdating = False

Dim cw, cf, ct, Wi, Wei, dWe, We, Wd, Wd2, Wdf, Wdff, pWd, v, pi, Pn, Pan,

dPj, t, td, tdn, tdj, prop, prop2, rd, rdref, rd2, J, ro, re, h, poro, k, u,

f, ln As Double

Dim resultado As VbMsgBoxResult

Dim i, z, m As Integer

'Retorna mensagem calo valor inserido para nº de dados seja inválido e

'encerra o código

If Cells(16, 4).Value = "" Or Cells(16, 4).Value <= 0 Then

MsgBox "Informe nº de dados históricos a serem inseridos."

GoTo Fim

End If

'Envia mensagem para escolha do modelo caso ComboBox não alterada

If ModInf.Value = "" Or ModInf.Value = "Insira Modelo" Then

MsgBox "Escolha um modelo para calcular influxo"

'Calcula Influxo conforme modelo Pot Aquifer

ElseIf ModInf.Value = "Pot Aquifer" Then

Insira Regime

Calcular Influxo com o modelo selecionado

Page 114: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

95

'Caso estejam faltando variáveis necessários, mensagem é enviada

If Cells(10, 8).Value = "" Or Cells(10, 8).Value <= 0 Or Cells(9, 4).Value

= "" Or Cells(9, 4).Value <= 0 Or Cells(11, 8).Value = "" Or Cells(11,

8).Value <= 0 Or Cells(12, 4).Value = "" Or Cells(12, 4).Value <= 0 Or

Cells(11, 4).Value = "" Or Cells(11, 4).Value <= 0 Or Cells(10, 4).Value =

"" Or Cells(10, 4).Value <= 0 Then

MsgBox "Insira valores válidos para raio do reservatório, raio do

aquífero, espessura, porosidade, compressibilidade da água e

compressibilidade da formação."

Else

'Caso espaço destinado ao raio do aquífero não seja maior que o raio do

reservatório

'envia mensagem com a informação e encerra o código

If Cells(10, 4).Value <= Cells(9, 4).Value Then

MsgBox "Raio do aquífero deve ser maior que raio do reservatório"

GoTo Fim

End If

'Caso valor para porosidade seja maior do que 1, envia mensagem de erro

If Cells(12, 4).Value > 1 Then

MsgBox "Valor de porosidade deve ser decimal, menor que 1."

GoTo Fim

End If

'Calcula o raio adimensional

rd = Cells(10, 4).Value / Cells(9, 4).Value

'Se o raio adimensional for maior que 4, informa que o modelo é indicado

para

'raios adimensionais pequenos e pergunta se deseja prosseguir

If rd > 4 Then

resultado = MsgBox("O modelo PotAquifer é indicado apenas para

aquíferos pequenos, na mesma ordem de grande do reservatório. Deseja

continuar?", vbYesNo, "Tomando uma decisão")

End If

'Se clicar em 'não', encerra o código

If resultado = vbNo Then

GoTo Fim

Page 115: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

96

End If

i = 1

'Cálculo da compressibilidade total e volume inicial de água no aquífero

ct = Cells(10, 8).Value + Cells(11, 8).Value

Wi = (Cells(11, 4).Value * Cells(1, 8).Value * ((Cells(10, 4).Value ^ 2)

- (Cells(9, 4) ^ 2))) * Cells(12, 4).Value

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

'Caso tabela incompleta, informa a linha do erro, mas roda

até o fim

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0

Then

MsgBox "Valor de pressão ausente ou igual a 0 na linha

de dados " & i & " do histórico. Favor completar."

Else

'Adiciona na tabela os valores de influxo para o modelo

Cells(19 + i, 4) = ct * Wi * (Cells(20, 3).Value - Cells(19

+ i, 3).Value)

End If

i = i + 1

Loop

End If

End If

'Calcula Influxo conforme modelo de Fetkovich

ElseIf ModInf.Value = "Fetkovich" Then

'Retorna mensagem de 'erro' caso estejam faltando variáveis importantes

para o modelo

If Cells(9, 8).Value = "" Or Cells(9, 8).Value <= 0 Or Cells(10, 8).Value

= "" Or Cells(10, 8).Value <= 0 Or Cells(11, 8).Value = "" Or Cells(11,

8).Value <= 0 Or Cells(12, 8).Value = "" Or Cells(12, 8).Value <= 0 Or

Cells(12, 4).Value = "" Or Cells(12, 4).Value <= 0 Or Cells(13, 4).Value =

"" Or Cells(13, 4).Value <= 0 Or Cells(11, 4).Value = "" Or Cells(11, 4).Value

Page 116: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

97

<= 0 Or Cells(10, 4).Value = "" Or Cells(10, 4).Value <= 0 Or Cells(9,

4).Value = "" Or Cells(9, 4).Value <= 0 Then

MsgBox "Insira valores válidos para raio do reservatório, raio do

aquífero, espessura, porosidade, permeabilidade, viscosidade da água, f,

compressibilidade da água e da formação."

Else

'Impede Raio do aquífero < Raio do reservatório

If Cells(10, 4).Value <= Cells(9, 4).Value Then

MsgBox "Raio do aquífero deve ser maior que raio do reservatório"

GoTo Fim

End If

'Impede porosidade > 1

If Cells(12, 4).Value > 1 Then

MsgBox "Valor de porosidade deve ser decimal, menor que 1."

GoTo Fim

End If

'Impede f > 1

If Cells(12, 8).Value > 1 Then

MsgBox "Valor de f não pode ser superior a 1."

GoTo Fim

End If

'Lembra usuário de inserir regime do aquífero

If TipoAqui = "" Or TipoAqui = "Insira Regime" Then

MsgBox "Insira regime do aquífero."

Else

'Informa erro caso modelo infinito esteja selecionado, uma vez que

'não pode ser utilizado no modelo de Fetkovich

If TipoAqui = "Infinito" Then

MsgBox "O Modelo de Fetkovich é válido apenas para regime de aquífero

selado e realimentado. Escolha um regime válido."

Else

'Cálculo de variáveis fixas e transferência dos inputs para

'variáveis no VBA para facilitar código.

Cells(20, 4).Value = 0 'Define influxo do tempo 0 como 0.

f = Cells(12, 8).Value

k = Cells(13, 4).Value

h = Cells(11, 4).Value

ro = Cells(9, 4).Value

re = Cells(10, 4).Value

Page 117: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

98

rd = re / ro

u = Cells(9, 8).Value

cw = Cells(10, 8).Value

cf = Cells(11, 8).Value

ct = cw + cf

ln = Log(rd) 'ln(rd)

Wi = (Cells(11, 4).Value * Cells(1, 8).Value * ((Cells(10, 4).Value ^ 2)

- (Cells(9, 4) ^ 2))) * Cells(12, 4).Value

Wei = ct * Wi * Cells(20, 3).Value

i = 2

'Prossegue para cálculo do regime Selado

If TipoAqui = "Selado" Then

'Índice de produtividade do regime com constante ajustada para as

unidades utilizadas

J = 0.05255 * f * k * h / (u * (ln - (3 / 4)))

Pan = Cells(20, 3).Value

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value

= 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na

linha de dados " & i & " do histórico. Favor completar."

Else

'Definição das variáveis dinâmica do modelo (Pressões e

variação de influxo)

Pn = (Cells(19 + i - 1, 3).Value + Cells(19 + i, 3).Value)

/ 2

Pan = Cells(20, 3).Value * (1 - ((Cells(19 + i - 1,

4).Value) / Wei))

dWe = (Wei / Cells(20, 3).Value) * (1 - Exp(-J * Cells(20,

3).Value * (Cells(19 + i, 2) - Cells(19 + i - 1, 2)) / Wei))

'Resultado a ser inserido na tabela em cada linha

Cells(19 + i, 4) = dWe * (Pan - Pn) + Cells(19 + i - 1,

4)

End If

i = i + 1

Page 118: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

99

Loop

End If

'Cálculo do regime realimentado, o procedimento é o mesmo do anterior,

'só varia o cálculo do índice de produtividade

ElseIf TipoAqui = "Realimentado" Then

'Índice de produtividade do regime pras unidades utilizadas

J = 0.05255 * f * k * h / (u * (ln))

Pan = Cells(20, 3).Value

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value

= 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na

linha de dados " & i & " do histórico. Favor completar."

Else

Pn = (Cells(19 + i - 1, 3).Value + Cells(19 + i, 3).Value)

/ 2

Pan = Cells(20, 3).Value * (1 - ((Cells(19 + i - 1,

4).Value) / Wei))

dWe = (Wei / Cells(20, 3).Value) * (1 - Exp(-J * Cells(20,

3).Value * (Cells(19 + i, 2) - Cells(19 + i - 1, 2)) / Wei))

Cells(19 + i, 4) = dWe * (Pan - Pn) + Cells(19 + i - 1,

4)

End If

i = i + 1

Loop

End If

End If

End If

End If

End If

'Calcula Influxo conforme modelo de Van Everdingen & Hurst

'estruturas repetitivas terão comentários suprimidos

Page 119: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

100

ElseIf ModInf.Value = "Van Everdingen & Hurst" Then

If Cells(9, 8).Value = "" Or Cells(9, 8).Value <= 0 Or Cells(10, 8).Value

= "" Or Cells(10, 8).Value <= 0 Or Cells(11, 8).Value = "" Or Cells(11,

8).Value <= 0 Or Cells(12, 8).Value = "" Or Cells(12, 8).Value <= 0 Or

Cells(12, 4).Value = "" Or Cells(12, 4).Value <= 0 Or Cells(13, 4).Value =

"" Or Cells(13, 4).Value <= 0 Or Cells(11, 4).Value = "" Or Cells(11, 4).Value

<= 0 Or Cells(9, 4).Value = "" Or Cells(9, 4).Value <= 0 Then

MsgBox "Insira valores válidos para raio do reservatório, espessura,

porosidade, permeabilidade, viscosidade da água, f, compressibilidade da água

e da formação."

GoTo Fim

End If

If Cells(10, 4).Value <= Cells(9, 4).Value Then

MsgBox "Raio do aquífero deve ser maior que o raio do reservatório"

GoTo Fim

End If

If Cells(12, 4).Value > 1 Then

MsgBox "Valor de porosidade deve ser decimal, menor que 1."

GoTo Fim

End If

If Cells(12, 8).Value > 1 Then

MsgBox "Valor de f não pode ser superior a 1."

GoTo Fim

End If

If TipoAqui = "" Or TipoAqui = "Insira Regime" Then

MsgBox "Insira regime do aquífero."

GoTo Fim

End If

'Variáveis fixas para todo modelo

f = Cells(12, 8).Value

k = Cells(13, 4).Value

h = Cells(11, 4).Value

ro = Cells(9, 4).Value

u = Cells(9, 8).Value

poro = Cells(12, 4).Value

cw = Cells(10, 8).Value

cf = Cells(11, 8).Value

Page 120: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

101

ct = cw + cf

pi = Cells(1, 8).Value '3,1415...

'Constante de influxo de água do aquífero (U)

v = 2 * pi * f * poro * ct * h * (ro ^ 2)

'Cálculo do td com constante para unidades utilizadas (sem o t

multiplicador)

td = 0.008362 * k / (poro * u * ct * (ro ^ 2))

Cells(20, 4).Value = 0

'Cálculo para regime infinito

If TipoAqui = "Infinito" Then

'Ponto de retorno

aquiinfi:

i = 1 'variável do loop intermediário

If Cells(16, 4).Value > 0 Then

m = 0 'variável do loop mais externo

Do Until m = Cells(16, 4).Value - 1

Wdff = 0

Do Until i = (Cells(16, 4).Value - m)

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0

Then

MsgBox "Valor de pressão ausente ou igual a 0 na

linha de dados " & i & " do histórico. Favor completar."

GoTo Fim

End If

'Cálculo do

tdn = td * (Cells(19 + Cells(16, 4).Value - m, 2) - Cells(19

+ i, 2).Value)

z = 1 'variável do loop interno

'roda o valor de tdn em tabela até que ultrapasse o valor

Do Until tdn <= Cells(2 + z, 11).Value

z = z + 1

If z > 470 Then

Wd = Cells(470, 12).Value 'Máximo influxo

adimensional tabelado

GoTo continuando

End If

Loop

'valor para tdn exato na tabela

Page 121: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

102

If tdn = Cells(2 + z, 11).Value Then

Wd = Cells(2 + z, 12).Value

End If

'Valor utilizando interpolação

If tdn < Cells(2 + z, 11).Value Then

'Interpola linearmente os valores de td para achar Wd

prop = (tdn - Cells(2 + z - 1, 11).Value) / (Cells(2 +

z, 11).Value - Cells(2 + z - 1, 11).Value)

Wd = (Cells(2 + z, 12).Value * prop) + (Cells(2 + z - 1,

12).Value * (1 - prop))

End If

'Checkpoint

continuando:

'Cálculo dos delta de Pressão, com o primeira e segundo

sendo diferentes

If i = 1 Then

dPj = (Cells(20, 3).Value - Cells(21, 3).Value) / 2

ElseIf i = 2 Then

dPj = (Cells(20, 3).Value - Cells(22, 3).Value) / 2

Else

dPj = (Cells(19 + i - 1, 3).Value - Cells(19 + i + 1,

3).Value) / 2

End If

Wdf = dPj * Wd

'Variável que faz o somatório de Wd(DeltaPj)

Wdff = Wdff + Wdf

i = i + 1

Loop

'Insere o valor do influxo na tabela

Cells(19 + i, 4) = v * Wdff

i = 1 'restaura i para próximo loop

m = m + 1

Loop

End If

'Cálculo para regime Selado

Page 122: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

103

ElseIf TipoAqui = "Selado" Then

'Requisita valor válido para raio do aquífero

If Cells(10, 4).Value = "" Or Cells(10, 4).Value <= 0 Then

MsgBox "Insira valor válido para raio do aquífero."

GoTo Fim

End If

ro = Cells(9, 4).Value

re = Cells(10, 4).Value

rd = re / ro

rdref = re / ro 'guarda valor original de rd

rd2 = 0

z = 0

Do Until rd <= Cells(1 + z, 13).Value

z = z + 1

'Roda a lista com os 24 raios adimensionais tabelados para situar

If z > 25 And rd >= 1000 Then

'Caso raio adimensional maior que 1000, é considerado

aquífero infinito

MsgBox "Raio Adimensional maior ou igual a 1.000. Resultados

aproximados para aquífero infinito"

GoTo aquiinfi 'envia para ponto de retorno do aquífero infinito

ElseIf z > 25 And rd < 1000 Then 'Aproxima valor de rd para 500

e informa usuário

MsgBox "Raio Adimensional aproximado para 500 (maior valor

tabelado). Alternativa: Escolher aquífero infinito."

rd = 500

GoTo prosseguindo 'pula para prosseguindo:

End If

Loop

'Se rd for exatamente igual a algum valor tabelado, mantém o valor

If rd = Cells(1 + z, 13).Value Then

rd = Cells(1 + z, 13).Value

End If

'Se rd for diferentes do valor exato tabelado...

If rd < Cells(1 + z, 13).Value Then

Page 123: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

104

If z = 0 Then

'Informa aproximação para raio adimensional mínimo de 1.5,

caso valor seja inferior.

MsgBox "Raio adimensional aproximado para 1,5 (menor rD

tabelado)."

rd = Cells(1 + z, 13).Value

Else

'Da a rd e rd2 os valores dos raios adimensionais tabelados

'imediatamente acima e abaixo do calculado.

rd = Cells(1 + z, 13).Value

rd2 = Cells(1 + z - 1, 13).Value

End If

End If

prosseguindo:

'Estrutura de loops similar a do regime infinito

i = 1

If Cells(16, 4).Value > 0 Then

m = 0

Do Until m = Cells(16, 4).Value - 1

Wdff = 0

Do Until i = (Cells(16, 4).Value - m)

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0

Then

MsgBox "Valor de pressão ausente ou igual a 0 na

linha de dados " & i & " do histórico. Favor completar."

GoTo Fim

End If

tdn = td * (Cells(19 + Cells(16, 4).Value - m, 2) - Cells(19

+ i, 2).Value)

z = 1

'A seguir, serão colocadas condições para todos os 24 rds

tabelados

If rd = 1.5 Then

Do Until tdn <= Cells(2 + z, 14).Value

z = z + 1

If z > 43 Then

'modelo selado tende ao último valor tabelado de Wd,

mesmo que td aumentasse.

Page 124: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

105

Wd = Cells(44, 15).Value

Exit Do

End If

Loop

If tdn = Cells(2 + z, 14).Value Then

Wd = Cells(2 + z, 15).Value

End If

If tdn < Cells(2 + z, 14).Value Then

If z = 1 Then

'Aproximação caso td muito pequeno mas próximo

If tdn >= (0.8 * Cells(2 + z, 14).Value) Then

Wd = Cells(2 + z, 15).Value

Else

'Mensagem de dados não tabelado para verificação

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(2 + z - 1, 14).Value) / (Cells(2

+ z, 14).Value - Cells(2 + z - 1, 14).Value)

Wd = (Cells(2 + z, 15).Value * prop) + (Cells(2 + z

- 1, 15).Value * (1 - prop))

End If

End If

'A partir do segundo rd tabelado, é considerado a

possibilidade

'da interpolação entre os rds.

ElseIf rd = 2 Then

Do Until tdn <= Cells(2 + z, 18).Value

z = z + 1

If z > 48 Then

Wd = Cells(49, 19).Value

Exit Do

End If

Page 125: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

106

Loop

If tdn = Cells(2 + z, 18).Value Then

Wd = Cells(2 + z, 19).Value

End If

If tdn < Cells(2 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 18).Value) Then

Wd = Cells(2 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(2 + z - 1, 18).Value) / (Cells(2

+ z, 18).Value - Cells(2 + z - 1, 18).Value)

Wd = (Cells(2 + z, 19).Value * prop) + (Cells(2 + z

- 1, 19).Value * (1 - prop))

End If

End If

'Cálculo para segundo raio adimensional em caso de não

bater exatamente

If rd2 = 1.5 Then

z = 1

Do Until tdn <= Cells(2 + z, 14).Value

z = z + 1

If z > 43 Then

Wd2 = Cells(44, 15).Value

Exit Do

End If

Loop

If tdn = Cells(2 + z, 14).Value Then

Wd2 = Cells(2 + z, 15).Value

End If

If tdn < Cells(2 + z, 14).Value Then

If z = 1 Then

Page 126: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

107

If tdn >= (0.8 * Cells(2 + z, 14).Value) Then

Wd2 = Cells(2 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(2 + z - 1, 14).Value) /

(Cells(2 + z, 14).Value - Cells(2 + z - 1, 14).Value)

Wd2 = (Cells(2 + z, 15).Value * prop) + (Cells(2

+ z - 1, 15).Value * (1 - prop))

End If

End If

'Calcula nova proporção e faz interpolação dos raios

adimensionais

'com o valor dos influxos adimensionais de cada rd

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

'Estrutura se repete para todos os próximos raios

adimensionais

'com única alteração sendo, obviamente, o posicionamento da

tabela.

'Comentários suprimidos.

ElseIf rd = 2.5 Then

Do Until tdn <= Cells(2 + z, 22).Value

z = z + 1

If z > 50 Then

Wd = Cells(51, 23).Value

Exit Do

End If

Loop

If tdn = Cells(2 + z, 22).Value Then

Page 127: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

108

Wd = Cells(2 + z, 23).Value

End If

If tdn < Cells(2 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 22).Value) Then

Wd = Cells(2 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(2 + z - 1, 22).Value) / (Cells(2

+ z, 22).Value - Cells(2 + z - 1, 22).Value)

Wd = (Cells(2 + z, 23).Value * prop) + (Cells(2 + z

- 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 2 Then

z = 1

Do Until tdn <= Cells(2 + z, 18).Value

z = z + 1

If z > 48 Then

Wd2 = Cells(49, 19).Value

Exit Do

End If

Loop

If tdn = Cells(2 + z, 18).Value Then

Wd2 = Cells(2 + z, 19).Value

End If

If tdn < Cells(2 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 18).Value) Then

Wd2 = Cells(2 + z, 19).Value

Else

Page 128: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

109

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(2 + z - 1, 18).Value) /

(Cells(2 + z, 18).Value - Cells(2 + z - 1, 18).Value)

Wd2 = (Cells(2 + z, 19).Value * prop) + (Cells(2

+ z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 3 Then

Do Until tdn <= Cells(56 + z, 14).Value

z = z + 1

If z > 45 Then

Wd = Cells(100, 15).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 14).Value Then

Wd = Cells(56 + z, 15).Value

End If

If tdn < Cells(56 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 14).Value) Then

Wd = Cells(56 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

Page 129: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

110

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(56 + z - 1, 14).Value) / (Cells(56

+ z, 14).Value - Cells(56 + z - 1, 14).Value)

Wd = (Cells(56 + z, 15).Value * prop) + (Cells(56 +

z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 2.5 Then

z = 1

Do Until tdn <= Cells(2 + z, 22).Value

z = z + 1

If z > 50 Then

Wd2 = Cells(51, 23).Value

Exit Do

End If

Loop

If tdn = Cells(2 + z, 22).Value Then

Wd2 = Cells(2 + z, 23).Value

End If

If tdn < Cells(2 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 22).Value) Then

Wd2 = Cells(2 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(2 + z - 1, 22).Value) /

(Cells(2 + z, 22).Value - Cells(2 + z - 1, 22).Value)

Wd2 = (Cells(2 + z, 23).Value * prop) + (Cells(2

+ z - 1, 23).Value * (1 - prop))

Page 130: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

111

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 3.5 Then

Do Until tdn <= Cells(56 + z, 18).Value

z = z + 1

If z > 53 Then

Wd = Cells(108, 19).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 18).Value Then

Wd = Cells(56 + z, 19).Value

End If

If tdn < Cells(56 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 18).Value) Then

Wd = Cells(56 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(56 + z - 1, 18).Value) / (Cells(56

+ z, 18).Value - Cells(56 + z - 1, 18).Value)

Wd = (Cells(56 + z, 19).Value * prop) + (Cells(56 +

z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 3 Then

Page 131: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

112

z = 1

Do Until tdn <= Cells(56 + z, 14).Value

z = z + 1

If z > 45 Then

Wd2 = Cells(100, 15).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 14).Value Then

Wd2 = Cells(56 + z, 15).Value

End If

If tdn < Cells(56 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 14).Value)

Then

Wd2 = Cells(56 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(56 + z - 1, 14).Value) /

(Cells(56 + z, 14).Value - Cells(56 + z - 1, 14).Value)

Wd2 = (Cells(56 + z, 15).Value * prop) +

(Cells(56 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 4 Then

Do Until tdn <= Cells(56 + z, 22).Value

z = z + 1

Page 132: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

113

If z > 56 Then

Wd = Cells(111, 23).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 22).Value Then

Wd = Cells(56 + z, 23).Value

End If

If tdn < Cells(56 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 22).Value) Then

Wd = Cells(56 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(56 + z - 1, 22).Value) / (Cells(56

+ z, 22).Value - Cells(56 + z - 1, 22).Value)

Wd = (Cells(56 + z, 23).Value * prop) + (Cells(56 +

z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 3.5 Then

z = 1

Do Until tdn <= Cells(56 + z, 18).Value

z = z + 1

If z > 53 Then

Wd2 = Cells(108, 19).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 18).Value Then

Wd2 = Cells(56 + z, 19).Value

End If

Page 133: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

114

If tdn < Cells(56 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 18).Value)

Then

Wd2 = Cells(56 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(56 + z - 1, 18).Value) /

(Cells(56 + z, 18).Value - Cells(56 + z - 1, 18).Value)

Wd2 = (Cells(56 + z, 19).Value * prop) +

(Cells(56 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 4.5 Then

Do Until tdn <= Cells(117 + z, 14).Value

z = z + 1

If z > 49 Then

Wd = Cells(165, 15).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 14).Value Then

Wd = Cells(117 + z, 15).Value

End If

If tdn < Cells(117 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 14).Value) Then

Wd = Cells(117 + z, 15).Value

Page 134: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

115

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(117 + z - 1, 14).Value) /

(Cells(117 + z, 14).Value - Cells(117 + z - 1, 14).Value)

Wd = (Cells(117 + z, 15).Value * prop) + (Cells(117

+ z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 4 Then

z = 1

Do Until tdn <= Cells(56 + z, 22).Value

z = z + 1

If z > 56 Then

Wd2 = Cells(111, 23).Value

Exit Do

End If

Loop

If tdn = Cells(56 + z, 22).Value Then

Wd2 = Cells(56 + z, 23).Value

End If

If tdn < Cells(56 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 22).Value)

Then

Wd2 = Cells(56 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Page 135: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

116

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(56 + z - 1, 22).Value) /

(Cells(56 + z, 22).Value - Cells(56 + z - 1, 22).Value)

Wd2 = (Cells(56 + z, 23).Value * prop) +

(Cells(56 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 5 Then

Do Until tdn <= Cells(117 + z, 18).Value

z = z + 1

If z > 50 Then

Wd = Cells(166, 19).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 18).Value Then

Wd = Cells(117 + z, 19).Value

End If

If tdn < Cells(117 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 18).Value) Then

Wd = Cells(117 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

Page 136: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

117

prop = (tdn - Cells(117 + z - 1, 18).Value) /

(Cells(117 + z, 18).Value - Cells(117 + z - 1, 18).Value)

Wd = (Cells(117 + z, 19).Value * prop) + (Cells(117

+ z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 4.5 Then

z = 1

Do Until tdn <= Cells(117 + z, 14).Value

z = z + 1

If z > 49 Then

Wd2 = Cells(165, 15).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 14).Value Then

Wd2 = Cells(117 + z, 15).Value

End If

If tdn < Cells(117 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 14).Value)

Then

Wd2 = Cells(117 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(117 + z - 1, 14).Value) /

(Cells(117 + z, 14).Value - Cells(117 + z - 1, 14).Value)

Wd2 = (Cells(117 + z, 15).Value * prop) +

(Cells(117 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Page 137: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

118

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 6 Then

Do Until tdn <= Cells(117 + z, 22).Value

z = z + 1

If z > 55 Then

Wd = Cells(171, 23).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 22).Value Then

Wd = Cells(117 + z, 23).Value

End If

If tdn < Cells(117 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 22).Value) Then

Wd = Cells(117 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(117 + z - 1, 22).Value) /

(Cells(117 + z, 22).Value - Cells(117 + z - 1, 22).Value)

Wd = (Cells(117 + z, 23).Value * prop) + (Cells(117

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 5 Then

z = 1

Do Until tdn <= Cells(117 + z, 18).Value

z = z + 1

If z > 50 Then

Page 138: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

119

Wd2 = Cells(166, 19).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 18).Value Then

Wd2 = Cells(117 + z, 19).Value

End If

If tdn < Cells(117 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 18).Value)

Then

Wd2 = Cells(117 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(117 + z - 1, 18).Value) /

(Cells(117 + z, 18).Value - Cells(117 + z - 1, 18).Value)

Wd2 = (Cells(117 + z, 19).Value * prop) +

(Cells(117 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 7 Then

Do Until tdn <= Cells(176 + z, 14).Value

z = z + 1

If z > 51 Then

Wd = Cells(226, 15).Value

Exit Do

End If

Loop

Page 139: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

120

If tdn = Cells(176 + z, 14).Value Then

Wd = Cells(176 + z, 15).Value

End If

If tdn < Cells(176 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 14).Value) Then

Wd = Cells(176 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(176 + z - 1, 14).Value) /

(Cells(176 + z, 14).Value - Cells(176 + z - 1, 14).Value)

Wd = (Cells(176 + z, 15).Value * prop) + (Cells(176

+ z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 6 Then

z = 1

Do Until tdn <= Cells(117 + z, 22).Value

z = z + 1

If z > 55 Then

Wd2 = Cells(171, 23).Value

Exit Do

End If

Loop

If tdn = Cells(117 + z, 22).Value Then

Wd2 = Cells(117 + z, 23).Value

End If

If tdn < Cells(117 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 22).Value)

Then

Wd2 = Cells(117 + z, 23).Value

Page 140: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

121

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(117 + z - 1, 22).Value) /

(Cells(117 + z, 22).Value - Cells(117 + z - 1, 22).Value)

Wd2 = (Cells(117 + z, 23).Value * prop) +

(Cells(117 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 8 Then

Do Until tdn <= Cells(176 + z, 18).Value

z = z + 1

If z > 57 Then

Wd = Cells(232, 19).Value

Exit Do

End If

Loop

If tdn = Cells(176 + z, 18).Value Then

Wd = Cells(176 + z, 19).Value

End If

If tdn < Cells(176 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 18).Value) Then

Wd = Cells(176 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

Page 141: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

122

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(176 + z - 1, 18).Value) /

(Cells(176 + z, 18).Value - Cells(176 + z - 1, 18).Value)

Wd = (Cells(176 + z, 19).Value * prop) + (Cells(176

+ z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 7 Then

z = 1

Do Until tdn <= Cells(176 + z, 14).Value

z = z + 1

If z > 51 Then

Wd2 = Cells(226, 15).Value

Exit Do

End If

Loop

If tdn = Cells(176 + z, 14).Value Then

Wd2 = Cells(176 + z, 15).Value

End If

If tdn < Cells(176 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 14).Value)

Then

Wd2 = Cells(176 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

Page 142: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

123

prop = (tdn - Cells(176 + z - 1, 14).Value) /

(Cells(176 + z, 14).Value - Cells(176 + z - 1, 14).Value)

Wd2 = (Cells(176 + z, 15).Value * prop) +

(Cells(176 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 9 Then

Do Until tdn <= Cells(176 + z, 22).Value

z = z + 1

If z > 58 Then

Wd = Cells(233, 23).Value

Exit Do

End If

Loop

If tdn = Cells(176 + z, 22).Value Then

Wd = Cells(176 + z, 23).Value

End If

If tdn < Cells(176 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 22).Value) Then

Wd = Cells(176 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(176 + z - 1, 22).Value) /

(Cells(176 + z, 22).Value - Cells(176 + z - 1, 22).Value)

Page 143: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

124

Wd = (Cells(176 + z, 23).Value * prop) + (Cells(176

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 8 Then

z = 1

Do Until tdn <= Cells(176 + z, 18).Value

z = z + 1

If z > 57 Then

Wd2 = Cells(232, 19).Value

Exit Do

End If

Loop

If tdn = Cells(176 + z, 18).Value Then

Wd2 = Cells(176 + z, 19).Value

End If

If tdn < Cells(176 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 18).Value)

Then

Wd2 = Cells(176 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(176 + z - 1, 18).Value) /

(Cells(176 + z, 18).Value - Cells(176 + z - 1, 18).Value)

Wd2 = (Cells(176 + z, 19).Value * prop) +

(Cells(176 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

Page 144: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

125

End If

ElseIf rd = 10 Then

Do Until tdn <= Cells(238 + z, 14).Value

z = z + 1

If z > 58 Then

Wd = Cells(295, 15).Value

Exit Do

End If

Loop

If tdn = Cells(238 + z, 14).Value Then

Wd = Cells(238 + z, 15).Value

End If

If tdn < Cells(238 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 14).Value) Then

Wd = Cells(238 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(238 + z - 1, 14).Value) /

(Cells(238 + z, 14).Value - Cells(238 + z - 1, 14).Value)

Wd = (Cells(238 + z, 15).Value * prop) + (Cells(238

+ z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 9 Then

z = 1

Do Until tdn <= Cells(176 + z, 22).Value

z = z + 1

Page 145: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

126

If z > 58 Then

Wd2 = Cells(233, 23).Value

Exit Do

End If

Loop

If tdn = Cells(176 + z, 22).Value Then

Wd2 = Cells(176 + z, 23).Value

End If

If tdn < Cells(176 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 22).Value)

Then

Wd2 = Cells(176 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(176 + z - 1, 22).Value) /

(Cells(176 + z, 22).Value - Cells(176 + z - 1, 22).Value)

Wd2 = (Cells(176 + z, 23).Value * prop) +

(Cells(176 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 12 Then

Do Until tdn <= Cells(238 + z, 18).Value

z = z + 1

If z > 58 Then

Wd = Cells(295, 19).Value

Exit Do

End If

Page 146: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

127

Loop

If tdn = Cells(238 + z, 18).Value Then

Wd = Cells(238 + z, 19).Value

End If

If tdn < Cells(238 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 18).Value) Then

Wd = Cells(238 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(238 + z - 1, 18).Value) /

(Cells(238 + z, 18).Value - Cells(238 + z - 1, 18).Value)

Wd = (Cells(238 + z, 19).Value * prop) + (Cells(238

+ z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 10 Then

z = 1

Do Until tdn <= Cells(238 + z, 14).Value

z = z + 1

If z > 58 Then

Wd2 = Cells(295, 15).Value

Exit Do

End If

Loop

If tdn = Cells(238 + z, 14).Value Then

Wd2 = Cells(238 + z, 15).Value

End If

If tdn < Cells(238 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 14).Value)

Then

Page 147: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

128

Wd2 = Cells(238 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(238 + z - 1, 14).Value) /

(Cells(238 + z, 14).Value - Cells(238 + z - 1, 14).Value)

Wd2 = (Cells(238 + z, 15).Value * prop) +

(Cells(238 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 14 Then

Do Until tdn <= Cells(238 + z, 22).Value

z = z + 1

If z > 58 Then

Wd = Cells(295, 23).Value

Exit Do

End If

Loop

If tdn = Cells(238 + z, 22).Value Then

Wd = Cells(238 + z, 23).Value

End If

If tdn < Cells(238 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 22).Value) Then

Wd = Cells(238 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

Page 148: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

129

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(238 + z - 1, 22).Value) /

(Cells(238 + z, 22).Value - Cells(238 + z - 1, 22).Value)

Wd = (Cells(238 + z, 23).Value * prop) + (Cells(238

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 12 Then

z = 1

Do Until tdn <= Cells(238 + z, 18).Value

z = z + 1

If z > 58 Then

Wd2 = Cells(295, 19).Value

Exit Do

End If

Loop

If tdn = Cells(238 + z, 18).Value Then

Wd2 = Cells(238 + z, 19).Value

End If

If tdn < Cells(238 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 18).Value)

Then

Wd2 = Cells(238 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

Page 149: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

130

prop = (tdn - Cells(238 + z - 1, 18).Value) /

(Cells(238 + z, 18).Value - Cells(238 + z - 1, 18).Value)

Wd2 = (Cells(238 + z, 19).Value * prop) +

(Cells(238 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 16 Then

Do Until tdn <= Cells(300 + z, 14).Value

z = z + 1

If z > 61 Then

Wd = Cells(360, 15).Value

Exit Do

End If

Loop

If tdn = Cells(300 + z, 14).Value Then

Wd = Cells(300 + z, 15).Value

End If

If tdn < Cells(300 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 14).Value) Then

Wd = Cells(300 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(300 + z - 1, 14).Value) /

(Cells(300 + z, 14).Value - Cells(300 + z - 1, 14).Value)

Wd = (Cells(300 + z, 15).Value * prop) + (Cells(300

+ z - 1, 15).Value * (1 - prop))

Page 150: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

131

End If

End If

If rd2 = 14 Then

z = 1

Do Until tdn <= Cells(238 + z, 22).Value

z = z + 1

If z > 58 Then

Wd2 = Cells(295, 23).Value

Exit Do

End If

Loop

If tdn = Cells(238 + z, 22).Value Then

Wd2 = Cells(238 + z, 23).Value

End If

If tdn < Cells(238 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 22).Value)

Then

Wd2 = Cells(238 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(238 + z - 1, 22).Value) /

(Cells(238 + z, 22).Value - Cells(238 + z - 1, 22).Value)

Wd2 = (Cells(238 + z, 23).Value * prop) +

(Cells(238 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

Page 151: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

132

ElseIf rd = 18 Then

Do Until tdn <= Cells(300 + z, 18).Value

z = z + 1

If z > 60 Then

Wd = Cells(359, 19).Value

Exit Do

End If

Loop

If tdn = Cells(300 + z, 18).Value Then

Wd = Cells(300 + z, 19).Value

End If

If tdn < Cells(300 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 18).Value) Then

Wd = Cells(300 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(300 + z - 1, 18).Value) /

(Cells(300 + z, 18).Value - Cells(300 + z - 1, 18).Value)

Wd = (Cells(300 + z, 19).Value * prop) + (Cells(300

+ z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 16 Then

z = 1

Do Until tdn <= Cells(300 + z, 14).Value

z = z + 1

If z > 61 Then

Wd2 = Cells(360, 15).Value

Exit Do

End If

Page 152: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

133

Loop

If tdn = Cells(300 + z, 14).Value Then

Wd2 = Cells(300 + z, 15).Value

End If

If tdn < Cells(300 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 14).Value)

Then

Wd2 = Cells(300 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(300 + z - 1, 14).Value) /

(Cells(300 + z, 14).Value - Cells(300 + z - 1, 14).Value)

Wd2 = (Cells(300 + z, 15).Value * prop) +

(Cells(300 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 20 Then

Do Until tdn <= Cells(300 + z, 22).Value

z = z + 1

If z > 60 Then

Wd = Cells(359, 23).Value

Exit Do

End If

Loop

If tdn = Cells(300 + z, 22).Value Then

Wd = Cells(300 + z, 23).Value

Page 153: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

134

End If

If tdn < Cells(300 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 22).Value) Then

Wd = Cells(300 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(300 + z - 1, 22).Value) /

(Cells(300 + z, 22).Value - Cells(300 + z - 1, 22).Value)

Wd = (Cells(300 + z, 23).Value * prop) + (Cells(300

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 18 Then

z = 1

Do Until tdn <= Cells(300 + z, 18).Value

z = z + 1

If z > 60 Then

Wd2 = Cells(359, 19).Value

Exit Do

End If

Loop

If tdn = Cells(300 + z, 18).Value Then

Wd2 = Cells(300 + z, 19).Value

End If

If tdn < Cells(300 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 18).Value)

Then

Wd2 = Cells(300 + z, 19).Value

Else

Page 154: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

135

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(300 + z - 1, 18).Value) /

(Cells(300 + z, 18).Value - Cells(300 + z - 1, 18).Value)

Wd2 = (Cells(300 + z, 19).Value * prop) +

(Cells(300 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 30 Then

Do Until tdn <= Cells(365 + z, 14).Value

z = z + 1

If z > 62 Then

Wd = Cells(426, 15).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 14).Value Then

Wd = Cells(365 + z, 15).Value

End If

If tdn < Cells(365 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 14).Value) Then

Wd = Cells(365 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

Page 155: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

136

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(365 + z - 1, 14).Value) /

(Cells(365 + z, 14).Value - Cells(365 + z - 1, 14).Value)

Wd = (Cells(365 + z, 15).Value * prop) + (Cells(365

+ z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 20 Then

z = 1

Do Until tdn <= Cells(300 + z, 22).Value

z = z + 1

If z > 60 Then

Wd2 = Cells(359, 23).Value

Exit Do

End If

Loop

If tdn = Cells(300 + z, 22).Value Then

Wd2 = Cells(300 + z, 23).Value

End If

If tdn < Cells(300 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 22).Value)

Then

Wd2 = Cells(300 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(300 + z - 1, 22).Value) /

(Cells(300 + z, 22).Value - Cells(300 + z - 1, 22).Value)

Page 156: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

137

Wd2 = (Cells(300 + z, 23).Value * prop) +

(Cells(300 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 50 Then

Do Until tdn <= Cells(365 + z, 18).Value

z = z + 1

If z > 62 Then

Wd = Cells(426, 19).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 18).Value Then

Wd = Cells(365 + z, 19).Value

End If

If tdn < Cells(365 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 18).Value) Then

Wd = Cells(365 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(365 + z - 1, 18).Value) /

(Cells(365 + z, 18).Value - Cells(365 + z - 1, 18).Value)

Wd = (Cells(365 + z, 19).Value * prop) + (Cells(365

+ z - 1, 19).Value * (1 - prop))

End If

End If

Page 157: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

138

If rd2 = 30 Then

z = 1

Do Until tdn <= Cells(365 + z, 14).Value

z = z + 1

If z > 62 Then

Wd2 = Cells(426, 15).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 14).Value Then

Wd2 = Cells(365 + z, 15).Value

End If

If tdn < Cells(365 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 14).Value)

Then

Wd2 = Cells(365 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(365 + z - 1, 14).Value) /

(Cells(365 + z, 14).Value - Cells(365 + z - 1, 14).Value)

Wd2 = (Cells(365 + z, 15).Value * prop) +

(Cells(365 + z - 1, 15).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 75 Then

Page 158: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

139

Do Until tdn <= Cells(365 + z, 22).Value

z = z + 1

If z > 54 Then

Wd = Cells(418, 23).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 22).Value Then

Wd = Cells(365 + z, 23).Value

End If

If tdn < Cells(365 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 22).Value) Then

Wd = Cells(365 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(365 + z - 1, 22).Value) /

(Cells(365 + z, 22).Value - Cells(365 + z - 1, 22).Value)

Wd = (Cells(365 + z, 23).Value * prop) + (Cells(365

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 50 Then

z = 1

Do Until tdn <= Cells(365 + z, 18).Value

z = z + 1

If z > 62 Then

Wd2 = Cells(426, 19).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 18).Value Then

Page 159: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

140

Wd2 = Cells(365 + z, 19).Value

End If

If tdn < Cells(365 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 18).Value)

Then

Wd2 = Cells(365 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(365 + z - 1, 18).Value) /

(Cells(365 + z, 18).Value - Cells(365 + z - 1, 18).Value)

Wd2 = (Cells(365 + z, 19).Value * prop) +

(Cells(365 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 100 Then

Do Until tdn <= Cells(430 + z, 14).Value

z = z + 1

If z > 49 Then

Wd = Cells(478, 15).Value

Exit Do

End If

Loop

If tdn = Cells(430 + z, 14).Value Then

Wd = Cells(430 + z, 15).Value

End If

Page 160: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

141

If tdn < Cells(430 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 14).Value) Then

Wd = Cells(430 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(430 + z - 1, 14).Value) /

(Cells(430 + z, 14).Value - Cells(430 + z - 1, 14).Value)

Wd = (Cells(430 + z, 15).Value * prop) + (Cells(430

+ z - 1, 15).Value * (1 - prop))

End If

End If

If rd2 = 75 Then

z = 1

Do Until tdn <= Cells(365 + z, 22).Value

z = z + 1

If z > 54 Then

Wd2 = Cells(418, 23).Value

Exit Do

End If

Loop

If tdn = Cells(365 + z, 22).Value Then

Wd2 = Cells(365 + z, 23).Value

End If

If tdn < Cells(365 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 22).Value)

Then

Wd2 = Cells(365 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

Page 161: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

142

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(365 + z - 1, 22).Value) /

(Cells(365 + z, 22).Value - Cells(365 + z - 1, 22).Value)

Wd2 = (Cells(365 + z, 23).Value * prop) +

(Cells(365 + z - 1, 23).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 200 Then

Do Until tdn <= Cells(430 + z, 18).Value

z = z + 1

If z > 53 Then

Wd = Cells(482, 19).Value

Exit Do

End If

Loop

If tdn = Cells(430 + z, 18).Value Then

Wd = Cells(430 + z, 19).Value

End If

If tdn < Cells(430 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 18).Value) Then

Wd = Cells(430 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Page 162: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

143

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(430 + z - 1, 18).Value) /

(Cells(430 + z, 18).Value - Cells(430 + z - 1, 18).Value)

Wd = (Cells(430 + z, 19).Value * prop) + (Cells(430

+ z - 1, 19).Value * (1 - prop))

End If

End If

If rd2 = 100 Then

z = 1

Do Until tdn <= Cells(430 + z, 14).Value

z = z + 1

If z > 49 Then

Wd2 = Cells(478, 15).Value

Exit Do

End If

Loop

If tdn = Cells(430 + z, 14).Value Then

Wd2 = Cells(430 + z, 15).Value

End If

If tdn < Cells(430 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 14).Value)

Then

Wd2 = Cells(430 + z, 15).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(430 + z - 1, 14).Value) /

(Cells(430 + z, 14).Value - Cells(430 + z - 1, 14).Value)

Wd2 = (Cells(430 + z, 15).Value * prop) +

(Cells(430 + z - 1, 15).Value * (1 - prop))

Page 163: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

144

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 500 Then

Do Until tdn <= Cells(430 + z, 22).Value

z = z + 1

If z > 51 Then

Wd = Cells(480, 23).Value

Exit Do

End If

Loop

If tdn = Cells(430 + z, 22).Value Then

Wd = Cells(430 + z, 23).Value

End If

If tdn < Cells(430 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 22).Value) Then

Wd = Cells(430 + z, 23).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(430 + z - 1, 22).Value) /

(Cells(430 + z, 22).Value - Cells(430 + z - 1, 22).Value)

Wd = (Cells(430 + z, 23).Value * prop) + (Cells(430

+ z - 1, 23).Value * (1 - prop))

End If

End If

If rd2 = 200 Then

Page 164: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

145

z = 1

Do Until tdn <= Cells(430 + z, 18).Value

z = z + 1

If z > 53 Then

Wd2 = Cells(482, 19).Value

Exit Do

End If

Loop

If tdn = Cells(430 + z, 18).Value Then

Wd2 = Cells(430 + z, 19).Value

End If

If tdn < Cells(430 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 18).Value)

Then

Wd2 = Cells(430 + z, 19).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para

achar Wd

prop = (tdn - Cells(430 + z - 1, 18).Value) /

(Cells(430 + z, 18).Value - Cells(430 + z - 1, 18).Value)

Wd2 = (Cells(430 + z, 19).Value * prop) +

(Cells(430 + z - 1, 19).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

End If

If i = 1 Then

Page 165: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

146

dPj = (Cells(20, 3).Value - Cells(21, 3).Value) / 2

ElseIf i = 2 Then

dPj = (Cells(20, 3).Value - Cells(22, 3).Value) / 2

Else

dPj = (Cells(19 + i - 1, 3).Value - Cells(19 + i + 1,

3).Value) / 2

End If

Wdf = dPj * Wd

Wdff = Wdff + Wdf

i = i + 1

Loop

Cells(19 + i, 4) = v * Wdff

i = 1

m = m + 1

Loop

End If

'Cálculo para regime realimentado

ElseIf TipoAqui = "Realimentado" Then

'Como código ultrapassava 3.000 linhas (máximo permitido), foi

necessário

'dividir em 2 procedimentos e, para o caso "Realimentado", chama-se

outra

'para continuação.

Call CalcInf2

End If

End If

Fim:

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Influxo").Protect ("manf")

End Sub

Private Sub CalcInf2()

Page 166: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

147

'Continuação do procedimento anterior que excedia

'o número máximo de linhas permitida para um único

'código em VBA (3.000 linhas)

'Foi necessário redefinir a variáveis fixas do código anterior (cópia)

Dim cw, cf, ct, Wi, Wei, dWe, We, Wd, Wd2, Wdf, Wdff, pWd, v, pi, Pn, Pan,

dPj, t, td, tdn, tdj, prop, prop2, rd, rdref, rd2, J, ro, re, h, poro, k, u,

f, ln As Double

Dim resultado As VbMsgBoxResult

Dim i, z, m As Integer

f = Cells(12, 8).Value

k = Cells(13, 4).Value

h = Cells(11, 4).Value

ro = Cells(9, 4).Value

u = Cells(9, 8).Value

poro = Cells(12, 4).Value

cw = Cells(10, 8).Value

cf = Cells(11, 8).Value

ct = cw + cf

pi = Cells(1, 8).Value

v = 2 * pi * f * poro * ct * h * (ro ^ 2)

td = 0.008362 * k / (poro * u * ct * (ro ^ 2))

If Cells(10, 4).Value = "" Or Cells(10, 4).Value <= 0 Then

MsgBox "Insira valor válido para raio do aquífero."

GoTo Fim

End If

'Todo código é idêntico ao regime selado, com exceção de que o influxo

adimensional

'(Wd) nas tabelas está uma coluna depois, e que ele não tende a um valor

fixo,

'sendo então informado o erro em vez de assumido o maior valor daquele tempo

adimensional.

'Comentários de referências iguais ao regime selado estão suprimidos

ro = Cells(9, 4).Value

Page 167: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

148

re = Cells(10, 4).Value

rd = re / ro

rdref = re / ro

rd2 = 0

z = 0

Do Until rd <= Cells(1 + z, 13).Value

z = z + 1

If z > 25 And rd >= 1000 Then

MsgBox "Raio Adimensional maior ou igual a 1.000. Resultados

aproximados para aquífero infinito"

TipoAqui = "Infinito" 'Caso Raio adimensional maior que

1.000, altera

Call CalcInf_Click 'Regime para infinito e volta para

procedimento anterior

GoTo Fim

ElseIf z > 25 And rd < 1000 Then

MsgBox "Raio Adimensional aproximado para 500 (maior valor

tabelado)."

rd = 500

GoTo cont

End If

Loop

If rd = Cells(1 + z, 13).Value Then

rd = Cells(1 + z, 13).Value

End If

If rd < Cells(1 + z, 13).Value Then

If z = 0 Then

MsgBox "Raio adimensional aproximado para 1,5 (menor rD

tabelado)."

rd = Cells(1 + z, 13).Value

Else

rd = Cells(1 + z, 13).Value

rd2 = Cells(1 + z - 1, 13).Value

End If

End If

cont:

i = 1

Page 168: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

149

If Cells(16, 4).Value > 0 Then

m = 0

Do Until m = Cells(16, 4).Value - 1

Wdff = 0

Do Until i = (Cells(16, 4).Value - m)

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0

Then

MsgBox "Valor de pressão ausente ou igual a 0 na

linha de dados " & i & " do histórico. Favor completar."

GoTo Fim

End If

tdn = td * (Cells(19 + Cells(16, 4).Value - m, 2) - Cells(19

+ i, 2).Value)

z = 1

If rd = 1.5 Then

Do Until tdn <= Cells(2 + z, 14).Value

z = z + 1

If z > 43 Then

'Única parte que é diferenciada na estrutura

'realimentado',

'caso td seja maior que o último tabelado para o

raio adimensional,

'se for até 50% maior, é aproximado par ao último

valor de Wd,

'caso maior ainda, é informado erro e encerra

código.

'Estrutura permanece para todo regime

'realimentado'.

If tdn < (1.5 * Cells(2 + z - 2, 14).Value) Then

Wd = Cells(44, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Page 169: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

150

Loop

If tdn = Cells(2 + z, 14).Value Then

Wd = Cells(2 + z, 16).Value

End If

If tdn < Cells(2 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 14).Value) Then

Wd = Cells(2 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

'Interpola linearmente os os valores de td para achar

Wd

prop = (tdn - Cells(2 + z - 1, 14).Value) / (Cells(2

+ z, 14).Value - Cells(2 + z - 1, 14).Value)

Wd = (Cells(2 + z, 16).Value * prop) + (Cells(2 + z

- 1, 16).Value * (1 - prop))

End If

End If

ElseIf rd = 2 Then

Do Until tdn <= Cells(2 + z, 18).Value

z = z + 1

If z > 48 Then

If tdn < (1.5 * Cells(2 + z - 2, 18).Value) Then

Wd = Cells(49, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

Page 170: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

151

If tdn = Cells(2 + z, 18).Value Then

Wd = Cells(2 + z, 20).Value

End If

If tdn < Cells(2 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 18).Value) Then

Wd = Cells(2 + z, 20).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(2 + z - 1, 18).Value) / (Cells(2

+ z, 18).Value - Cells(2 + z - 1, 18).Value)

Wd = (Cells(2 + z, 20).Value * prop) + (Cells(2 + z

- 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 1.5 Then

z = 1

Do Until tdn <= Cells(2 + z, 14).Value

z = z + 1

If z > 43 Then

If tdn < (1.5 * Cells(2 + z - 2, 14).Value)

Then

Wd2 = Cells(44, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(2 + z, 14).Value Then

Wd2 = Cells(2 + z, 16).Value

Page 171: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

152

End If

If tdn < Cells(2 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 14).Value) Then

Wd2 = Cells(2 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(2 + z - 1, 14).Value) /

(Cells(2 + z, 14).Value - Cells(2 + z - 1, 14).Value)

Wd2 = (Cells(2 + z, 16).Value * prop) + (Cells(2

+ z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 2.5 Then

Do Until tdn <= Cells(2 + z, 22).Value

z = z + 1

If z > 50 Then

If tdn < (1.5 * Cells(2 + z - 2, 22).Value) Then

Wd = Cells(51, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(2 + z, 22).Value Then

Wd = Cells(2 + z, 24).Value

Page 172: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

153

End If

If tdn < Cells(2 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 22).Value) Then

Wd = Cells(2 + z, 24).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(2 + z - 1, 22).Value) / (Cells(2

+ z, 22).Value - Cells(2 + z - 1, 22).Value)

Wd = (Cells(2 + z, 24).Value * prop) + (Cells(2 + z

- 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 2 Then

z = 1

Do Until tdn <= Cells(2 + z, 18).Value

z = z + 1

If z > 48 Then

If tdn < (1.5 * Cells(2 + z - 2, 18).Value)

Then

Wd2 = Cells(49, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(2 + z, 18).Value Then

Wd2 = Cells(2 + z, 20).Value

End If

If tdn < Cells(2 + z, 18).Value Then

Page 173: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

154

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 18).Value) Then

Wd2 = Cells(2 + z, 20).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(2 + z - 1, 18).Value) /

(Cells(2 + z, 18).Value - Cells(2 + z - 1, 18).Value)

Wd2 = (Cells(2 + z, 20).Value * prop) + (Cells(2

+ z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 3 Then

Do Until tdn <= Cells(56 + z, 14).Value

z = z + 1

If z > 45 Then

If tdn < (1.5 * Cells(56 + z - 2, 14).Value) Then

Wd = Cells(100, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 14).Value Then

Wd = Cells(56 + z, 16).Value

End If

If tdn < Cells(56 + z, 14).Value Then

If z = 1 Then

Page 174: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

155

If tdn >= (0.8 * Cells(56 + z, 14).Value) Then

Wd = Cells(56 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 14).Value) / (Cells(56

+ z, 14).Value - Cells(56 + z - 1, 14).Value)

Wd = (Cells(56 + z, 16).Value * prop) + (Cells(56 +

z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 2.5 Then

z = 1

Do Until tdn <= Cells(2 + z, 22).Value

z = z + 1

If z > 50 Then

If tdn < (1.5 * Cells(2 + z - 2, 22).Value)

Then

Wd2 = Cells(51, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(2 + z, 22).Value Then

Wd2 = Cells(2 + z, 24).Value

End If

If tdn < Cells(2 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(2 + z, 22).Value) Then

Wd2 = Cells(2 + z, 24).Value

Page 175: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

156

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(2 + z - 1, 22).Value) /

(Cells(2 + z, 22).Value - Cells(2 + z - 1, 22).Value)

Wd2 = (Cells(2 + z, 24).Value * prop) + (Cells(2

+ z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 3.5 Then

Do Until tdn <= Cells(56 + z, 18).Value

z = z + 1

If z > 53 Then

If tdn < (1.5 * Cells(56 + z - 2, 18).Value) Then

Wd = Cells(108, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 18).Value Then

Wd = Cells(56 + z, 20).Value

End If

If tdn < Cells(56 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 18).Value) Then

Wd = Cells(56 + z, 20).Value

Page 176: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

157

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 18).Value) / (Cells(56

+ z, 18).Value - Cells(56 + z - 1, 18).Value)

Wd = (Cells(56 + z, 20).Value * prop) + (Cells(56 +

z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 3 Then

z = 1

Do Until tdn <= Cells(56 + z, 14).Value

z = z + 1

If z > 45 Then

If tdn < (1.5 * Cells(56 + z - 2, 14).Value)

Then

Wd2 = Cells(100, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 14).Value Then

Wd2 = Cells(56 + z, 16).Value

End If

If tdn < Cells(56 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 14).Value)

Then

Wd2 = Cells(56 + z, 16).Value

Else

Page 177: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

158

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 14).Value) /

(Cells(56 + z, 14).Value - Cells(56 + z - 1, 14).Value)

Wd2 = (Cells(56 + z, 16).Value * prop) +

(Cells(56 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 4 Then

Do Until tdn <= Cells(56 + z, 22).Value

z = z + 1

If z > 56 Then

If tdn < (1.5 * Cells(56 + z - 2, 22).Value) Then

Wd = Cells(111, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 22).Value Then

Wd = Cells(56 + z, 24).Value

End If

If tdn < Cells(56 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 22).Value) Then

Wd = Cells(56 + z, 24).Value

Else

Page 178: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

159

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 22).Value) / (Cells(56

+ z, 22).Value - Cells(56 + z - 1, 22).Value)

Wd = (Cells(56 + z, 24).Value * prop) + (Cells(56 +

z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 3.5 Then

z = 1

Do Until tdn <= Cells(56 + z, 18).Value

z = z + 1

If z > 53 Then

If tdn < (1.5 * Cells(56 + z - 2, 18).Value)

Then

Wd2 = Cells(108, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 18).Value Then

Wd2 = Cells(56 + z, 20).Value

End If

If tdn < Cells(56 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 18).Value)

Then

Wd2 = Cells(56 + z, 20).Value

Else

Page 179: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

160

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 18).Value) /

(Cells(56 + z, 18).Value - Cells(56 + z - 1, 18).Value)

Wd2 = (Cells(56 + z, 20).Value * prop) +

(Cells(56 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 4.5 Then

Do Until tdn <= Cells(117 + z, 14).Value

z = z + 1

If z > 49 Then

If tdn < (1.5 * Cells(117 + z - 2, 14).Value)

Then

Wd = Cells(165, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 14).Value Then

Wd = Cells(117 + z, 16).Value

End If

If tdn < Cells(117 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 14).Value) Then

Wd = Cells(117 + z, 16).Value

Else

Page 180: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

161

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 14).Value) /

(Cells(117 + z, 14).Value - Cells(117 + z - 1, 14).Value)

Wd = (Cells(117 + z, 16).Value * prop) + (Cells(117

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 4 Then

z = 1

Do Until tdn <= Cells(56 + z, 22).Value

z = z + 1

If z > 56 Then

If tdn < (1.5 * Cells(56 + z - 2, 22).Value)

Then

Wd2 = Cells(111, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(56 + z, 22).Value Then

Wd2 = Cells(56 + z, 24).Value

End If

If tdn < Cells(56 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(56 + z, 22).Value)

Then

Wd2 = Cells(56 + z, 24).Value

Else

Page 181: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

162

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(56 + z - 1, 22).Value) /

(Cells(56 + z, 22).Value - Cells(56 + z - 1, 22).Value)

Wd2 = (Cells(56 + z, 24).Value * prop) +

(Cells(56 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 5 Then

Do Until tdn <= Cells(117 + z, 18).Value

z = z + 1

If z > 50 Then

If tdn < (1.5 * Cells(117 + z - 2, 18).Value)

Then

Wd = Cells(166, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 18).Value Then

Wd = Cells(117 + z, 20).Value

End If

If tdn < Cells(117 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 18).Value) Then

Wd = Cells(117 + z, 20).Value

Page 182: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

163

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 18).Value) /

(Cells(117 + z, 18).Value - Cells(117 + z - 1, 18).Value)

Wd = (Cells(117 + z, 20).Value * prop) + (Cells(117

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 4.5 Then

z = 1

Do Until tdn <= Cells(117 + z, 14).Value

z = z + 1

If z > 49 Then

If tdn < (1.5 * Cells(117 + z - 2, 14).Value)

Then

Wd2 = Cells(165, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 14).Value Then

Wd2 = Cells(117 + z, 16).Value

End If

If tdn < Cells(117 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 14).Value)

Then

Wd2 = Cells(117 + z, 16).Value

Else

Page 183: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

164

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 14).Value) /

(Cells(117 + z, 14).Value - Cells(117 + z - 1, 14).Value)

Wd2 = (Cells(117 + z, 16).Value * prop) +

(Cells(117 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 6 Then

Do Until tdn <= Cells(117 + z, 22).Value

z = z + 1

If z > 55 Then

If tdn < (1.5 * Cells(117 + z - 2, 22).Value)

Then

Wd = Cells(171, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 22).Value Then

Wd = Cells(117 + z, 24).Value

End If

If tdn < Cells(117 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 22).Value) Then

Wd = Cells(117 + z, 24).Value

Else

Page 184: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

165

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 22).Value) /

(Cells(117 + z, 22).Value - Cells(117 + z - 1, 22).Value)

Wd = (Cells(117 + z, 24).Value * prop) + (Cells(117

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 5 Then

z = 1

Do Until tdn <= Cells(117 + z, 18).Value

z = z + 1

If z > 50 Then

If tdn < (1.5 * Cells(117 + z - 2, 18).Value)

Then

Wd2 = Cells(166, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 18).Value Then

Wd2 = Cells(117 + z, 20).Value

End If

If tdn < Cells(117 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 18).Value)

Then

Wd2 = Cells(117 + z, 20).Value

Else

Page 185: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

166

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 18).Value) /

(Cells(117 + z, 18).Value - Cells(117 + z - 1, 18).Value)

Wd2 = (Cells(117 + z, 20).Value * prop) +

(Cells(117 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 7 Then

Do Until tdn <= Cells(176 + z, 14).Value

z = z + 1

If z > 51 Then

If tdn < (1.5 * Cells(176 + z - 2, 14).Value)

Then

Wd = Cells(226, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 14).Value Then

Wd = Cells(176 + z, 16).Value

End If

If tdn < Cells(176 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 14).Value) Then

Wd = Cells(176 + z, 16).Value

Else

Page 186: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

167

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 14).Value) /

(Cells(176 + z, 14).Value - Cells(176 + z - 1, 14).Value)

Wd = (Cells(176 + z, 16).Value * prop) + (Cells(176

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 6 Then

z = 1

Do Until tdn <= Cells(117 + z, 22).Value

z = z + 1

If z > 55 Then

If tdn < (1.5 * Cells(117 + z - 2, 22).Value)

Then

Wd2 = Cells(171, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(117 + z, 22).Value Then

Wd2 = Cells(117 + z, 24).Value

End If

If tdn < Cells(117 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(117 + z, 22).Value)

Then

Wd2 = Cells(117 + z, 24).Value

Else

Page 187: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

168

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(117 + z - 1, 22).Value) /

(Cells(117 + z, 22).Value - Cells(117 + z - 1, 22).Value)

Wd2 = (Cells(117 + z, 24).Value * prop) +

(Cells(117 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 8 Then

Do Until tdn <= Cells(176 + z, 18).Value

z = z + 1

If z > 57 Then

If tdn < (1.5 * Cells(176 + z - 2, 18).Value)

Then

Wd = Cells(232, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 18).Value Then

Wd = Cells(176 + z, 20).Value

End If

If tdn < Cells(176 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 18).Value) Then

Wd = Cells(176 + z, 20).Value

Page 188: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

169

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 18).Value) /

(Cells(176 + z, 18).Value - Cells(176 + z - 1, 18).Value)

Wd = (Cells(176 + z, 20).Value * prop) + (Cells(176

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 7 Then

z = 1

Do Until tdn <= Cells(176 + z, 14).Value

z = z + 1

If z > 51 Then

If tdn < (1.5 * Cells(176 + z - 2, 14).Value)

Then

Wd2 = Cells(226, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 14).Value Then

Wd2 = Cells(176 + z, 16).Value

End If

If tdn < Cells(176 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 14).Value)

Then

Wd2 = Cells(176 + z, 16).Value

Else

Page 189: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

170

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 14).Value) /

(Cells(176 + z, 14).Value - Cells(176 + z - 1, 14).Value)

Wd2 = (Cells(176 + z, 16).Value * prop) +

(Cells(176 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 9 Then

Do Until tdn <= Cells(176 + z, 22).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(176 + z - 2, 22).Value)

Then

Wd = Cells(233, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 22).Value Then

Wd = Cells(176 + z, 24).Value

End If

If tdn < Cells(176 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 22).Value) Then

Wd = Cells(176 + z, 24).Value

Page 190: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

171

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 22).Value) /

(Cells(176 + z, 22).Value - Cells(176 + z - 1, 22).Value)

Wd = (Cells(176 + z, 24).Value * prop) + (Cells(176

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 8 Then

z = 1

Do Until tdn <= Cells(176 + z, 18).Value

z = z + 1

If z > 57 Then

If tdn < (1.5 * Cells(176 + z - 2, 18).Value)

Then

Wd2 = Cells(232, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 18).Value Then

Wd2 = Cells(176 + z, 20).Value

End If

If tdn < Cells(176 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 18).Value)

Then

Wd2 = Cells(176 + z, 20).Value

Else

Page 191: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

172

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 18).Value) /

(Cells(176 + z, 18).Value - Cells(176 + z - 1, 18).Value)

Wd2 = (Cells(176 + z, 20).Value * prop) +

(Cells(176 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 10 Then

Do Until tdn <= Cells(238 + z, 14).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 14).Value)

Then

Wd = Cells(295, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 14).Value Then

Wd = Cells(238 + z, 16).Value

End If

If tdn < Cells(238 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 14).Value) Then

Page 192: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

173

Wd = Cells(238 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 14).Value) /

(Cells(238 + z, 14).Value - Cells(238 + z - 1, 14).Value)

Wd = (Cells(238 + z, 16).Value * prop) + (Cells(238

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 9 Then

z = 1

Do Until tdn <= Cells(176 + z, 22).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(176 + z - 2, 22).Value)

Then

Wd2 = Cells(233, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(176 + z, 22).Value Then

Wd2 = Cells(176 + z, 24).Value

End If

If tdn < Cells(176 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(176 + z, 22).Value)

Then

Wd2 = Cells(176 + z, 24).Value

Page 193: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

174

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(176 + z - 1, 22).Value) /

(Cells(176 + z, 22).Value - Cells(176 + z - 1, 22).Value)

Wd2 = (Cells(176 + z, 24).Value * prop) +

(Cells(176 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 12 Then

Do Until tdn <= Cells(238 + z, 18).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 18).Value)

Then

Wd = Cells(295, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 18).Value Then

Wd = Cells(238 + z, 20).Value

End If

If tdn < Cells(238 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 18).Value) Then

Wd = Cells(238 + z, 20).Value

Page 194: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

175

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 18).Value) /

(Cells(238 + z, 18).Value - Cells(238 + z - 1, 18).Value)

Wd = (Cells(238 + z, 20).Value * prop) + (Cells(238

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 10 Then

z = 1

Do Until tdn <= Cells(238 + z, 14).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 14).Value)

Then

Wd2 = Cells(295, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 14).Value Then

Wd2 = Cells(238 + z, 16).Value

End If

If tdn < Cells(238 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 14).Value)

Then

Wd2 = Cells(238 + z, 16).Value

Else

Page 195: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

176

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 14).Value) /

(Cells(238 + z, 14).Value - Cells(238 + z - 1, 14).Value)

Wd2 = (Cells(238 + z, 16).Value * prop) +

(Cells(238 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 14 Then

Do Until tdn <= Cells(238 + z, 22).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 22).Value)

Then

Wd = Cells(295, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 22).Value Then

Wd = Cells(238 + z, 24).Value

End If

If tdn < Cells(238 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 22).Value) Then

Wd = Cells(238 + z, 24).Value

Page 196: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

177

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 22).Value) /

(Cells(238 + z, 22).Value - Cells(238 + z - 1, 22).Value)

Wd = (Cells(238 + z, 24).Value * prop) + (Cells(238

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 12 Then

z = 1

Do Until tdn <= Cells(238 + z, 18).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 18).Value)

Then

Wd2 = Cells(295, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 18).Value Then

Wd2 = Cells(238 + z, 20).Value

End If

If tdn < Cells(238 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 18).Value)

Then

Wd2 = Cells(238 + z, 20).Value

Else

Page 197: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

178

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 18).Value) /

(Cells(238 + z, 18).Value - Cells(238 + z - 1, 18).Value)

Wd2 = (Cells(238 + z, 20).Value * prop) +

(Cells(238 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 16 Then

Do Until tdn <= Cells(300 + z, 14).Value

z = z + 1

If z > 61 Then

If tdn < (1.5 * Cells(300 + z - 2, 14).Value)

Then

Wd = Cells(360, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 14).Value Then

Wd = Cells(300 + z, 16).Value

End If

If tdn < Cells(300 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 14).Value) Then

Wd = Cells(300 + z, 16).Value

Page 198: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

179

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 14).Value) /

(Cells(300 + z, 14).Value - Cells(300 + z - 1, 14).Value)

Wd = (Cells(300 + z, 16).Value * prop) + (Cells(300

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 14 Then

z = 1

Do Until tdn <= Cells(238 + z, 22).Value

z = z + 1

If z > 58 Then

If tdn < (1.5 * Cells(238 + z - 2, 22).Value)

Then

Wd2 = Cells(295, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(238 + z, 22).Value Then

Wd2 = Cells(238 + z, 24).Value

End If

If tdn < Cells(238 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(238 + z, 22).Value)

Then

Wd2 = Cells(238 + z, 24).Value

Else

Page 199: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

180

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(238 + z - 1, 22).Value) /

(Cells(238 + z, 22).Value - Cells(238 + z - 1, 22).Value)

Wd2 = (Cells(238 + z, 24).Value * prop) +

(Cells(238 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 18 Then

Do Until tdn <= Cells(300 + z, 18).Value

z = z + 1

If z > 60 Then

If tdn < (1.5 * Cells(300 + z - 2, 18).Value)

Then

Wd = Cells(359, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 18).Value Then

Wd = Cells(300 + z, 20).Value

End If

If tdn < Cells(300 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 18).Value) Then

Wd = Cells(300 + z, 20).Value

Page 200: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

181

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 18).Value) /

(Cells(300 + z, 18).Value - Cells(300 + z - 1, 18).Value)

Wd = (Cells(300 + z, 20).Value * prop) + (Cells(300

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 16 Then

z = 1

Do Until tdn <= Cells(300 + z, 14).Value

z = z + 1

If z > 61 Then

If tdn < (1.5 * Cells(300 + z - 2, 14).Value)

Then

Wd2 = Cells(360, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 14).Value Then

Wd2 = Cells(300 + z, 16).Value

End If

If tdn < Cells(300 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 14).Value)

Then

Wd2 = Cells(300 + z, 16).Value

Else

Page 201: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

182

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 14).Value) /

(Cells(300 + z, 14).Value - Cells(300 + z - 1, 14).Value)

Wd2 = (Cells(300 + z, 16).Value * prop) +

(Cells(300 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 20 Then

Do Until tdn <= Cells(300 + z, 22).Value

z = z + 1

If z > 60 Then

If tdn < (1.5 * Cells(300 + z - 2, 22).Value)

Then

Wd = Cells(359, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 22).Value Then

Wd = Cells(300 + z, 24).Value

End If

If tdn < Cells(300 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 22).Value) Then

Page 202: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

183

Wd = Cells(300 + z, 24).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 22).Value) /

(Cells(300 + z, 22).Value - Cells(300 + z - 1, 22).Value)

Wd = (Cells(300 + z, 24).Value * prop) + (Cells(300

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 18 Then

z = 1

Do Until tdn <= Cells(300 + z, 18).Value

z = z + 1

If z > 60 Then

If tdn < (1.5 * Cells(300 + z - 2, 18).Value)

Then

Wd2 = Cells(359, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 18).Value Then

Wd2 = Cells(300 + z, 20).Value

End If

If tdn < Cells(300 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 18).Value)

Then

Wd2 = Cells(300 + z, 20).Value

Page 203: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

184

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 18).Value) /

(Cells(300 + z, 18).Value - Cells(300 + z - 1, 18).Value)

Wd2 = (Cells(300 + z, 20).Value * prop) +

(Cells(300 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 30 Then

Do Until tdn <= Cells(365 + z, 14).Value

z = z + 1

If z > 62 Then

If tdn < (1.5 * Cells(365 + z - 2, 14).Value)

Then

Wd = Cells(426, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 14).Value Then

Wd = Cells(365 + z, 16).Value

End If

If tdn < Cells(365 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 14).Value) Then

Page 204: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

185

Wd = Cells(365 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 14).Value) /

(Cells(365 + z, 14).Value - Cells(365 + z - 1, 14).Value)

Wd = (Cells(365 + z, 16).Value * prop) + (Cells(365

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 20 Then

z = 1

Do Until tdn <= Cells(300 + z, 22).Value

z = z + 1

If z > 60 Then

If tdn < (1.5 * Cells(300 + z - 2, 22).Value)

Then

Wd2 = Cells(359, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(300 + z, 22).Value Then

Wd2 = Cells(300 + z, 24).Value

End If

If tdn < Cells(300 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(300 + z, 22).Value)

Then

Wd2 = Cells(300 + z, 24).Value

Page 205: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

186

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(300 + z - 1, 22).Value) /

(Cells(300 + z, 22).Value - Cells(300 + z - 1, 22).Value)

Wd2 = (Cells(300 + z, 24).Value * prop) +

(Cells(300 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 50 Then

Do Until tdn <= Cells(365 + z, 18).Value

z = z + 1

If z > 62 Then

If tdn < (1.5 * Cells(365 + z - 2, 18).Value)

Then

Wd = Cells(426, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 18).Value Then

Wd = Cells(365 + z, 20).Value

End If

If tdn < Cells(365 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 18).Value) Then

Page 206: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

187

Wd = Cells(365 + z, 20).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 18).Value) /

(Cells(365 + z, 18).Value - Cells(365 + z - 1, 18).Value)

Wd = (Cells(365 + z, 20).Value * prop) + (Cells(365

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 30 Then

z = 1

Do Until tdn <= Cells(365 + z, 14).Value

z = z + 1

If z > 62 Then

If tdn < (1.5 * Cells(365 + z - 2, 14).Value)

Then

Wd2 = Cells(426, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 14).Value Then

Wd2 = Cells(365 + z, 16).Value

End If

If tdn < Cells(365 + z, 14).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 14).Value)

Then

Wd2 = Cells(365 + z, 16).Value

Page 207: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

188

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 14).Value) /

(Cells(365 + z, 14).Value - Cells(365 + z - 1, 14).Value)

Wd2 = (Cells(365 + z, 16).Value * prop) +

(Cells(365 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 75 Then

Do Until tdn <= Cells(365 + z, 22).Value

z = z + 1

If z > 54 Then

If tdn < (1.5 * Cells(365 + z - 2, 22).Value)

Then

Wd = Cells(418, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 22).Value Then

Wd = Cells(365 + z, 24).Value

End If

If tdn < Cells(365 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 22).Value) Then

Page 208: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

189

Wd = Cells(365 + z, 24).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 22).Value) /

(Cells(365 + z, 22).Value - Cells(365 + z - 1, 22).Value)

Wd = (Cells(365 + z, 24).Value * prop) + (Cells(365

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 50 Then

z = 1

Do Until tdn <= Cells(365 + z, 18).Value

z = z + 1

If z > 62 Then

If tdn < (1.5 * Cells(365 + z - 2, 18).Value)

Then

Wd2 = Cells(426, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 18).Value Then

Wd2 = Cells(365 + z, 20).Value

End If

If tdn < Cells(365 + z, 18).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 18).Value)

Then

Wd2 = Cells(365 + z, 20).Value

Page 209: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

190

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 18).Value) /

(Cells(365 + z, 18).Value - Cells(365 + z - 1, 18).Value)

Wd2 = (Cells(365 + z, 20).Value * prop) +

(Cells(365 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 100 Then

Do Until tdn <= Cells(430 + z, 14).Value

z = z + 1

If z > 49 Then

If tdn < (1.5 * Cells(430 + z - 2, 14).Value)

Then

Wd = Cells(478, 16).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(430 + z, 14).Value Then

Wd = Cells(430 + z, 16).Value

End If

If tdn < Cells(430 + z, 14).Value Then

If z = 1 Then

Page 210: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

191

If tdn >= (0.8 * Cells(430 + z, 14).Value) Then

Wd = Cells(430 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(430 + z - 1, 14).Value) /

(Cells(430 + z, 14).Value - Cells(430 + z - 1, 14).Value)

Wd = (Cells(430 + z, 16).Value * prop) + (Cells(430

+ z - 1, 16).Value * (1 - prop))

End If

End If

If rd2 = 75 Then

z = 1

Do Until tdn <= Cells(365 + z, 22).Value

z = z + 1

If z > 54 Then

If tdn < (1.5 * Cells(365 + z - 2, 22).Value)

Then

Wd2 = Cells(418, 24).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(365 + z, 22).Value Then

Wd2 = Cells(365 + z, 24).Value

End If

If tdn < Cells(365 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(365 + z, 22).Value)

Then

Page 211: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

192

Wd2 = Cells(365 + z, 24).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(365 + z - 1, 22).Value) /

(Cells(365 + z, 22).Value - Cells(365 + z - 1, 22).Value)

Wd2 = (Cells(365 + z, 24).Value * prop) +

(Cells(365 + z - 1, 24).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 200 Then

Do Until tdn <= Cells(430 + z, 18).Value

z = z + 1

If z > 53 Then

If tdn < (1.5 * Cells(430 + z - 2, 18).Value)

Then

Wd = Cells(482, 20).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(430 + z, 18).Value Then

Wd = Cells(430 + z, 20).Value

End If

If tdn < Cells(430 + z, 18).Value Then

Page 212: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

193

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 18).Value) Then

Wd = Cells(430 + z, 20).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(430 + z - 1, 18).Value) /

(Cells(430 + z, 18).Value - Cells(430 + z - 1, 18).Value)

Wd = (Cells(430 + z, 20).Value * prop) + (Cells(430

+ z - 1, 20).Value * (1 - prop))

End If

End If

If rd2 = 100 Then

z = 1

Do Until tdn <= Cells(430 + z, 14).Value

z = z + 1

If z > 49 Then

If tdn < (1.5 * Cells(430 + z - 2, 14).Value)

Then

Wd2 = Cells(478, 16).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(430 + z, 14).Value Then

Wd2 = Cells(430 + z, 16).Value

End If

If tdn < Cells(430 + z, 14).Value Then

If z = 1 Then

Page 213: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

194

If tdn >= (0.8 * Cells(430 + z, 14).Value)

Then

Wd2 = Cells(430 + z, 16).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(430 + z - 1, 14).Value) /

(Cells(430 + z, 14).Value - Cells(430 + z - 1, 14).Value)

Wd2 = (Cells(430 + z, 16).Value * prop) +

(Cells(430 + z - 1, 16).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

ElseIf rd = 500 Then

Do Until tdn <= Cells(430 + z, 22).Value

z = z + 1

If z > 51 Then

If tdn < (1.5 * Cells(430 + z - 2, 22).Value)

Then

Wd = Cells(480, 24).Value

Else

MsgBox "Tempo adimensional (muito grande)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, aumente o raio do aquífero ou diminua o intervalo de tempo entre

as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(430 + z, 22).Value Then

Wd = Cells(430 + z, 24).Value

End If

Page 214: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

195

If tdn < Cells(430 + z, 22).Value Then

If z = 1 Then

If tdn >= (0.8 * Cells(430 + z, 22).Value) Then

Wd = Cells(430 + z, 24).Value

Else

MsgBox "Tempo adimensional (muito pequeno)

não tabelado para este valor de raio adimensional. Sugestão: utilize regime

infinito, diminua o raio do aquífero ou aumente o intervalo de tempo entre

as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(430 + z - 1, 22).Value) /

(Cells(430 + z, 22).Value - Cells(430 + z - 1, 22).Value)

Wd = (Cells(430 + z, 24).Value * prop) + (Cells(430

+ z - 1, 24).Value * (1 - prop))

End If

End If

If rd2 = 200 Then

z = 1

Do Until tdn <= Cells(430 + z, 18).Value

z = z + 1

If z > 53 Then

If tdn < (1.5 * Cells(430 + z - 2, 18).Value)

Then

Wd2 = Cells(482, 20).Value

Else

MsgBox "Tempo adimensional (muito

grande) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, aumente o raio do aquífero ou diminua o intervalo de tempo

entre as medidas."

GoTo Fim

End If

End If

Loop

If tdn = Cells(430 + z, 18).Value Then

Wd2 = Cells(430 + z, 20).Value

End If

If tdn < Cells(430 + z, 18).Value Then

If z = 1 Then

Page 215: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

196

If tdn >= (0.8 * Cells(430 + z, 18).Value)

Then

Wd2 = Cells(430 + z, 20).Value

Else

MsgBox "Tempo adimensional (muito

pequeno) não tabelado para este valor de raio adimensional. Sugestão: utilize

regime infinito, diminua o raio do aquífero ou aumente o intervalo de tempo

entre as medidas."

GoTo Fim

End If

Else

prop = (tdn - Cells(430 + z - 1, 18).Value) /

(Cells(430 + z, 18).Value - Cells(430 + z - 1, 18).Value)

Wd2 = (Cells(430 + z, 20).Value * prop) +

(Cells(430 + z - 1, 20).Value * (1 - prop))

End If

End If

prop2 = (rdref - rd2) / (rd - rd2)

Wd = (Wd2 * prop2) + (Wd * (1 - prop2))

End If

End If

If i = 1 Then

dPj = (Cells(20, 3).Value - Cells(21, 3).Value) / 2

ElseIf i = 2 Then

dPj = (Cells(20, 3).Value - Cells(22, 3).Value) / 2

Else

dPj = (Cells(19 + i - 1, 3).Value - Cells(19 + i + 1,

3).Value) / 2

End If

Wdf = dPj * Wd

Wdff = Wdff + Wdf

i = i + 1

Loop

Cells(19 + i, 4) = v * Wdff

i = 1

m = m + 1

Loop

End If

Page 216: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

197

Fim:

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Influxo").Protect ("manf")

End Sub

Private Sub ResetDados_Click()

'Pede confirmação para resetar dados

Dim resultado As VbMsgBoxResult

resultado = MsgBox("Tem certeza que deseja resetar todos os dados?",

vbYesNo, "Tomando uma decisão")

ThisWorkbook.Worksheets("Influxo").Unprotect ("manf")

Application.ScreenUpdating = False

'Reseta todos os valores desta planilha e refaz tabela

If resultado = vbYes Then

Cells(9, 4).Value = ""

Cells(10, 4).Value = ""

Cells(11, 4).Value = ""

Cells(12, 4).Value = ""

Cells(13, 4).Value = ""

Cells(16, 4).Value = ""

Cells(9, 8).Value = ""

Cells(10, 8).Value = ""

Cells(11, 8).Value = ""

Cells(12, 8).Value = ""

TipoAqui.Value = "Insira Regime"

ModInf.Value = "Insira Modelo"

Range("A20:D20").Select

Range(Selection, Selection.End(xlDown)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

With Selection.Interior

Resetar Dados

Page 217: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

198

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.ClearContents

Range("A18:D19").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Cells(16, 4).Select

End If

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Influxo").Protect ("manf")

Page 218: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

199

End Sub

DADOS

Private Sub Insert_Click()

Dim i As Integer

i = 1

ThisWorkbook.Worksheets("Dados").Unprotect ("manf")

Application.ScreenUpdating = False

'Condicional de que a quantidade de dados a serem inseridos foi apresentada

'Cria a numeração da tabela onde serão inseridos os valores de produção

históricos

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

Cells(19 + i, 1) = i

i = i + 1

Loop

'Adiciona as fórmulas na coluna E para as linhas da tabela

Range(Cells(20, 5), Cells(19 + Cells(16, 4), 5)).FormulaR1C1 =

"=IFERROR(R[0]C[-2]/R[0]C[-1],"""")"

'Adiciona as fórmulas da coluna F para as linhas da tabela

Range(Cells(20, 6), Cells(19 + Cells(16, 4), 6)).FormulaR1C1 =

"=IFERROR(IF(OR((R[-1]C[-3])=""Pressão [kgf/cm²]"",(R[-1]C[-

3])="""",(R[0]C[-3])=""""),(R[0]C[-

1]),IF(AND(R9C8<>"""",R10C8<>"""",R11C8<>""""),(R[0]C[-1])*(1-

(((R10C8*R9C8+R11C8)/(1-R9C8))*((R20C3)-(R[0]C[-3])))),""Inserir Swi, Cw e

Cf"")),"""")"

'Adiciona as fórmulas da coluna I para as linhas da tabela

Aplicar

Page 219: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

200

Range(Cells(20, 9), Cells(19 + Cells(16, 4), 9)).FormulaR1C1 =

"=IFERROR(IF(R[0]C[-1]="""","""",R[0]C[-1]/(((1.033227*R[0]C[-

5]*R9C3)/(293.15*R[0]C[-6]))-

((1.033227*R20C4*R9C3)/(293.15*R20C3)))),IF(R[0]C[-1]="""","""",0))"

'Adiciona as fórmulas da coluna J para as linhas da tabela

Range(Cells(20, 10), Cells(19 + Cells(16, 4), 10)).FormulaR1C1 =

"=IFERROR(IF(OR(AND(R[0]C[-8]="""",R[0]C[-3]=""""),R[0]C[-

1]=""""),"""",((R[0]C[-8]*((1.033227*R[0]C[-6]*R9C3)/(293.15*R[0]C[-

7])))+(R[0]C[-3]*R13C8))/(((1.033227*R[0]C[-6]*R9C3)/(293.15*R[0]C[-7]))-

((1.033227*R20C4*R9C3)/(293.15*R20C3)))),IF(AND(R[0]C[-8]="""",R[0]C[-

3]=""""),"""",0))"

'Apaga os valores abaixo da 'nova' tabela

Range(Cells(19 + i, 1), Cells(1048576, 10)).Select

Selection.ClearContents

If Cells(16, 4).Value > 1 Then

'Cria a tabela organizada para inserção dos dados

Range(Cells(18 + i, 1), Cells(18 + i, 10)).Select

Range(Selection, Selection.End(xlUp)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

Page 220: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

201

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark2

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Range("A18:J19").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Page 221: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

202

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Range(Cells(19 + i, 1), Cells(19 + i, 10)).Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Range(Cells(18 + i, 1), Cells(18 + i, 10)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

Page 222: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

203

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Range("A20").Select

Range(Selection, Selection.End(xlDown)).Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent5

.TintAndShade = 0.399975585192419

.PatternTintAndShade = 0

End With

Cells(14, 16).Select

End If

Else

Page 223: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

204

'Pede que o nº de dados a serem inseridos seja informado, caso não o tenha

sido e

'apaga toda tabela

Range(Cells(20, 1), Cells(1048576, 1)).Value = ""

MsgBox "Informe quantidade de dados do histórico a serem inseridos."

End If

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Dados").Protect ("manf")

End Sub

Private Sub PropCrit_Click()

Dim dens, H2S, CO2 As Double

Dim Pc, Tc, Tci, Pci, a, b, e, d, sum As Double

'Calcula as propriedades pseudocríticas do gás com sua densidade (Brown et

al.)

'e percentual de contaminantes (H2S e CO2) (Witchert-Aziz)

'Pede para entrar com valores de densidade e % de H2S e CO2 e

'manda mensagens de erro caso o valor esteja fora da faixa lógica.

dens = InputBox("Insira densidade do gás")

If IsNumeric(dens) = False Or dens <= 0 Then

MsgBox "Valor de densidade inválido"

Else

H2S = InputBox("Insira % de H2S do gás")

If IsNumeric(H2S) = False Or H2S < 0 Or H2S > 100 Then

MsgBox "Valor inválido de H2S"

Else

CO2 = InputBox("Insira % de CO2 do gás")

If IsNumeric(CO2) = False Or CO2 < 0 Or CO2 > 100 Then

MsgBox "Valor inválido de CO2"

Else

Calcular propriedades pseudocríticas por correlação

Page 224: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

205

'soma % de CO2 e H2S e garante que seja menor que 100

sum = CO2 + H2S

If sum > 100 Then

MsgBox "Valores inválidos de CO2 e H2S"

Else

'atribui os dados entrados a variáveis curtas

a = (H2S / 100) + (CO2 / 100)

b = (H2S / 100)

e = 120 * ((a ^ 0.9) - (a ^ 1.6)) + (15 * ((b ^ 0.5) - (b ^ 4)))

d = dens

'calcula Tc e Pc para densidade de gás seco (d<0.75)

If d < 0.75 Then

Tc = 168 + (325 * d) - (12.5 * (d ^ 2))

Pc = 677 + (15 * d) - (37.5 * (d ^ 2))

Tci = Tc - e

Pci = (Pc * Tci) / (Tc + (b * (1 - b) * e))

Cells(10, 3).Value = (Tci / 1.8) - 273.15 'Converte para ºC

Cells(11, 3).Value = Pci * 0.0730695 'Converte para kgf/cm²

'calcula Tc e Pc para densidade de 'gás úmido' (d>0.75)

Else

Tc = 187 + (330 * d) - (71.5 * (d ^ 2))

Pc = 706 - (51.7 * d) - (11.1 * (d ^ 2))

Tci = Tc - e

Pci = (Pc * Tci) / (Tc + (b * (1 - b) * e))

Cells(10, 3).Value = (Tci / 1.8) - 273.15 'Converte para ºC

Cells(11, 3).Value = Pci * 0.0730695 'Converte para kgf/cm²

End If

End If

End If

End If

End If

End Sub

Page 225: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

206

Private Sub CompZ_Change()

'ComboBox das Correlações de Z

End Sub

Private Sub CalcZ_Click()

'Botão para, escolhida a correlação para calcular Z, fazer o cálculo

'e inserir os valores na tabela

Dim t, Tr, Pr, X1, X2, X3, X4, Y, f, Fi, a1, a2, a3, a4, a5, a6, a7, a8, a9,

a10, a11, R1, R2, R3, R4, R5, ror, a, b, c, d As Double

Dim i As Integer

'Mensagem de nº inválido de dados inseridos caso valor não inserido ou

inválido

If Cells(16, 4).Value = "" Or Cells(16, 4).Value <= 0 Then

MsgBox "Informe nº de dados históricos a serem inseridos."

Else

'Envia a msg abaixo quando ComboBox vazia ou valor original

If CompZ.Value = "" Or CompZ.Value = "Insira Correlação" Then

MsgBox "Escolha um método para calcular Z"

'Envia a mensagem abaixo quando escolhido "Inserção Manual"

ElseIf CompZ.Value = "Inserção Manual" Then

MsgBox "Insira os valores de Z manualmente"

'Insere 1 para todos os valores de Z (Gás ideal)

ElseIf CompZ.Value = "Gás Ideal" Then

i = 1

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

Cells(19 + i, 4) = 1

Insira Correlação

Calcular Z com a correlação selecionada

Page 226: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

207

i = i + 1

Loop

End If

'Calcula Z conforme correlação de Papay

ElseIf CompZ.Value = "Papay" Then

'Mensagem de erro pela falta ausência dos dados requeridos

If Cells(9, 3).Value = "" Or Cells(10, 3).Value = "" Or Cells(11, 3).Value

= "" Then

MsgBox "Insira os valores de Temperatura, Temperatura Pseudocrítica

e Pressão Pseudocrítica"

Else

'Cálculo da Temperatura Reduzida

Tr = (Cells(9, 3).Value + 273.15) / (Cells(10, 3).Value + 273.15)

i = 1

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

'Mensagem de erro caso valores de pressão ausente ou inválidos

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na linha de

dados " & i & " do histórico. Favor completar."

Else

'Cálculo da pressão reduzida e inserção dos valores de Z

conforme Papay

Pr = Cells(19 + i, 3).Value / Cells(11, 3).Value

Cells(19 + i, 4) = 1 - ((3.53 * Pr) / (10 ^ (0.9813 * Tr)))

+ ((0.274 * (Pr ^ 2)) / (10 ^ (0.8157 * Tr)))

End If

i = i + 1

Loop

End If

Page 227: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

208

End If

'Calcula Z conforme correlação de Hall e Yarborough

ElseIf CompZ.Value = "Hall e Yarborough" Then

If Cells(9, 3).Value = "" Or Cells(10, 3).Value = "" Or Cells(11, 3).Value

= "" Then

MsgBox "Insira os valores de Temperatura, Temperatura Pseudocrítica

e Pressão Pseudocrítica"

Else

'Cálculo das variáveis fixas da correlação

Tr = (Cells(9, 3).Value + 273.15) / (Cells(10, 3).Value + 273.15)

t = 1 / Tr

X1 = -0.06125 * t * (Exp(-1.2 * ((1 - t) ^ 2)))

X2 = (14.76 * t) - (9.76 * (t ^ 2)) + (4.58 * (t ^ 3))

X3 = (90.7 * t) - (242.2 * (t ^ 2)) + (42.4 * (t ^ 3))

X4 = 2.18 + (2.82 * t)

i = 1

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na linha de

dados " & i & " do histórico. Favor completar."

Else

'Cálculo das variáveis dinâmicas da correlação dentro do loop

Pr = Cells(19 + i, 3).Value / Cells(11, 3).Value

Y = 0.0125 * Pr * t * (Exp(-1.2 * ((1 - t) ^ 2)))

f = (X1 * Pr) + ((Y + (Y ^ 2) + (Y ^ 3) - (Y ^ 4)) / ((1 - Y) ^

3)) - (X2 * (Y ^ 2)) + (X3 * (Y ^ X4))

Fi = ((1 + (4 * Y) + (4 * (Y ^ 2)) - (4 * (Y ^ 3)) + (Y ^ 4)) /

((1 - Y) ^ 4)) - (2 * X2 * Y) + (X3 * X4 * (Y ^ (X4 - 1)))

If Abs(f) < 0.0001 Then 'caso primeira conta apresente valor

satisfatório, o insere.

Cells(19 + i, 4) = ((0.06125 * t * Pr) / Y) * Exp(-1.2 * ((1

- t) ^ 2))

Else

'Método iterativa para alcançar resultado com precisão

<0.0001

Page 228: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

209

Do Until Abs(f) < 0.0001

Y = Y - (f / Fi)

'Impede números complexos (valor negativo elevado

decimal)

If Y < 0 Then

If Not Int(X4) = X4 Then

Y = Abs(Y) 'torna o Y negativo, caso X4 decimal,

positivo

End If

End If

f = (X1 * Pr) + ((Y + (Y ^ 2) + (Y ^ 3) - (Y ^ 4)) / ((1

- Y) ^ 3)) - (X2 * (Y ^ 2)) + (X3 * (Y ^ X4))

Fi = ((1 + (4 * Y) + (4 * (Y ^ 2)) - (4 * (Y ^ 3)) + (Y

^ 4)) / ((1 - Y) ^ 4)) - (2 * X2 * Y) + (X3 * X4 * (Y ^ (X4 - 1)))

Loop

'Insere os valores de Z na sua coluna conforme fórmula da

correlação

Cells(19 + i, 4) = ((0.06125 * t * Pr) / Y) * Exp(-1.2 * ((1

- t) ^ 2))

End If

End If

Continuing:

'Checkpoint para ser chamado com GoTo (Suspeito que isto foi retirado)

i = i + 1

Loop

End If

End If

'Calcula Z conforme correlação de Abou-Kassem

ElseIf CompZ.Value = "Dranchuk e Abou-Kassem" Then

If Cells(9, 3).Value = "" Or Cells(10, 3).Value = "" Or Cells(11, 3).Value

= "" Then

MsgBox "Insira os valores de Temperatura, Temperatura Pseudocrítica

e Pressão Pseudocrítica"

Else

'Variáveis fixas da correlação

Tr = (Cells(9, 3).Value + 273.15) / (Cells(10, 3).Value + 273.15)

a1 = 0.3265

Page 229: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

210

a2 = -1.07

a3 = -0.5339

a4 = 0.01569

a5 = -0.05165

a6 = 0.5475

a7 = -0.7361

a8 = 0.1844

a9 = 0.1056

a10 = 0.6134

a11 = 0.721

i = 1

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na linha de

dados " & i & " do histórico. Favor completar."

Else

'Variáveis dinâmicas da correlação

Pr = Cells(19 + i, 3).Value / Cells(11, 3).Value

R1 = a1 + (a2 / Tr) + (a3 / (Tr ^ 3)) + (a4 / (Tr ^ 4)) + (a5 /

(Tr ^ 5))

R2 = 0.27 * Pr / Tr

R3 = a6 + (a7 / Tr) + (a8 / (Tr ^ 2))

R4 = a9 * ((a7 / Tr) + (a8 / (Tr ^ 2)))

R5 = a10 / (Tr ^ 3)

ror = 0.27 * Pr / Tr

f = (R1 * ror) - (R2 / ror) + (R3 * (ror ^ 2)) - (R4 * (ror ^

5)) + (R5 * (1 + (a11 * (ror ^ 2))) * (ror ^ 2) * (Exp(-a11 * (ror ^ 2)))) +

1

Fi = R1 + (R2 / (ror ^ 2)) + (2 * R3 / ror) - (5 * R4 * (ror ^

4)) + (2 * R5 * ror * Exp(-a11 * (ror ^ 2)) * ((1 + (2 * a11 * (ror ^ 3))) -

(a11 * (ror ^ 2) * (1 + (a11 * (ror ^ 2))))))

If Abs(f) < 0.0001 Then

Cells(19 + i, 4) = 0.27 * Pr / (ror * Tr)

Else

'Método iterativo

Do Until Abs(f) < 0.0001

ror = ror - (f / Fi)

Page 230: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

211

f = (R1 * ror) - (R2 / ror) + (R3 * (ror ^ 2)) - (R4 *

(ror ^ 5)) + (R5 * (1 + (a11 * (ror ^ 2))) * (ror ^ 2) * (Exp(-a11 * (ror ^

2)))) + 1

Fi = R1 + (R2 / (ror ^ 2)) + (2 * R3 / ror) - (5 * R4 *

(ror ^ 4)) + (2 * R5 * ror * Exp(-a11 * (ror ^ 2)) * ((1 + (2 * a11 * (ror ^

3))) - (a11 * (ror ^ 2) * (1 + (a11 * (ror ^ 2))))))

Loop

'Valor final a ser inserido

Cells(19 + i, 4) = 0.27 * Pr / (ror * Tr)

End If

End If

i = i + 1

Loop

End If

End If

'Calcula Z conforme correlação de Brill e Beggs

ElseIf CompZ.Value = "Brill e Beggs" Then

If Cells(9, 3).Value = "" Or Cells(10, 3).Value = "" Or Cells(11, 3).Value

= "" Then

MsgBox "Insira os valores de Temperatura, Temperatura Pseudocrítica

e Pressão Pseudocrítica"

Else

'Cálculo Temperatura Reduzida

Tr = (Cells(9, 3).Value + 273.15) / (Cells(10, 3).Value + 273.15)

i = 1

If Cells(16, 4).Value > 0 Then

Do Until i = Cells(16, 4).Value + 1

If Cells(19 + i, 3).Value = "" Or Cells(19 + i, 3).Value = 0 Then

MsgBox "Valor de pressão ausente ou igual a 0 na linha de

dados " & i & " do histórico. Favor completar."

Else

'Variáveis que mudam com o loop

Pr = Cells(19 + i, 3).Value / Cells(11, 3).Value

Page 231: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

212

a = (1.39 * ((Tr - 0.92) ^ 0.5)) - (0.36 * Tr) - 0.101

b = ((0.62 - (0.23 * Tr)) * Pr) + (((0.066 / (Tr - 0.86)) - 0.037)

* (Pr ^ 2)) + ((0.32 / (10 ^ (9 * (Tr - 1)))) * (Pr ^ 6))

c = 0.132 - (0.32 * MyLog(Tr)) 'chama a função MyLog definida no

código

d = 10 ^ (0.3106 - (0.49 * Tr) + (0.1824 * (Tr ^ 2)))

'Impede erro de overflow para exp(b), visto que o número é grande demais

'para o programa, e como é no denominador, o valor tende a 0.

If b > 708 Then

Cells(19 + i, 4) = a + (c * (Pr ^ d))

Else

'Insere o resultado na coluna

Cells(19 + i, 4) = a + ((1 - a) / Exp(b)) + (c * (Pr ^ d))

End If

End If

i = i + 1

Loop

End If

End If

End If

End If

End Sub

Private Sub RegN_Click()

'Faz regressão da tabela, informando diversos parâmetros e montando gráficos.

Application.ScreenUpdating = False

Dim i, Bloqueio As Integer

Bloqueio = 5

'Mensagem para valor inválido do nº de dados

If Cells(16, 4) < 2 Then

Análise P. Normais

Page 232: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

213

MsgBox "Insira o nº válido de dados históricos a serem inseridos para

análise."

'Mensagem informando para apagar análises anteriores antes de rodar uma nova

ElseIf ThisWorkbook.Worksheets("Resultados1").Cells(9, 1) = "SUMMARY OUTPUT"

Then

MsgBox "Apague análise anterior para rodar nova análise."

Else

'Roda a regressão (suplemento Excel) para o gás produzido com P/Z

Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range(Cells(19,

5), Cells(19 + Cells(16, 4).Value, 5)), _

ActiveSheet.Range(Cells(19, 2), Cells(19 + Cells(16, 4).Value, 2)),

False, True, 95, ThisWorkbook.Worksheets("Resultados1").Range("$A$9" _

), True, True, True, True, , True

'Força o nome de "Chart 1" "Chart 2" e "Chart 3" nos 3 gráficos criados

For i = 1 To ActiveSheet.ChartObjects.Count

ActiveSheet.ChartObjects(i).Name = "Chart " & i

Next i

'Faz as alterações nos gráficos criados para que fiquem posicionados

'de modo satisfatório, mostrem curvas de interesse e seus devidos limites

ActiveSheet.ChartObjects("Chart 1").Activate

ActiveSheet.Shapes("Chart 1").IncrementLeft -228.75

ActiveSheet.Shapes("Chart 1").IncrementTop 268.5

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveSheet.Shapes("Chart 3").IncrementLeft -445.5

ActiveSheet.Shapes("Chart 3").IncrementTop 363

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveSheet.Shapes("Chart 2").IncrementLeft -336.4090551181

ActiveSheet.Shapes("Chart 2").IncrementTop 550.795511811

Application.CommandBars("Format Object").Visible = False

ActiveSheet.Shapes("Chart 2").ScaleWidth 1.5069442907, msoFalse, _

msoScaleFromTopLeft

ActiveSheet.Shapes("Chart 2").ScaleHeight 2.8065149606, msoFalse, _

msoScaleFromTopLeft

ActiveSheet.ChartObjects("Chart 2").Activate

Page 233: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

214

ActiveChart.FullSeriesCollection(2).Select

Selection.Delete

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).MinimumScale = 0

'Define a escala do gráfico de acordo com seus dados limites

ActiveChart.Axes(xlCategory).MaximumScale = 1.2 *

(ThisWorkbook.Worksheets("Resultados1").Cells(25, 2).Value / -

(ThisWorkbook.Worksheets("Resultados1").Cells(26, 2).Value))

ActiveChart.Axes(xlValue).Select

ActiveChart.Axes(xlValue).MinimumScale = 0

ActiveChart.Axes(xlValue).MaximumScale = 1.2 *

ThisWorkbook.Worksheets("Resultados1").Cells(25, 2).Value

ActiveChart.Legend.Select

ActiveChart.Legend.LegendEntries(2).Select

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

'Define o avanço e o regresso da curva de regressão criada para contemplar

a previsão

Selection.Forward = (ThisWorkbook.Worksheets("Resultados1").Cells(25,

2).Value / -(ThisWorkbook.Worksheets("Resultados1").Cells(26, 2).Value)) -

(ThisWorkbook.Worksheets("Dados").Cells(19 + (Cells(16, 4).Value), 2).Value)

Selection.Backward = ThisWorkbook.Worksheets("Dados").Cells(20, 2).Value

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 748.417

Selection.Top = 89.797

Selection.Left = 865

Selection.Top = 169

ActiveSheet.Cells(9, 1).Select

Application.CommandBars("Format Object").Visible = False

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

'Mostra a equação da reta e o r² no próprio gráfico

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

Page 234: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

215

Application.CommandBars("Format Object").Visible = False

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 63

Selection.Top = 23

ActiveChart.ChartArea.Select

'Insere os valores de Pi/Zi e G numa nova tabela a ser inserida

ThisWorkbook.Worksheets("Resultados1").Cells(12, 5).Value =

ThisWorkbook.Worksheets("Resultados1").Cells(25, 2).Value

ThisWorkbook.Worksheets("Resultados1").Cells(13, 5).Value =

ThisWorkbook.Worksheets("Resultados1").Cells(25, 2).Value / -

ThisWorkbook.Worksheets("Resultados1").Cells(26, 2).Value

'Caso análise seja feita sem valores de pressão inicial,

'Utiliza a correlação reversa de Beggs & Brill para achar Zi e Pi

If ThisWorkbook.Worksheets("Dados").Cells(20, 2).Value > 0 Then

Dim Tr, Pc, Pr, PiZi, Zi, a, b, c, d, v1, v2, v3, res, res2 As Double

Dim bloqueio As Integer

'Definição das variáveis

Tr = (ThisWorkbook.Worksheets("Dados").Cells(9, 3).Value + 273.15) /

(ThisWorkbook.Worksheets("Dados").Cells(10, 3).Value + 273.15)

Pc = ThisWorkbook.Worksheets("Dados").Cells(11, 3).Value

PiZi = ThisWorkbook.Worksheets("Resultados1").Cells(12, 5).Value

a = (1.39 * ((Tr - 0.92) ^ 0.5)) - (0.36 * Tr) - 0.101

c = 0.132 - (0.32 * MyLog(Tr))

d = 10 ^ (0.3106 - (0.49 * Tr) + (0.1824 * (Tr ^ 2)))

v1 = (0.62 - (0.23 * Tr))

v2 = ((0.066 / (Tr - 0.86)) - 0.037)

v3 = (0.32 / (10 ^ (9 * (Tr - 1))))

'Aplica Formula ou FormulaLocal em casos de erro, que dependem da instalação

do excel

On Error GoTo alternativa

'Insere fórmula utilizando as variáveis acima em uma célula para resolver

com o suplemento solver

ThisWorkbook.Worksheets("Dados").Cells(16, 10).Formula = "=-(I16)+" & a &

"+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & " ^ " &

d & ")))"

If bloqueio = 0 Then

alternativa:

Page 235: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

216

On Error GoTo -1

On Error GoTo Erro

ThisWorkbook.Worksheets("Dados").Cells(16, 10).FormulaLocal = "=-(I16)+"

& a & "+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & "

^ " & d & ")))"

End If

On Error GoTo -1

Sheets("Dados").Select

'Reseta dados do Solver e inseri novos para solucionar a equação inserida

'método considerando Pr alto (evitar erro do exp(>708))

SolverReset

SolverOk SetCell:="$J$16", MaxMinVal:=3, ValueOf:=0, ByChange:="$I$16",

Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverSolve userFinish:=True

'Pega o resultado do solver que precisou ser implementado na tabela "Dados"

'pela origem do botão transfere para lugar desejado na planilha "Resultados1"

res = ThisWorkbook.Worksheets("Dados").Cells(16, 9).Value

ThisWorkbook.Worksheets("Resultados1").Cells(12, 8) = res

ThisWorkbook.Worksheets("Resultados1").Cells(13, 8) =

ThisWorkbook.Worksheets("Resultados1").Cells(12, 5).Value * res

'Apaga as células cabaia utilizadas na planilha dados para o Solver

ThisWorkbook.Worksheets("Dados").Cells(16, 10) = ""

ThisWorkbook.Worksheets("Dados").Cells(16, 9) = ""

'Novamente faz checagem de erro

On Error GoTo alt

'Nova rodagem do solver para contemplar solução rigorosa sujeita a erros

ThisWorkbook.Worksheets("Dados").Cells(15, 10).Formula = "=-(I15)+" & a &

"+((1-" & a & ")/EXP((" & v1 & "*(I15)*(" & PiZi & ")/(" & Pc & "))+(" & v2

& "*((I15 ^ 2)*(" & PiZi & " ^ 2)/(" & Pc & " ^ 2)))+(" & v3 & "*(" & PiZi &

" ^ 6)*(I15 ^ 6)/ (" & Pc & " ^ 6))))+(" & c & "*((" & PiZi & " ^ " & d &

")*(I15 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"

If bloqueio = 0 Then

alt:

On Error GoTo -1

On Error GoTo Erro

Page 236: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

217

ThisWorkbook.Worksheets("Dados").Cells(15, 10).FormulaLocal = "=-(I15)+"

& a & "+((1-" & a & ")/EXP((" & v1 & "*(I15)*(" & PiZi & ")/(" & Pc & "))+("

& v2 & "*((I15 ^ 2)*(" & PiZi & " ^ 2)/(" & Pc & " ^ 2)))+(" & v3 & "*(" &

PiZi & " ^ 6)*(I15 ^ 6)/ (" & Pc & " ^ 6))))+(" & c & "*((" & PiZi & " ^ " &

d & ")*(I15 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"

End If

On Error GoTo -1

SolverReset

SolverOk SetCell:="$J$15", MaxMinVal:=3, ValueOf:=0, ByChange:="$I$15",

Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverSolve userFinish:=True

res2 = ThisWorkbook.Worksheets("Dados").Cells(15, 9).Value

ThisWorkbook.Worksheets("Resultados1").Cells(14, 8) = res2

ThisWorkbook.Worksheets("Resultados1").Cells(15, 8) =

ThisWorkbook.Worksheets("Resultados1").Cells(12, 5).Value * res2

ThisWorkbook.Worksheets("Dados").Cells(15, 10) = ""

ThisWorkbook.Worksheets("Dados").Cells(15, 9) = ""

'Fim Beggs & Brills Reverso

'Formata tabela para dados Beggs & Brills

Sheets("Resultados1").Select

ActiveSheet.Range("G11:I11").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

ActiveCell.FormulaR1C1 = "Brill & Beggs Reverso"

ActiveSheet.Range("G11:L11").Select

ActiveSheet.Range("L11").Activate

Page 237: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

218

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("G12").Select

ActiveCell.FormulaR1C1 = "Zi (Simplificado)"

ActiveSheet.Range("G13").Select

ActiveCell.FormulaR1C1 = "Pi (Simplificado)"

ActiveSheet.Range("G14").Select

ActiveCell.FormulaR1C1 = "Zi (Rigoroso)"

ActiveSheet.Range("G15").Select

ActiveCell.FormulaR1C1 = "Pi (Rigoroso)"

ActiveSheet.Range("G15:L15").Select

ActiveSheet.Range("L15").Activate

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Page 238: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

219

ActiveSheet.Range("I12").Select

ActiveCell.FormulaR1C1 = _

"Correto para valores elevados de pressão reduzida e distorcido para

valores baixos"

ActiveSheet.Range("I13").Select

ActiveCell.FormulaR1C1 = _

"Correto para valores elevados de pressão reduzida e distorcido para

valores baixos"

ActiveSheet.Range("I14").Select

ActiveCell.FormulaR1C1 = _

"Sujeito a erro, principalmente para valores elevados de pressão

reduzida"

ActiveSheet.Range("I15").Select

ActiveCell.FormulaR1C1 = _

"Sujeito a erro, principalmente para valores elevados de pressão

reduzida"

ActiveSheet.Range("H12:H15").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

End If

Page 239: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

220

If bloqueio = 0 Then

Erro:

MsgBox "Erro ao utilizar Brill e Beggs Reverso"

On Error GoTo 0

End If

'Formata a Tabela "Variáveis Importantes"

Sheets("Resultados1").Select

ActiveSheet.Range("D11:E11").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

Selection.Font.Italic = True

ActiveCell.FormulaR1C1 = "Variáveis Importantes"

ActiveSheet.Range("D12").Select

ActiveCell.FormulaR1C1 = "Pi/Zi"

ActiveSheet.Range("D13").Select

ActiveCell.FormulaR1C1 = "Reserva de Gás [m³ std]"

ActiveSheet.Range("D10:E10").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Page 240: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

221

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D11:E11").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D13:E13").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("E14:E15").Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

Page 241: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

222

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

ActiveSheet.Range("A9").Select

End If

Application.ScreenUpdating = True

End Sub

Private Sub RegAn_Click()

'Código 'idêntico' ao anterior, modificando apenas a fonte de dados

'com (P/Z)*(1-Cewf(DeltaP)) em vez de P/Z.

'Maioria dos comentários foram suprimidos.

Dim i As Integer

'Faz regressão da tabela, informando diversos parâmetros e montando gráficos.

Application.ScreenUpdating = False

'Se certifica de que o primeiro dado inserido contém produção 0, logo pressão

inicial.

If Cells(20, 2).Value <> 0 Then

MsgBox "A análise de formações inconsolidadas deve conter o instante

inicial no histórico de produção, isto é, Produção Zero (0) e Pressão

inicial."

GoTo Fim

End If

If Cells(16, 4) < 2 Then

MsgBox "Insira o nº válido de dados históricos a serem inseridos para

análise."

Análise P. Anormais

Page 242: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

223

ElseIf ThisWorkbook.Worksheets("Resultados2").Cells(9, 1) = "SUMMARY OUTPUT"

Then

MsgBox "Apague análise anterior para rodar nova análise."

Else

Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range(Cells(19,

6), Cells(19 + Cells(16, 4).Value, 6)), _

ActiveSheet.Range(Cells(19, 2), Cells(19 + Cells(16, 4).Value, 2)),

False, True, 95, ThisWorkbook.Worksheets("Resultados2").Range("$A$9" _

), True, True, True, True, , True

For i = 1 To ActiveSheet.ChartObjects.Count

ActiveSheet.ChartObjects(i).Name = "Chart " & i

Next i

ActiveSheet.ChartObjects("Chart 1").Activate

ActiveSheet.Shapes("Chart 1").IncrementLeft -228.75

ActiveSheet.Shapes("Chart 1").IncrementTop 268.5

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveSheet.Shapes("Chart 3").IncrementLeft -445.5

ActiveSheet.Shapes("Chart 3").IncrementTop 363

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveSheet.Shapes("Chart 2").IncrementLeft -336.4090551181

ActiveSheet.Shapes("Chart 2").IncrementTop 550.795511811

Application.CommandBars("Format Object").Visible = False

ActiveSheet.Shapes("Chart 2").ScaleWidth 1.5069442907, msoFalse, _

msoScaleFromTopLeft

ActiveSheet.Shapes("Chart 2").ScaleHeight 2.8065149606, msoFalse, _

msoScaleFromTopLeft

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(2).Select

Selection.Delete

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).MinimumScale = 0

Page 243: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

224

ActiveChart.Axes(xlCategory).MaximumScale = 1.2 *

(ThisWorkbook.Worksheets("Resultados2").Cells(25, 2).Value / -

(ThisWorkbook.Worksheets("Resultados2").Cells(26, 2).Value))

ActiveChart.Axes(xlValue).Select

ActiveChart.Axes(xlValue).MinimumScale = 0

ActiveChart.Axes(xlValue).MaximumScale = 1.2 *

ThisWorkbook.Worksheets("Resultados2").Cells(25, 2).Value

ActiveChart.Legend.Select

ActiveChart.Legend.LegendEntries(2).Select

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

Selection.Forward = (ThisWorkbook.Worksheets("Resultados2").Cells(25,

2).Value / -(ThisWorkbook.Worksheets("Resultados2").Cells(26, 2).Value)) -

(ThisWorkbook.Worksheets("Dados").Cells(19 + (Cells(16, 4).Value), 2).Value)

Selection.Backward = ThisWorkbook.Worksheets("Dados").Cells(20, 2).Value

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 748.417

Selection.Top = 89.797

Selection.Left = 865

Selection.Top = 169

ActiveSheet.Cells(9, 1).Select

Application.CommandBars("Format Object").Visible = False

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

Application.CommandBars("Format Object").Visible = False

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 63

Selection.Top = 23

ActiveChart.ChartArea.Select

ThisWorkbook.Worksheets("Resultados2").Cells(12, 5).Value =

ThisWorkbook.Worksheets("Resultados2").Cells(25, 2).Value

ThisWorkbook.Worksheets("Resultados2").Cells(13, 5).Value =

ThisWorkbook.Worksheets("Resultados2").Cells(25, 2).Value / -

ThisWorkbook.Worksheets("Resultados2").Cells(26, 2).Value

Page 244: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

225

'Formata a Tabela "Variáveis Importantes"

Sheets("Resultados2").Select

ActiveSheet.Range("D11:E11").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

Selection.Font.Italic = True

ActiveCell.FormulaR1C1 = "Variáveis Importantes"

ActiveSheet.Range("D12").Select

ActiveCell.FormulaR1C1 = "Pi/Zi"

ActiveSheet.Range("D13").Select

ActiveCell.FormulaR1C1 = "Reserva de Gás [m³ std]"

ActiveSheet.Range("D10:E10").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D11:E11").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Page 245: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

226

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D13:E13").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("E14:E15").Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

Page 246: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

227

End With

'Condicional de análise feita para pressões normais

If ThisWorkbook.Worksheets("Resultados1").Cells(13, 5).Value > 0 Then

'Defini 2 variáveis como Range para serem utilizadas em alterações

de fonte de dados

Dim c1x, c1y, cyy As Range

c1x =

ThisWorkbook.Worksheets("Dados").Range(ThisWorkbook.Worksheets("Dados").Cel

ls(20, 2), ThisWorkbook.Worksheets("Dados").Cells(19 +

ThisWorkbook.Worksheets("Dados").Cells(16, 4).Value, 2))

c1y =

ThisWorkbook.Worksheets("Dados").Range(ThisWorkbook.Worksheets("Dados").Cel

ls(20, 5), ThisWorkbook.Worksheets("Dados").Cells(19 +

ThisWorkbook.Worksheets("Dados").Cells(16, 4).Value, 5))

'Cria novo gráfico comparando formações consolidadas e inconsolidadas

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.ChartArea.Copy

ActiveSheet.Range("H78").Select

ActiveSheet.Paste

For i = 1 To ActiveSheet.ChartObjects.Count

ActiveSheet.ChartObjects(i).Name = "Chart " & i

Next i

ActiveSheet.ChartObjects("Chart 4").Activate

ActiveSheet.Shapes("Chart 4").IncrementLeft 9.75

ActiveSheet.Shapes("Chart 4").IncrementTop -0.75

ActiveSheet.ChartObjects("Chart 4").Activate

ActiveChart.SeriesCollection.NewSeries

ActiveChart.FullSeriesCollection(2).Name = "=""P/Z"""

ActiveChart.FullSeriesCollection(2).XValues = c1x

ActiveChart.FullSeriesCollection(2).Values = c1y

ActiveSheet.ChartObjects("Chart 4").Activate

ActiveChart.FullSeriesCollection(2).Select

ActiveChart.FullSeriesCollection(2).Trendlines.Add

ActiveChart.FullSeriesCollection(2).Trendlines(1).Select

Selection.Forward =

(ThisWorkbook.Worksheets("Resultados1").Cells(25, 2).Value / -

Page 247: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

228

(ThisWorkbook.Worksheets("Resultados1").Cells(26, 2).Value)) -

(ThisWorkbook.Worksheets("Dados").Cells(19 + (Cells(16, 4).Value), 2).Value)

ActiveChart.Axes(xlValue).AxisTitle.Select

ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = _

"(P/Z) e (P/Z)corr. [kgf/cm²]"

ActiveChart.Legend.Select

Application.CommandBars("Format Object").Visible = False

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Name = "=""(P/Z)corr."""

ActiveChart.FullSeriesCollection(2).Select

ActiveChart.FullSeriesCollection(2).Trendlines(1).Select

Selection.InterceptIsAuto = True

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

Application.CommandBars("Format Object").Visible = False

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).MaximumScaleIsAuto = True

ActiveChart.FullSeriesCollection(2).Trendlines(1).DataLabel.Select

ActiveChart.FullSeriesCollection(2).Trendlines(1).DataLabel.Text =

Round(ThisWorkbook.Worksheets("Resultados1").Cells(13, 5).Value, 0)

Selection.Left = 708

Selection.Top = 326

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Text =

Round(ThisWorkbook.Worksheets("Resultados2").Cells(13, 5).Value, 0)

Selection.Left = 445.587

Selection.Top = 329

'Formatação da mini tabela com a diferença entre as Reservas para

cada caso

Sheets("Resultados2").Range("D15:E15").HorizontalAlignment =

xlCenter

Sheets("Resultados2").Range("D15:E15").VerticalAlignment = xlCenter

Sheets("Resultados2").Range("D15:E15").Merge

Sheets("Resultados2").Range("D15:E15").Font.Italic = True

Sheets("Resultados2").Range("D15:E15").Borders(xlDiagonalDown).LineStyle =

xlNone

Sheets("Resultados2").Range("D15:E15").Borders(xlDiagonalUp).LineStyle =

xlNone

Page 248: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

229

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeLeft).LineStyle =

xlNone

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeTop).LineStyle

= xlContinuous

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeTop).ColorIndex =

xlAutomatic

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeTop).TintAndShade = 0

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeTop).Weight =

xlMedium

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeBottom).LineStyle =

xlContinuous

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeBottom).ColorIndex =

xlAutomatic

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeBottom).TintAndShade =

0

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeBottom).Weight

= xlThin

Sheets("Resultados2").Range("D15:E15").Borders(xlEdgeRight).LineStyle =

xlNone

Sheets("Resultados2").Range("D15:E15").Borders(xlInsideVertical).LineStyle

= xlNone

Sheets("Resultados2").Range("D15:E15").Borders(xlInsideHorizontal).LineStyl

e = xlNone

Sheets("Resultados2").Range("D15:E15").FormulaR1C1 = "Diferença da

Reserva de Pressões Normais"

Sheets("Resultados2").Range("D16:E16").Borders(xlDiagonalDown).LineStyle =

xlNone

Sheets("Resultados2").Range("D16:E16").Borders(xlDiagonalUp).LineStyle =

xlNone

Page 249: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

230

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeLeft).LineStyle =

xlNone

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeTop).LineStyle

= xlContinuous

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeTop).ColorIndex = 0

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeTop).TintAndShade = 0

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeTop).Weight =

xlThin

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeBottom).LineStyle =

xlContinuous

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeBottom).ColorIndex = 0

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeBottom).TintAndShade =

0

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeBottom).Weight

= xlThin

Sheets("Resultados2").Range("D16:E16").Borders(xlEdgeRight).LineStyle =

xlNone

Sheets("Resultados2").Range("D16:E16").Borders(xlInsideVertical).LineStyle

= xlNone

Sheets("Resultados2").Range("D16:E16").Borders(xlInsideHorizontal).LineStyl

e = xlNone

Sheets("Resultados2").Range("D16:E16").HorizontalAlignment =

xlCenter

Sheets("Resultados2").Range("D16:E16").VerticalAlignment = xlCenter

Sheets("Resultados2").Range("D16:E16").Merge

Dim n As Double

'Cálculo da diferença

n = ThisWorkbook.Worksheets("Resultados2").Cells(13, 5).Value -

ThisWorkbook.Worksheets("Resultados1").Cells(13, 5).Value

Page 250: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

231

If ThisWorkbook.Worksheets("Resultados1").Cells(13, 5).Value >=

ThisWorkbook.Worksheets("Resultados2").Cells(13, 5).Value Then

'Inserindo informação

Sheets("Resultados2").Range("D16:E16").FormulaR1C1 = "Reserva

menor em " & Round(Abs(n), 0) & " m³"

Else

Sheets("Resultados2").Range("D16:E16").FormulaR1C1 = "Reserva

maior em " & Round(Abs(n), 0) & " m³"

End If

End If

ActiveSheet.Range("A9").Select

End If

Fim:

Application.ScreenUpdating = True

End Sub

Private Sub RegIn_Click()

'Faz a regressão agora para o método com influxo. Há alterações significativas

'Quanto às outras duas regressões. Comentários redundantes serão

majoritariamente suprimidos.

'Faz regressão da tabela, informando diversos parâmetros e montando gráficos.

Dim i As Integer

Dim var1, var2 As String

Application.ScreenUpdating = False

'Copia o título para a primeira coluna, para excluir o primeiro ponto,

'e andando 1 linha para baixo com a regressão

var1 = Cells(19, 9)

var2 = Cells(19, 10)

Cells(20, 9) = var1

Análise Influxo

Page 251: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

232

Cells(20, 10) = var2

'Se certifica que o usuário lembre de preencher o Bw antes de rodar análise

If Cells(13, 8) = "" Or Cells(13, 8) = 0 Then

MsgBox "Insira valor válido para fator volume formação da água (Bw)."

GoTo Fim

End If

If Cells(16, 4) < 2 Then

MsgBox "Insira o nº válido de dados históricos a serem inseridos para

análise."

ElseIf ThisWorkbook.Worksheets("Resultados3").Cells(9, 1) = "SUMMARY OUTPUT"

Then

MsgBox "Apague análise anterior para rodar nova análise."

Else

Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range(Cells(19,

10), Cells(19 + Cells(16, 4).Value, 10)), _

ActiveSheet.Range(Cells(19, 9), Cells(19 + Cells(16, 4).Value, 9)),

False, True, 95, ThisWorkbook.Worksheets("Resultados3").Range("$A$9" _

), True, True, True, True, , True

For i = 1 To ActiveSheet.ChartObjects.Count

ActiveSheet.ChartObjects(i).Name = "Chart " & i

Next i

ActiveSheet.ChartObjects("Chart 1").Activate

ActiveSheet.Shapes("Chart 1").IncrementLeft -228.75

ActiveSheet.Shapes("Chart 1").IncrementTop 268.5

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveSheet.Shapes("Chart 3").IncrementLeft -445.5

ActiveSheet.Shapes("Chart 3").IncrementTop 363

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveSheet.Shapes("Chart 2").IncrementLeft -336.4090551181

ActiveSheet.Shapes("Chart 2").IncrementTop 550.795511811

Application.CommandBars("Format Object").Visible = False

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveSheet.Shapes("Chart 2").ScaleWidth 1.5069442907, msoFalse, _

msoScaleFromTopLeft

Page 252: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

233

ActiveSheet.Shapes("Chart 2").ScaleHeight 2.8065149606, msoFalse, _

msoScaleFromTopLeft

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(2).Select

Selection.Delete

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.Legend.Select

ActiveChart.Legend.LegendEntries(2).Select

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 865

Selection.Top = 169

Sheets("Resultados3").Select

'Adiciona a diferença retirada como extensão para trás na reta inserida

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

Selection.Backward = ThisWorkbook.Worksheets("Dados").Cells(21, 9).Value

'Posiciona R² e fórmula no gráfico

ActiveSheet.ChartObjects("Chart 2").Activate

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 100

Selection.Top = 50

Application.CommandBars("Format Object").Visible = False

ActiveSheet.ChartObjects("Chart 3").Activate

ActiveChart.FullSeriesCollection(1).Select

ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select

Selection.DisplayEquation = True

Selection.DisplayRSquared = True

Application.CommandBars("Format Object").Visible = False

ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select

Selection.Left = 85

Selection.Top = 15

Page 253: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

234

ActiveChart.Axes(xlValue).AxisTitle.Select

Selection.Left = 11

Selection.Top = 14.077

ThisWorkbook.Worksheets("Resultados3").Cells(12, 5).Value =

ThisWorkbook.Worksheets("Resultados3").Cells(26, 2).Value

ThisWorkbook.Worksheets("Resultados3").Cells(13, 5).Value =

ThisWorkbook.Worksheets("Resultados3").Cells(25, 2).Value

'Formata a Tabela "Variáveis Importantes"

Sheets("Resultados3").Select

ActiveSheet.Range("D11:E11").Select

Sheets("Resultados3").Range("D11:E11").HorizontalAlignment = xlCenter

Sheets("Resultados3").Range("D11:E11").VerticalAlignment = xlCenter

Sheets("Resultados3").Range("D11:E11").Merge

Sheets("Resultados3").Range("D11:E11").Font.Italic = True

ActiveCell.FormulaR1C1 = "Variáveis Importantes"

ActiveSheet.Range("D12").Select

ActiveCell.FormulaR1C1 = "Tangente (1 = correto)"

ActiveSheet.Range("D13").Select

ActiveCell.FormulaR1C1 = "Reserva de Gás [m³ std]"

ActiveSheet.Range("D10:E10").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D11:E11").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Page 254: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

235

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("D13:E13").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

ActiveSheet.Range("E14:E15").Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

Page 255: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

236

End With

'Copia a imagem na planilha "Imagem" para célula H78 da planilha

"Resultados3"

Sheets("Imagem").Visible = -1 'torna a planilha visível

Sheets("Imagem").Select

ActiveSheet.Shapes.Range(Array("Picture 1")).Select

Selection.Copy

Sheets("Resultados3").Select

ActiveSheet.Range("H78").Select

ActiveSheet.Paste

Selection.Name = "Influxo"

Sheets("Imagem").Visible = 2 'torna a planilha "Very Hidden" novamente

ActiveSheet.Range("A9").Select

End If

Fim:

'Volta com a fórmula da coluna I para a célula I20

ThisWorkbook.Worksheets("Dados").Cells(20, 9).FormulaR1C1 =

"=IFERROR(IF(R[0]C[-1]="""","""",R[0]C[-1]/(((1.033227*R[0]C[-

5]*R9C3)/(293.15*R[0]C[-6]))-

((1.033227*R20C4*R9C3)/(293.15*R20C3)))),IF(R[0]C[-1]="""","""",0))"

'Volta com a fórmula da coluna J para a célula J20

ThisWorkbook.Worksheets("Dados").Cells(20, 10).FormulaR1C1 =

"=IFERROR(IF(OR(AND(R[0]C[-8]="""",R[0]C[-3]=""""),R[0]C[-

1]=""""),"""",((R[0]C[-8]*((1.033227*R[0]C[-6]*R9C3)/(293.15*R[0]C[-

7])))+(R[0]C[-3]*R13C8))/(((1.033227*R[0]C[-6]*R9C3)/(293.15*R[0]C[-7]))-

((1.033227*R20C4*R9C3)/(293.15*R20C3)))),IF(AND(R[0]C[-8]="""",R[0]C[-

3]=""""),"""",0))"

Application.ScreenUpdating = True

End Sub

Page 256: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

237

Private Sub ApagAna_Click()

'Pede confirmação para resetar as análises feitas

Dim resultado As VbMsgBoxResult

resultado = MsgBox("Tem certeza que deseja apagar as análises?",

vbYesNo, "Tomando uma decisão")

Application.ScreenUpdating = False

'Caso resposta seja Sim, apaga as análises feitas,

'necessário para que as próximas análises funcionem devidamente.

If resultado = vbYes Then

Dim ASheet As Worksheet

Dim achart As Chart

Sheets("Resultados1").Select

'** Deleta todos os gráficos das planilhas ****

For Each achart In ActiveWorkbook.Charts

achart.Delete

Next

'Deleta, se tiver, a imagem com nome "Influxo" do planilha "Resultados3"

Sheets("Resultados3").Select

Dim shp As Shape

For Each shp In ActiveSheet.Shapes

If shp.Name = "Influxo" Then

shp.Delete

End If

Next shp

'Deleta dados planilha Resultados1

Sheets("Resultados1").Select

Apagar Análises

Page 257: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

238

Sheets("Resultados1").Range("A8:XFD1048576").Delete Shift:=xlUp

ActiveSheet.Range("A8").Select

'Deleta dados planilha Resultados2

Sheets("Resultados2").Select

Sheets("Resultados2").Range("A8:XFD1048576").Delete Shift:=xlUp

ActiveSheet.Range("A8").Select

'Deleta dados planilha Resultados3

Sheets("Resultados3").Select

Sheets("Resultados3").Range("A8:XFD1048576").Delete Shift:=xlUp

ActiveSheet.Range("A8").Select

Sheets("Dados").Select

Range("D16").Select

End If

Application.ScreenUpdating = True

End Sub

Private Sub Reset_Click()

'Pede Confirmação para resetar os dados da planilha

Dim resultado As VbMsgBoxResult

resultado = MsgBox("Tem certeza que deseja resetar todos os dados?",

vbYesNo, "Tomando uma decisão")

ThisWorkbook.Worksheets("Dados").Unprotect ("manf")

Application.ScreenUpdating = False

'Reseta todos os valores da planilha "Dados"

If resultado = vbYes Then

Cells(9, 3).Value = ""

Cells(10, 3).Value = ""

Cells(11, 3).Value = ""

Cells(16, 4).Value = ""

Cells(9, 8).Value = ""

Cells(10, 8).Value = ""

Cells(11, 8).Value = ""

Resetar Dados

Page 258: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

239

Cells(13, 8).Value = ""

CompZ.Value = "Insira Correlação"

'Reformata espaços da tabela

Range("A20:J20").Select

Range(Selection, Selection.End(xlDown)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

Selection.Borders(xlEdgeLeft).LineStyle = xlNone

Selection.Borders(xlEdgeTop).LineStyle = xlNone

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

Selection.Borders(xlEdgeRight).LineStyle = xlNone

Selection.Borders(xlInsideVertical).LineStyle = xlNone

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorDark1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Selection.ClearContents

Range("A18:J19").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

Page 259: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

240

.TintAndShade = 0

.Weight = xlMedium

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

Cells(16, 4).Select

End If

Application.ScreenUpdating = True

ThisWorkbook.Worksheets("Dados").Protect ("manf")

End Sub

Page 260: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

241

ANEXO A – SISTEMAS E CONVERSÕES DE UNIDADES

VARIÁVEIS E PARÂMETROS EM DIVERSOS SISTEMAS DE UNIDADES

Variável ou parâmetros SI DARCY PETROBRAS AMERICANO

Comprimento 𝑚 𝑐𝑚 𝑚 𝑓𝑡

Massa 𝑘𝑔 𝑔 𝑘𝑔 𝑙𝑏

Temperatura absoluta 𝐾 𝐾 𝐾 𝑅

Tempo 𝑠 𝑠 ℎ ℎ

Permeabilidade 𝑚² 𝐷𝑎𝑟𝑐𝑦 𝑚𝑑 𝑚𝑑

Pressão 𝑃𝑎 𝑎𝑡𝑚 𝑘𝑔𝑓/𝑐𝑚² psi

Viscosidade 𝑃𝑎. 𝑠 𝑐𝑝 𝑐𝑝 𝑐𝑝

Vazão de óleo 𝑚3/𝑑 𝑐𝑚3/𝑑 𝑚3/𝑑 𝑏𝑏𝑙/𝑑

Vazão de gás 𝑚3/𝑑 𝑐𝑚3/𝑑 103 𝑚3/𝑑 103 𝑓𝑡3/𝑑

Volume 𝑚³ 𝑐𝑚³ 𝑚³ bbl

Índice de Produtividade 𝑚3/𝑠

𝑃𝑎

𝑐𝑚3/𝑠

𝑎𝑡𝑚

𝑚3/𝑑

𝑘𝑔𝑓/𝑐𝑚²

𝑏𝑏𝑙/𝑑

𝑝𝑠𝑖

VARIÁVEIS, EQUAÇÕES E GRUPOS DE PARÂMETROS E/OU VARIÁVEIS EM

DIVERSOS SISTEMAS DE UNIDADES

Variável / Equação / Grupo SI ou DARCY PETROBRAS AMERICANO

Tempo adimensional (𝑡𝐷)

(fluxo radial)

𝑘𝑡

𝜙𝜇𝑐𝑡𝑟²

0,0003484 𝑘𝑡

𝜙𝜇𝑐𝑡𝑟²

0,00026374 𝑘𝑡

𝜙𝜇𝑐𝑡𝑟²

Tempo adimensional (𝑡𝐷)

(fluxo linear)

𝑘𝑡

𝜙𝜇𝑐𝑡𝐿²

0,0003484 𝑘𝑡

𝜙𝜇𝑐𝑡𝐿²

0,00026374 𝑘𝑡

𝜙𝜇𝑐𝑡𝐿²

Queda de pressão adimensional (𝑝𝐷)

(C.C.I. de pressão constante)

𝑝𝑖 − 𝑝

𝑝𝑖 − 𝑝0

𝑝𝑖 − 𝑝

𝑝𝑖 − 𝑝0

𝑝𝑖 − 𝑝

𝑝𝑖 − 𝑝0

Queda de pressão adimensional (𝑝𝐷)

(fluxo radial)

2𝜋𝑘ℎ

𝑞𝜇∆𝑝

𝑘ℎ

19,03𝑞𝜇∆𝑝

𝑘ℎ

141,2𝑞𝜇∆𝑝

Queda de pressão adimensional (𝑝𝐷)

(fluxo linear)

𝑘𝐴

𝑞𝜇𝐿∆𝑝

𝑘𝐴

119,6𝑞𝜇𝐿∆𝑝

1,127𝑥10−3 𝑘𝐴

𝑞𝜇𝐿∆𝑝

Fluxo linear – gás ideal 𝑘𝐴

𝜇𝐿

8,361𝑥10−6 𝑘𝐴

𝜇𝐿

6,328𝑥10−6 𝑘𝐴

𝜇𝐿

Fluxo radial – gás ideal 2𝜋𝑘ℎ

𝜇

52,549𝑥10−6 𝑘ℎ

𝜇

39,763𝑥10−6 𝑘ℎ

𝜇

Fluxo radial – gás real 𝑘𝐴

𝐿

8,361𝑥10−6 𝑘𝐴

𝐿

6,328𝑥10−6 𝑘𝐴

𝐿

Page 261: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

242

Variável / Equação / Grupo SI ou DARCY PETROBRAS AMERICANO

Fluxo radial – gás real 2𝜋𝑘ℎ 52,549𝑥10−6 𝑘ℎ 39,763𝑥10−6 𝑘ℎ

Constante de influxo do aquífero (𝑈)

(fluxo radial) 2𝜋𝑓𝛷𝑐𝑡ℎ𝑟𝑜

2 2𝜋𝑓𝛷𝑐𝑡ℎ𝑟𝑜2 1,119𝑓𝛷𝑐𝑡ℎ𝑟𝑜

2

Constante de influxo do aquífero (𝑈)

(fluxo linear) 𝑤𝐿ℎ𝛷𝑐𝑡 𝑤𝐿ℎ𝛷𝑐𝑡

𝑤𝐿ℎ𝛷𝑐𝑡

5,615

Índice de produtividade do aquífero (J)

(fluxo pseudopermanente generalizado)

2𝜋𝑓𝑘ℎ

𝜇2 𝑙𝑛 (

4𝐴𝛾𝐶𝐴𝑟𝑜

2)

0,05255𝑓𝑘ℎ

𝜇2 𝑙𝑛 (

4𝐴𝛾𝐶𝐴𝑟𝑜

2)

7,08𝑥10−3 𝑓𝑘ℎ

𝜇2 𝑙𝑛 (

4𝐴𝛾𝐶𝐴𝑟𝑜

2)

Índice de produtividade do aquífero (J)

(fluxo radial pseudopermanente)

2𝜋𝑓𝑘ℎ

𝜇 [𝑙𝑛 (𝑟𝑒

𝑟𝑜) −

34

]

0,05255 𝑓𝑘ℎ

𝜇 [𝑙𝑛 (𝑟𝑒

𝑟𝑜) −

34

]

7,08𝑥10−3 𝑓𝑘ℎ

𝜇 [𝑙𝑛 (𝑟𝑒

𝑟𝑜) −

34

]

Índice de produtividade do aquífero (J)

(fluxo radial permanente)

2𝜋𝑓𝑘ℎ

𝜇 𝑙𝑛 (𝑟𝑒

𝑟𝑜)

0,05255𝑓𝑘ℎ

𝜇 𝑙𝑛 (𝑟𝑒

𝑟𝑜)

7,08𝑥10−3 𝑓𝑘ℎ

𝜇 𝑙𝑛 (𝑟𝑒

𝑟𝑜)

Índice de produtividade do aquífero (J)

(fluxo linear pseudopermanente)

3𝑘ℎ𝑤

𝜇𝐿

𝑘ℎ𝑤

39,85𝜇𝐿

3,38𝑥10−3 𝑘ℎ𝑤

𝜇𝐿

Índice de produtividade do aquífero (J)

(fluxo fluxo linear permanente)

𝑘ℎ𝑤

𝜇𝐿

𝑘ℎ𝑤

119,6𝜇𝐿

1,127𝑥10−3 𝑘ℎ𝑤

𝜇𝐿

CONSTANTES DAS EQUAÇÕES DE VAZÃO DE INJEÇÃO EM DIVERSOS

SISTEMAS DE UNIDADES

Constante SI ou DARCY PETROBRAS AMERICANO

𝐶1 1,364492 0,011412 0,001538

𝐶2 1,819618 0,015218 0,002051

𝐶3 2,728983 0,022823 0,003076

CONSTANTES FÍSICAS

Constante Universal dos Gases (R)

Unidade 𝑝𝑠𝑖 . 𝑓𝑡³

𝑚𝑜𝑙 − 𝑙𝑏 . 𝑅

𝑙𝑏𝑓 . 𝑓𝑡

𝑚𝑜𝑙 − 𝑙𝑏 . 𝑅

𝑎𝑡𝑚 . 𝑐𝑚³

𝑚𝑜𝑙 − 𝑔 . 𝐾

𝑐𝑎𝑙

𝑚𝑜𝑙 − 𝑔 . 𝐾

(𝑘𝑔𝑓/𝑐𝑚²) . 𝑚³

𝑚𝑜𝑙 − 𝑘𝑔 . 𝐾

R 10,73 1545 82,05 1,987 0,08478

Page 262: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

243

ºAPI

° 𝐴𝑃𝐼 =141,5

𝑑(60 ℉)− 131,5

Água

Ponto Triplo Massa específica @

15,56 ℃ (60 ℉)

Gradiente @

15,56 ºC (60 ℉)

Massa

molecular

0,01 ℃

32,018 ℉

491,688 𝑅

273,16 𝐾

999,014 𝑘𝑔/𝑚³

62,4 𝑙𝑏/𝑓𝑡³

8,34 𝑙𝑏/𝑔𝑎𝑙

350 𝑙𝑏/𝑏𝑏𝑙

0,0999 𝑘𝑔𝑓/𝑐𝑚²/𝑚

0,4331 𝑝𝑠𝑖/𝑓𝑡

18

Ar

Massa específica @ 15,56 ºC (60 ºF) Massa molecular média

1,2232 𝑘𝑔/𝑚³

1,2232𝑥10−3 𝑔/𝑐𝑚³

0,076362 𝑙𝑏/𝑓𝑡³

29,966

OUTRAS CONSTANTES FÍSICAS E MATEMÁTICAS

Constante Valor

Aceleração da gravidade (g) 9,807 𝑚/𝑠²

𝑒 2,718

𝜋 3,142

Exponencial da constante de Euler(𝛾 = 𝑒0,5772) 1,78108

TABELAS DE CONVERSÃO DE UNIDADES

Comprimento

Polegada (𝑖𝑛)

Pé (𝑓𝑡)

Jarda (yard)

Milha americana

(U.S. mile)

Milímetro

(𝑚𝑚)

Metro (𝑚)

1 0,08333333 0,02777778 1,578283𝑥10−5 25,4 0,0254

12 1 0,3333333 1,893939𝑥10−4 304,8 0,3048

36 3 1 5,681818𝑥10−4 914,4 0,9144

63 360 5280 1760 1 1 609 344 1 609,344

0,03937008 3,280840𝑥10−3 1,093613𝑥10−3 6,213712𝑥10−7 1 0,001

39,37008 3,280840 1,093613 6,213712𝑥10−4 1 000 1

Page 263: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

244

Área

Polegada

quadrada (𝑖𝑛²)

Pé quadrado

(𝑓𝑡²)

Jarda quadrada

(square yard)

Acre

(acre)

Milha quadrada

(U.S. square mile)

Metro quadrado

(𝑚²)

1 6,944444𝑥10−3 7,716049𝑥10−4 1,594225𝑥10−7 2,490977𝑥10−10 6,4516𝑥10−4

144 1 0,1111111 2,295684𝑥10−5 3,587006𝑥10−8 9,290304𝑥10−2

1296 9 1 2,066116𝑥10−4 3,228306𝑥10−7 0,8361274

6 272 640 43 560 4 840 1 0,0015625 4 046,856

4 014 489 600 27 878 400 3 097 600 640 1 2 589 988

1 550,0031 10,76391 1,195990 2,471054𝑥10−4 3,861022𝑥10−7 1

Volume

Polegada

cúbica (𝑖𝑛³)

Pé cúbico

(𝑓𝑡³)

Litro

(𝑙)

Metro cúbico

(𝑚³)

Galão americano

(U.S. gallon)

Barril

(𝑏𝑏𝑙)

1 5,787037𝑥10−4 0,01638706 1,638706𝑥10−5 4,329004𝑥10−3 1,030715𝑥10−4

1 728 1 28,31685 0,02831685 7,480520 01781076

61,02374 0,03531467 1 0,001 0,2641720 6,289810𝑥10−3

61 023,74 35,31467 1 000 1 264,1720 6,289810

231,000 0,1336806 3,785412 0,003785412 1 0,02380952

9 702,001 5,614584 158,9873 0,1589873 42 1

Massa

Onça (𝑜𝑢𝑛𝑐𝑒) Libra (𝑙𝑏) Quilograma (𝑘𝑔) Tonelada (𝑡𝑜𝑛)

1 0,0625 0,02834952 2,834950𝑥10−5

16 1 0,4535924 4,535924𝑥10−4

35,27396 2,204623 1 0,001

35 273,96 2 204,623 1000 1

Força

Newton (𝑁) Quilograma-força (𝑘𝑔𝑓) Libra-força (𝑙𝑏𝑓) 𝑑𝑖𝑛𝑎

1 1,020𝑥10−1 2,248𝑥10−1 1,000𝑥105

9,807 1 2,205 9,804𝑥105

4,448 4,535𝑥10−1 1 4,446𝑥105

1,000𝑥10−5 1,020𝑥10−6 2,248𝑥10−6 1

Page 264: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

245

Pressão

𝑘𝑔𝑓/𝑐𝑚² 𝑘𝑃𝑎 𝑙𝑏𝑓/𝑖𝑛² (𝑝𝑠𝑖) Atmosfera (𝑎𝑡𝑚) 𝑑𝑖𝑛𝑎/𝑐𝑚²

1 98,06650 14,22334 0,9678411 0,9806𝑥106

0,01019716 1 0,1450377 0,009869233 0,99995𝑥104

0,07030695 6,894757 1 0,06804596 6,8944𝑥104

1,033227 101,3250 14,69595 1 1,0132𝑥106

Energia

𝐵𝑇𝑈 Caloria (𝐶𝑎𝑙) 𝐸𝑟𝑔 = 𝑑𝑖𝑛𝑎. 𝑐𝑚 𝑓𝑡 ∙ 𝑙𝑏𝑓 Joule (𝐽) = 𝑁. 𝑚 𝑊 ∙ ℎ 𝑘𝑔𝑓 ∙ 𝑚

1 252,165 1,055𝑥1010 778,171 1 055,060 0,293 107,586

3,966𝑥10−3 1 4,184𝑥107 3,086 4,184 1,162𝑥10−3 0,427

9,479𝑥10−11 2,390𝑥10−8 1 7,376𝑥10−8 1,000𝑥10−7 2,777𝑥10−11 1,020𝑥10−8

1,285𝑥10−3 0,324 1,356𝑥107 1 1,356 3,765𝑥10−4 0,138

9,478𝑥10−4 0,239 9,999𝑥106 0,738 1 2,777𝑥10−4 0,102

3,413 8,606𝑥102 3,601𝑥1013 2,656𝑥103 3,601𝑥103 1 3,672𝑥102

9,295𝑥10−3 2,344 9,806𝑥1010 7,233 9,807 2,723𝑥10−3 1

Permeabilidade

Milidarcy (md) Darcy 𝑚² 𝑐𝑚²

1 1𝑥10−3 9,86923𝑥10−16 9,86923𝑥10−12

1 000 1 9,86923𝑥10−13 9,86923𝑥10−9

101 325 𝑥 1010 101,325𝑥1010 1 104

101,325𝑥109 101,325𝑥106 10−4 1

Viscosidade

Centipoise (𝑐𝑝) Pascal-segundo (𝑃𝑎 ∙ 𝑠) 𝑑𝑖𝑛𝑎 ∙ 𝑠/𝑐𝑚²

1 1𝑥10−3 1𝑥10−2

1000 1 10

100 0,1 1

Temperatura

de para

Farhrenheit Kelvin 𝑇𝐾 = (𝑇𝐹 + 459,67)/1,8

Rankine Kelvin 𝑇𝐾 = 𝑇𝑅/1,8

Fahrenheit Rankine 𝑇𝑅 = 𝑇𝐹 + 459,67

Fahrenheit Celsius 𝑇𝐶 = (𝑇𝐹 − 32)/1,8

Celsius Kelvin 𝑇𝐾 = 𝑇𝐶 + 273,15

Fonte: ROSA; CARVALHO; XAVIER, 2006.

Page 265: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

246

ANEXO B – TABELAS DE INFLUXO ADIMENSIONAL

Tabela B.1 – Influxo adimensional para aquífero radial infinito

𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷

1,00E-02 1,177E-01 5,00E+01 2,484E+01 1,60E+02 6,296E+01 4,70E+02 1,540E+02 5,00E-02 2,764E-01 5,10E+01 2,523E+01 1,65E+02 6,456E+01 4,75E+02 1,554E+02 1,00E-01 4,043E-01 5,20E+01 2,561E+01 1,70E+02 6,615E+01 4,80E+02 1,567E+02 1,50E-01 5,076E-01 5,30E+01 2,600E+01 1,75E+02 6,774E+01 4,85E+02 1,581E+02 2,00E-01 5,980E-01 5,40E+01 2,638E+01 1,80E+02 6,932E+01 4,90E+02 1,595E+02 2,50E-01 6,802E-01 5,50E+01 2,677E+01 1,85E+02 7,090E+01 4,95E+02 1,609E+02 3,00E-01 7,564E-01 5,60E+01 2,715E+01 1,90E+02 7,247E+01 5,00E+02 1,622E+02 4,00E-01 8,963E-01 5,70E+01 2,753E+01 1,95E+02 7,403E+01 5,10E+02 1,650E+02 5,00E-01 1,024E+00 5,80E+01 2,791E+01 2,00E+02 7,559E+01 5,20E+02 1,677E+02 6,00E-01 1,144E+00 5,90E+01 2,828E+01 2,05E+02 7,714E+01 5,30E+02 1,704E+02 7,00E-01 1,257E+00 6,00E+01 2,866E+01 2,10E+02 7,868E+01 5,40E+02 1,731E+02 8,00E-01 1,365E+00 6,10E+01 2,904E+01 2,15E+02 8,022E+01 5,50E+02 1,758E+02 9,00E-01 1,468E+00 6,20E+01 2,941E+01 2,20E+02 8,176E+01 5,60E+02 1,785E+02 1,00E+00 1,568E+00 6,30E+01 2,978E+01 2,25E+02 8,329E+01 5,70E+02 1,812E+02 2,00E+00 2,456E+00 6,40E+01 3,016E+01 2,30E+02 8,482E+01 5,80E+02 1,839E+02 3,00E+00 3,200E+00 6,50E+01 3,053E+01 2,35E+02 8,634E+01 5,90E+02 1,866E+02 4,00E+00 3,888E+00 6,60E+01 3,090E+01 2,40E+02 8,785E+01 6,00E+02 1,893E+02 5,00E+00 4,534E+00 6,70E+01 3,127E+01 2,45E+02 8,936E+01 6,10E+02 1,919E+02 6,00E+00 5,148E+00 6,80E+01 3,164E+01 2,50E+02 9,087E+01 6,20E+02 1,946E+02 7,00E+00 5,737E+00 6,90E+01 3,200E+01 2,55E+02 9,237E+01 6,30E+02 1,973E+02 8,00E+00 6,307E+00 7,00E+01 3,237E+01 2,60E+02 9,387E+01 6,40E+02 1,999E+02 9,00E+00 6,861E+00 7,10E+01 3,274E+01 2,65E+02 9,537E+01 6,50E+02 2,026E+02 1,00E+01 7,402E+00 7,20E+01 3,310E+01 2,70E+02 9,686E+01 6,60E+02 2,052E+02 1,10E+01 7,930E+00 7,30E+01 3,347E+01 2,75E+02 9,834E+01 6,70E+02 2,079E+02 1,20E+01 8,448E+00 7,40E+01 3,383E+01 2,80E+02 9,983E+01 6,80E+02 2,105E+02 1,30E+01 8,956E+00 7,50E+01 3,419E+01 2,85E+02 1,013E+02 6,90E+02 2,131E+02 1,40E+01 9,456E+00 7,60E+01 3,455E+01 2,90E+02 1,028E+02 7,00E+02 2,158E+02 1,50E+01 9,949E+00 7,70E+01 3,491E+01 2,95E+02 1,043E+02 7,10E+02 2,184E+02 1,60E+01 1,043E+01 7,80E+01 3,527E+01 3,00E+02 1,057E+02 7,20E+02 2,210E+02 1,70E+01 1,091E+01 7,90E+01 3,563E+01 3,05E+02 1,072E+02 7,30E+02 2,236E+02 1,80E+01 1,139E+01 8,00E+01 3,599E+01 3,10E+02 1,086E+02 7,40E+02 2,262E+02 1,90E+01 1,186E+01 8,10E+01 3,635E+01 3,15E+02 1,101E+02 7,50E+02 2,288E+02 2,00E+01 1,232E+01 8,20E+01 3,671E+01 3,20E+02 1,116E+02 7,60E+02 2,314E+02 2,10E+01 1,278E+01 8,30E+01 3,706E+01 3,25E+02 1,130E+02 7,70E+02 2,340E+02 2,20E+01 1,323E+01 8,40E+01 3,742E+01 3,30E+02 1,145E+02 7,80E+02 2,366E+02 2,30E+01 1,368E+01 8,50E+01 3,778E+01 3,35E+02 1,159E+02 7,90E+02 2,392E+02 2,40E+01 1,413E+01 8,60E+01 3,813E+01 3,40E+02 1,174E+02 8,00E+02 2,418E+02 2,50E+01 1,457E+01 8,70E+01 3,848E+01 3,45E+02 1,188E+02 8,10E+02 2,443E+02 2,60E+01 1,501E+01 8,80E+01 3,884E+01 3,50E+02 1,202E+02 8,20E+02 2,469E+02 2,70E+01 1,545E+01 8,90E+01 3,919E+01 3,55E+02 1,217E+02 8,30E+02 2,495E+02 2,80E+01 1,588E+01 9,00E+01 3,954E+01 3,60E+02 1,231E+02 8,40E+02 2,520E+02 2,90E+01 1,631E+01 9,10E+01 3,989E+01 3,65E+02 1,245E+02 8,50E+02 2,546E+02 3,00E+01 1,674E+01 9,20E+01 4,024E+01 3,70E+02 1,259E+02 8,60E+02 2,572E+02 3,10E+01 1,717E+01 9,30E+01 4,059E+01 3,75E+02 1,274E+02 8,70E+02 2,597E+02 3,20E+01 1,759E+01 9,40E+01 4,094E+01 3,80E+02 1,288E+02 8,80E+02 2,623E+02 3,30E+01 1,801E+01 9,50E+01 4,129E+01 3,85E+02 1,302E+02 8,90E+02 2,648E+02 3,40E+01 1,842E+01 9,60E+01 4,164E+01 3,90E+02 1,316E+02 9,00E+02 2,674E+02 3,50E+01 1,884E+01 9,70E+01 4,199E+01 3,95E+02 1,330E+02 9,10E+02 2,699E+02 3,60E+01 1,925E+01 9,80E+01 4,233E+01 4,00E+02 1,345E+02 9,20E+02 2,724E+02 3,70E+01 1,966E+01 9,90E+01 4,268E+01 4,05E+02 1,359E+02 9,30E+02 2,750E+02 3,80E+01 2,007E+01 1,00E+02 4,303E+01 4,10E+02 1,373E+02 9,40E+02 2,775E+02 3,90E+01 2,048E+01 1,05E+02 4,475E+01 4,15E+02 1,387E+02 9,50E+02 2,800E+02 4,00E+01 2,088E+01 1,10E+02 4,645E+01 4,20E+02 1,401E+02 9,60E+02 2,825E+02 4,10E+01 2,129E+01 1,15E+02 4,815E+01 4,25E+02 1,415E+02 9,70E+02 2,851E+02 4,20E+01 2,169E+01 1,20E+02 4,983E+01 4,30E+02 1,429E+02 9,80E+02 2,876E+02 4,30E+01 2,209E+01 1,25E+02 5,151E+01 4,35E+02 1,443E+02 9,90E+02 2,901E+02 4,40E+01 2,249E+01 1,30E+02 5,317E+01 4,40E+02 1,457E+02 1,00E+03 2,926E+02 4,50E+01 2,288E+01 1,35E+02 5,482E+01 4,45E+02 1,471E+02 1,01E+03 2,951E+02 4,60E+01 2,328E+01 1,40E+02 5,647E+01 4,50E+02 1,484E+02 1,02E+03 2,976E+02 4,70E+01 2,367E+01 1,45E+02 5,810E+01 4,55E+02 1,498E+02 1,03E+03 3,001E+02 4,80E+01 2,406E+01 1,50E+02 5,973E+01 4,60E+02 1,512E+02 1,04E+03 3,026E+02 4,90E+01 2,445E+01 1,55E+02 6,135E+01 4,65E+02 1,526E+02 1,05E+03 3,051E+02

Page 266: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

247

Tabela B.1 – Influxo adimensional para aquífero radial infinito (continuação)

𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷 𝑡𝐷 𝑊𝐷

1,06E+03 3,076E+02 2,05E+03 5,440E+02 5,30E+03 1,251E+03 1,50E+07 1,832E+06 1,07E+03 3,101E+02 2,10E+03 5,556E+02 5,40E+03 1,272E+03 2,00E+07 2,401E+06 1,08E+03 3,126E+02 2,15E+03 5,671E+02 5,50E+03 1,293E+03 2,50E+07 2,962E+06 1,09E+03 3,151E+02 2,20E+03 5,785E+02 5,60E+03 1,314E+03 3,00E+07 3,516E+06 1,10E+03 3,176E+02 2,25E+03 5,900E+02 5,70E+03 1,335E+03 4,00E+07 4,610E+06 1,11E+03 3,200E+02 2,30E+03 6,014E+02 5,80E+03 1,355E+03 5,00E+07 5,690E+06 1,12E+03 3,225E+02 2,35E+03 6,128E+02 5,90E+03 1,376E+03 6,00E+07 6,758E+06 1,13E+03 3,250E+02 2,40E+03 6,241E+02 6,00E+03 1,396E+03 7,00E+07 7,817E+06 1,14E+03 3,275E+02 2,45E+03 6,355E+02 6,40E+03 1,479E+03 8,00E+07 8,867E+06 1,15E+03 3,299E+02 2,50E+03 6,468E+02 6,80E+03 1,560E+03 9,00E+07 9,911E+06 1,16E+03 3,324E+02 2,55E+03 6,580E+02 7,20E+03 1,641E+03 1,00E+08 1,095E+07 1,17E+03 3,349E+02 2,60E+03 6,693E+02 7,60E+03 1,722E+03 1,50E+08 1,607E+07 1,18E+03 3,373E+02 2,65E+03 6,805E+02 8,00E+03 1,802E+03 2,00E+08 2,110E+07 1,19E+03 3,398E+02 2,70E+03 6,917E+02 8,40E+03 1,882E+03 2,50E+08 2,607E+07 1,20E+03 3,422E+02 2,75E+03 7,029E+02 8,80E+03 1,962E+03 3,00E+08 3,099E+07 1,21E+03 3,447E+02 2,80E+03 7,141E+02 9,20E+03 2,041E+03 4,00E+08 4,071E+07 1,22E+03 3,471E+02 2,85E+03 7,252E+02 9,60E+03 2,120E+03 5,00E+08 5,032E+07 1,23E+03 3,496E+02 2,90E+03 7,363E+02 1,00E+04 2,198E+03 6,00E+08 5,984E+07 1,24E+03 3,520E+02 2,95E+03 7,474E+02 1,25E+04 2,683E+03 7,00E+08 6,928E+07 1,25E+03 3,545E+02 3,00E+03 7,585E+02 1,50E+04 3,158E+03 8,00E+08 7,866E+07 1,26E+03 3,569E+02 3,05E+03 7,696E+02 1,75E+04 3,626E+03 9,00E+08 8,798E+07 1,27E+03 3,594E+02 3,10E+03 7,806E+02 2,00E+04 4,088E+03 1,00E+09 9,725E+07 1,28E+03 3,618E+02 3,15E+03 7,917E+02 2,50E+04 4,997E+03 1,50E+09 1,431E+08 1,29E+03 3,642E+02 3,20E+03 8,027E+02 3,00E+04 5,890E+03 2,00E+09 1,882E+08 1,30E+03 3,667E+02 3,25E+03 8,136E+02 3,50E+04 6,770E+03 2,50E+09 2,328E+08 1,31E+03 3,691E+02 3,30E+03 8,246E+02 4,00E+04 7,640E+03 3,00E+09 2,770E+08 1,32E+03 3,715E+02 3,35E+03 8,356E+02 5,00E+04 9,352E+03 4,00E+09 3,645E+08 1,33E+03 3,740E+02 3,40E+03 8,465E+02 6,00E+04 1,103E+04 5,00E+09 4,510E+08 1,34E+03 3,764E+02 3,45E+03 8,574E+02 7,00E+04 1,270E+04 6,00E+09 5,368E+08 1,35E+03 3,788E+02 3,50E+03 8,683E+02 8,00E+04 1,434E+04 7,00E+09 6,220E+08 1,36E+03 3,812E+02 3,55E+03 8,792E+02 9,00E+04 1,596E+04 8,00E+09 7,067E+08 1,37E+03 3,837E+02 3,60E+03 8,901E+02 1,00E+05 1,757E+04 9,00E+09 7,909E+08 1,38E+03 3,861E+02 3,65E+03 9,009E+02 1,25E+05 2,154E+04 1,00E+10 8,747E+08 1,39E+03 3,885E+02 3,70E+03 9,117E+02 1,50E+05 2,546E+04 1,50E+10 1,289E+09 1,40E+03 3,909E+02 3,75E+03 9,226E+02 2,00E+05 3,314E+04 2,00E+10 1,698E+09 1,41E+03 3,933E+02 3,80E+03 9,334E+02 2,50E+05 4,067E+04 2,50E+10 2,103E+09 1,42E+03 3,957E+02 3,85E+03 9,441E+02 3,00E+05 4,810E+04 3,00E+10 2,504E+09 1,43E+03 3,981E+02 3,90E+03 9,549E+02 4,00E+05 6,269E+04 4,00E+10 3,299E+09 1,44E+03 4,005E+02 3,95E+03 9,657E+02 5,00E+05 7,702E+04 5,00E+10 4,086E+09 1,45E+03 4,029E+02 4,00E+03 9,764E+02 6,00E+05 9,115E+04 6,00E+10 4,867E+09 1,46E+03 4,053E+02 4,05E+03 9,872E+02 7,00E+05 1,051E+05 7,00E+10 5,643E+09 1,47E+03 4,077E+02 4,10E+03 9,979E+02 8,00E+05 1,189E+05 8,00E+10 6,415E+09 1,48E+03 4,101E+02 4,15E+03 1,009E+03 9,00E+05 1,327E+05 9,00E+10 7,183E+09 1,49E+03 4,125E+02 4,20E+03 1,019E+03 1,00E+06 1,463E+05 1,00E+11 7,948E+09 1,50E+03 4,149E+02 4,25E+03 1,030E+03 1,50E+06 2,131E+05 1,50E+11 1,173E+10 1,55E+03 4,269E+02 4,30E+03 1,041E+03 2,00E+06 2,785E+05 2,00E+11 1,547E+10 1,60E+03 4,387E+02 4,40E+03 1,062E+03 2,50E+06 3,428E+05 2,50E+11 1,917E+10 1,65E+03 4,506E+02 4,50E+03 1,083E+03 3,00E+06 4,063E+05 3,00E+11 2,285E+10 1,70E+03 4,624E+02 4,60E+03 1,104E+03 4,00E+06 5,314E+05 4,00E+11 3,013E+10 1,75E+03 4,742E+02 4,70E+03 1,125E+03 5,00E+06 6,545E+05 5,00E+11 3,735E+10 1,80E+03 4,859E+02 4,80E+03 1,147E+03 6,00E+06 7,762E+05 6,00E+11 4,452E+10 1,85E+03 4,976E+02 4,90E+03 1,168E+03 7,00E+06 8,967E+05 7,00E+11 5,165E+10 1,90E+03 5,093E+02 5,00E+03 1,189E+03 8,00E+06 1,016E+06 8,00E+11 5,873E+10 1,95E+03 5,209E+02 5,10E+03 1,210E+03 9,00E+06 1,135E+06 9,00E+11 6,579E+10 2,00E+03 5,325E+02 5,20E+03 1,231E+03 1,00E+07 1,252E+06 1,00E+12 7,282E+10

Fonte: ROSA; CARVALHO; XAVIER, 2006

Page 267: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

248

Tabela B.2 – Influxo adimensional para aquífero radial finito

𝑟𝑒𝐷 = 1,5 𝑟𝑒𝐷 = 2 𝑟𝑒𝐷 = 2,5

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

1,00E-02 1,177E-01 1,177E-01 5,00E-02 2,764E-01 2,764E-01 5,00E-02 2,764E-01 2,764E-01 2,00E-02 1,693E-01 1,693E-01 6,00E-02 3,052E-01 3,052E-01 1,00E-01 4,043E-01 4,043E-01 3,00E-02 2,100E-01 2,100E-01 8,00E-02 3,573E-01 3,573E-01 1,50E-01 5,076E-01 5,076E-01 4,00E-02 2,449E-01 2,451E-01 1,00E-01 4,043E-01 4,043E-01 2,00E-01 5,980E-01 5,980E-01 5,00E-02 2,761E-01 2,767E-01 1,25E-01 4,580E-01 4,581E-01 2,50E-01 6,801E-01 6,802E-01 6,00E-02 3,044E-01 3,060E-01 1,50E-01 5,075E-01 5,077E-01 3,00E-01 7,563E-01 7,564E-01 7,00E-02 3,302E-01 3,338E-01 1,75E-01 5,538E-01 5,543E-01 3,50E-01 8,280E-01 8,283E-01 8,00E-02 3,538E-01 3,606E-01 2,00E-01 5,974E-01 5,986E-01 4,00E-01 8,959E-01 8,967E-01 9,00E-02 3,756E-01 3,867E-01 2,25E-01 6,387E-01 6,410E-01 4,50E-01 9,607E-01 9,624E-01 1,00E-01 3,956E-01 4,123E-01 2,50E-01 6,780E-01 6,821E-01 5,00E-01 1,023E+00 1,026E+00 1,10E-01 4,140E-01 4,376E-01 2,75E-01 7,153E-01 7,221E-01 5,50E-01 1,082E+00 1,088E+00 1,20E-01 4,309E-01 4,627E-01 3,00E-01 7,509E-01 7,613E-01 6,00E-01 1,139E+00 1,148E+00 1,30E-01 4,464E-01 4,877E-01 3,25E-01 7,848E-01 7,998E-01 6,50E-01 1,194E+00 1,207E+00 1,40E-01 4,607E-01 5,125E-01 3,50E-01 8,172E-01 8,377E-01 7,00E-01 1,247E+00 1,266E+00 1,50E-01 4,739E-01 5,373E-01 3,75E-01 8,481E-01 8,753E-01 7,50E-01 1,298E+00 1,323E+00 1,60E-01 4,860E-01 5,621E-01 4,00E-01 8,776E-01 9,125E-01 8,00E-01 1,346E+00 1,380E+00 1,70E-01 4,971E-01 5,868E-01 4,25E-01 9,058E-01 9,495E-01 8,50E-01 1,394E+00 1,437E+00 1,80E-01 5,074E-01 6,115E-01 4,50E-01 9,327E-01 9,863E-01 9,00E-01 1,439E+00 1,493E+00 1,90E-01 5,168E-01 6,362E-01 4,75E-01 9,583E-01 1,023E+00 9,50E-01 1,482E+00 1,549E+00 2,00E-01 5,255E-01 6,609E-01 5,00E-01 9,828E-01 1,059E+00 1,00E+00 1,525E+00 1,605E+00 2,10E-01 5,335E-01 6,856E-01 5,50E-01 1,029E+00 1,132E+00 1,10E+00 1,604E+00 1,716E+00 2,20E-01 5,408E-01 7,102E-01 6,00E-01 1,070E+00 1,205E+00 1,20E+00 1,678E+00 1,826E+00 2,30E-01 5,475E-01 7,349E-01 6,50E-01 1,108E+00 1,277E+00 1,30E+00 1,746E+00 1,935E+00 2,40E-01 5,537E-01 7,596E-01 7,00E-01 1,143E+00 1,349E+00 1,40E+00 1,811E+00 2,046E+00 2,50E-01 5,594E-01 7,842E-01 7,50E-01 1,174E+00 1,422E+00 1,50E+00 1,870E+00 2,155E+00 2,60E-01 5,647E-01 8,089E-01 8,00E-01 1,203E+00 1,494E+00 1,60E+00 1,922E+00 2,263E+00 2,80E-01 5,740E-01 8,582E-01 9,00E-01 1,253E+00 1,638E+00 1,70E+00 1,973E+00 2,372E+00 3,00E-01 5,818E-01 9,076E-01 1,00E+00 1,295E+00 1,782E+00 1,80E+00 2,021E+00 2,482E+00 3,20E-01 5,885E-01 9,569E-01 1,10E+00 1,330E+00 1,927E+00 2,00E+00 2,105E+00 2,700E+00 3,40E-01 5,941E-01 1,006E+00 1,20E+00 1,359E+03 2,071E+00 2,20E+00 2,178E+00 2,919E+00 3,60E-01 5,988E-01 1,056E+00 1,30E+00 1,382E+00 2,214E+00 2,40E+00 2,240E+00 3,137E+00 3,80E-01 6,029E-01 1,105E+00 1,40E+00 1,403E+00 2,361E+00 2,60E+00 2,293E+00 3,355E+00 4,00E-01 6,063E-01 1,154E+00 1,50E+00 1,420E+00 2,505E+00 2,80E+00 2,340E+00 3,573E+00 4,50E-01 6,127E-01 1,278E+03 1,60E+00 1,432E+00 2,647E+00 3,00E+00 2,379E+00 3,792E+00 5,00E-01 6,169E-01 1,401E+03 1,70E+00 1,443E+00 2,791E+00 3,40E+00 2,443E+00 4,228E+00 6,00E-01 6,215E-01 1,647E+00 1,80E+00 1,454E+00 2,937E+00 3,80E+00 2,490E+00 4,665E+00 7,00E-01 6,235E-01 1,894E+00 2,00E+00 1,468E+00 3,225E+00 4,20E+00 2,525E+00 5,101E+00 8,00E-01 6,243E-01 2,141E+00 2,50E+00 1,487E+00 3,946E+00 4,60E+00 2,551E+00 5,538E+00 8,50E-01 6,246E-01 2,264E+00 3,00E+00 1,495E+00 4,668E+00 5,00E+00 2,570E+00 5,974E+00 9,00E-01 6,248E-01 2,388E+00 3,50E+00 1,498E+00 5,389E+00 6,00E+00 2,599E+00 7,066E+00 9,50E-01 6,249E-01 2,511E+00 4,00E+00 1,499E+00 6,111E+00 7,00E+00 2,613E+00 8,157E+00 1,00E+00 6,249E-01 2,634E+00 4,50E+00 1,500E+00 6,832E+00 8,00E+00 2,620E+00 9,249E+00

5,00E+00 1,500E+00 7,554E+00 9,00E+00 2,623E+00 1,034E+01 5,50E+00 1,500E+00 8,275E+00 1,00E+01 2,624E+00 1,143E+01 6,00E+00 1,500E+00 8,995E+00 1,10E+01 2,624E+00 1,252E+01 6,50E+00 1,500E+00 9,718E+00 1,20E+01 2,625E+00 1,361E+01 7,00E+00 1,500E+00 1,044E+01 1,30E+01 2,625E+00 1,471E+01 1,40E+01 2,625E+00 1,580E+01 1,50E+01 2,625E+00 1,689E+01

Page 268: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

249

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 3 𝑟𝑒𝐷 = 3,5 𝑟𝑒𝐷 = 4

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

1,00E-01 4,043E-01 4,043E-01 1,00E-01 4,043E-01 4,043E-01 1,00E+00 1,568E+00 1,568E+00 2,00E-01 5,980E-01 5,980E-01 2,00E-01 5,980E-01 5,980E-01 1,20E+00 1,759E+00 1,759E+00 3,00E-01 7,564E-01 7,564E-01 3,00E-01 7,564E-01 7,564E-01 1,40E+00 1,928E+00 1,928E+00 4,00E-01 8,963E-01 8,963E-01 4,00E-01 8,963E-01 8,963E-01 1,60E+00 2,133E+00 2,134E+00 5,00E-01 1,024E+00 1,024E+00 6,00E-01 1,144E+00 1,144E+00 1,80E+00 2,263E+00 2,267E+00 6,00E-01 1,144E+00 1,144E+00 8,00E-01 1,365E+00 1,365E+00 2,00E+00 2,452E+00 2,460E+00 7,00E-01 1,256E+00 1,257E+00 1,00E+00 1,568E+00 1,569E+00 2,20E+00 2,593E+00 2,605E+00 8,00E-01 1,363E+00 1,366E+00 1,20E+00 1,757E+00 1,760E+00 2,40E+00 2,748E+00 2,767E+00 9,00E-01 1,466E+00 1,471E+00 1,40E+00 1,926E+00 1,932E+00 2,60E+00 2,892E+00 2,921E+00 1,00E+00 1,564E+00 1,573E+00 1,60E+00 2,127E+00 2,139E+00 2,80E+00 3,033E+00 3,074E+00 1,25E+00 1,796E+00 1,823E+00 1,80E+00 2,253E+00 2,276E+00 3,00E+00 3,169E+00 3,225E+00 1,50E+00 1,988E+00 2,046E+00 2,00E+00 2,436E+00 2,474E+00 3,25E+00 3,334E+00 3,412E+00 1,75E+00 2,164E+00 2,269E+00 2,20E+00 2,568E+00 2,626E+00 3,50E+00 3,492E+00 3,598E+00 2,25E+00 2,503E+00 2,745E+00 2,40E+00 2,713E+00 2,795E+00 3,75E+00 3,644E+00 3,782E+00 2,50E+00 2,646E+00 2,976E+00 2,60E+00 2,846E+00 2,958E+00 4,00E+00 3,791E+00 3,966E+00 2,75E+00 2,772E+00 3,205E+00 2,80E+00 2,974E+00 3,120E+00 4,25E+00 3,931E+00 4,148E+00 3,00E+00 2,887E+00 3,432E+00 3,00E+00 3,096E+00 3,282E+00 4,50E+00 4,067E+00 4,331E+00 3,25E+00 2,990E+00 3,660E+00 3,25E+00 3,240E+00 3,483E+00 4,75E+00 4,197E+00 4,512E+00 3,50E+00 3,085E+00 3,888E+00 3,50E+00 3,376E+00 3,684E+00 5,00E+00 4,323E+00 4,694E+00 3,75E+00 3,170E+00 4,115E+00 3,75E+00 3,505E+00 3,885E+00 5,50E+00 4,559E+00 5,056E+00 4,00E+00 3,247E+00 4,343E+00 4,00E+00 3,626E+00 4,085E+00 6,00E+00 4,778E+00 5,417E+00 4,25E+00 3,317E+00 4,570E+00 4,25E+00 3,740E+00 4,285E+00 6,50E+00 4,981E+00 5,779E+00 4,50E+00 3,381E+00 4,798E+00 4,50E+00 3,848E+00 4,484E+00 7,00E+00 5,169E+00 6,140E+00 4,75E+00 3,439E+00 5,026E+00 4,75E+00 3,949E+00 4,684E+00 7,50E+00 5,342E+00 6,500E+00 5,00E+00 3,491E+00 5,253E+00 5,00E+00 4,045E+00 4,884E+00 8,00E+00 5,503E+00 6,861E+00 5,50E+00 3,581E+00 5,708E+00 5,50E+00 4,220E+00 5,283E+00 8,50E+00 5,652E+00 7,222E+00 6,00E+00 3,656E+00 6,163E+00 6,00E+00 4,376E+00 5,682E+00 9,00E+00 5,789E+00 7,583E+00 6,50E+00 3,717E+00 6,619E+00 6,50E+00 4,515E+00 6,081E+00 9,50E+00 5,917E+00 7,943E+00 7,00E+00 3,767E+00 7,074E+00 7,00E+00 4,638E+00 6,481E+00 1,00E+01 6,035E+00 8,304E+00 7,50E+00 3,809E+00 7,529E+00 7,50E+00 4,747E+00 6,880E+00 1,10E+01 6,245E+00 9,025E+00 8,00E+00 3,843E+00 7,984E+00 8,00E+00 4,845E+00 7,279E+00 1,20E+01 6,425E+00 9,747E+00 9,00E+00 3,894E+00 8,894E+00 8,50E+00 4,931E+00 7,678E+00 1,30E+01 6,579E+00 1,047E+01 1,00E+01 3,928E+00 9,805E+00 9,00E+00 5,008E+00 8,077E+00 1,40E+01 6,711E+00 1,119E+01 1,10E+01 3,951E+00 1,071E+01 9,50E+00 5,007E+00 8,476E+00 1,50E+01 6,824E+00 1,191E+01 1,20E+01 3,967E+00 1,162E+01 1,00E+01 5,138E+00 8,875E+00 1,60E+01 6,921E+00 1,263E+01 1,40E+01 3,986E+00 1,345E+01 1,10E+01 5,240E+00 9,673E+00 1,70E+01 7,004E+00 1,335E+01 1,60E+01 3,995E+00 1,527E+01 1,20E+01 5,320E+00 1,047E+01 1,80E+01 7,075E+00 1,408E+01 1,80E+01 3,996E+00 1,708E+01 1,30E+01 5,384E+00 1,127E+01 2,00E+01 7,188E+00 1,552E+01 2,00E+01 3,999E+00 1,891E+01 1,40E+01 5,435E+00 1,207E+01 2,20E+01 7,271E+00 1,696E+01 2,20E+01 3,999E+00 2,073E+01 1,50E+01 5,474E+00 1,286E+01 2,40E+01 7,333E+00 1,841E+01 2,40E+01 4,000E+00 2,255E+01 1,60E+01 5,506E+00 1,366E+01 2,60E+01 7,375E+00 1,984E+01 2,60E+01 4,000E+00 2,437E+01 1,70E+01 5,533E+00 1,447E+01 3,00E+01 7,436E+00 2,274E+01 2,80E+01 4,000E+00 2,619E+01 1,80E+01 5,552E+00 1,526E+01 3,40E+01 7,465E+00 2,562E+01 3,00E+01 4,000E+00 2,801E+01 2,00E+01 5,577E+00 1,685E+01 3,80E+01 7,481E+00 2,850E+01

2,50E+01 5,610E+00 2,085E+01 4,20E+01 7,490E+00 3,139E+01 3,00E+01 5,621E+00 2,484E+01 4,60E+01 7,495E+00 3,427E+01 3,50E+01 5,624E+00 2,883E+01 5,00E+01 7,497E+00 3,716E+01 4,00E+01 5,624E+00 3,281E+01 5,40E+01 7,498E+00 4,004E+01 4,50E+01 5,625E+00 3,681E+01 5,80E+01 7,499E+00 4,293E+01 5,00E+01 5,625E+00 4,080E+01 6,20E+01 7,499E+00 4,581E+01 5,50E+01 5,625E+00 4,480E+01 6,60E+01 7,499E+00 7,870E+01 6,00E+01 5,625E+00 4,879E+01 6,70E+01 7,499E+00 4,942E+01 6,80E+01 7,499E+00 5,014E+01 6,90E+01 7,499E+00 5,089E+01 7,00E+01 7,500E+00 5,158E+01

Page 269: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

250

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 4,5 𝑟𝑒𝐷 = 5 𝑟𝑒𝐷 = 5,5

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

1,00E+00 1,568E+00 1,568E+00 1,00E+00 1,568E+00 1,568E+00 2,00E+00 2,456E+00 2,456E+00 1,25E+00 1,810E+00 1,810E+00 1,25E+00 1,810E+00 1,810E+00 2,50E+00 2,833E+00 2,833E+00 1,50E+00 2,019E+00 2,019E+00 1,50E+00 1,900E-02 1,900E-02 3,00E+00 3,200E+00 3,200E+00 1,75E+00 2,222E+00 2,222E+00 1,75E+00 2,222E+00 2,222E+00 3,50E+00 3,550E+00 3,551E+00 2,00E+00 2,456E+00 2,457E+00 2,00E+00 2,456E+00 2,456E+00 4,00E+00 3,888E+00 3,889E+00 2,50E+00 2,830E+00 2,835E+00 2,50E+00 2,833E+00 2,833E+00 4,50E+00 4,214E+00 4,217E+00 3,00E+00 3,192E+00 3,206E+00 3,00E+00 3,198E+00 3,201E+00 5,00E+00 4,530E+00 4,537E+00 3,50E+00 3,533E+00 3,565E+00 3,50E+00 3,546E+00 3,555E+00 5,50E+00 4,838E+00 4,849E+00 4,00E+00 3,855E+00 3,916E+00 4,00E+00 3,878E+00 3,897E+00 6,00E+00 5,137E+00 5,157E+00 4,50E+00 4,160E+00 4,260E+00 4,50E+00 4,197E+00 4,231E+00 6,50E+00 5,429E+00 5,459E+00 5,00E+00 4,449E+00 4,601E+00 5,00E+00 4,502E+00 4,560E+00 7,00E+00 5,713E+00 5,757E+00 5,50E+00 4,722E+00 4,939E+00 5,50E+00 4,795E+00 4,884E+00 7,50E+00 5,991E+00 6,053E+00 6,00E+00 4,981E+00 5,276E+00 6,00E+00 5,077E+00 5,204E+00 8,00E+00 6,262E+00 6,345E+00 6,50E+00 5,227E+00 5,611E+00 6,50E+00 5,348E+00 5,522E+00 8,50E+00 6,526E+00 6,635E+00 7,00E+00 5,459E+00 5,945E+00 7,00E+00 5,608E+00 5,839E+00 9,00E+00 6,784E+00 6,924E+00 7,50E+00 5,679E+00 6,279E+00 7,50E+00 5,857E+00 6,153E+00 9,50E+00 7,036E+00 7,210E+00 8,00E+00 5,887E+00 6,612E+00 8,00E+00 6,097E+00 6,467E+00 1,00E+01 7,282E+00 7,496E+00 8,50E+00 6,085E+00 6,945E+00 8,50E+00 6,328E+00 6,780E+00 1,05E+01 7,522E+00 7,780E+00 9,00E+00 6,272E+00 7,278E+00 9,00E+00 6,550E+00 7,093E+00 1,10E+01 7,756E+00 8,064E+00 9,50E+00 6,449E+00 7,610E+00 9,50E+00 6,763E+00 7,405E+00 1,20E+01 8,209E+00 8,629E+00 1,00E+01 6,617E+00 7,943E+00 1,00E+01 6,967E+00 7,716E+00 1,30E+01 8,640E+00 9,191E+00 1,10E+01 6,926E+00 8,608E+00 1,10E+01 7,353E+00 8,339E+00 1,40E+01 9,052E+00 9,753E+00 1,20E+01 7,204E+00 9,273E+00 1,20E+01 7,709E+00 8,961E+00 1,50E+01 9,444E+00 1,031E+01 1,30E+01 7,453E+00 9,938E+00 1,30E+01 8,038E+00 9,583E+00 1,60E+01 9,818E+00 1,087E+01 1,40E+01 7,676E+00 1,060E+01 1,40E+01 8,342E+00 1,020E+01 1,70E+01 1,018E+01 1,143E+01 1,50E+01 7,877E+00 1,127E+01 1,50E+01 8,622E+00 1,083E+01 1,80E+01 1,052E+01 1,199E+01 1,60E+01 8,056E+00 1,193E+01 1,60E+01 8,881E+00 1,145E+01 1,90E+01 1,084E+01 1,255E+01 1,80E+01 8,362E+00 1,326E+01 1,80E+01 9,341E+00 1,269E+01 2,00E+01 1,115E+01 1,311E+01 2,00E+01 8,609E+00 1,459E+01 2,00E+01 9,733E+00 1,393E+01 2,20E+01 1,173E+01 1,422E+01 2,20E+01 8,807E+00 1,592E+01 2,20E+01 1,007E+01 1,517E+01 2,40E+01 1,225E+01 1,534E+01 2,40E+01 8,967E+00 1,725E+01 2,40E+01 1,035E+01 1,642E+01 2,60E+01 1,273E+01 1,646E+01 2,60E+01 9,094E+00 1,858E+01 2,60E+01 1,059E+01 1,766E+01 3,00E+01 1,355E+01 1,869E+01 2,80E+01 9,198E+00 1,991E+01 2,80E+01 1,080E+01 1,890E+01 3,40E+01 1,424E+01 2,092E+01 3,00E+01 9,283E+00 2,124E+01 3,00E+01 1,098E+01 2,015E+01 3,80E+01 1,480E+01 2,316E+01 3,40E+01 9,401E+00 2,389E+01 3,40E+01 1,126E+01 2,263E+01 4,20E+01 1,527E+01 2,539E+01 3,80E+01 9,483E+00 2,657E+01 3,80E+01 1,146E+01 2,512E+01 4,60E+01 1,565E+01 2,762E+01 4,20E+01 9,531E+00 2,922E+01 4,20E+01 1,161E+01 2,760E+01 5,00E+01 1,598E+01 2,986E+01 4,60E+01 9,565E+00 3,188E+01 4,60E+01 1,172E+01 3,009E+01 6,00E+01 1,655E+01 3,543E+01 5,00E+01 9,586E+00 3,454E+01 5,00E+01 1,179E+01 3,257E+01 7,00E+01 1,691E+01 4,101E+01 6,00E+01 9,612E+00 4,119E+01 6,00E+01 1,191E+01 3,879E+01 8,00E+01 1,713E+01 4,660E+01 7,00E+01 9,621E+00 4,784E+01 7,00E+01 1,196E+01 4,500E+01 9,00E+01 1,727E+01 5,218E+01 8,00E+01 9,623E+00 5,448E+01 8,00E+01 1,198E+01 5,121E+01 1,00E+02 1,736E+01 5,776E+01 9,00E+01 9,624E+00 6,113E+01 9,00E+01 1,199E+01 5,743E+01 1,10E+02 1,741E+01 6,334E+01 1,00E+02 9,624E+00 6,778E+01 1,00E+02 1,200E+01 6,364E+01 1,20E+02 1,745E+01 6,892E+01 1,05E+02 9,624E+00 7,111E+01 1,10E+02 1,200E+01 6,985E+01 1,30E+02 1,747E+01 7,450E+01 1,10E+02 9,625E+00 7,443E+01 1,20E+02 1,200E+01 7,607E+01 1,40E+02 1,748E+01 8,008E+01 1,20E+02 9,625E+00 8,108E+01 1,30E+02 1,200E+01 8,228E+01 1,50E+02 1,749E+01 8,566E+01 1,30E+02 9,625E+00 8,773E+01 1,40E+02 1,200E+01 8,849E+01 1,60E+02 1,749E+01 9,124E+01

1,50E+02 1,200E+01 9,417E+01 1,80E+02 1,750E+01 1,024E+02 2,00E+02 1,750E+01 1,136E+02 2,10E+02 1,750E+01 1,191E+02 2,20E+02 1,750E+01 1,247E+02 2,30E+02 1,750E+01 1,303E+02 2,40E+02 1,750E+01 1,359E+02

Page 270: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

251

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 7 𝑟𝑒𝐷 = 8 𝑟𝑒𝐷 = 9

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

4,00E+00 3,888E+00 3,888E+00 4,00E+00 3,888E+00 3,888E+00 5,00E+00 4,534E+00 4,534E+00 4,50E+00 4,215E+00 4,216E+00 4,50E+00 4,215E+00 4,215E+00 6,00E+00 5,148E+00 5,148E+00 5,00E+00 4,533E+00 4,534E+00 5,00E+00 4,534E+00 4,534E+00 7,00E+00 5,737E+00 5,737E+00 5,50E+00 4,843E+00 4,845E+00 5,50E+00 4,844E+00 4,844E+00 8,00E+00 6,307E+00 6,308E+00 6,00E+00 5,146E+00 5,149E+00 6,00E+00 5,147E+00 5,148E+00 9,00E+00 6,861E+00 6,862E+00 6,50E+00 5,443E+00 5,447E+00 6,50E+00 5,445E+00 5,445E+00 1,00E+01 7,400E+00 7,402E+00 7,00E+00 5,734E+00 5,740E+00 7,00E+00 5,737E+00 5,738E+00 1,20E+01 8,444E+00 8,451E+00 7,50E+00 6,019E+00 6,029E+00 7,50E+00 6,024E+00 6,025E+00 1,40E+01 9,446E+00 9,465E+00 8,00E+00 6,299E+00 6,315E+00 8,00E+00 6,306E+00 6,309E+00 1,60E+01 1,041E+01 1,045E+01 8,50E+00 6,574E+00 6,596E+00 8,50E+00 6,584E+00 6,588E+00 1,80E+01 1,135E+01 1,142E+01 9,00E+00 6,845E+00 6,875E+00 9,00E+00 6,858E+00 6,864E+00 2,00E+01 1,225E+01 1,238E+01 9,50E+00 7,111E+00 7,151E+00 9,50E+00 7,129E+00 7,137E+00 2,20E+01 1,312E+01 1,332E+01 1,00E+01 7,373E+00 7,425E+00 1,00E+01 7,396E+00 7,407E+00 2,40E+01 1,397E+01 1,426E+01 1,05E+01 7,630E+00 7,697E+00 1,10E+01 7,919E+00 7,939E+00 2,60E+01 1,479E+01 1,519E+01 1,10E+01 7,884E+00 7,967E+00 1,20E+01 8,430E+00 8,462E+00 2,80E+01 1,559E+01 1,611E+01 1,20E+01 8,379E+00 8,503E+00 1,30E+01 8,929E+00 8,979E+00 3,00E+01 1,635E+01 1,703E+01 1,30E+01 8,858E+00 9,034E+00 1,40E+01 9,417E+00 9,489E+00 3,20E+01 1,709E+01 1,795E+01 1,40E+01 9,323E+00 9,561E+00 1,50E+01 9,893E+00 9,994E+00 3,40E+01 1,781E+01 1,887E+01 1,50E+01 9,773E+00 1,009E+01 1,60E+01 1,036E+01 1,050E+01 3,60E+01 1,851E+01 1,978E+01 1,60E+01 1,021E+01 1,061E+01 1,70E+01 1,082E+01 1,099E+01 3,80E+01 1,919E+01 2,070E+01 1,70E+01 1,063E+01 1,113E+01 1,80E+01 1,126E+01 1,149E+01 4,00E+01 1,984E+01 2,161E+01 1,80E+01 1,104E+01 1,165E+01 1,90E+01 1,170E+01 1,198E+01 4,20E+01 2,048E+01 2,252E+01 1,90E+01 1,144E+01 1,216E+01 2,00E+01 1,212E+01 1,247E+01 4,40E+01 2,109E+01 2,344E+01 2,00E+01 1,183E+01 1,268E+01 2,20E+01 1,295E+01 1,345E+01 4,60E+01 2,168E+01 2,435E+01 2,20E+01 1,256E+01 1,371E+01 2,40E+01 1,374E+01 1,442E+01 4,80E+01 2,226E+01 2,526E+01 2,40E+01 1,325E+01 1,474E+01 2,60E+01 1,450E+01 1,539E+01 5,00E+01 2,282E+01 2,617E+01 2,60E+01 1,390E+01 1,577E+01 2,80E+01 1,522E+01 1,636E+01 5,20E+01 2,336E+01 2,708E+01 2,80E+01 1,451E+01 1,680E+01 3,00E+01 1,592E+01 1,732E+01 5,40E+01 2,388E+01 2,799E+01 3,00E+01 1,508E+01 1,783E+01 3,20E+01 1,658E+01 1,829E+01 5,60E+01 2,439E+01 2,890E+01 3,50E+01 1,637E+01 2,040E+01 3,60E+01 1,783E+01 2,021E+01 5,80E+01 2,488E+01 2,981E+01 4,00E+01 1,747E+01 2,297E+01 4,00E+01 1,897E+01 2,214E+01 6,00E+01 2,536E+01 3,072E+01 4,50E+01 1,841E+01 2,554E+01 4,50E+01 2,026E+01 2,454E+01 6,50E+01 2,648E+01 3,300E+01 5,00E+01 1,922E+01 2,811E+01 5,00E+01 2,142E+01 2,695E+01 7,00E+01 2,752E+01 3,527E+01 6,00E+01 2,050E+01 3,324E+01 5,50E+01 2,246E+01 2,935E+01 7,50E+01 2,848E+01 3,755E+01 7,00E+01 2,144E+01 3,839E+01 6,00E+01 2,339E+01 3,176E+01 8,00E+01 2,936E+01 3,982E+01 8,00E+01 2,212E+01 4,352E+01 7,00E+01 2,498E+01 3,657E+01 8,50E+01 3,018E+01 4,210E+01 9,00E+01 2,263E+01 4,867E+01 8,00E+01 2,626E+01 4,137E+01 9,00E+01 3,093E+01 4,438E+01 1,00E+02 2,299E+01 5,380E+01 9,00E+01 2,729E+01 4,619E+01 9,50E+01 3,163E+01 4,665E+01 1,20E+02 2,346E+01 6,408E+01 1,00E+02 2,810E+01 5,098E+01 1,00E+02 3,227E+01 4,892E+01 1,40E+02 2,371E+01 7,436E+01 1,20E+02 2,931E+01 6,062E+01 1,20E+02 3,439E+01 5,803E+01 1,60E+02 2,385E+01 8,464E+01 1,40E+02 3,008E+01 7,023E+01 1,40E+02 3,592E+01 6,712E+01 1,80E+02 2,392E+01 9,491E+01 1,60E+02 3,058E+01 7,985E+01 1,60E+02 3,703E+01 7,623E+01 2,00E+02 2,396E+01 1,052E+02 1,80E+02 3,091E+01 8,946E+01 1,80E+02 3,785E+01 8,534E+01 2,50E+02 2,399E+01 1,309E+02 2,00E+02 3,112E+01 9,908E+01 2,00E+02 3,844E+01 9,444E+01 3,00E+02 2,400E+01 1,566E+02 2,40E+02 3,134E+01 1,183E+02 2,40E+02 3,918E+01 1,126E+02 3,10E+02 2,400E+01 1,617E+02 2,80E+02 3,143E+01 1,376E+02 2,80E+02 3,957E+01 1,308E+02 3,20E+02 2,400E+01 1,669E+02 3,00E+02 3,146E+01 1,472E+02 3,20E+02 3,977E+01 1,491E+02 3,30E+02 2,400E+01 1,720E+02 3,20E+02 3,147E+01 1,568E+02 3,60E+02 3,988E+01 1,673E+02 3,40E+02 2,400E+01 1,771E+02 3,40E+02 3,148E+01 1,664E+02 4,00E+02 3,994E+01 1,855E+02 3,50E+02 2,400E+01 1,823E+02 3,60E+02 3,149E+01 1,760E+02 4,40E+02 3,997E+01 2,037E+02

3,80E+02 3,149E+01 1,856E+02 4,80E+02 3,998E+01 2,219E+02 4,00E+02 3,149E+01 1,953E+02 5,20E+02 3,999E+01 2,401E+02 4,20E+02 3,150E+01 2,049E+02 5,60E+02 3,999E+01 2,583E+02 4,40E+02 3,150E+01 2,145E+02 6,00E+02 4,000E+01 2,765E+02 4,80E+02 3,150E+01 2,337E+02 6,40E+02 4,000E+01 2,947E+02 5,20E+02 3,150E+01 2,530E+02 6,80E+02 4,000E+01 3,129E+02 7,20E+02 4,000E+01 3,311E+02

Page 271: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

252

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 10 𝑟𝑒𝐷 = 12 𝑟𝑒𝐷 = 14

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

8,00E+00 6,307E+00 6,307E+00 1,50E+01 9,949E+00 9,949E+00 2,00E+01 1,232E+01 1,232E+01 9,00E+00 6,861E+00 6,861E+00 1,60E+01 1,043E+01 1,044E+01 2,20E+01 1,323E+01 1,323E+01 1,00E+01 7,401E+00 7,402E+00 1,80E+01 1,139E+01 1,139E+01 2,40E+01 1,413E+01 1,413E+01 1,20E+01 8,447E+00 8,448E+00 2,00E+01 1,232E+01 1,232E+01 2,60E+01 1,501E+01 1,501E+01 1,40E+01 9,454E+00 9,458E+00 2,20E+01 1,323E+01 1,324E+01 2,80E+01 1,588E+01 1,589E+01 1,60E+01 1,043E+01 1,044E+01 2,40E+01 1,412E+01 1,414E+01 3,00E+01 1,674E+01 1,674E+01 1,80E+01 1,137E+01 1,140E+01 2,60E+01 1,500E+01 1,503E+01 3,20E+01 1,758E+01 1,759E+01 2,00E+01 1,230E+01 1,234E+01 2,80E+01 1,586E+01 1,590E+01 3,40E+01 1,841E+01 1,843E+01 2,20E+01 1,319E+01 1,327E+01 3,00E+01 1,671E+01 1,677E+01 3,60E+01 1,924E+01 1,927E+01 2,40E+01 1,407E+01 1,418E+01 3,20E+01 1,754E+01 1,763E+01 3,80E+01 2,005E+01 2,009E+01 2,60E+01 1,492E+01 1,509E+01 3,40E+01 1,836E+01 1,848E+01 4,00E+01 2,085E+01 2,091E+01 2,80E+01 1,575E+01 1,599E+01 3,60E+01 1,917E+01 1,932E+01 4,20E+01 2,165E+01 2,172E+01 3,00E+01 1,656E+01 1,688E+01 3,80E+01 1,996E+01 2,016E+01 4,40E+01 2,243E+01 2,253E+01 3,20E+01 1,735E+01 1,777E+01 4,00E+01 2,074E+01 2,100E+01 4,60E+01 2,321E+01 2,333E+01 3,40E+01 1,813E+01 1,865E+01 4,20E+01 2,151E+01 2,183E+01 4,80E+01 2,398E+01 2,413E+01 3,60E+01 1,888E+01 1,953E+01 4,40E+01 2,227E+01 2,265E+01 5,00E+01 2,474E+01 2,492E+01 3,80E+01 1,961E+01 2,041E+01 4,60E+01 2,302E+01 2,348E+01 5,20E+01 2,549E+01 2,571E+01 4,00E+01 1,033E+01 2,129E+01 4,80E+01 2,375E+01 2,430E+01 5,40E+01 2,624E+01 2,650E+01 4,20E+01 2,103E+01 2,217E+01 5,00E+01 2,448E+01 2,512E+01 5,60E+01 2,697E+01 2,728E+01 4,40E+01 2,172E+01 2,304E+01 5,20E+01 2,519E+01 2,594E+01 5,80E+01 2,770E+01 2,807E+01 4,60E+01 2,239E+01 2,391E+01 5,40E+01 2,589E+01 2,675E+01 6,00E+01 2,842E+01 2,885E+01 4,80E+01 2,304E+01 2,478E+01 5,60E+01 2,658E+01 2,756E+01 6,40E+01 2,984E+01 3,040E+01 5,00E+01 2,367E+01 2,565E+01 5,80E+01 2,727E+01 2,838E+01 6,80E+01 3,123E+01 3,194E+01 5,20E+01 2,429E+01 2,653E+01 6,00E+01 2,794E+01 2,919E+01 7,20E+01 3,259E+01 3,349E+01 5,40E+01 2,490E+01 2,740E+01 6,40E+01 2,925E+01 3,081E+01 7,60E+01 3,393E+01 3,502E+01 5,60E+01 2,549E+01 2,827E+01 6,80E+01 3,052E+01 3,243E+01 8,00E+01 3,523E+01 3,655E+01 5,80E+01 2,607E+01 2,914E+01 7,20E+01 3,175E+01 3,404E+01 8,50E+01 3,683E+01 3,846E+01 6,00E+01 2,663E+01 3,001E+01 7,60E+01 3,295E+01 3,566E+01 9,00E+01 3,838E+01 4,037E+01 6,50E+01 2,798E+01 3,218E+01 8,00E+01 3,411E+01 3,727E+01 9,50E+01 3,990E+01 4,228E+01 7,00E+01 2,925E+01 3,435E+01 8,50E+01 3,551E+01 3,929E+01 1,00E+02 4,137E+01 4,418E+01 7,50E+01 3,044E+01 3,652E+01 9,00E+01 3,686E+01 4,130E+01 1,20E+02 4,690E+01 5,177E+01 8,00E+01 3,157E+01 3,869E+01 9,50E+01 3,815E+01 4,332E+01 1,40E+02 5,189E+01 5,936E+01 8,50E+01 3,262E+01 4,087E+01 1,00E+02 3,940E+01 4,533E+01 1,60E+02 5,639E+01 6,694E+01 9,00E+01 3,362E+01 4,304E+01 1,20E+02 4,395E+01 5,338E+01 1,80E+02 6,044E+01 7,452E+01 9,50E+01 3,456E+01 4,521E+01 1,40E+02 4,785E+01 6,143E+01 2,00E+02 9,409E+01 8,209E+01 1,00E+02 3,544E+01 4,738E+01 1,60E+02 5,120E+01 6,948E+01 2,40E+02 7,035E+01 9,725E+01 1,20E+02 3,847E+01 5,607E+01 1,80E+02 5,408E+01 7,752E+01 2,80E+02 7,545E+01 1,124E+02 1,40E+02 4,086E+01 6,476E+01 2,00E+02 5,655E+01 8,558E+01 3,20E+02 7,957E+01 1,276E+02 1,60E+02 4,272E+01 7,343E+01 2,40E+02 6,048E+01 1,017E+02 3,60E+02 8,294E+01 1,427E+02 1,80E+02 4,419E+01 8,213E+01 2,80E+02 6,338E+01 1,178E+02 4,00E+02 8,566E+01 1,579E+02 2,00E+02 4,533E+01 9,080E+01 3,20E+02 6,552E+01 1,339E+02 4,40E+02 8,788E+01 1,730E+02 2,40E+02 4,694E+01 1,082E+02 3,60E+02 6,709E+01 1,500E+02 4,80E+02 8,968E+01 1,882E+02 2,80E+02 4,792E+01 1,256E+02 4,00E+02 6,825E+01 1,661E+02 5,20E+02 9,115E+01 2,034E+02 3,20E+02 4,853E+01 1,429E+02 4,40E+02 6,911E+01 1,822E+02 5,60E+02 9,234E+01 2,185E+02 3,60E+02 4,891E+01 1,603E+02 4,80E+02 6,974E+01 1,983E+02 6,00E+02 9,331E+01 2,337E+02 4,00E+02 4,914E+01 1,777E+02 5,20E+02 7,020E+01 2,144E+02 7,00E+02 9,501E+01 2,716E+02 4,40E+02 4,928E+01 1,950E+02 5,60E+02 7,055E+01 2,304E+02 8,00E+02 9,602E+01 3,094E+02 4,80E+02 4,936E+01 2,124E+02 6,00E+02 7,080E+01 2,465E+02 9,00E+02 9,662E+01 3,473E+02 5,20E+02 4,942E+01 2,298E+02 7,00E+02 7,118E+01 2,868E+02 1,00E+03 9,698E+01 3,852E+02 5,60E+02 4,945E+01 2,472E+02 8,00E+02 7,135E+01 3,270E+02 1,20E+03 9,732E+01 4,610E+02 6,00E+02 4,947E+01 2,645E+02 9,00E+02 7,143E+01 3,673E+02 1,40E+03 9,743E+01 5,368E+02 6,40E+02 4,948E+01 2,819E+02 1,00E+03 7,147E+01 4,075E+02 1,60E+03 9,747E+01 6,126E+02 7,20E+02 4,949E+01 3,166E+02 1,20E+03 7,149E+01 4,880E+02 2,00E+03 9,749E+01 7,642E+02 8,00E+02 4,949E+01 3,514E+02 1,40E+04 7,150E+01 5,685E+02 2,40E+03 9,750E+01 9,157E+02 8,50E+02 4,950E+01 3,731E+02 1,60E+03 7,150E+01 6,490E+02 3,00E+03 9,750E+01 1,143E+03 9,00E+02 4,950E+01 3,948E+02 2,00E+03 7,150E+01 8,099E+02 4,00E+03 9,750E+01 1,522E+03 1,00E+03 4,950E+01 4,382E+02 3,00E+03 7,150E+01 1,212E+03 5,00E+03 9,750E+01 1,901E+03

Page 272: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

253

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 16 𝑟𝑒𝐷 = 18 𝑟𝑒𝐷 = 20

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

2,00E+01 1,232E+01 1,232E+01 3,00E+01 1,674E+01 1,674E+01 3,00E+01 1,674E+01 1,674E+01 2,20E+01 1,323E+01 1,323E+01 3,20E+01 1,759E+01 1,759E+01 3,20E+01 1,759E+01 1,759E+01 2,40E+01 1,413E+01 1,413E+01 3,40E+01 1,842E+01 1,842E+01 3,40E+01 1,842E+01 1,842E+01 2,60E+01 1,501E+01 1,501E+01 3,60E+01 1,925E+01 1,925E+01 3,60E+01 1,925E+01 1,925E+01 2,80E+01 1,588E+01 1,588E+01 3,80E+01 2,007E+01 2,007E+01 3,80E+01 2,007E+01 2,007E+01 3,00E+01 1,674E+01 1,674E+01 4,00E+01 2,088E+01 2,088E+01 4,00E+01 2,088E+01 2,088E+01 3,20E+01 1,759E+01 1,759E+01 4,20E+01 2,169E+01 2,169E+01 4,20E+01 2,169E+01 2,169E+01 3,40E+01 1,842E+01 1,843E+01 4,40E+01 2,248E+01 2,249E+01 4,40E+01 2,249E+01 2,249E+01 3,60E+01 1,925E+01 1,925E+01 4,60E+01 2,327E+01 2,328E+01 4,60E+01 2,328E+01 2,328E+01 3,80E+01 2,007E+01 2,008E+01 4,80E+01 2,406E+01 2,407E+01 4,80E+01 2,406E+01 2,406E+01 4,00E+01 2,088E+01 2,089E+01 5,00E+01 2,484E+01 2,485E+01 5,00E+01 2,484E+01 2,484E+01 4,20E+01 2,168E+01 2,170E+01 5,20E+01 2,561E+01 2,562E+01 5,20E+01 2,561E+01 2,562E+01 4,40E+01 2,247E+01 2,250E+01 5,40E+01 2,637E+01 2,639E+01 5,40E+01 2,638E+01 2,638E+01 4,60E+01 2,326E+01 2,329E+01 5,60E+01 2,713E+01 2,716E+01 5,60E+01 2,714E+01 2,715E+01 4,80E+01 2,404E+01 2,408E+01 5,80E+01 2,789E+01 2,792E+01 5,80E+01 2,790E+01 2,791E+01 5,00E+01 2,482E+01 2,486E+01 6,00E+01 2,864E+01 2,868E+01 6,00E+01 2,865E+01 2,866E+01 5,20E+01 2,558E+01 2,564E+01 6,50E+01 3,050E+01 3,055E+01 6,50E+01 3,052E+01 3,053E+01 5,40E+01 2,634E+01 2,642E+01 7,00E+01 3,232E+01 3,241E+01 7,00E+01 3,236E+01 3,238E+01 5,60E+01 2,710E+01 2,719E+01 7,50E+01 3,412E+01 3,425E+01 7,50E+01 3,417E+01 3,421E+01 5,80E+01 2,785E+01 2,795E+01 8,00E+01 3,589E+01 3,608E+01 8,00E+01 3,596E+01 3,602E+01 6,00E+01 2,859E+01 2,872E+01 8,50E+01 3,764E+01 3,789E+01 8,50E+01 3,773E+01 3,781E+01 6,40E+01 3,006E+01 3,024E+01 9,00E+01 3,936E+01 3,969E+01 9,00E+01 3,947E+01 3,960E+01 6,80E+01 3,150E+01 3,171E+01 9,50E+01 4,105E+01 4,148E+01 9,50E+01 4,120E+01 4,136E+01 7,20E+01 3,292E+01 3,324E+01 1,00E+02 4,273E+01 4,326E+01 1,00E+02 4,291E+01 4,312E+01 7,60E+01 3,432E+01 3,473E+01 1,20E+02 4,918E+01 5,033E+01 1,20E+02 4,955E+01 5,006E+01 8,00E+01 3,571E+01 3,622E+01 1,40E+02 5,529E+01 5,733E+01 1,40E+02 5,590E+01 5,690E+01 8,50E+01 3,740E+01 3,806E+01 1,60E+02 6,106E+01 6,429E+01 1,60E+02 6,198E+01 6,368E+01 9,00E+01 3,907E+01 3,990E+01 1,80E+02 6,652E+01 7,124E+01 1,80E+02 6,780E+01 7,043E+01 9,50E+01 4,070E+01 4,174E+01 2,00E+02 7,168E+01 7,817E+01 2,00E+02 7,338E+01 7,714E+01 1,00E+02 4,230E+01 4,356E+01 2,40E+02 8,118E+01 9,202E+01 2,40E+02 8,383E+01 9,054E+01 1,20E+02 4,843E+01 5,084E+01 2,80E+02 8,967E+01 1,059E+02 2,80E+02 9,342E+01 1,039E+02 1,40E+02 5,411E+01 5,808E+01 3,20E+02 9,727E+01 1,197E+02 3,20E+02 1,022E+02 1,173E+02 1,60E+02 5,938E+01 6,531E+01 3,60E+02 1,041E+02 1,335E+02 3,60E+02 1,103E+02 1,306E+02 1,80E+02 6,428E+01 7,253E+01 4,00E+02 1,101E+02 1,474E+02 4,00E+02 1,177E+02 1,440E+02 2,00E+02 6,882E+01 7,974E+01 4,40E+02 1,156E+02 1,612E+02 4,40E+02 1,245E+02 1,573E+02 2,40E+02 7,695E+01 9,417E+01 4,80E+02 1,204E+02 1,751E+02 4,80E+02 1,307E+02 1,707E+02 2,80E+02 8,396E+01 1,086E+02 5,20E+02 1,248E+02 1,889E+02 5,20E+02 1,364E+02 1,840E+02 3,20E+02 8,999E+01 1,230E+02 5,60E+02 1,286E+02 2,027E+02 5,60E+02 1,416E+02 1,974E+02 3,60E+02 9,519E+01 1,375E+02 6,00E+02 1,321E+02 2,166E+02 6,00E+02 1,464E+02 2,107E+02 4,00E+02 9,965E+01 1,519E+02 7,00E+02 1,393E+02 2,512E+02 7,00E+02 1,567E+02 2,441E+02 4,40E+02 1,035E+02 1,663E+02 8,00E+02 1,447E+02 2,858E+02 8,00E+02 1,650E+02 2,775E+02 4,80E+02 1,068E+02 1,808E+02 1,00E+03 1,519E+02 3,550E+02 1,00E+03 1,771E+02 3,443E+02 5,20E+02 1,097E+02 1,952E+02 1,20E+03 1,560E+02 4,242E+02 1,20E+03 1,850E+02 4,110E+02 5,60E+02 1,122E+02 2,096E+02 1,40E+03 1,584E+02 4,934E+02 1,40E+03 1,901E+02 4,778E+02 6,00E+02 1,143E+02 2,240E+02 1,60E+03 1,597E+02 5,626E+02 1,60E+03 1,934E+02 5,445E+02 7,00E+02 1,184E+02 2,601E+02 1,80E+03 1,605E+02 6,317E+02 1,80E+03 1,955E+02 6,113E+02 8,00E+02 1,212E+02 2,962E+02 2,00E+03 1,609E+02 7,009E+02 2,00E+03 1,969E+02 6,781E+02 1,00E+03 1,245E+02 3,683E+02 2,20E+03 1,612E+02 7,701E+02 2,20E+03 1,978E+02 7,448E+02 1,20E+03 1,261E+02 4,404E+02 2,40E+03 1,613E+02 8,393E+02 2,40E+03 1,984E+02 8,116E+02 1,40E+03 1,268E+02 5,126E+02 2,60E+03 1,614E+02 9,085E+02 2,60E+03 1,988E+02 8,783E+02 1,60E+03 1,272E+02 5,847E+02 2,80E+03 1,614E+02 9,777E+02 2,80E+03 1,991E+02 9,451E+02 1,80E+03 1,274E+02 6,568E+02 3,00E+03 1,615E+02 1,047E+03 3,00E+03 1,992E+02 1,012E+03 2,00E+03 1,274E+02 7,290E+02 3,50E+03 1,615E+02 1,220E+03 3,50E+03 1,994E+02 1,179E+03 2,20E+03 1,275E+02 8,011E+02 4,00E+03 1,615E+02 1,393E+03 4,00E+03 1,995E+02 1,346E+03 2,60E+03 1,275E+02 9,454E+02 4,50E+03 1,615E+02 1,566E+03 4,50E+03 1,995E+02 1,513E+03 3,00E+03 1,275E+02 1,090E+03 5,00E+03 1,615E+02 1,739E+03 5,00E+03 1,995E+02 1,679E+03 3,50E+03 1,275E+02 1,270E+03 6,00E+03 1,615E+02 2,085E+03 6,00E+03 1,995E+02 2,013E+03 4,00E+03 1,275E+02 1,450E+03 7,00E+03 1,615E+02 2,431E+03 7,00E+03 1,995E+02 2,347E+03 5,00E+03 1,275E+02 1,811E+03 8,00E+03 1,615E+02 2,777E+03 8,00E+03 1,995E+02 2,681E+03 6,00E+03 1,275E+02 2,172E+03

Page 273: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

254

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 30 𝑟𝑒𝐷 = 50 𝑟𝑒𝐷 = 75

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

5,00E+01 2,484E+01 2,484E+01 7,00E+01 3,237E+01 3,237E+01 4,00E+02 1,345E+02 1,345E+02 5,20E+01 2,561E+01 2,561E+01 7,50E+01 3,419E+01 3,419E+01 4,50E+02 1,484E+02 1,484E+02 5,40E+01 2,638E+01 2,638E+01 8,00E+01 3,599E+01 3,599E+01 5,00E+02 1,622E+02 1,622E+02 5,60E+01 2,715E+01 2,715E+01 9,00E+01 3,954E+01 3,954E+01 5,50E+02 1,758E+02 1,758E+02 5,80E+01 2,791E+01 2,791E+01 1,00E+02 4,303E+01 4,303E+01 6,00E+02 1,893E+02 1,893E+02 6,00E+01 2,866E+01 2,866E+01 1,10E+02 4,645E+01 4,645E+01 7,00E+02 2,158E+02 2,158E+02 6,50E+01 3,053E+01 3,053E+01 1,20E+02 4,983E+01 4,983E+01 8,00E+02 2,417E+02 2,418E+02 7,00E+01 3,237E+01 3,237E+01 1,40E+02 5,647E+01 5,647E+01 9,00E+02 2,673E+02 2,674E+02 7,50E+01 3,419E+01 3,419E+01 1,60E+02 6,296E+01 6,296E+01 1,00E+03 2,926E+02 2,927E+02 8,00E+01 3,599E+01 3,599E+01 1,80E+02 6,932E+01 6,932E+01 1,20E+03 3,421E+02 3,424E+02 8,50E+01 3,778E+01 3,778E+01 2,00E+02 7,559E+01 7,559E+01 1,40E+03 3,904E+02 3,913E+02 9,00E+01 3,954E+01 3,954E+01 2,25E+02 8,329E+01 8,329E+01 1,60E+03 4,377E+02 4,395E+02 9,50E+01 4,129E+01 4,129E+01 2,50E+02 9,087E+01 9,087E+01 1,80E+03 4,841E+02 4,873E+02 1,00E+02 4,302E+01 4,303E+01 2,75E+02 9,834E+01 9,834E+01 2,00E+03 5,296E+02 5,347E+02 1,20E+02 4,983E+01 4,984E+01 3,00E+02 1,057E+02 1,057E+02 2,50E+03 6,393E+02 6,522E+02 1,40E+02 5,646E+01 5,647E+01 3,50E+02 1,202E+02 1,202E+02 3,00E+03 7,437E+02 7,689E+02 1,60E+02 6,294E+01 6,297E+01 4,00E+02 1,344E+02 1,345E+02 3,50E+03 8,431E+02 8,851E+02 1,80E+02 6,928E+01 6,936E+01 4,50E+02 1,484E+02 1,485E+02 4,00E+03 9,378E+02 1,001E+03 2,00E+02 7,550E+01 7,566E+01 5,00E+02 1,621E+02 1,623E+02 4,50E+03 1,028E+03 1,117E+03 2,40E+02 8,761E+01 8,805E+01 5,50E+02 1,757E+02 1,760E+02 5,00E+03 1,114E+03 1,233E+03 2,80E+02 9,931E+01 1,002E+02 6,00E+02 1,890E+02 1,895E+02 5,50E+03 1,195E+03 1,349E+03 3,20E+02 1,106E+02 1,123E+02 7,00E+02 2,152E+02 2,162E+02 6,00E+03 1,273E+03 1,465E+03 3,60E+02 1,216E+02 1,242E+02 8,00E+02 2,407E+02 2,426E+02 6,50E+03 1,347E+03 1,580E+03 4,00E+02 1,322E+02 1,361E+02 9,00E+02 2,655E+02 2,687E+02 7,00E+03 1,417E+03 1,696E+03 4,40E+02 1,424E+02 1,480E+02 1,00E+03 2,898E+02 2,947E+02 7,50E+03 1,484E+03 1,812E+03 4,80E+02 1,523E+02 1,598E+02 1,20E+03 3,365E+02 3,464E+02 8,00E+03 1,548E+03 1,928E+03 5,20E+02 1,619E+02 1,716E+02 1,40E+03 2,809E+02 3,978E+02 8,50E+03 1,609E+03 2,044E+03 5,60E+02 1,712E+02 1,834E+02 1,60E+03 4,231E+02 4,490E+02 9,00E+03 1,667E+03 2,159E+03 6,00E+02 1,802E+02 1,952E+02 1,80E+03 4,633E+02 5,002E+02 9,50E+03 1,722E+03 2,275E+03 7,00E+02 2,014E+02 2,246E+02 2,00E+03 5,015E+02 5,514E+02 1,00E+04 1,774E+03 2,391E+03 8,00E+02 2,210E+02 2,540E+02 2,50E+03 5,892E+02 6,792E+02 1,25E+04 2,001E+03 2,970E+03 1,00E+03 2,556E+02 3,128E+02 3,00E+03 6,666E+02 8,071E+02 1,50E+04 2,178E+03 3,549E+03 1,20E+03 2,849E+02 3,716E+02 3,50E+03 7,349E+02 9,349E+02 1,75E+04 2,316E+03 4,128E+03 1,40E+03 3,099E+02 4,304E+02 4,00E+03 7,952E+02 1,063E+03 2,00E+04 2,424E+03 4,707E+03 1,60E+03 3,310E+02 4,892E+02 4,50E+03 8,485E+02 1,191E+03 2,50E+04 2,575E+03 5,865E+03 1,80E+03 3,489E+02 5,480E+02 5,00E+03 8,954E+02 1,318E+03 3,00E+04 2,667E+03 7,023E+03 2,00E+03 3,642E+02 6,068E+02 5,50E+03 9,369E+02 1,449E+03 3,50E+04 2,724E+03 8,181E+03 2,20E+03 3,771E+02 6,656E+02 6,00E+03 9,736E+02 1,574E+03 4,00E+04 2,758E+03 9,339E+03 2,40E+03 3,880E+02 7,244E+02 6,50E+03 1,006E+03 1,702E+03 5,00E+04 2,792E+03 1,166E+04 2,60E+03 3,973E+02 7,832E+02 7,00E+03 1,034E+03 1,830E+03 6,00E+04 2,805E+03 1,397E+04 2,80E+03 4,052E+02 8,420E+02 7,50E+03 1,060E+03 1,957E+03 7,00E+04 2,809E+03 1,629E+04 3,00E+03 4,119E+02 9,008E+02 8,00E+03 1,082E+03 2,085E+03 8,00E+04 2,811E+03 1,860E+04 3,50E+03 4,246E+02 1,048E+03 8,50E+03 1,102E+03 2,213E+03 1,00E+05 2,812E+03 2,324E+04 4,00E+03 4,330E+02 1,195E+03 9,00E+03 1,119E+03 2,341E+03 1,50E+05 2,812E+03 3,482E+04 4,50E+03 4,385E+02 1,342E+03 9,50E+03 1,134E+03 2,469E+03 2,00E+05 2,812E+03 4,640E+04 5,00E+03 4,422E+02 1,489E+03 1,00E+04 1,148E+03 2,596E+03 2,50E+05 2,812E+03 5,798E+04 6,00E+03 4,463E+02 1,783E+03 1,50E+04 1,220E+03 3,875E+03 3,00E+05 2,812E+03 6,956E+04 7,00E+03 4,481E+02 2,077E+03 2,00E+04 1,241E+03 5,153E+03 4,00E+05 2,812E+03 9,272E+04 8,00E+03 4,489E+02 2,371E+03 3,00E+04 1,249E+03 7,709E+03 5,00E+05 2,812E+03 1,159E+05 9,00E+03 4,492E+02 2,665E+03 4,00E+04 1,249E+03 1,027E+04 6,00E+05 2,812E+03 1,390E+05 1,00E+04 4,494E+02 2,959E+03 6,00E+04 1,249E+03 1,538E+04 7,00E+05 2,812E+03 1,622E+05 1,50E+04 4,495E+02 4,429E+03 8,00E+04 1,250E+03 2,049E+04 8,00E+05 2,812E+03 1,854E+05 2,00E+04 4,495E+02 5,899E+03 1,00E+05 1,250E+03 2,560E+04 9,00E+05 2,812E+03 2,085E+05 3,00E+04 4,495E+02 8,839E+03 2,00E+05 1,250E+03 5,116E+04

4,00E+04 4,495E+02 1,178E+04 3,00E+05 1,250E+03 7,673E+04

5,00E+04 4,495E+02 1,472E+04 4,00E+05 1,250E+03 1,023E+05

6,00E+04 4,495E+02 1,766E+04 5,00E+05 1,250E+03 1,279E+05

7,00E+04 4,495E+02 2,060E+04 6,00E+05 1,250E+03 1,534E+05

8,00E+04 4,495E+02 2,354E+04 7,00E+05 1,250E+03 1,790E+05

9,00E+04 4,495E+02 2,648E+04 8,00E+05 1,250E+03 2,045E+05

1,00E+05 4,495E+02 2,942E+04 1,00E+06 1,250E+03 2,557E+05

Page 274: DESENVOLVIMENTO DE FERRAMENTAS COMPUTACIONAIS EM … · 2018-12-19 · objetivo de construir um programa em Excel e Visual Basic for Application (VBA) para auxiliar no gerenciamento

255

Tabela B.2 – Influxo adimensional para aquífero radial finito (continuação)

𝑟𝑒𝐷 = 100 𝑟𝑒𝐷 = 200 𝑟𝑒𝐷 = 500

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

𝑡𝐷 𝑊𝐷 Selado

𝑊𝐷 Realimentado

1,00E+03 2,926E+02 2,926E+02 4,00E+03 9,764E+02 9,764E+02 1,50E+04 3,158E+03 3,158E+03 1,20E+03 3,422E+02 3,422E+02 4,50E+03 1,083E+03 1,083E+03 1,60E+04 3,346E+03 3,346E+03 1,40E+03 3,909E+02 3,909E+02 5,00E+03 1,189E+03 1,189E+03 1,80E+04 3,719E+03 3,719E+03 1,60E+03 4,387E+02 4,388E+02 5,50E+03 1,293E+03 1,293E+03 2,00E+04 4,088E+03 4,088E+03 1,80E+03 4,858E+02 4,860E+02 6,00E+03 1,396E+03 1,397E+03 2,20E+04 4,454E+03 4,454E+03 2,00E+03 5,323E+02 5,326E+02 6,50E+03 1,499E+03 1,499E+03 2,40E+04 4,817E+03 4,817E+03 2,50E+03 6,460E+02 6,474E+02 7,00E+03 1,601E+03 1,601E+03 2,60E+04 5,177E+03 5,177E+03 3,00E+03 7,566E+02 7,601E+02 7,50E+03 1,702E+03 1,702E+03 2,80E+04 5,535E+03 5,535E+03 3,50E+03 8,643E+02 8,714E+02 8,00E+03 1,802E+03 1,803E+03 3,00E+04 5,890E+03 5,890E+03 4,00E+03 9,693E+02 9,819E+02 8,50E+03 1,901E+03 1,903E+03 3,50E+04 6,770E+03 6,770E+03 4,50E+03 1,071E+03 1,092E+03 9,00E+03 2,000E+03 2,002E+03 4,00E+04 7,639E+03 7,640E+03 5,00E+03 1,171E+03 1,201E+03 9,50E+03 2,099E+03 2,101E+03 4,50E+04 8,499E+03 8,500E+03 5,50E+03 1,268E+03 1,310E+03 1,00E+04 2,196E+03 2,200E+03 5,00E+04 9,350E+03 9,353E+03 6,00E+03 1,363E+03 1,419E+03 1,10E+04 2,390E+03 2,396E+03 5,50E+04 1,019E+04 1,020E+04 6,50E+03 1,455E+03 1,528E+03 1,20E+04 2,581E+03 2,591E+03 6,00E+04 1,103E+04 1,104E+04 7,00E+03 1,545E+03 1,637E+03 1,30E+04 2,771E+03 2,785E+03 6,50E+04 1,186E+04 1,188E+04 7,50E+03 1,632E+03 1,746E+03 1,40E+04 2,958E+03 2,978E+03 7,00E+04 1,268E+04 1,271E+04 8,00E+03 1,718E+03 1,854E+03 1,50E+04 3,143E+03 3,170E+03 8,00E+04 1,431E+04 1,436E+04 8,50E+03 1,801E+03 1,963E+03 1,60E+04 3,326E+03 3,362E+03 9,00E+04 1,591E+04 1,600E+04 9,00E+03 1,882E+03 2,072E+03 1,80E+04 3,686E+03 3,743E+03 1,00E+05 1,749E+04 1,764E+04 9,50E+03 1,961E+03 2,180E+03 2,00E+04 4,038E+03 4,124E+03 1,20E+05 2,057E+04 2,089E+04 1,00E+04 2,038E+03 2,289E+03 2,20E+04 4,383E+03 4,503E+03 1,40E+05 2,357E+04 2,412E+04 1,25E+04 2,395E+03 2,832E+03 2,40E+04 4,720E+03 4,882E+03 1,60E+05 2,648E+04 2,735E+04 1,50E+04 2,709E+03 3,375E+03 2,60E+04 5,050E+03 5,261E+03 1,80E+05 2,931E+04 3,057E+04 1,75E+04 2,985E+03 3,918E+03 3,00E+04 5,689E+03 6,017E+03 2,00E+05 3,206E+04 3,380E+04 2,00E+04 3,228E+03 4,460E+03 3,50E+04 6,449E+03 6,961E+03 2,50E+05 3,859E+04 4,184E+04 2,50E+04 3,629E+03 5,546E+03 4,00E+04 7,168E+03 7,905E+03 3,00E+05 4,466E+04 4,989E+04 3,00E+04 3,939E+03 6,632E+03 4,50E+04 7,850E+03 8,849E+03 3,50E+05 5,030E+04 5,794E+04 3,50E+04 4,179E+03 7,717E+03 5,00E+04 8,495E+03 9,792E+03 4,00E+05 5,555E+04 6,598E+04 4,00E+04 4,365E+03 8,803E+03 5,50E+04 9,106E+03 1,074E+04 4,50E+05 6,043E+04 7,403E+04 5,00E+04 4,620E+03 1,097E+04 6,00E+04 9,685E+03 1,168E+04 5,00E+05 6,496E+04 8,207E+04 6,00E+04 4,772E+03 1,315E+04 7,00E+04 1,075E+04 1,357E+04 6,00E+05 7,310E+04 9,816E+04 7,00E+04 4,864E+03 1,532E+04 8,00E+04 1,171E+04 1,545E+04 7,00E+05 8,014E+04 1,143E+05 8,00E+04 4,918E+03 1,749E+04 9,00E+04 1,257E+04 1,734E+04 8,00E+05 8,622E+04 1,303E+05 9,00E+04 4,951E+03 1,966E+04 1,00E+05 1,333E+04 1,923E+04 9,00E+05 9,148E+04 1,464E+05 1,00E+05 4,971E+03 2,183E+04 1,25E+05 1,493E+04 2,395E+04 1,00E+06 9,602E+04 1,625E+05 1,25E+05 4,992E+03 2,726E+04 1,50E+05 1,614E+04 2,867E+04 1,20E+06 1,033E+05 1,947E+05 1,50E+05 4,997E+03 3,269E+04 2,00E+05 1,776E+04 3,810E+04 1,40E+06 1,088E+05 2,269E+05 2,00E+05 4,999E+03 4,355E+04 2,50E+05 1,870E+04 4,754E+04 1,60E+06 1,129E+05 2,591E+05 3,00E+05 4,999E+03 6,526E+04 3,00E+05 1,925E+04 5,698E+04 1,80E+06 1,160E+05 2,913E+05 4,00E+05 5,000E+03 8,698E+04 4,00E+05 1,975E+04 7,585E+04 2,00E+06 1,182E+05 3,234E+05 5,00E+05 5,000E+03 1,087E+05 5,00E+05 1,992E+04 9,473E+04 3,00E+06 1,234E+05 4,844E+05 6,00E+05 5,000E+03 1,304E+05 6,00E+05 1,997E+04 1,136E+05 4,00E+06 1,246E+05 9,453E+05 7,00E+05 5,000E+03 1,521E+05 7,00E+05 1,999E+04 1,325E+05 5,00E+06 1,249E+05 8,062E+05 8,00E+05 5,000E+03 1,738E+05 8,00E+05 2,000E+04 1,513E+05 6,00E+06 1,250E+05 9,671E+05 4,00E+06 5,000E+03 8,687E+05 9,00E+05 2,000E+04 1,702E+05 7,00E+06 1,250E+05 1,128E+06 5,00E+06 5,000E+03 1,086E+06 1,00E+06 2,000E+04 1,891E+05 8,00E+06 1,250E+05 1,289E+06 1,00E+07 5,000E+03 2,172E+06 1,50E+06 2,000E+04 2,835E+05 9,00E+06 1,250E+05 1,450E+06

2,00E+06 2,000E+04 3,778E+05 1,00E+07 1,250E+05 1,611E+06 3,00E+06 2,000E+04 5,666E+05 1,20E+07 1,250E+05 1,933E+06 4,00E+06 2,000E+04 7,553E+05 5,00E+06 2,000E+04 9,441E+05

Fonte: ROSA; CARVALHO; XAVIER, 2006