- CPGG-UFBA - Universidade Federal da Bahia
Transcrição
- CPGG-UFBA - Universidade Federal da Bahia
UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE GEOCIÊNCIAS CURSO DE GRADUAÇÃO EM GEOFÍSICA GEO213 – TRABALHO DE GRADUAÇÃO MODELO PRIMÁRIO DE CAMADAS HORIZONTAIS NA MODELAGEM BIDIMENSIONAL DE RESISTIVIDADE POR DIFERENÇAS FINITAS FREDERICO ALEXANDRE FERNANDES DE OLIVEIRA SALVADOR – BAHIA MARÇO – 2001 MODELO PRIMÁRIO DE CAMADAS HORIZONTAIS NA MODELAGEM BIDIMENSIONAL DE RESISTIVIDADE POR DIFERENÇAS FINITAS por Frederico Alexandre Fernandes de Oliveira ˜ GEO213 – TRABALHO DE GRADUAÇAO Departamento de Geologia e Geofı́sica Aplicada do Instituto de Geociências da Universidade Federal da Bahia Comissão Examinadora Dr. Hédison Kiuity Sato - Orientador Dr. Edson Emanoel Starteri Sampaio Dr. Olivar Antônio Lima de Lima Data da aprovação: 29 de março de 2001 A Maria das Graças e Júlio César, meus pais, e Aline, Julinho e Lisavietra, meus irmãos. RESUMO A escolha das condições de contorno apropriadas tem importância fundamental na modelagem de resistividade por diferenças finitas. Devido à condutividade nula do ar, o campo elétrico não tem componente normal na interface terra-ar, de modo que somente a condição de Neumann é aplicável nesta superfı́cie. Distintamente, os limites inferior e laterais da malha estão a uma distância finita da fonte, onde a aplicação das condições de Dirichlet e de Neumann produzem resultados diferentes no cálculo numérico dos potenciais elétricos: a primeira causa subestimativa e a segunda, sobrestimativa destes potenciais. A aplicação de uma condição de contorno mista vale-se do comportamento assintótico do potencial e do campo elétricos, permitindo ajustes mais precisos em relação a soluções analı́ticas. As heterogeneidades são vistas como perturbações sobre um modelo primário de resistividade, homogêneo ou estratificado. Do primeiro, sabe-se que produz resultados numéricos com desvios inferiores a 5%. Este trabalho objetiva introduzir o modelo primário estratificado num algoritmo de modelagem bidimensional de resistividade por diferenças finitas. A solução numérica empregada reduz o número de dimensões do problema de três para duas pela aplicação de uma Transformada de Fourier na direção de simetria. Isso requer que a solução do modelo primário seja levada para o domı́nio transformado. Os potenciais sobre os contornos laterais e inferior da malha são calculados em termos da solução do modelo primário quando da aplicação das condições de contorno mistas. Apresentam-se expressões para o potencial elétrico e suas derivadas normais no domı́nio transformado. Por compreenderem transformadas seno e cosseno, mais uma função modificada de Bessel, tais expressões têm forma adequada à sua avaliação numérica por filtros digitais para transformadas integrais disponı́veis na literatura. A despeito disso, a implementação computacional deparou-se com problemas de imprecisão numérica. Tal limitação foi contornada com o uso alternativo da solução para o meio homogêneo nas bordas laterais para as freqüências mais altas e na borda inferior em todas as freqüências. Os resultados das modelagens tanto com a solução do modelo de camadas como a do modelo homogêneo na fronteira são comparados entre si e com soluções analı́ticas, quando possı́vel. Foram simuladas sondagens elétricas Schlumberger consecutivas sobre a superfı́cie e os resultados são apresentados na forma de pseudo-secções de resitividade aparente e dos respectivos desvios entre elas. As discrepâncias entre as resistividades aparentes modeladas nos dois casos variam entre −0, 05 e 0, 05%, o que é desprezı́vel para fins de exploração geofı́sica. Entretanto, a distribuição espacial dos desvios sugere a existência de uma relação com o i modelo de resistividade, visto que tendem a crescer com o aumento do caráter de estratificação do modelo. O comportamento das resistividades aparentes é muito similar nos dois casos, comparados às soluções analı́ticas. A implementação parcial do modelo primário de camadas não permite afirmar qual a verdadeira razão para nenhuma melhora de significado prático, o que pode ser uma conseqüência natural do problema devido à fonte dipolar. A influência do modelo na fronteira permanece inexplorada para o caso de arranjos com eletrodo remoto, cujos resultados podem ser diferentes. A obtenção de resultados mais conclusivos pode ser atingida por um estudo prévio do comportamento do potencial e campo elétricos transformados. ii ABSTRACT The choice of appropriate boundary conditions plays an important role on finite diference schemes for resistivity modelling. Because of the conductivity of the air, the electric field has no normal component over whole earth-air interface, so that only the Neumann boundary condition is allowed along the surface border. The bottom and lateral edges of the mesh lie at a finite distance from the source where the results by application of Dirichlet or Neumann conditions are unlike on numerically evaluated eletric potentials: the former causes undershoot and the latter causes overshoot of potentials at some distance from the point source. It is found that an empirical mixed boundary conditions takes advantage of the asymptotic physical behavior of eletric potential and its normal derivatives at large distances and yelds more precise results against the analitycal solutions. Inhomogeneties are viewed as pertubations over a primary two-dimensional conductivity distribution, both homogeneous and in a layered medium. It is known that the first one provides accurate numerical results, approaching analytical solutions to better than 5%. This work aims to study the influence of a layered primary model in a finite diference scheme for two-dimensional resistivity modelling. The known numerical solution employed reduces the actual three-dimentional problem to two dimensions by a Fourier transform of Poisson’s equation on the infinitely extended direction. It requires that the primary solution is transformed to the frequency domain. The potentials along the bottom and lateral edges are evaluated in terms of the primary layered model by the application of mixed boundary conditions. Expressions of the electric potential and its normal derivatives in transformed domain are shown. Since these consist of sine and cosine transforms plus the modified Bessel function, they have a suitable form to be implemented using available digital filters for integral transforms. Despite this, the computational implementation encontered numerical precision problems. This limitation is avoided by imposing the alternative use of the solution for a homogeneous medium, which occurs at higher frequencies at the lateral edges and to all frequencies along the bottom edges of the model domain. The results of modelling with both the partially implemented layered medium at lateral boundaries and the homogeneous case are compared to each other and to the analytical solution when possible. Consecutive Schlumberger resistivity electrical soundings were simulated along the surface and results are shown as pseudo section of apparent resistivity and the respective errors. Discrepancies between apparent resistivities modelled in both cases lie between −0, 05 and iii 0, 05%, wich is negligible to geophysical exploration. However, the spacial distribution of errors suggests the existence of a relation to the resistivity model, since they tend to follow the characteristic model layering. The apparent resistivities are quite similar to analytical solution in both cases. The partial implementetion of the layered primary model does not allow identification of the true reason for no improvement with practical significance, which also may be a natural consequence of the physical nature of the problem due to the dipole source. The influence of the model at boundaries remains unexplored by remote electrode arrays, whose results may be different. More conclusive results can be obtained with an initial study of frequency dependence of transformed potentials and their normal derivatives. iv ÍNDICE RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii ÍNDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v ÍNDICE DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x CAPÍTULO 1 Formulação Matemática de Problemas de Contorno . . . 1.1 Classificação das equações diferenciais parciais . . . . . . . . . . . . . . . . . 1.2 Forma canônica das equações diferenciais parciais em duas variáveis independentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Formulação matemática de problemas fı́sicos . . . . . . . . . . . . . . . . . . 1.3.1 O enunciado da equação . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 As condições complementares . . . . . . . . . . . . . . . . . . . . . . 1.3.3 O problema de Sturm-Liouville . . . . . . . . . . . . . . . . . . . . . 1.4 Formulação variacional de um problema de contorno . . . . . . . . . . . . . . 1 1 CAPÍTULO 2 O Método das Diferenças 2.1 Aproximações de diferenças finitas . . . . 2.1.1 Expansão em série de Taylor . . . 2.1.2 Discretização de um problema . . 2.2 Algoritmo de diferenças finitas . . . . . . Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 4 5 6 . . . . . . . . . . . . . . . . . . . . 7 8 8 9 11 Potencial Elétrico de uma Fonte Pontual Estacionária num Meio com Simetria Cilı́ndrica . . . . . . . . . . . . . Formulação do problema discreto . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 A equação diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 A equação da continuidade no domı́nio da freqüência . . . . . . . . . 3.1.3 As condições de contorno na borda S da região V . . . . . . . . . . . A solução numérica por diferenças finitas . . . . . . . . . . . . . . . . . . . . 3.2.1 Equação de diferenças finitas usando discretização por área . . . . . . 3.2.2 Formulação matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 A transformada inversa de Fourier do potencial elétrico . . . . . . . . 12 12 12 14 15 17 17 20 21 CAPÍTULO 3 3.1 3.2 v CAPÍTULO 4 O Método da Resistividade . . . . . . . . . . . . . . . . . . 4.1 Origem do método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 O conceito de resistividade aparente . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Formulação do problema elétrico estacionário para um meio homogêneo 4.2.2 Fator geométrico de arranjo de 4 eletrodos . . . . . . . . . . . . . . . 4.3 Arranjos colineares de 4 eletrodos . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Arranjo Wenner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Arranjo Schlumberger . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Arranjo dipolo-dipolo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Modelagem por diferenças finitas de dados de resistividade aparente . . . . . 22 22 23 23 25 26 26 27 27 28 CAPÍTULO 5 Resultados e Discussão . . . . . . . . . . . . . . . . . . . . 5.1 Parametrização da modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Apresentação e avaliação dos resultados . . . . . . . . . . . . . . . . . . . . . 5.3 Experimentos com a geometria da grade fixa: o efeito do modelo geológico . 5.3.1 O modelo de camadas horizontais . . . . . . . . . . . . . . . . . . . . 5.3.2 Contato vertical entre bloco homogêneo e seqüência de camadas horizontais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Modelo de contatos inclinados . . . . . . . . . . . . . . . . . . . . . . 5.4 Modelo de camadas horizontais para diferentes fatores de expansão dos bordos laterais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 31 32 32 CAPÍTULO 6 Conclusões e Recomendações . . . . . . . . . . . . . . . . . 50 REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . 52 AGRADECIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Transformada de Fourier na direção y do potencial elétrico e suas derivadas normais para um semi-espaço heterogêneo, composto por n camadas homogêneas . . . . . . A.1 Transformada-cosseno de Fourier do potencial elétrico . . . . . . . . . . . . . A.1.1 Para o ponto de observação acima da fonte . . . . . . . . . . . . . . . A.1.2 Para o ponto de observação abaixo da fonte . . . . . . . . . . . . . . A.2 Derivadas normais do potencial elétrico no domı́nio transformado . . . . . . A.2.1 Para o ponto de observação acima da fonte . . . . . . . . . . . . . . . A.2.2 Para o ponto de observação abaixo da fonte . . . . . . . . . . . . . . 36 40 43 APÊNDICE A Equações de diferenças para nós no contorno usando discretização por área . . . . . . . . . . . . . . . . . . . . . . . B.1 Para os nós na superfı́cie (z → 0) . . . . . . . . . . . . . . . . . . . . . . . . 56 56 56 59 60 61 63 APÊNDICE B vi 65 65 B.2 B.3 B.4 B.5 B.6 Para Para Para Para Para os os os os os vértices superiores esquerdo e direito nós da base (z → ∞) . . . . . . . . vértices inferiores esquerdo e direito nós da borda esquerda . . . . . . . . nós da borda direita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANEXO I I.1 I.2 Programas utilizados para a modelagem de resistividade aparente por diferenças finitas . . . . . . . . . . . . . . . . Modela ρa por diferenças finitas . . . . . . . . . . . . . . . . . . . . . . . . . Sub-rotinas diversas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 66 67 68 vii 69 69 79 ÍNDICE DE FIGURAS 3.1 Elemento de área discretizado ∆Ai,j . . . . . . . . . . . . . . . . . . . . . . . 4.1 Geometria e representação em pseudo-secção rente com o arranjo Wenner. . . . . . . . . . Geometria e representação em pseudo-secção rente com o arranjo Schlumberger. . . . . . Geometria e representação em pseudo-secção rente com o arranjo dipolo-dipolo. . . . . . . 4.2 4.3 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 dos dados de resistividade . . . . . . . . . . . . . . . dos dados de resistividade . . . . . . . . . . . . . . . dos dados de resistividade . . . . . . . . . . . . . . . apa. . . apa. . . apa. . . a) Modelo de resistividades com 6 camadas horizontais. b) Pseudo-secção de resistividade aparente com a solução do modelo de camadas na fronteira. c) Idem, solução do modelo homogêneo na fronteira. . . . . . . . . . . . . . . . Pseudo-secções do desvios percentuais relativos entre resistividades aparentes de: a) modelagem com solução do meio de camadas e homogêneo na fronteira; b)modelagem com solução do meio de camadas na fronteira e solução analı́tica; c) modelagem com solução do meio homogêneo na fronteira e solução analı́tica. a) Modelo de resistividades de contato vertical entre bloco homogêneo e seqüência de camadas horizontais; b) pseudo-secção do desvios percentuais relativos entre resistividades aparentes das modelagens com as soluções do meio de camadas e homogêneo na fronteira. . . . . . . . . . . . . . . . . . . . . . . . . Pseudo-secções de resistividade aparente obtidas com a) a solução do meio de camadas na fronteira; b) a solução do meio homogêneo. . . . . . . . . . . . . a) Modelo de resistividade semelhante ao anterior, com permuta da primeira pela última camada. b) Pseudo-secção dos desvios percentuais relativos para este modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a) Modelo de contatos inclinados. b) Pseudo-secção dos desvios percentuais relativos pare este modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pseudo-secções de resistividades aparentes referente ao modelo de contatos inclinados para os dois casos de modelo na fronteira: a) modelo de camadas; b) modelo homogêneo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a) Modelo de camadas horizontais. b)Pseudo-secção dos desvios percentuais relativos ε, fator de expansão dos bordos laterais igual a 1,2. c) Pseudo-secção dos desvios percentuais relativos ε, para fator de expansão dos bordos laterais igual a 0,6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii 19 26 27 28 34 35 38 39 40 42 43 45 5.9 Pseudo-secções de resistividade aparente para fator de expansão dos bordos laterais igual a 1,2: a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Pseudo-secções de resistividade aparente para fator de expansão bordos laterais igual 0,6: a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Pseudo-secções dos desvios percentuais relativos à modelagem analı́tica, para o fator de expansão k = 1, 2. a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. . . . . . . . . . . . . . . . . . 5.12 Pseudo-secções dos desvios percentuais relativos à modelagem analı́tica, para o fator de expansão k = 0, 6. a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. . . . . . . . . . . . . . . . . . ix 46 47 48 49 INTRODUÇÃO O método da resistividade é de vasta aplicação em quase todas as áreas de exploração geofı́sica. Quer na perfilagem de poços na exploração de petróleo, nos levantamentos de superfı́cie para prospecção de água subterrânea e minerais metálicos, quer na execução de estudos de engenharia geotécnica, o método da resistividade fornece informações consistentes sobre a litologia da substrato. Isso é possı́vel graças à ordem de grandeza da faixa de variação 7 da resistividade elétrica nas rochas e sedimentos inconsolidados, de 10 1 . A interpretação correta dos dados de resistividade, na forma de resistividade aparente, requer o conhecimento sobre a distribuição de corrente elétrica contı́nua nas estruturas geológicas. A geometria dos corpos em subsuperfı́cie, ou a distribuição de propriedades fı́sicas em um mesmo corpo devido a outros fatores2 , a priori, resulta da associação dos diversos eventos ao longo de sua história geológica, como tectonismo, intemperismo, variação de nı́vel dos oceanos, por exemplo. Por diferentes razões, esses e outros eventos associados podem conferir aos seus locais de ocorrência tal regularidade na distribuição espacial das propropriedades fı́sicas - especialmente da condutividade elétrica - que a analogia com idealizações de natureza matemática torna-se aproximação verossı́mil. São alguns exemplos: 1. esfera condutiva num semi-espaço homogêneo, 2. semi-espaço dividido por um contato inclinado, 3. semi-espaço dividido em camadas horizontais homogêneas, entre outros. Não obstante, a descrição matemática de um ambiente geológico pode ser impraticável, o que também é comum. O emprego do método da resistividade, portanto, requer o conhecimento do potencial devido à fonte e da distribuição de corrente elétrica contı́nua em tais estruturas, o que implica a solução de um problema de valores de contorno, por seu turno, descrito pela equação de Poisson. Do contrário, a interpretação dos dados tornar-se-ı́a impraticável com o avanço da história dos métodos de exploração geofı́sica. Com este objetivo mesmo, problemas cuja geometria admite aquela aproximação, são passı́veis de soluções analı́ticas nalguns casos, enquanto noutros apenas métodos numéricos são capazes de prover soluções aproximadas. 7 1 Enquanto a resistividade de um argila pode medir 1 Ω·m, a de um basalto seco chega a 1, 3 × 10 Ω·m (v. Telford, Geldart, Sheriff e Keys (1976), pg. 454, tab. 5.4 e pg. 455, tab. 5.5.) 2 Como saturação em água ou óleo. x O avanço do conhecimento sobre a estrutura interna da Terra e a disponibilidade de recursos minerais, hı́dricos e energéticos tem colocado problemas cada vez mais complexos. Concomitantemente, a crescente capacidade dos computadores estimula e facilita a busca de soluções por métodos numéricos, como elementos finitos, diferenças finitas e elementos de contorno. É a partir da década de 70 que o aussunto ganha maior atenção, principalmente graças ao aumento dos recursos de computação, quando a modelagem de resistividade aparente é tratada com diversas técnicas, como elementos como elementos finitos (Coggon, 1971), integral de superfı́cie (Pratt, 1972) e diferenças finitas (Mufti, 1976; Mufti, 1978; Mufti, 1980; Dey e Morrison, 1979a; Dey e Morrison, 1979b). Mufti (1976) apresenta uma solução por diferenças finitas para uma distribuição bidimensional simétrica de condutividade elétrica sob uma fonte linear de corrente, o que equivale a um problema estritamente bidimensional. Seu objetivo, contudo, é a obtenção de curvas de resistividade aparente de sondagens sobre o centro de uma distribuição bidimensional de condutividade simétrica, justificando o “custo computacional proibitivo” para a modelagem de uma secção e também da solução do caso tridimensional e que os resultados usando a fonte linear são “muito mais realistas do que se imagina”. Mas sugere que problemas com uma fonte pontual seja resolvido com a eliminação de uma das dimensões por uma transformada de Fourier, como, posteriormente, o fez Dey e Morrison (1979b). Apesar de desenvolvimentos bem mais recentes (James, 1985; Zhao e Yedlin, 1996), a solução apresentada por Dey e Morrison (1979b) possibilitou o desenvolvimento de programas em FORTRAN 77 no decurso da dissertação de mestrado de Medeiros (1987), disponı́vel desde então. Na sua solução, Dey e Morrison propõem o emprego da condição de contorno mista nas bordas laterais e inferior, mostrando que seus resultados são melhor ajustados a resistividades aparentes obtidas por soluções analı́ticas do que outros, que utilizam as condições de Dirichlet ou de Neumann nestas bordas. A natureza fı́sica do problema impõe que, na superfı́cie, correspondente à borda superior, seja aplicada a condição de Neumann, pois a condutividade do ar é supostamente nula. Os potenciais sobre os bordos são calculados por uma solução conhecida, a partir de um modelo primário, sobre a a qual as heterogeneidades de condutividade são vistas como perturbações. Assim, é razoável supor que o modelo primário é homogêneo ou estratificado, como sugerem Dey e Morrison, que o fazem para o primeiro caso. Então quais seriam as implicações se o modelo na fronteira fosse de camadas horizontais, em vez de homogêneo? Essa premissa melhoraria o resultado da modelagem quando o modelo fosse predominantemente acamadado, ainda que não horizontalmente? A escolha do modelo na fronteira é relevante, do ponto de vista fı́sico, condiderando que o modelo discretizado é finito? São algumas questões sobre as quais não se tem debruçado. xi Este trabalho tem, portanto, o objetivo de estudar a influência do modelo de resistividades na fronteira do domı́nio finito e discretizado numa malha, na modelagem bidimensional de resistividade aparente por diferenças finitas, usando a solução de Dey e Morrison (1979b). O trabalho está dividido em seis capı́tulos, a fim de tratar do maior número de conceitos possı́vel, necessários à compreensão do assunto como um todo. Com esse objetivo, são apresentados dois capı́tulos de caráter geral: o primeiro trata da formulação de problemas de valores de contorno, discutindo a classificação da equações diferenciais parciais de segunda ordem, os tipos de condições complementares (iniciais e de contorno) e as diferentes condições de contorno verificada na maioria dos problemas fı́sicos; exemplifica a formulação de um problema elı́ptico de Sturm-Liouville e mostra a equivalência com uma formulação variacional. O capı́tulo 2 apresenta conceitos básicos sobre o método das diferenças finitas, como as aproximações, a forma de discretização do domı́nio, encerrando com um algoritmo simplificado. O terceiro capı́tulo desenvolve a solução por diferenças finitas de Dey e Morrison (1979b) e apresenta as expressões do potencial e do campo elétricos no domı́nio da freqüencia espacial, como prevê a solução. A obtenção das transformadas de Fourier do potencial e do campo elétrico são a maior contribuição deste trabalho, visto que permitem sua incorporação a qualquer programa que utilize o mesmo algoritmo. O quarto capı́tulo discorre sobre o método geofı́sico da resistividade, apresentando um breve histórico sobre sua origem; apresenta o conceito de resistividade aparente a partir da solução da equação de Poisson para um semi-espaço homogêneo; mostra o significado do fator geométrico; apresenta alguns arranjos de 4 eletrodos e seus respectivos fatores geométricos. Encerra com a modelagem de dados de resistividade aparente usando a solução apresentada no capı́tulo anterior. O quinto capı́tulo 5 apresenta e discute os resultados de quatro experimentos numéricos e, por fim, sexto capı́tulo 6 encerra este trabalho com as conclusões e recomendações. xii CAPÍTULO 1 Formulação Matemática de Problemas de Contorno É comum que fenômenos fı́sicos sejam descritos por equações diferenciais parciais (EDP) de segunda ordem, tais como os fenômenos eletromagnéticos estacionários e gravitação (equações de Laplace e Poisson), propagação de ondas mecânicas/eletromagnéticas (equação de D’Alembert), difusão térmica (equação do calor) (Tikhunov e Samarskii, 1963; Miranda, 1998), dentre outros, acerca de cuja teoria a fı́sica-matemática dedica atenção singular. Esses fenômenos são freqüentes nos campos da ciência pura, aplicada e da engenharia, de modo que seu pleno entendimento, compreendendo formulação e solução são cruciais ao avanço cientı́fico-tecnológico. Sobre esse tipo de equações dedica-se, pois, este capı́tulo. 1.1 Classificação das equações diferenciais parciais Seja uma função U (xi )1 , i = 1, 2, . . . , n que satisfaz à equação diferencial parcial de segunda ordem n n i=1 j=1 aij Uxi xj + n bij Uxi + cU + f = 0 , (1.1) i=1 onde a, b, c, f são funções de x1 , x2 , . . . , xn . Demonstra-se que aij e Uxi xi são formas bilineares simétricas (Tikhunov e Samarskii, 1963; Hoffman e Kunze, 1961), tal que existe uma forma quadrática associada, em cujos termos tais equações são, de maneira geral, classificadas. A fim de estabelecer a forma quadrática associada a aij , introduz-se a variável ξk tal que ξk = ξk (x1 , x2 , . . . , xn ) 1 (k = 1, . . . , n). Função ou sistema de funções, onde são comuns os sistemas ortogonais como os das funções de Bessel e e Legendre. 1 2 Assim, obtêm-se Uxi = n Uξ aik , k=1 Uxi xj = (1.2) k n n Uξ k=1 l=1 ξ k l onde aik = aik ajl + Uξ (ξk )xi xj , k (1.3) ∂ξk . ∂xi Substituindo-se as equações (1.2) e (1.3) na equação (1.1), obtém-se n n ākl Uξ k=1 k=l + ξ k l n b̄k Uξ + cU + f = 0 , k k=1 (1.4) onde ākl = b̄k = n n aij aik ajl l=1 j=1 n n n i=1 i=1 j=1 bi aik + (1.5) aij (ξk )xi xj j (1.6) Seja M0 (x01 , . . . , x0n ) um ponto dado no domı́nio de definição da função U (xi ), para cujos a0ij sejam conhecidos. A equação (1.5) define então os coeficientes ā0kl como 0 ākl = n n a0ij aik ajl , (1.7) i=1 j=1 que por sua vez é idêntica à forma quadrática n n a0ij yi yj i=1 j=1 sob a transformação linear yi = n aik ηk . (1.8) k=1 Adequadamente escolhida a transformação linear, a matriz A dos elementos a0ij pode ser diagonalizada na forma 1 (1.9) |a0ii | = 0 ; a0ij = 0, (i = j, i = 1, 2, . . . , n). (1.10) A equação (1.1) é do tipo elı́ptica em M0 se todos os coeficientes a0ii tiverem o mesmo sinal; hiperbólica, se n − 1 coeficientes tiverem o mesmo sinal e o restante, o sinal oposto, ou ainda parabólica, se algum dos coeficientes a0ii for igual a 0 (Tikhunov e Samarskii, 1963). 3 1.2 Forma canônica das equações diferenciais parciais em duas variáveis independentes Uma equação diferencial parcial em duas variáveis independentes sempre pode ser escrita na forma canônica, não só para um ponto M0 dado, mas para quaisquer pontos M em todo o domı́nio da função U (x1 , x2 ) (Sobolev, 1964). Então, seja a equação (1.1) nas variáveis x1 = x e x2 = y, i = (1, 2) e j = (1, 2). Como os coeficientes das derivadas de ordem 1 ou 0 são indiferentes para a classificação das EDP, é conveniente agrupá-los num único termo. Assim, tem-se F = n bij Uxi + cU + f = 0 . (1.11) i=1 A aplicação da transformação linear para as novas variáveis ξ(x, y) e η(x, y) (ξ = ξ1 e η = ξ2 , k = 1, 2) , seguida da expansão da equação (1.4) resulta em ā11 Uξξ + 2ā12 Uξη + ā22 Uηη + F̄ = 0 , (1.12) onde ā11 = a11 ξx2 + 2a12 ξx ξy + a22 ξy2 , (1.13) ā12 = a11 ξx ηx + a12 (ξx ηy + ξy ηx ) + a22 ξy ηy e (1.14) ā22 = a11 ηx2 + 2a12 ηx ηy + a22 ηy2 . (1.15) O jacobiano da transformação linear2 deve ser não-nulo para que a EDP seja invariante sob a transformação linear realizada (Kaplan, 1972). Em contrapartida, a forma canônica não deve conter termos mistos, de modo que o coeficiente ā12 = 0, ou seja, a11 ξx ηx + a12 (ξx ηy + ξy ηx ) + a22 ξy ηy = 0 . (1.16) A condição de existência do novo sistema de coordenadas garante que a equação (1.16) admita as três possibilidades para o valor do discriminante, a saber, 2 ∆ > 0 (equação hiperbólica), ∆ = 0 (equação parabólica), ∆ < 0 (equação elı́ptica) (c.f. 1.2). Especificamente, de uma mudança de base, que só faz sentido se a nova base for linearmente independente da primeira, daı́ a condição seguinte. 4 1.3 1.3.1 Formulação matemática de problemas fı́sicos O enunciado da equação Uma maneira bastante geral e conveniente de descrever matematicamente problemas fı́sicos 3 é na forma do operador de Sturm-Liouville. Seja U (u, t) uma função da posição u e do tempo t. Na forma de Sturm-Liouville, a equação (1.1) torna-se (Miranda, 1998) ∇ · [K(u)∇U (u, t)] − q(u)U (u, t) + f (u, t) = ρ(u)Utt (u, t) , (1.17) ∇ · [K(u)∇U (u, t)] − q(u)U (u, t) + f (u, t) = ρ(u)Ut (u, t) (1.18) ∇ · [K(u)∇U (u)] − q(u)U (u) = −f (u) (1.19) hiperbólica, parabólica, e se do tipo elı́ptica. Seja o intervalo a u b o de interesse. É imperativo que K(u) 0 e ρ(u) 0. 1.3.2 As condições complementares A unicidade de uma solução de um problema fı́sico prescinde que, junto à equação que descreve o fenômeno, sejam conhecidas também as condições complementares (Miranda, 1998). Supondo ainda uma função U (u, t), com u e t respectivamente espaço e tempo. Seja S a superfı́cie que delimita o volume V do domı́nio de definição da função U (u, t). As condições complementares são de dois tipos: 1. condições iniciais, que descrevem o comportamento da função no instante inicial t0 ; 2. condições de contorno, que definem para a função ou o seu gradiente na fronteira do domı́nio de definição da variável u, para qualquer tempo t. Quanto às condições de contorno, os problemas podem ser: 1. problemas de Dirichlet, U (u, t) = µ(u, t) , S 3 Restritos àqueles obedientes a EDP’s de segunda ordem. (1.20) 5 que descrevem sistemas fı́sicos sem interação direta com o meio externo; 2. problemas de Neumann, ∂U (u, t) β ∂n = ψ(u, t) , (1.21) S que descrevem sistemas fı́sicos que interagem com o meio através de fluxos e forças; 3. problemas de Robbins ou mistos, ∂U (u, t) β + α U (u, t) ∂n = ψ(u, t) , (1.22) S que descrevem sistemas fı́sicos interativos com o meio por via de fluxos e forças e também trocas de energia. As contantes α e β são tais que α > 0 e β > 0. É importante notar a linearidade das condições de contorno em relação a U (u, t). Problemas que descrevem regimes permanentes são problemas sem condições iniciais4 . Já os problemas de Cauchy envolvem pequeno lapso de tempo e têm domı́nio infinitamente grande, de maneira que são problemas sem condições de contorno. 1.3.3 O problema de Sturm-Liouville Por fim, conhecida a equação diferencial que descreve um fenômeno fı́sico e as respectivas condições complementares, cumpre, pois, formular matematicamente o problema, o que consiste de um sistema dessas equações. Dado que muitos problemas fı́sicos estão relacionados ao operador de Sturm-Liouville, o enunciado da equação diferencial nesta forma, mais as condições complementares compreende o problema de Sturm-Liouville. Como exemplo, seja a formulação do problema elı́ptico de Sturm-Liouville - portanto, sem condições iniciais5 Assim, as equações ∇ · [K(u)∇U (u)] − q(u)U (u) = −f (u) , ∂U (u) β + α U (u) ∂n = ψ(u) , (1.23) (1.24) S define um problema elı́ptico de Sturm-Liouville com condição de contorno mista-heterogênea. 4 5 Como os campos gravitacional e magnético da Terra, por exemplo. A escolha deste exemplo é deveras conveniente, como ver-se-á no capı́tulo 3. 6 1.4 Formulação variacional de um problema de contorno O problema de valores de contorno definido pelas equações (1.23) e (1.24) admite uma formulação variacional eqüivalente, obtida partindo-se do princı́pio de Hamilton para sua formulação. Este princı́pio estabelece que o funcional J dado por (Courant e Hilbert, 1953) t2 J= (T − U ) dt (1.25) t0 é estacionário, ou seja, δ t2 t0 (T − U ) dt = 0 (1.26) onde T = T (u, u̇, t) e U = U (u, t), u é o espaço e t o tempo, e δ representa a primeira ∂ dv , v = u ou v = t. O lagrangeano ou função lagrangeana é definido por variação ∂v L=T −U (1.27) δL ≡ δ(T − U ) = 0 (1.28) donde decorre que Para mostrar que a função U é solução do problema variacional (1.26), primeiro, reescrevese a equação(1.23) como ∇ · [K(u)∇U (u)] − q(u)U (u) + f (u) = 0 . (1.29) Multiplicando-a em seguida por U (u), vem que 2 U (u)∇ · [K(u)∇U (u)] − q(u)U (u) + U (u)f (u) = 0 ; agora integra-se a equação (1.30) no volume V , resultando em 2 U ∇ · (K∇U ) − qU + U f dV = 0 (1.30) (1.31) V Nos problemas elı́pticos, a função U (u) é um potencial de um campo fı́sico, logo o termo U f dV V corresponde à energia potencial de um corpo de prova6 , 2 U ∇ · (K∇U ) − qU dV V à energia cinética e todo integrando, ao lagrangeano do sistema. Dessa forma, o problema de Sturm-Liouville eqüivale à equação de Lagrange para o funcional J. 6 Entenda-se por isto um ponto do espaço com propriedade fı́sica sensı́vel a este campo, como massa ou carga elétrica CAPÍTULO 2 O Método das Diferenças Finitas Um problema de valores de contorno tanto pode admitir uma solução analı́tica, em que a função U é definida por uma função e é uma solução exata, como pode ser resolúvel apenas numericamente, em que a solução é aproximada. Os métodos analı́ticos de Fourier (ou da separação de variáveis) e da função de Green, entre outros, provêm soluções do primeiro tipo e suas aplicações dependem de fatores como o sistema de coordenadas, das funções K(u) e f (u), cujos significados fı́sicos são distribuição espacial de uma propriedade fı́sica e densidade da fonte, respectivamente. Por outro lado, quando um problema não admite uma solução exata, é possı́vel resolvêlo por um método numérico, cujo objetivo mesmo é prover uma solução aproximada com um número finito de etapas (John, 1957). Para a solução numérica de problemas elı́pticos, especificamente, há duas abordagens principais: os métodos variacionais e os métodos de diferenças finitas (Braess, 1992). Entre os primeiros figura o método dos elementos finitos, recomendado para problemas com geometria complicada (Fox et al., 1980). Problemas com geometria mais simples podem ser resolvidos por diferenças finitas. No método das diferenças finitas, o domı́nio da solução U (u) é subdividido em uma rede com número finito de pontos, formando uma grade. A função U (u) é aproximada por uma expansão em série de Taylor, donde tomam-se um número finito de termos, conforme a precisão que se deseje. As derivadas são, por sua vez, aproximadas pelas razões incrementais correspondentes, conferindo-lhe grande generalidade e naturalidade matemática. Ademais, para que um método aproximado seja empregado, faz-se necessária a obtenção da estimativa do erro resultante ou ao menos do erro provável. No caso das diferenças finitas, o erro provável é dado pela série a partir do termo de menor ordem desprezado. 7 8 2.1 Aproximações de diferenças finitas 2.1.1 Expansão em série de Taylor Seja uma função U (xi ), onde xi é um nó da malha que representa o domı́nio e também o centro de uma expansão em série de Taylor, dada por n n ∞ (x − xi ) d U U (x) = (2.1) n! dxn n=0 xi (Butkov, 1968). Então, n n (∆x ) U d i−1 (−1)n , U (xi − ∆xi−1 ) = n n! dx n=0 xi n n ∞ (∆x ) d U i U (xi + ∆xi ) = . n! dxn n=0 ∞ (2.2) (2.3) xi Explicitando os termos até a segunda ordem e mantendo o somatório para o restante, e isolando as primeiras derivadas nas equações (2.2) e (2.3), obtêm-se respectivamente n 2 n ∞ U (xi ) − U (xi − ∆xi−1 ) ∆xi−1 d U dU n (∆xi−1 ) d U + (−1) + e (2.4) = dx ∆xi−1 2 dx2 n! dxn n=3 xi dU dx xi xi xi 2 n n ∞ U (xi + ∆xi ) − U (xi ) ∆xi d U (∆xi ) d U = − + ∆xi 2 dx2 n! dxn n=3 xi . (2.5) xi A aproximação das derivadas pelas razões incrementais correspondentes é obtida do truncamento da série numa ordem arbitrariamente escolhida. Como o objetivo aqui é fazê-lo para o operador laplaceano, procede-se o truncamento da série no termo de ordem dois, de modo que o somatório a partir do terceiro termo constitui-se no erro cometido na aproximação, o que ver-se-á mais adiante. Sendo assim, como 2 U (xi ) − U (xi − ∆xi−1 ) ∆xi−1 d U dU + e ≈ dx ∆xi−1 2 dx2 xi dU dx xi xi 2 U (xi + ∆xi ) − U (xi ) ∆xi d U ≈ − , ∆xi 2 dx2 xi procede-se a aproximação com a substituição deste sinal pelo de igualdade e subtrai-se, nas equações resultantes, a segunda da primeira, isolando-se em seguida a segunda derivada. 9 Para manter a uniformidade da notação, reescrevem-se aqui as derivadas representando-as por um ı́ndice correspondente à direção de derivação em número igual à ordem desta, como no capı́tulo 1. Introduz-se também a notação de operadores lineares, mais conveniente por ser compacta e não causar qualquer perda de clareza em relação à adotada até então. Com isso, a fórmula de diferenças para o operador laplaceano unidimensional é (i) Uxx = 2 ∆xi (∆xi−1 + ∆xi ) U (i+1) + 2 (∆xi−1 ∆xi ) U (i) + (2.6) 2 (i−1) . U ∆xi−1 (∆xi−1 + ∆xi ) A equação (2.6) fornece a fórmula de diferença central do operador laplaceano, embora outras fórmulas sejam adequadas noutras situações (Milne, 1970). O ı́ndice sobrescrito i corresponde ao nó de um domı́nio discretizado, variando de 1 a N pontos, distantes de ∆xi , i = 1, 2, . . . , N − 1.1 A extensão para duas ou três dimensões é direta, ao que basta repetir a fórmula anterior, acrescentando as parcelas restantes e, em cada uma delas, mantendo o ı́ndice das outras dimensões. É importante ratificar que a malha de discretização do domı́nio pode ser irregular, de modo que, para cada nó, os espaçamentos nas diferentes direções sejam distintos, como já antecipa todo desenvolvimento desta secção e é do quê trata a próxima. 2.1.2 Discretização de um problema Visto que o objetivo deste trabalho é prover uma solução por diferenças finitas de um problema bidimensional, é preferı́vel a escolha de um domı́nio com essa dimensão para a abordagem da etapa da discretização. Assim, seja o domı́nio conexo V , de contorno S ⊂ V da função U (x, z). A discretização consiste na partição de V em um número finito de elementos, igual a N × M , compondo assim uma malha, podendo esta ser irregular, inclusive. Seja V discretizado por uma malha retangular e irregular, com espaçamento ∆xi , i = 1, 2, . . . , N − 1 na horizontal e ∆zj , j = 1, 2, . . . , M − 1 na vertical. Os vértices definem os nós da malha. Então, o domı́nio dizcretizado é assim definido: j−1 i−1 p q Vi,j = (x, z) ∈ V ; x = (−1) ∆xi , z = (−1) ∆zj , i N, j M, p, q = ±1 . k=1 1 l=1 Todo o procedimento desta sub-secção fora adaptado de Lapidus e Pinder (1982) para um caso geral de espaçamentos quaisquer entre um nó e seus vizinhos; estes autores o fazem para um espaçamento constante nas duas direções, o que corresponde a uma malha quadrada. 10 Como as variáveis x, z deixam de ser contı́nuas para tornarem-se discretas, o mesmo acontece com a função U (x, z), que passa a ser Ui,j (xi , zj ). Representando por L o operador de Sturm-Liouville do problema elı́ptico2 , seja a solução discreta da equação de Poisson, LUi,j = −fij . (2.7) Acrescentando a direção z ao operador laplaceano unidimensional e escrevendo-o conforme a fórmula de diferenças dada pela equação (2.6), o problema de Poisson no caso discreto leva a um sistema de equações lineares na forma (Braess, 1992) αi,j Ui,j + αi+1,j Ui+1,j + αi,j+1 Ui,j+1 + αi−1,j Ui−1,j + αi,j−1 Ui,j−1 = −fi,j , (2.8) AU = F, (2.9) ou ainda em notação matricial. Numa grade de n elementos (n = N × M ), A é uma matriz quadrada n × n, a cujo respeito verificam-se as seguintes afirmações3 : 1. a matriz A depende exclusivamente da distribuição dos pontos da grade, tanto em seu interior quanto sobre o contorno de uma região R e de maneira nenhuma, de valores particuares sobre o contorno; 2. a matriz A é simétrica para toda região R; 3. a matriz A é não-singular; 4. os auto-valores λi da matriz A são simétricos; 5. a solução da equação (2.9) minimiza a forma quadrática Q= (Uk − Ul ) 4 5 onde os ı́ndices k e l representam pontos vizinhos em uma das direções, ou horizontal ou vertical. A equação matricial (2.9) pode ser resolvida por vários métodos, tanto diretos quanto iterativos. 2 v. equação (1.23) Milne (1970), pg. 204 a 207 4 cf. equações (1.4) e (1.7) 5 Do que decorre que A é uma matriz positiva definida, associada à forma quadrática S. 3 11 2.2 Algoritmo de diferenças finitas Apresenta-se aqui um procedimento bem genérico para a solução de um problema bidimensional pelo método das diferenças finitas: 1. escolha dos espaçamentos ∆xi e ∆yj (1 i N − 1 e 1 j M − 1 ) e construção do domı́nio discreto Vi,j ; 2. ordenação dos pontos do domı́nio, nomeadamente, os nós, de modo a representar suas cordenadas em ordem lexicográfica (xi , zj ), preferencialmente; 3. aplicação dos valores de contorno, previamente conhecidos: (i,j) Uu + αi,j Ui,j = βi,j para i = 1, N , j = 1, M , ou u = x ou u = z; 4. montagem da equação de diferenças (2.8) para cada ponto (xi , zj ); 5. utilização das equações montadas no passo anterior na organização do sistema de equações AU = F , cuja solução fornece uma aproximação da função U (x, z) no domı́nio Vi,j .A solução Ui,j é dita uma solução numérica da equação diferencial parcial. CAPÍTULO 3 Potencial Elétrico de uma Fonte Pontual Estacionária num Meio com Simetria Cilı́ndrica Apresenta-se aqui a solução por diferenças finitas deste problema usando uma formulação variacional (Medeiros, 1987) proposta por Dey e Morrison, 1979b. Medeiros ainda discute vantagens da solução por diferenças finitas sobre outros métodos numéricos, do uso da decomposição LU na solução do sistema de equações lineares e explica a diferença entre os processos de discretização por pontos e por área. Por isso, as mesmas serão aqui omitidas. 3.1 3.1.1 Formulação do problema discreto A equação diferencial Seja uma fonte pontual e estacionária de corrente elétrica em um semi-espaço heterogêneo e isotrópico x, y, z cuja distribuição de condutividades σ(x, y, z) é arbitrária no plano x, z, sem, contudo, variar na direção y (o que caracteriza a simetria cilı́ndrica do meio com eixo y). Sejam as equações de Maxwell1 ∇·E=γ, (3.1) ∇ · B = 0, (3.2) ∂H e ∂t ∂D , ∇×B=J+ ∂t ∇×E=− (3.3) (3.4) e as relações constitutivas J = σE , 1 (3.5) Preferiu-se trocar a notação da densidade volumétrica de cargas de ρ por γ para que esta não se confunda com a notação de resistividade. 12 13 nomeadamente, lei de Ohm, e D = E . (3.6) A estacionariedade da fonte anula o lado direito da equação (3.3), do que decorre que o campo elétrico é conservativo, podendo ser definido pelo gradiente de uma função potencial elétrico (Φ) (Stratton, 1941), E = −∇Φ . (3.7) A corrente elétrica é um movimento ordenado de cargas tal que, supondo-se um elemento de área normal ao seu vetor deslocamento, tem-se I= mas ∂q ; ∂t (3.8) J · dS ; (3.9) ∂q ∂t (3.10) I= S substituindo-se (3.9) em (3.8), tem-se J · dS = S A carga elétrica total é obtida pela integração da densidade volumétrica de carga em um volume: (3.11) q = γ dV . V Substituindo-se (3.11) em (3.10) vem que ∂ J · dS = γ dV , ∂t S V podendo o operador ∂/∂t passar ao integrando, tal que ∂γ J · dS = dV . ∂t S (3.13) V Do teorema da divergência tem-se J · dS = S (3.12) ∇ · J dV . V (3.14) 14 Assim, substituindo-se o primeiro membro de (3.13) pelo segundo membro de (3.14) , tem-se ∂γ ∇ · J dV = dV , (3.15) ∂t V V o que implica em ∇·J= ∂γ , ∂t (3.16) qual seja, a equação da continuidade. Substituindo-se (3.7) em (3.5), obtém-se ∇ · [σ(x, y, z)∇Φ(x, y, z)] = ∂γ δ(xs )δ(ys )δ(zs ) , ∂t (3.17) usando o sistema de coordenadas cartesianas x, y, z, onde δ(xs )δ(ys )δ(zs ) representa a distribuição espacial da fonte e δ é a função delta de Dirac. Como a condutividade não varia na direção y, a função σ(x, y, z) = σ(x, z), de modo que a equação (3.17) torna-se ∇ · [σ(x, z)∇Φ(x, y, z)] = ∂γ δ(xs )δ(ys )δ(zs ) . ∂t (3.18) O potencial Φ(x, y, z), solução da equação (3.18), deve obedecer às seguintes condições de contorno: 1. continuidade através de cada superfı́cie de descontinuidade de propriedade fı́sica σ(x, z); e 2. continuidade do componente normal do vetor densidade de corrente J através das mesmas interfaces. 3.1.2 A equação da continuidade no domı́nio da freqüência Métodos de transformadas integrais são, por vezes, empregados na solução de equações diferenciais parciais, tais como as transformadas de Fourier, Laplace, Hankel e Mellin, entre outras (Dettman). A aplicação da transformada de Fourier da equação 3.18 nas variáveis espaciais, em especial, é conveniente quando estas variam num intervalo infinito. A simetria do meio na direção y torna o potencial elétrico Φ uma função par, logo, sua transformada direta nesta direção reduz-se à transformada cosseno, qual seja, +∞ 2 F (k) = √ f (r) cos(rk) dr . (3.19) 2π 0 Sua aplicação na direção y à equação (3.18) resulta em ∂γ 2 ∇ · σ(x, z)∇Φ̃(x, ky , z) + ky σ(x, z)Φ̃(x, ky , z) = δ(xs )δ(zs ) , ∂t onde Φ̃ é a solução do problema no domı́nio x, ky , z. (3.20) 15 3.1.3 As condições de contorno na borda S da região V Visto que o problema deve ser resolvido no domı́nio de Fourier na direção y, as condições de contorno, portanto, devem ser neste enunciadas. Na borda superior (z = 0, j = 1), que corresponde à interface terra-ar, a natureza fı́sica do problema requer a aplicação da condição de Neumann devido à nulidade da condutividade do ar; logo, em z = 0, σi,j ∂ Φ̃i,j = 0. ∂n (3.21) tal que i = 1, 2, . . . , N e j = 1. Um modelo discretizado tem que ser finito, caso contrário o método das diferenças finitas seria inviável, pois calcular-se-ı́am os potenciais Φ̃i,j ad infinitum. Outrossim, os contornos laterais e inferiores precisam estar a uma distância tal que a distribuição do potencial elétrico seja conhecida. Para tal, esses três segmentos do contorno S têm sua “infinidade” simulada por uma expansão da malha para longe o bastante da fonte de corrente e das heterogeneidades de condutividade a fim de obter-se neles um comportamento aproximadamente assintótico do potencial elétrico e, sobretudo, conhecido, embora a uma distância finita. A esse respeito, vale a pena citar Dey e Morrison (1979b). “The boundary values along these ‘infinitely’ edges can be specified from known solutions of the background homogeneous or layered primary distribution of conductivity. Inhomogeneities are viewed as perturbations over this distribuition.”2 Em seu trabalho, esses autores empregaram a solução para o meio homogêneo na fronteira, a saber, Φ̃(x, ky , z) = A K0 (ky r) , √ onde A é uma constante, r = x2 + z 2 é a distância radial da fonte, ky , o número de onda espacial na direção y e K0 , a função modificada de Bessel de segunda espécie e ordem 0. É justamente nesse ponto que este trabalho propõe uma modificação, dando inclusive uma contribuição original, ainda que já prevista por aqueles autores. Sejam os segmentos x = ±∞ e z = ∞ os contornos laterais (i = 1 e i = N ) e inferior (j = M ), respectivamente. Supondo que nesses segmentos o semi-espaço inferior é horizontalmente estratificado, o potencial elétrico no domı́nio (x, ky , z) é dado por I Φ̃ = √ π 2π σm 2 0 ∞ ν(u, ky ) e−(u Dey e Morrison, 1979b, p. 112. 2 +k 2 )1/2 ∆z y cos(xu) du + 1/2 ξ(ky ) K0 {ky (∆z)2 + x2 }, (3.22) 16 onde I é a corrente elétrica, σm é a condutividade da camada m que contém a fonte e ξ(λ) é uma expressão de recorrência própria da solução do problema de camadas, ν(u, ky ) = ξ(u) − ξ(ky ) , u2 = λ2 − ky2 , λ é a constante de separação da equação de Bessel para o problema, ∆z = |zf − z|, zf é a profundidade da fonte e z, o ponto de observação. Este resultado provém da aplicação da transformada direta de Fourier na direção y à solução proposta por Sato (2000) para um meio de camadas cujas resistividades variam exponencialmente com a profundidade, obviamente feito o expoente igual a 0. O apêndice 1 trata da dedução completa da equação (3.22). A discretização de um domı́nio para a solução de um problema de contorno por diferenças finitas implica a separação dos elementos da malha de propriedade fı́sica na direção ou vertical ou horizontal. Assim, duas células sobrepostas estão necessariamente separadas por uma interface horizontal que, longe da fonte, pode ser considerada um segmento de um semi-espaço com estratos plano-paralelos. A hipótese da verissimilitude dessa suposição é que justifica a escolha da solução do modelo de camadas na fronteira, acerca de cujos resultados tratar-se-á no capı́tulo 5. Quanto ao tipo da condição de contorno usada nas bordas laterais e inferior, são três as possibilidades: condição de Dirichlet, condição de Neumann ou condição mista ou de Robbins. Segundo Dey e Morrison (1979b), a primeira causa uma subestimativa do potencial elétrico, enquanto a segunda resulta na sobrestimativa daquele, sobre o que cita Coggon (1971). Por isso Dey e Morrison (1979b) propõem o emprego da terceira, β ∂ Φ̃ + α Φ̃ = ψ(x, z) , ∂n (3.23) tirando proveito do comportamento assintótico do potencial Φ̃ e dos componentes normais do campo elétrico ∂ Φ̃/∂n, onde n corresponde às direções x e z. Assim, ∞ ∂ Φ̃ I 2 2 1/2 −u ν(u, ky ) e−(u +ky ) ∆z sen(xu) du − = √ ∂x π 2π σm 0 1 /2 x ky ξ(ky ) e (3.24) K ky (∆z)2 + x2 1/2 1 2 2 [(∆z) + x ] ∂ Φ̃ I = √ ∂z π 2π σm ∞ 0 ∞ 0 2 2 1/2 e−(u +ky ) ∆z ∂ξ cos(xu) du − (u2 + ky2 )1/2 ∂z ν(u, ky ) (u2 + ky2 ) e−(u 2 +k 2 )1/2 (∆z) y (∆z) ky H(ky ) [(∆z)2 + x2 ]1/2 cos(xu) du − K1 ky (∆z)2 + x 1 2 /2 . (3.25) 17 Nas equações (3.24) e (3.24) K1 é a função modificada de Bessel de segunda espécie e ordem 1. Segundo aqueles autores, “a condição de contorno mista tira vantagem do comportamento fı́sico do potencial nas bordas e não requer a suposição a priori da natureza das funções Φ̃ e ∂ Φ̃/∂n, que devem ser calculadas em termos de modelos primários”, além de permitir a redução do modelo e prover a eliminação das reflexões devidas às fontes virtuais ao longo dos nós sobre o contorno S. Para o cálculo dos potenciais sobre as bordas, a fonte é colocada no centro da malha, na superfı́cie, o que permite que os coeficientes αi,j sejam calculados apenas uma vez em cada freqüência, e não em número igual ao de sondagens. Esta aproximação produz um erro inferior a 5 % , em relação à solução analı́tica com o modelo homogêneo (Dey e Morrison, 1979b). A simulação de infinito é feita com a expansão dos 4 últimos espaçamentos em cada direção, de maneira que os cinco últimos nós estão a distâncias crescentes. Os afastamentos são calculados da seguinte forma: i ∆xi = ∆xi −1 · k , i ∆zj = ∆zj −1 · k , de i = M − 5, M − 4, . . . , M e j = N − 3, . . . , j = N , nas bordas direita e inferior, e ∆x5 −i = ∆x5 · k 5 −i , de i = 4, . . . , 1, na borda esquerda. 3.2 A solução numérica por diferenças finitas A solução do problema prescinde da discretização do semi-espaço com distribuição bidimensional de condutividade elétrica, com o eixo y de simetria, conforme a secção 3.1. Para tal, lança-se uma grade retangular cujos vértices são indexados por i, j (i = 1, 2, . . . , N representa os pontos na horizontal e j = 1, 2, . . . , M , pontos na vertical), nos quais serão calculados os potenciais Φ̃i,j . A malha de propriedade fı́sica, por sua vez, compõe-se do retângulo limitado pelos vértices (i, j), (i + 1, j), (i, j + 1), (i + 1, j + 1), ao qual é atribuı́da a conditividade σi,j . 3.2.1 Equação de diferenças finitas usando discretização por área A área de cada célula é dada por ∆Ai,j = (∆xi + ∆xi−1 )(∆zj + ∆zj−1 ) 4 (3.26) 18 sendo que nos nós sobre a superfı́cie (z = 0) ∆Ai,j = (∆xi + ∆xi−1 ) · ∆zj . 4 (3.27) A formulação variacional do problema consiste na integração da equação (3.20) na região ∆Ai,j , obtendo-se 2 − ∇ · σ(x, z)∇Φ̃(x, ky , z) dA + ky σ(x, z)Φ̃(x, ky , z) dA = ∆Ai,j ∆Ai,j ∆Ai,j ∂γ δ(xs )δ(zs ) dA . ∂t (3.28) Dado que Q̃ = tem-se − I , 2∆Ai,j (3.29) 2 2 ∇ · σ(x, z)∇Φ̃(x, ky , z) dA + ky σ(x, z)Φ̃(x, ky , z) dA = ∆Ai,j (3.30) ∆Ai,j I δ(xs )δ(zs ) dA; 2 (3.31) do teorema de Green, ∇ · (σ∇Φ̃) dA = ∆Ai,j σ Li,j ∂ Φ̃ dl , ∂n (3.32) logo ∇ · (σi,j ∇Φ̃i,j ) dA = ∆Ai,j σi,j Li,j ∂ Φ̃i,j dl . ∂n onde Li,j é o contorno da região Ai,j , como mostra a figura 3.1. (3.33) 19 i,j-1 viii i d i-1, j vii vi i,j b a i+1,j iii c v ii iv i,j+1 Figura 3.1: Elemento de área discretizado ∆Ai,j . Neste ponto procede-se a aproximação de diferenças finitas desenvolvendo-se os dois termos do primeiro membro nas suas respectivas fómulas de diferenças. Para tanto, a integral ao longo de Li,j é subdividido em oito segmentos. Assim, σ Φ̃ ∂ Φ̃ ∆x Φ̃ − Φ̃i,j ∆z − Φ̃i,j σ σi,j i,j dl = i,j−1 i i,j−1 + i,j−1 i,j−1 i+1,j + ∂n 2 ∆zj−1 2 ∆xi Li,j σi,j ∆zj Φ̃i+1,j − Φ̃i,j − Φ̃i,j σ ∆x Φ̃ + i,j i i,j+1 2 ∆xi 2 ∆zj + (3.34) σ σi−1,j ∆xi−1 Φ̃i,j+1 − Φ̃i,j ∆z Φ̃ − Φ̃i,j + i−1,j j i−1,j + 2 ∆zj 2 ∆xi−1 σi−1,j−1 ∆zj−1 Φ̃i−1,j − Φ̃i,j σ Φ̃ ∆z − Φ̃i,j + i−1,j−1 i−1 i,j−1 2 ∆xi−1 2 ∆zj−1 Tem-se, pois, a implementação direta para o caso discreto das condições de contorno dadas pela equação (3.23) na equação (3.34). Por procedimento similar, obtém-se o segundo termo do primeiro membro: σi−1,j−1 ∆xi−1 ∆zj−1 σi,j−1 ∆xi ∆zj−1 2 2 + + ky σi,j Φ̃i,j dxi dzj = ky Φ̃i,j 4 4 Ai,j σi,j ∆xi ∆zj ∆x ∆z σ + i−1,j i−1 j 4 4 (3.35) ≡ A(σi,j , Ai,j ) Φ̃i,j Substituindo-se as fórmulas de diferenças (3.34) e (3.35) na equação (3.30), obtém-se para cada nó interior (i, j), os coeficientes de acoplamento entre os nós (i, j) e (i − 1, j), σi−1,j ∆zj + σi−1,j ∆zj−1 ij CE = − , (3.36) 2∆xi−1 20 entre os nós (i, j) e (i + 1, j), i,j CD ∆z + σi,j ∆zj σ = − i,j−1 j−1 2∆xi , (3.37) entre os nós (i, j) e (i, j − 1), ∆x + σi−1,j−1 ∆xi−1 σ CS = − i,j−1 i 2∆zj−1 ij , (3.38) e (3.39) entre os nós (i, j) e (i, j + 1), i,j CI σ ∆x + σi−1,j + ∆xi−1 = − i,j i 2∆zj o coeficiente de auto-acoplamento do nó (i, j), i,j i,j ij ij i,j CA = − CE + CD + CS + CI − A(σi,j , Ai,j ) , (3.40) tais que I i,j ij ij i,j i,j CE Φ̃i−1,j + CD Φ̃i+1,j + CS Φ̃i,j−1 + CI Φ̃i,j+1 + CA Φ̃i,j = δ(xs )δ(zs ) 2 (3.41) A equação auto-adjunta (3.41) mostra que o potencial Φ̃i,j depende apenas dos potenciais dos nós adjacentes, que são funções da geometria e da distribuição de propriedade fı́sica no domı́nio V . Aplicam-se as condições de contorno fazendo-se α = 0, β = σi,j e ψ(x, z) = 0, em z = 0. Nas bordas laterais e inferior da grade, α=− 1 ∂ Φ̃ , Φ̃ ∂n ∂ Φ̃ com Φ̃ dado pela equação (3.22) e por (3.24) para a direção x e por (3.25) para a direção ∂n z. As equações de diferenças para os nós sobre o contorno estão desenvolvidas no apêndice 2. 3.2.2 Formulação matricial Para uma grade de N ×M pontos, a equação (3.41) torna-se um sistema de equações lineares que, escrito na forma matricial, torna-se CΦ̃ = S (3.42) onde C é uma matriz quadrada de ordem M × N , chamada matriz de capacitâncias. Seus elementos são função da geometria e da distribuição de propriedade fı́sica, nomeadamente, 21 condutividade elétrica. A solução do problema provém da inversão da matriz de capacitâncias, ou seja, −1 Φ̃ = C S . (3.43) A matriz C tem estrutura bloco-diagonal, esparsa, bandeada, além de simétrica e positivadefinida e apresenta as seguintes propriedades: 1. C 2. C i,i i,i >0; M N j=1 i,i |C |, i = 1, 2, . . . , M N e i = j , ou seja, é diagonal-dominante; 3. é irredutı́vel e fortemente conecta; 4. tem a propriedade A de Young. Entre as várias possı́veis técnicas de inversão, prefeririu-se a decomposição de Cholesky, exaustivamente discutida por Dey e Morrison, 1979b e Medeiros, 1987. 3.2.3 A transformada inversa de Fourier do potencial elétrico O potencial elétrico no domı́nio (x, y, z) é obtido por uma transformada inversa de Fourier em ky , aplicada aos potenciais Φ̃i,j . A transformada inversa é calculada numericamente, para um número finito de valores de ky ajustando-se um envelope exponencial à função Φ̃(ky ) a cada intervalo ky1 ky ky2 . Assim, a transformada inversa é dada por ky2 e ky1 −aky ky 2 e cos(bky ) dky = 2 2 · b sen(bky ) − a cos(bky ) a +b ak y cujos resultados parciais são somados, resultando no potencial Φi,j . ky1 (3.44) CAPÍTULO 4 O Método da Resistividade 4.1 Origem do método Os primeiros estudos sobre a viabilidade de um método sensı́vel à resistividade das rochas foram realizados em 1911 por Conrad Schlumberger, engenheiro de minas e então professor de fı́sica da École des Mines, em Paris (Allaud e Martin, 1977). Examinando amostras de minérios, Conrad ratificou resultados anteriores de que a condutividade elétrica era um parâmetro mais adequado que a densidade e a permeabilidade magnética à distinção entre um corpo mineralizado e a sua rocha encaixante. Este resultado foi também estendido a formações sedimentares, especialmente areias argilosas de depósitos aluviais recentes. Em experimentos com sedimentos, misturas de areia e argila, saturadas por soluções salinas a diferentes concentrações, eram percorridas a uma corrente elétrica, entre os eletrodos A e B e, com um par de eletrodos de potencial, M e N , ligados a um fone de ouvido, eram identificadas as linhas eqüipotencias. Os primeiros testes de campo foram realizados entre 1912 e 1913 durante o experimento de Val-Richter, com a substituição da fonte de audiofreqüência pela de corrente contı́nua e do fone-de-ouvido por um galvanômetro. Também, os eletrodos de potencial tiveram de ser não-polarizáveis, em lugar dos antigos, de cobre, em virtude da estacionariedade da fonte. O experimento consistiu da instalação dos dois eletrodos de corrente, sendo A local e B remoto1 e os pontos eqüipotencias eram identificados pela varredurra de posições ao entorno de A com os eletrodos M e N ; a partir dos pontos, traçavam-se linhas eqüipotenciais2 . Ao experimento de Val-Richter, seguiram-se muitos outros que resultaram no registro de várias patentes. Em 1915, o fı́sico Frank Wenner, do U.S. Bureau of Standarts, anuncia o desenvolvimento de um arranjo com seu nome (Allaud e Martin, 1977). Em 1920, Conrad publica seu primeiro trabalho, intitulado Étude sur la Prospection 1 i.e., a uma grande distância, referida como infinito, de maneira a não influir na distribuição das linhas eqüipotencias ao redor de A. 2 v. Allaud e Martin, 1977, pp. 22 e 23, experimento de Val-Richter. 22 23 Életrique du Sours-sol 3 , descrevendo seus métodos e resultados. Nesse trabalho é introduzido o conceito de resistividade aparente como parâmetro de referência, igual à razão entre a diferença de potencial, medida entre os eletrodos M e N , e a intensidade de corrente emitida multiplicada por um fator, função da separação entre os 4 eletrodos. Além do cálculo simples, a resistividade aparente “ reflete um valor médio, dependendo das resistividade e da distribuição espacial das várias formações dentro do volume total da subsuperfı́cie medida”. 4 4.2 O conceito de resistividade aparente Resistividade aparente é a resistividade de um meio homogêneo eqüivalente a outro, a priori, heterogêneo, em um ponto de medida desta grandeza. 4.2.1 Formulação do problema elétrico estacionário para um meio homogêneo Seja uma fonte pontual de corrente contı́nua localizada no seio dum semi-espaço homogêneo e isotrópico, com resistividade ρ. Sejam novamente aplicadas as equações de Maxwell (3.1 a 3.4), as relações constitutivas (3.5) e (3.6) e a equação (3.7). Substituindo-se a equação (3.7) na (3.1) obtém-se a equação de Poisson, 2 ∇ Φ = −γ , (4.1) que reduz-se à equação de Laplace, 2 ∇ Φ = 0, (4.2) se o domı́nio não contiver a fonte. Supondo este último caso, o desenvolvimento do operador laplaceano em coordenadas esféricas resulta em d 2 dΦ r =0 (4.3) dr dr pois a homogeneidade e isotropia do meio provêem um campo elétrico sem variação polar nem azimutal, mas apenas radial (Keller e Frischnecht, 1966). Assim, o potencial elétrico pode ser obtido diretamente de uma integração, tal que Φ= 3 4 Gauthier-Villars et Cie, Paris, 1920. ibid. p. 38. C +D. r (4.4) 24 A definição das constantes C e D dependendem da aplicação das condições de contorno, quais sejam, Φ|r=∞ = 0 (i) (i+1) Jn = J n (4.5) , (i) (i+1) (i) (i+1) En = En Et = Et (4.6) , (4.7) , (4.8) onde o ı́ndice n simboliza o componente normal e t, o tangencial. A primeira condição 4.5 resulta em D = 0 e o potencial é Φ= C . r (4.9) Aplicando-se o operador gradiente à equação (4.9): ∇Φ = − C , r2 o que implica em C . r2 Multiplicando-se ambos os membors por σ obtém-se J, E= J=σ C , r2 de maneira que a corrente elétrica é obtida por sua integração numa superfı́cie esférica, como se segue: C 2 J · dS ≡ I = σ 2 · 4πr . (4.10) r S Separando a constante C, reescreve-se 4.10 como C=ρ I . 4π (4.11) Φ=ρ I 1 4π r (4.12) Finalmente, o potencial é dado por Como trata-se aqui de um caso linear, qual seja, sem interação entre as fontes, vale o princı́pio da superposição, tal que, para p fontes, Φ= p i=i Φi 25 donde resulta que p Φ= Iρ 1 . 4π i=i ri (4.13) Agora, se o meio for heterogêneo, ao invés de homogêneo, o mesmo não poderá ser descrito por uma única resistividade, mas por uma distribuição espacial de resistividade que se deseja conhecer. Portanto, a cada ponto de medida, o potencial elétrico estará, pela equação (4.13), associado a uma resistividade não mais verdadeira, chamada então de resistividade aparente, dada por ρa = K Φ , I (4.14) onde K = 4π n ri (4.15) i=i e é denominado fator geométrico. Para o caso de fonte na superfı́cie, o desenvolvimento é o mesmo (Telford, Geldart, Sheriff e Keys, 1976), a menos da superfı́cie gaussiana de integração da densidade superficial de corrente J, qual seja, um hemisfério. Assim, a resistividade aparente para fonte na superfı́cie é metade daquela para fonte no interior do semi-espaço. 4.2.2 Fator geométrico de arranjo de 4 eletrodos Na prática, o potencial da equação (4.14) é substituı́do por uma diferença de potencial ∆V = VM − VN medida entre os pontos M e N 5 . Também são usados dois eletrodos de corrente: uma fonte e um sorvedouro, representados pelos pontos A e B, respectivamente. Assim, o fator geométrico para quatro eletrodos é dado por K= 4π , 1 1 1 1 − − + AM BM AN BN (4.16) lembrando que, para eletrodos na superfı́cie, o fator geométrico vale K= 5 2π , 1 1 1 1 − − + AM BM AN BN Não confundir estes, sı́mbolos dos eletrodos de potencial, com as dimensões M × N da grade (4.17) 26 4.3 Arranjos colineares de 4 eletrodos Os levantamentos com arranjos colineares são, via de regra, executados com eletrodos na superfı́cie, embora o soterramento ou a submersão dos eletrodos seja útil nalgumas circunstâncias (Alfano, 1962) e venha sendo investigado por alguns autores (Baumgartner, 1996; de Souza, 1997; Sato e de Oliveira, 1999). 4.3.1 Arranjo Wenner É um arranjo centrado de eletrodos, no qual a diferença de potencial é medida em torno de um ponto central. Os valores medidos de resistividade aparente são atribuı́dos a pontos sobre uma semi-reta vertical a partir do ponto central, sendo portanto uma técnica de sondagem. Os eletrodos A, M, N e B são espaçados de uma distância a, nesta ordem, da esquerda para direita. Substituindo-se AM e BN por a e AN e BM por 2a na equação (4.17) obtém-se o fator geométrico do arranjo Wenner, K = 2πa. (4.18) O arranjo Wenner inconvenientes tanto teóricos como para os procedimentos de campo, visto que para cada medida, os quatro eletrodos precisam ser deslocados, tornando o levantamento laborioso e mais susceptı́vel aos efeitos de variações laterais de resistividade. A representação gráfica dos dados é feita pela marcação dos valores de resistividade aparente contra a abertura AB/2 ou a corespondente num gráfico em escala bilogaritmica. A figura 4.1 mostra a disposição dos eletrodos no arranjo Wenner e a representação dos dados em pseudo-secção, no caso de sondagens colineares, técnica também conhecida como caminhamento elétrico. ∆V a A a B a M N z=a Figura 4.1: Geometria e representação em pseudo-secção dos dados de resistividade aparente com o arranjo Wenner. 27 4.3.2 Arranjo Schlumberger É também um arranjo centrado para sondagem elétrica em que os eletrodos de potencial distam cerca de 10 vezes menos que os de corrente, de maneira a medir, aproximadamente, o gradiente de potencial no centro do par. Assim como o arranjo Wenner, os eletrodos são dispostos linearmente simétricos em relação a um ponto central. Sobre o Wenner, apresenta a vantagem de serem mantidos fixos os eletrodos de potencial, o que torna o levantamento menos laborioso e, os dados, menos sensı́veis a variações laterais de resistividade. Idealmente, o arranjo Schlumberger fora concebido para medir o campo elétrico, o que implica o desprezo da separação dos eletrodos de potencial. Assim, o arranjo Schlumberger real, que considera a diferença de potencial, tem como fator geométrico 2 a b K=π − , (4.19) b 4 onde a = AB/2 e b = M N , enquanto, para o arranjo ideal, 2 a K=π . b (4.20) A representação dos dados de resistividade aparente numa sondagem de resistividade é idêntica à do arranjo Wenner, quer em curvas de resistividade aparente - neste caso, ρa ¯ contra AB/2 - quer em pseudo-secções em caso de caminhamento elétrico, como mostra a figura 4.2. a ∆V b A B M N z=AB/2 Figura 4.2: Geometria e representação em pseudo-secção dos dados de resistividade aparente com o arranjo Schlumberger. 4.3.3 Arranjo dipolo-dipolo Distintamente dos anteriores, o arranjo dipolo-dipolo não é centrado, mas consiste da disposição consecutiva dos dois pares de eletrodos. Presta-se à sondagem e perfilagem e seus 28 dados podem ser representados tanto em curvas de resistividade aparente em função do afastamento dos dipolos como em pseudo-secções, nas quais a resistividade aparente é atribuı́da ao ponto sobre o terceiro vértice do triângulo retângulo isósceles, cujos catetos interceptam o ponto médio da separação de cada par de eletrodos. Para um espaçamento a em cada par de eletrodos, com seus pontos médios separados por uma distância 2na (n = 1, 2, 3, . . . ) 6 , o fator geométrico do arranjo dipolo-dipolo é K = πna(n + 1)(n − 1) . (4.21) A figura 4.3 mostra aquissição e representação dos dados de resistividade aparente com o arranjo dipolo-dipolo. ∆V a A a na B M N n=1 n=2 n=3 n=4 Figura 4.3: Geometria e representação em pseudo-secção dos dados de resistividade aparente com o arranjo dipolo-dipolo. 4.4 Modelagem por diferenças finitas de dados de resistividade aparente Para a economia de tempo na modelagem, o algoritmo aplica o princı́pio da reciprocidade, invertendo as posições fontes e receptores. Assim, cátodo e ânodo são posicionados em dois nós consecutivos e os potenciais em todos os outros da superfı́cie são armazenados. Em seguida, calcula-se a diferença entre cada dois pontos diametralmente opostos ao ponto médio da distância entre as fontes, cujo resultado é substituı́do na equação (4.14), no caso do arranjo Schlumberger. O número de pontos da grade está diretamente relacionado ao tempo de computação. Quanto ao intervalo entre os nós, não precisam ser mais finos do que permite o limite de 6 Não confundir este n com os utilizados nos capı́tulos anteriores. Preferiu-se aqui a conforminade de notação com os livros-texto de geofı́sica aplicada, como (Telford et al., 1976) e (Keller e Frischnecht, 1966), entre outros. 29 resolução inerente próprio método da resistividade, o que possibilita uma discretização bem esparsa do semi-espaço (Mufti, 1976). Também, as interfaces podem ser suaves, ao contrário do que se possa crer intuitivamente devido ao formato da células; deve-se apenas cuidar para que os intervalos da grade sejam tais que as várias interfaces passem tão próximas quanto possı́vel do meio de cada célula7 . 7 idem. CAPÍTULO 5 Resultados e Discussão 5.1 Parametrização da modelagem O programa de modelagem utilizado neste trabalho é uma modificação da versão de Medeiros (1987) no apenas quanto ao cálculo do potencial e suas derivadas normais nos bordos laterais e inferior, incluindo os vértices esquerdo e direito inferiores. O módulo para entrada dos dados foi transferido para uma subrrotina, a fim de limitar as intervenções no programafonte, como a versão original do programa requeria (Medeiros, 1987). No entanto, a ordem e os parâmetros de entrada permaneceram os mesmos. Também os seu valores foram mantidos, evitando uma escolha inicial arbitrária para os mesmos. Abaixo, a lista de parâmetros e seus respectivos valores: 1. número de nós na direção vertical: igual a 18, sendo este um vetor contendo as profundidades dos nós da grade, a saber, 0,1, 2,5, 5, 7, 10, 15, 20, 30, 40, 50, 60, 80, 100, 120, 0, 0, 0 (em metros) ; as três últimas são substituı́das pelos valores calculados para a expansão da grade que simula o infinito; 2. número de nós na direção na horizontal: igual a 185, dos quais 10 estão irregularmente espaçados devido à expansão da grade nas bordas laterais, tal que os nós de ı́ndice 5 a 181 limitam a região de espaçamento horizontal regular;1 3. distância horizontal entre dois nós consecutivos igual a 5 m; 4. fator de aumento nos bordos laterais: igual a 2,529, valor estabelecido empiricamente por Medeiros (1987), modificado apenas nos experimentos que testam o efeito da proximidade das bordas laterais para os casos de solução dos meios homogêneo e estratificado nas bordas; 5. fator de aumento no bordo inferior igual a 2,215 (Medeiros, 1987); 6. fator de escala: igual a 1; 7. arranjo Schlumberger, em todos os experimentos; 1 Modificada no último experimento. 30 31 8. ı́ndice i na direção horizontal, da primeira posição do cátodo (o ânodo é posicionado no nó seguinte) igual a 10; 9. ı́ndice i na direção horizontal, da última posição do cátodo igual a 175 ; 10. incremento da posição do cátodo igual a 1, de modo que em todos os nós entre 5 e 175 é feita uma modelagem, o que implica em centros de sondagens (posicionados entre cátodo e ânodo) a cada 5 m ; 11. número de pontos por estação: igual a 30, tal que os valores de AB/2 estão entre 7,5 e 152,5, espaçados de 5 m; 12. todos os experimentos foram feitos nos dois casos de modelo na fronteira: meio homogêneo e meio estratificado. A origem do sistema de coordenadas cartesianas jaz no primeiro nó da região de espaçamento regular, no nó de ı́ndices i = 5 e j = 0, lembrando que o ı́ndice j refere-se à posição vertical e i, à horizontal. Também as freqüências ky foram as mesmas determinadas −1 por Medeiros (1987): 0,001, 0,002, 0,004, 0,008, 0,15, 0,03, 0,06, 0,09, 0,12, e 0,15 m . 5.2 Apresentação e avaliação dos resultados Foram realizados experimentos com 4 modelos, dos quais dois são de camadas horizontais. Em cada um são apresentados o modelo de resistividades, as pseudo-secções de resistividade aparente para os dois casos de solução na fronteira e, a fim de comparação entre os dois resultados, apresentam-se aqui pseudo-secções dos desvios percentuais ε das resistividades aparentes com modelo de camadas na fronteira ρc , relativos às mesmas para o caso de modelo homogêneo ρh , tal que ρc ε = 100 × −1 . (5.1) ρh No caso do modelo de camadas, os valores de ρc são também comparados com as resistividade aparentes dadas pela solução analı́tica, denotada ρa , em cujo caso, o desvio é definido analogamente como ρc εa = 100 × −1 . (5.2) ρa 32 5.3 Experimentos com a geometria da grade fixa: o efeito do modelo geológico 5.3.1 O modelo de camadas horizontais Para um modelo de 6 camadas horizontais com resistividades ρ1 = 50 Ω·m, ρ2 = 500 Ω·m, ρ3 = 200 Ω·m, ρ4 = 50 Ω·m, ρ5 = 150 Ω·m, ρ6 = 400 Ω·m e espessuras h1 = 1 m e h2 = 9 m, h3 = 20 m, h4 = 10 m e h5 = 20 m como ilustra a figura 5.1a. A figuras 5.1b e 5.1c mostram as pseudo-secções de resistividade aparente para os casos de solução com contornos laterais de camadas e homogêneo respectivamente. São pseudosecções praricamente idênticas, considerando o intervalo de contorno de 50 Ω·m, que corresponde a aproximadamente 11% entre os valores de contorno mı́nimo e máximo (50 e 500 Ω·m). Observa-se em ambas o efeito da proximidade das bordas, que provoca uma ligeira curvatura das linhas de contorno naquela vizinhança. Há, porém, diferenças mensuráveis entre os valores de resistividades aparentes das pseudo-secções, como mostra a pseudo-secção dos desvios percentuais entre o modelo de camadas relativos à da fronteira homogênea da figura 5.2. Os desvios encontrados (ε) variam entre 0 e 0,05 %, faixa esta que não implica qualquer melhora com a incorporação da solução do modelo de camadas na fronteira. Entretanto, a distribuição espacial dos valores de ε mostra comportamentos distintos entre as duas modelagens, dado o crescimento dos desvios com o aumento da abertura dos eletrodos de corrente, causado por um aumento de ρc relativo a ρh . As duas pseudo-secções de desvio percentual relativo à modelagem com a solução analı́tica, εa , por sua vez, comportam-se idêntica e indiscriminavelmente, como mostram as figuras 5.2b e 5.2c. Em ambas verifica-se uma estreita faixa que acompanha os limites laterais das pseudo-secções, onde atinge a faixa de −2 a −3 %. O uso de faixa de desvios e intervalo de contorno menores permitiria esclarecer o comportamento de cada uma delas, contudo, a ordem de grandeza da diferença não justifica tal aprofundamento. Além do mais, deve-se considerar que a solução do meio heterogêneo foi apenas parcialmente incorporada à condição de contorno, cujas implicações são desconhecidas. A respeito da proximidade dos valores de resistividade aparente obtidos nos dois casos, uma explicação está no posicionamento das fontes no centro da grade, e não em cada posição de sondagem. Esse procedimento implicaria em considerável aumento do custo computacional da modelagem devido ao cálculo dos potenciais Φ̃i,j sobre os contornos laterais e inferior para cada posição de sondagem. Isso, se implementado para este experimento, faria com que os potenciais φ̃i,j fossem calculados 176 vezes, em vez de uma, para cada freqüência, como estabelece o algoritmo. Embora pareça uma aproximação grosseira à primeira vista, a mesma não permite que o erro chegue sequer a atingir a faixa de ±4 a ±5 %, o que justifica plenamente o seu uso e elimina esta possı́vel impressão. Uma outra razão, esta de 33 natureza fı́sica, está na dipolaridade do arranjo, o que concentra as linhas de corrente entre os eletrodos, diminuindo a importância do modelo na fronteira. Em razão da natureza indireta dos métodos geofı́sicos de investigação, e, particularmente, do limite de resolução inerente ao método da resistividade, desvios entre −5 e +5% são já esperados e plenamente aceitáveis e satisfatórios para fins de exploração geofı́sica e locação de furos, salvo em outras aplicações como investigações arqueológicas, perı́cia criminal, ensaios não-destrutivos de estruturas em concreto, entre outras, em que o objeto da investigação não é geológico. 34 0 150 300 x (m) 450 600 750 900 0 Ohm.m 25 500 z (m) 50 400 75 200 100 150 125 50 150 (a) 0 150 300 x (m) 450 600 0 900 200 250 300 25 AB / 2 (m) 750 (ohm.m) 500 300 300 450 250 50 400 200 350 75 300 250 100 200 125 150 100 150 (b) 50 0 150 300 x (m) 450 0 AB / 2 (m) 25 50 600 750 200 250 300 300 300 250 100 (ohm.m) 500 450 400 200 75 900 350 300 250 200 125 150 100 (c) 150 50 Figura 5.1: a) Modelo de resistividades com 6 camadas horizontais. b) Pseudosecção de resistividade aparente com a solução do modelo de camadas na fronteira. c) Idem, solução do modelo homogêneo na fronteira. 35 0 150 300 x (m) 450 0 600 750 900 Contorno em ohm. ε AB / 2 (m) 25 50 75 100 125 150 (a) 0 150 300 x (m) 450 600 750 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 900 0 εa AB / 2 (m) 25 5 4 3 50 2 1 0 75 -1 -2 100 -3 -4 125 (b) -5 0 150 300 x (m) 450 600 750 900 0 εa AB / 2 (m) 25 5 4 3 50 2 1 75 0 -1 100 -2 -3 -4 (c) 125 -5 Figura 5.2: Pseudo-secções do desvios percentuais relativos entre resistividades aparentes de: a) modelagem com solução do meio de camadas e homogêneo na fronteira; b)modelagem com solução do meio de camadas na fronteira e solução analı́tica; c) modelagem com solução do meio homogêneo na fronteira e solução analı́tica. 36 5.3.2 Contato vertical entre bloco homogêneo e seqüência de camadas horizontais A figura 5.3a ilustra o modelo de resistividade, que consta de um bloco homogêneo com ρb = 500 Ω · m, separado por um contato vertical em x = 420 m de uma seqüência de camadas horizontais com resistividade ρ1 = 400Ω·m, ρ2 = 100Ω·m, ρ3 = 200 Ω·m e ρ4 = 50 Ω·m, e espessuras h1 = 10 m, h2 = 20m e h3 = 50m. Os resultados das duas modelagens, apresentados na figuras 5.4a e 5.4b, só podem ser comparados entre si, haja vista a indisponibilidade na literatura de uma solução especı́fica para este problema. A pseudo-secção dos desvios ε, na figura 5.3b, mostra que os resultados são praticamente idênticos, visto que o mesmo varia de −0, 01 a 0, 01%. Ainda assim, cabem as seguintes considerações sobre a distribuição espacial dos desvios. No experimento anterior, verifica-se um incremento de ε com a profundidade, com a manutenção do sinal positivo, enquanto neste, ocorre uma inversão de sinal. Embora deva-se ter sempre à vista que os valores calculados para ε não são de importância prática, é possı́vel observar alguma correlação entre a tendência de crescimento dos desvios e o modelo geológico, no que concerne aos contrastes de resistividades nas superfı́cies de separação. Num experimento com um modelo similar, em que as resistividades da primeira e última camadas são permutadas, os desvios passam a assumir valores positivos. As figuras 5.5a e 5.5b mostram o modelo e a pseudo-secção de desvios correspondente. Neste caso, no lado direito da pseudo-secção, onde localiza-se uma situação de camadas, os erros são maiores que os do lado esquerdo, onde o meio é indistintamente homogêneo, e portanto a aplicação do modelo de camadas na fronteira é irrelevante. Como na secção anterior, as pseudo-secções de resistividade aparente, exibidas nas figuras 5.4a e 5.4b não apresentam quaisquer distinções perceptı́veis nas feições da curvas de contorno no intervalo empregado (≈ 11 % da variação das resistividades do modelo ). Deve-se manter a vista para a natureza fı́sica do problema no que concerne à distribuição das linhas de corrente no meio. No modelo da figura 5.5a, a camada mais condutiva é logo a primeira. A lei de Ohm estabelece que o módulo da densidade superficial de corrente é tanto maior quanto mais condutivo o meio submetido a um campo elétrico. Assim, com a primeira camada pouco resistiva, há uma concentração maior das linhas de corrente entre os seus limites, formando uma “blindagem”, de maneira que as correntes experimentadas pelos estratos inferiores são menores e, por isso, é natural que haja maior imprecisão nos seus cálculos. A hipótese de que o modelo geoelétrico usado na condição de contorno influa na distribuição espacial dos desvios não pode ser ainda descartada. Partindo da premissa de que uma seqüência de estratos horizontais é uma aproximação mais verossı́mil para o modelo na 37 fronteira, principalmente considerando a geometria retangular dos elementos da malha, os potenciais nos nós sobre a borda da grade são calculados mais corretamente, assim como os demais - calculados a partir destes - e assim também o são as resistividades aparentes para este caso (em relação às da solução para o modelo homogêneo). Entretanto, a investigação dessa hipótese depende do conhecimento do comportamento do potencial e suas derivadas normais no domı́nio da freqüência. O uso da condição de contorno mista é vantajosa em relação às de Dirichlet e Neumann por tirar proveito dos seus comportamentos assintóticos distante da fonte (Dey e Morrison, 1979b). De fato, a fonte desloca-se sobre a superfı́cie, mas é posicionada no centro da grade para o cálculo dos potencias sobre a borda. O comportamento das duas soluções a essas distâncias deve, em princı́pio, ser capaz de esclarecer essa dúvida. O do desvio ε apenas aponta para possı́veis distinções mensuráveis entre os dois casos de modelo na fronteira, pois por mais clara que fosse uma possı́vel relação entre este e as resistividades aparentes e o modelo na fronteira, a faixa de valores aqui apresentada não é de qualquer interesse prático - como já mencionado - por estar duas ordens de grandeza abaixo dos desvios percentuais relativo às soluções analı́ticas, para modelos que as admitam, como a de camadas horizontais (Sato, 2000), ou como a de duas camadas inclinadas aflorantes (Maeda, 1955), como mostra Mufti (1976). 38 0 150 300 x (m) 450 600 750 900 0 Ohm.m 25 500 z (m) 50 400 75 200 100 100 125 50 150 (a) 0 150 300 x (m) 450 0 ε 25 AB / 2 (m) 600 750 900 Contorno em ohm. 50 75 100 125 150 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 (b) Figura 5.3: a) Modelo de resistividades de contato vertical entre bloco homogêneo e seqüência de camadas horizontais; b) pseudo-secção do desvios percentuais relativos entre resistividades aparentes das modelagens com as soluções do meio de camadas e homogêneo na fronteira. 39 0 150 300 x (m) 450 600 750 900 0 350 300 250 (ohm.m) 500 450 400 350 300 250 200 150 100 50 50 75 100 200 AB / 2(m) 25 150 125 150 (a) 0 150 300 x (m) 450 600 750 900 0 350 300 250 50 75 100 150 125 200 AB / 2(m) 25 150 (ohm.m) 500 450 400 350 300 250 200 150 100 50 (b) Figura 5.4: Pseudo-secções de resistividade aparente obtidas com a) a solução do meio de camadas na fronteira; b) a solução do meio homogêneo. 40 0 150 300 x (m) 450 600 750 900 0 Ohm.m 25 500 z (m) 50 400 75 200 100 100 125 50 150 (a) 0 150 300 x (m) 450 0 ε 25 AB / 2 (m) 600 750 900 Contorno em ohm. 50 75 100 125 150 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 (b) Figura 5.5: a) Modelo de resistividade semelhante ao anterior, com permuta da primeira pela última camada. b) Pseudo-secção dos desvios percentuais relativos para este modelo. 5.3.3 Modelo de contatos inclinados O modelo consiste de três corpos: uma cobertura resistiva de ρ1 = 500 Ω· m sobre uma camada em forma de uma dupla rampa de ρ2 = 100 Ω· m, intercaladas por uma cunha de ρ3 = 50 Ω· m, como mostra a figura 5.6a. A pseudo-secção dos desvios mostra variações em torno de 0 %, conforme os resultados anteriores. As pseudo-secções de resitividade aparentes ilustradas nas figuras 5.7a e 5.7b também são idênticas. 41 Este modelo permite observar simultaneamente a ocorrência das duas tendências de crescimento para os desvios entre as resistividades aparentes. 42 0 150 300 x (m) 450 600 750 900 0 Ohm.m 25 500 z (m) 50 100 75 100 50 125 150 (a) 0 150 300 x (m) 450 0 ε 25 AB / 2 (m) 600 750 900 Contorno em ohm. 50 75 100 125 150 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 (b) Figura 5.6: a) Modelo de contatos inclinados. b) Pseudo-secção dos desvios percentuais relativos pare este modelo. 43 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 25 450 AB / 2 (m) 0 20 450 50 400 400 0 35 0 30 75 100 350 300 250 50 200 2 125 150 100 150 50 (a) 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 25 AB / 2 (m) 0 50 75 100 20 450 450 400 400 0 35 350 300 00 250 3 50 200 2 125 150 100 150 50 (b) Figura 5.7: Pseudo-secções de resistividades aparentes referente ao modelo de contatos inclinados para os dois casos de modelo na fronteira: a) modelo de camadas; b) modelo homogêneo. 5.4 Modelo de camadas horizontais para diferentes fatores de expansão dos bordos laterais Testaram-se outros dois fatores de expansão iguais a 1,2 e 0,6. O objetivo deste experimento e verificar se a solução nas condições de contorno implica em alguma diferença com a proximidade da fronteira. A distância entre os extremos da grade e o primeiro e último 44 nós da região com espaçamento regular é 32,2 m, com o primeiro, e 6,5 m com o segundo, cujas distâncias horizontais entre os nós tornam-se menores que as da região central da grade. O modelo de resistividades consiste de três camadas horizontais com resistividades ρ1 = 500Ω·m ρ2 = 1000Ω·m e ρ3 = 1Ω·m, e espessuras h1 = 30m e h2 = 10m, mostrado na figura 5.8. As pseudo-secções de resistividades aparentes, apresentadas nas figuras 5.9a e b e 5.10a e b , calculadas nos dois casos de solução na fronteira são muito próximas, o que se conclui dos resultados para os desvios percentuais com respeito a solução do problema de camadas relativos às do modelo homogêneo na fronteira, ε. Como nos resultados anteriores, os valores de ε jazem entre −0, 01 e 0, 01%. Os desvios tendem a assumir valores negativos crescentes com a proximidade da fronteira; essa tendência é ligeiramente acentuada com o menor valor de k, embora sequer atinja o limite de −0, 05%. As pseudo-secções de resistividade aparente apresentam distorções nas extremidades laterais, tanto com k = 1,2, como com k = 0,6, indiferentes à solução na fronteira, como mostram as figuras 5.9 e 5.10. Finalmente, as pseudo-secções dos desvios percentuais relativos à resistividades dadas pela solução analı́tica são idênticas nos dois casos, como mostram as figuras ??, para o fator de expansão igual a 1,2, e 5.12, para fator de expansão igual a 0,6. Em ambas, nota-se que esses desvios passam a atingir valores indesejáveis, o que justifica o uso do fator k = 2.529 obtido por Medeiros (1987), a fim de minimizar o erro intrı́nseco à solução por diferenças finitas. Estes resultados não acrescentam aos anteriores nem ao que se tem na literatura sobre modelagem direta de resistividade aparente por diferenças finitas. Apesar disso, ainda não se pode descartar a hipótese da influência do modelo tanto no aumento da escala, com diminuição significativa do número de pontos na direção horizontal, como no arranjo de eletrodos, nos casos de emprego de eletrodo de corrente remoto. 45 0 150 300 x (m) 450 600 750 900 0 Ohm.m 25 1000 z (m) 50 500 75 100 10 125 150 (a) 0 150 300 x (m) 450 0 600 750 900 Contorno em ohm. ε AB / 2 (m) 25 50 75 100 125 150 (b) 0 0 AB / 2 (m) 25 50 75 100 125 (c) 150 150 300 x (m) 450 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 600 750 900 Contorno em ohm. ε 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 Figura 5.8: a) Modelo de camadas horizontais. b)Pseudo-secção dos desvios percentuais relativos ε, fator de expansão dos bordos laterais igual a 1,2. c) Pseudo-secção dos desvios percentuais relativos ε, para fator de expansão dos bordos laterais igual a 0,6. 46 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 AB / 2 (m) 25 450 450 50 400 400 350 300 75 350 300 250 100 250 200 200 150 125 150 100 100 150 50 (a) 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 AB / 2 (m) 25 125 150 400 400 350 300 75 100 450 450 50 350 300 250 250 200 200 150 150 100 100 50 (b) Figura 5.9: Pseudo-secções de resistividade aparente para fator de expansão dos bordos laterais igual a 1,2: a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. 47 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 AB / 2 (m) 25 450 450 50 400 400 350 300 250 75 100 350 300 250 200 200 150 125 150 100 100 150 50 (a) 0 150 300 x (m) 450 600 750 900 0 (ohm.m) 500 AB / 2 (m) 25 100 150 400 400 350 300 250 75 125 450 450 50 350 300 250 200 150 200 150 100 100 50 (b) Figura 5.10: Pseudo-secções de resistividade aparente para fator de expansão bordos laterais igual 0,6: a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. 48 0 150 300 x (m) 450 600 750 900 0 εa AB / 2 (m) 25 10.0 7.5 50 5.0 75 2.5 100 -2.5 125 -5.0 150 -10.0 0.0 -7.5 (a) 0 150 300 x (m) 450 600 750 900 0 εa AB / 2 (m) 25 10.0 7.5 50 5.0 75 2.5 100 -2.5 125 -5.0 0.0 -7.5 150 -10.0 (b) Figura 5.11: Pseudo-secções dos desvios percentuais relativos à modelagem analı́tica, para o fator de expansão k = 1, 2. a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. 49 0 150 300 x (m) 450 600 750 900 0 εa AB / 2 (m) 25 10.0 7.5 50 5.0 75 2.5 100 -2.5 125 -5.0 150 -10.0 0.0 -7.5 (a) 0 150 300 x (m) 450 600 750 900 0 εa AB / 2 (m) 25 10.0 7.5 50 5.0 75 2.5 100 -2.5 125 -5.0 0.0 -7.5 150 -10.0 (b) Figura 5.12: Pseudo-secções dos desvios percentuais relativos à modelagem analı́tica, para o fator de expansão k = 0, 6. a) com solução para o meio de camadas na fronteira; b) com solução do meio homogêneo. CAPÍTULO 6 Conclusões e Recomendações Este trabalho apresenta expressões do potencial e campo elétrico no domı́nio da freqüência espacial de uma fonte de corrente estacionária em um semi-espaço dividido em estratos horizontais homogêneos. Tais expressões são apropriadas à incorporação da solução do problema de uma fonte de corrente estacionária em um meio de camadas como modelo primário num algoritmo de modelagem bidimensional de resistividade por diferenças finitas. A implementação computacional de tais funções limitou-se às bordas laterais e condicionadas a um limite inferior para a derivada normal, abaixo do qual volta-se ao uso da solução para o meio homogêneo, bem como na borda inferior para todas as freqüências. O motivo, imprecisão numérica no cálculo dos potenciais e suas derivadas. A implementação plena da solução do problema de estratos horizontais às condições de contorno do tipo mista na solução por diferenças finitas requer um estudo prévio do seu comportamento com a freqüência, vislumbrando inclusive a possibilidade de que outros valores de freqüência espacial, mais adequados ao comportamento das novas funções, precisem ser determinados. Dados sintéticos de resistividade aparente com arranjo Schlumberger, usando as duas soluções na fronteira, são comparados e avaliados quantitativamente pelo cálculo dos desvios percentuais entre as soluções obtidas relativos à solução com o modelo homogêneo na fronteira, bem como à modelagem analı́tica, no caso dos modelos de camadas. Apresentam-se pseudo-secções de desvios percentuais relativos e de resistividade aparente para ilustrar os resultados. Nas condições de sua incorporação à solução por diferenças finitas, a solução do modelo de camadas nas condições de contorno não traz qualquer melhora em relação a resultados anteriores, conforme mostram os experimentos com quatro modelos geológicos idealizados. Todavia, a ocorrência de diferenças motiva a continuidade deste estudo, o que requer, antes de tudo, a solução do problema numérico encontrado. Para tal, é recomendável a uniformização dos programas disponı́veis quanto à linguagem e, principalmente, a precisão das variáveis. É conveniente a este propósito que os programas sejam reescritos. Ademais, o problema ainda admite investigação quanto a estes dois aspectos: o arranjo de eletrodos e também a escala. O emprego de arranjo a quatro eletrodos concentra as linhas de corrente entre os pólos de corrente, o que diminui a importância do modelo de resistividade 50 51 nas condições de fronteira. O mesmo pode não ser verdade para arranjos a três eletrodos, que, na prática, utilizam o quarto eletrodo remoto. REFERÊNCIAS BIBLIOGRÁFICAS Alfano, L. (1962) Geoelectrical prospecting with underground electrodes, Geophys. Prosp., 10(03):290–303. Allaud, L. A. e Martin, M. H. (1977) SCHLUMBERGER - The History of a Technique, John Wiley & Sons, New York. Baumgartner, F. (1996) A new method for geoelectrical investigations underwater, Geophysical Prospecting, 44(2):71–98. Braess, D. (1992) Finite elements (Theory, fast solvers and applications in solid mechanics), Cambridge University Press, United Kingdom. Butkov, E. (1968) Mathematical Physics, Addison-Wesley Publishing Company, New York. Coggon, J. H. (1971) Electromagnetic and electrical modelling by the finite element method, Geophysics, 36(01):132–155. Courant, R. e Hilbert, D. (1953) Methods of Mathematical Physics, vol. I, Interscience Publishers, New York. Dettman, J. W. (1969) Mathematical Methods in Physics and Egeneering, McGraw-Hill. Dey, A. e Morrison, H. F. (1979a) Resistivity modeling for arbitrarily shaped threedimensional structures, Geophysics, 44(04):753–780. Dey, A. e Morrison, H. F. (1979b) Resistivity modelling for arbitrarily shaped twodimensional structures, Geophys. Prosp., 27(01):106–136. Fox, R. C.; Hohmann, G. W.; Killpack, T. J. e Rijo, L. (1980) Topographic effects in resistivity and induced-polarization surveys, Geophysics, 45(01):75–93. Hoffman, K. e Kunze, R. (1961) Linear Algebra, Prentice-Hall, Enlgewood Cliffs, New Jersey. James, B. A. (1985) Efficient microcomputer-based finite-difference resistivity modeling via Polozhii decomposition, Geophysics, 50(03):443–465. John, F. (1957) Approximations of solutions of partial differential equations by the method of finite differences, In: Lectures in Applied Mathematics, Partial Differential Equations, Proceedings of the Summer Seminar, vol. 3A, pp. 108–123, Boulder, Colorado, American Mathematical Society. Kaplan, W. (1972) Cálculo Avançado, Edgard Blücher, São Paulo. Keller, G. e Frischnecht, F. C. (1966) Electrical Methods in Geophysical Prospecting, Pergamon Press, Oxford. 52 53 Lapidus, L. e Pinder, G. F. (1982) Numerical Solution of Partial Differential Equations in Science and Engineering, John Wiley & Sons, Inc, New York, NY - United States. Maeda, K. (1955) Apparent resistivity for dipping beds, Geophysics, 20(1):140–147. Medeiros, W. (1987) Eletro-resistividade Aplicada à Hidrogeologia do Cristalino: um Problema de Modelamento Bidimensional, Dissert. de Mestrado, Universidade Federal da Bahia, Salvador-Brasil. Milne, W. E. (1970) Numerical Solution of Differential Equations, Dover Publications, New York. Miranda, P. (1998) Métodos de fı́sica teórica ii (notas de aula), Universidade Federal da Bahia. Mufti, I. R. (1976) Finite-difference resistivity modeling for arbitrarily shaped twodimensional structures, Geophysics, 41(01):62–78. Mufti, I. R. (1978) A practical approach to finite-difference resistivity modeling, Geophysics, 43(05):930–942. Mufti, I. R. (1980) Finite-difference evaluation of apparent resistivity curves, Geophys. Prosp., 28(01):146–166. Pratt, D. A. (1972) The surface integral approach to the solution of the 3d resistivity problem, Expl. Geophys., 03(04):33–50. Sato, H. K. (2000) Potential field from a dc current source arbitrarily located in a nonuniform layered medium, Geophysics, 65(6):1726–1732. Sato, H. K. e de Oliveira, F. A. F. (1999) Efeito da profundidade dos eletrodos em levantamentos de eletrorresistividade, In: Anais do XI Congresso Internacional da Sociedade Brasileira de Geofı́sica, pp. 1–4, Sociedade Brasileira de Geofı́sica. Sobolev, S. (1964) Partial Differential Equations of Mathemical Physics, Pergamon Press, Oxford. de Souza, H. (1997) Campo Elétrico e Polarização Induzida Utilizando Sistema multiespectral de Freqüência em Ambiente Marinho, Tese de doutorado, Universidade Federal da Bahia, Salvador-Brasil. Stratton, J. A. (1941) Electromagnetic Theory, McGraww-Hill Book Company, New York. Telford, W. M.; Geldart, L.; Sheriff, R. e Keys, D. A. (1976) Applied Geophysics, Cambridge University Press, Cambridge-England. Tikhunov, A. e Samarskii, A. (1963) Equations of Mathematical Physics, Pergamon Press, Oxford. Zhao, S. e Yedlin, M. J. (1996) Some refinements on the finite-difference method for 3-d dc resistivity modeling, Geophysics, 61(05):1301–1307. AGRADECIMENTOS Presto meus sinceros agradecimentos ao Professor Hédison Kiuity Sato por comparacer com requisitos além daqueles que devem ser próprios ao papel de orientador, em cujo cumprimento excederam disponibilidade, flexibilidade e tolerância, qualidades estas deveras requisitadas por mim no decorrer deste trabalho. Também, à Professora Cristina Quintella, do Depto. de Quı́mica Geral e Inorgânica da UFBA, orientadora no primeiro projeto de iniciação cientı́fica, entre 1996 e 1998, quando deixei de ver a Ciência com os olhos do leigo e pude experimentar fazê-la, ainda que com a parca destreza de todo aprendiz; e, sobretudo, por ter estado ao alcance de seu senso de humanidade e fraternidade. Aos amigos Atahebson, Fábio e Gustavo pelo companheirismo transcendente as discussões, auxı́lios e esclarecimentos no decorrer da vida acadêmica, o que eu espero ser capaz de retribuir ao menos na mesma medida e, se possı́vel, para o resto da vida. Ao CPGG/UFBA, na pessoa do Professor Olivar Antônio Lima de Lima pela ajuda de custo no perı́odo referente ao segundo semestre do ano letivo de 2000. Aos professores Alberto Brum, Edson Sampaio, Joaquim Xavier, Marco Botelho, Milton Porsani, Roberto Argolo, além dos professores Sato e Olivar, pelo bom curso de geofı́sica aplicada. Aos professores Marcelo Papini, do Depto. de Matemática, e Paulo Miranda, do Depto. de Fı́sica Geral, pelos ótimos cursos de Álgebra Linear e Métodos de Fı́sica Teórica I e II, respectivamente, fundamentais na minha formação. Aos colegas Alberto, David, Emerson, Everaldo, Josair, Luiz Augusto, Rommel e Washington, companheiros de iniciação cientı́fica e/ou de turma, nas várias disciplinas. A Dna. Ana d’O e Joaquim, com quem, muito mais para sorte minha, pude contar. Aos amigos Eduardo, Leonardo, Luciano, Tatiana e Paulinha, por serem grandes, enormes, imensuráveis, a despeito de suas estaturas. Aos meus quatorze companheiros do insolúvel Grupo dos Quinze. Às figuras lendárias de Hermógenes Damasceno, Braga Nelson, Rosa do Prado, Caipora, Mosca Varejeira, entre outros, mas sobretudo ao Irenoid, o maior de todos, cuja missão na Terra é transmitir o ensinamento de que “tudo,tudo, tudo, é uma questão de vivência”. Ire!. 54 55 Aos meus pais, por terem participado desta etapa da minha vida, na medida de suas possibilidades, e aos meus irmãos, que são bons irmãos. APÊNDICE A Transformada de Fourier na direção y do potencial elétrico e suas derivadas normais para um semi-espaço heterogêneo, composto por n camadas homogêneas A.1 Transformada-cosseno de Fourier do potencial elétrico As transformadas-cosseno de Fourier direta e inversa estão definidas como +∞ 2 F (k) = √ f (r) cos(rk) dr , 2π 0 +∞ 2 F (k) cos(rk) dk . f (r) = √ 2π 0 A.1.1 (A.1) (A.2) Para o ponto de observação acima da fonte Seja o potencial elétrico dado por (Sato, 1998, pg. 29, eq. 3.118) ∞ 1 − gi e−2λ(z−zi−1 ) −λ(zf −z) I Φi = e Ri J0 (λr) dλ. 2πσm 0 1 − gi Gi e−2λ(zi −zi−1 ) (A.3) Aplique-se a transformada direta definida pela equação (A.1) na direção y devido à simetria do modelo nessa direção. Assim, tem-se ∞ ∞ I 2 1 − gi e−2λ(z−zi−1 ) −λ(zf −z) √ Φ̃i = e Ri J0 (λr) cos(yky ) dλdy (A.4) 2πσm 2π 0 0 1 − gi Gi e−2λ(zi −zi−1 ) Por simplicidade, reescreve-se a equação (A.4) como Φ̃i = onde ∞ ∞ φ̃ = 0 0 I 2 √ φ̃, 2πσm 2π 1 − gi e−2λ(z−zi−1 ) −λ(zf −z) e Ri J0 (λr) cos(yky ) dλdy 1 − gi Gi e−2λ(zi −zi−1 ) 56 (A.5) (A.6) 57 O argumento r da função J0 é a coordenada radial do sistema de coordenadas cilı́ndricas, cuja relação com as coordenadas cartesianas x e y é r = x2 + y 2 . A ordem de integração pode ser invertida1 , e como as exponenciais e os termos de recorrência independem de y, estes podem sair do sinal de integração nessa variável, de maneira que a transformada-cosseno de Fourier pode ser aplicada somente à função J0 (λr), como se segue: ∞ ∞ 1 − gi e−2λ(z−zi−1 ) −λ(zf −z) e Ri J0 (λr) cos yKy dydλ (A.7) 1 − gi Gi e−2λ(zi −zi−1 ) 0 0 Segundo Erdélyi (vol I, pg. 55, eq. 35), ∞ 0 J0 a(x2 + b2 )1/2 cos xy dx = (a2 − y 2 )−1/2 cos[b(a2 − y 2 )1/2 ] ; 0 < y < a 0 ;a < y < ∞ (A.8) Observe-se que as duas integrais anteriores guardam as seguintes relações: λ y x ky ≡ a ≡ x (variável de integração) ≡ b (constante) ≡ y Dadas as relações de eqüivalência acima e os resultados da integral, conforme os intervalos que validam cada um deles, percebe-se que o menor valor que a variável λ pode assumir é ky , o que vem alterar o limite inferior da segunda integral, de 0 para ky , de maneira que ∞ φ̃ = ky 1 − gi e−2λ(z−zi−1 ) −λ(zf −z) e Ri (λ2 − ky2 )1/2 cos[x(λ2 − ky2 )1/2 ] dλ. 1 − gi Gi e−2λ(zi −zi−1 ) (A.9) Sem perda de generalidade, parte do núcleo da integral pode ser escrito como uma função h(λ), em substituição a λ, o que torna mais sintética a notação, lembrando que os termos gi e Ri também dependem de λ. Tal procedimanto será útil mais tarde, quando o termos de recorrência serão escritos ora em função de λ, ora de ky . Procedendo-se assim, tem-se 1 − gi e−2λ(z−zi−1 ) Ri , 1 − gi Gi e−2λ(zi −zi−1 ) ∞ h(λ) φ̃ = e−λ(zf −z) cos[x(λ2 − ky2 )1/2 ] dλ. 2 2 )1/2 (λ − k ky y h(λ) = 1 Justificar por quê baseado na análise complexa (A.10) (A.11) 58 Outro procedimento útil é a mudança de variáveis a seguir, que permite que as integrais sejam sempre transformadas seno ou cosseno : u2 = λ2 − ky2 ∴ λ2 = u2 + ky2 λ = (u2 + ky2 )1/2 u du 2u du = 2λ dλ ∴ dλ = λ u du dλ = 2 (u − ky2 )1/2 β = zf − z Agora, reescreva-se a equação (A.11) em termos da nova variável: ∞ h(λ) 2 2 1/2 φ̃ = e−(u +ky ) (zf −z) cos(xu) du. 2 2 1/2 (u + ky ) 0 (A.12) (A.13) (A.14) A fim de obter-se maior estabilidade no cálculo numérico da integral da equação (A.9), é conveniente subtrair e somar h(ky ) ao numerador do seu núcleo, para então separá-la em duas integrais: ∞ 2 h (u + ky2 )1/2 − h(ky ) + h(ky ) −(u2 +k2 )1/2 (zf −z) y φ̃ = e cos(xu) du , (A.15) (u2 + ky2 )1/2 0 φ̃ = 0 ∞ h (u2 + ky2 )1/2 − h(ky ) −(u2 +k2 )1/2 (zf −z) y e cos(xu) du + (u2 + ky2 )1/2 h(ky ) 0 ∞ 2 2 1/2 e−(u +ky ) (zf −z) cos(xu), du. (u2 + ky2 ) (A.16) Feitas as substitituições acima, a integral do segundo termo da equação acima torna-se ∞ −β(u2 +a2 )1/2 e cos(xu) du (u2 + a2 )1/2 0 Essa é, novamente, uma integral conhecida (Erdélyi, v. I, cap. I, pg. 17, eq 27), qual seja, ∞ −β(u2 +a2 )1/2 e 2 2 1/2 = K0 a(β + x ) cos(xu) du (A.17) (u2 + a2 )1/2 0 de modo que a função potencial φ̃ é dada por ∞ 2 h (u + ky2 )1/2 − h(ky ) −(u2 +k2 )1/2 (zf −z) y φ̃ = e cos(xu) du + 2 + k 2 )1/2 (u 0 y 1/2 h(ky ) K0 {ky (zf − z)2 + x2 }; (A.18) 59 daı́ o potencial elétrico no domı́nio de Fourier na direção y, substituı́da a anterior na equação (A.5) resulta em ∞ 2 h (u + ky2 )1/2 − h(ky ) −(u2 +k2 )1/2 (zf −z) I y Φ̃ = √ e cos(xu) du + (u2 + ky2 )1/2 π 2π σm 0 1/2 h(ky ) K0 {ky (zf − z)2 + x2 }, (A.19) A.1.2 Para o ponto de observação abaixo da fonte Agora, seja o potencial elétrico dado por (Sato, 1998, pg. 29, eq. 3.125) ∞ I 1 − Gi e−2λ(zi −z) Φi = e−λ(z−zf ) ri J0 (λr) dλ. 2πσm 0 1 − gi Gi e−2λ(zi −zi−1 ) (A.20) O procedimento adotado aqui é análogo ao da secção anterior. Primeiro, aplica-se a transformada direta definida pela equação (A.1), na direção y, à equação (A.20): ∞ ∞ I 2 1 − Gi e−2λ(zi −z) √ Φ̃i = e−λ(z−zf ) ri J0 (λr) cos(yky ) dλdy . (A.21) 2πσm 2π 0 0 1 − gi Gi e−2λ(zi −zi−1 ) Reescrevendo a equação (A.21) : Φ̃i = onde ∞ ∞ φ̃ = 0 0 2 I √ φ̃, 2πσm 2π 1 − Gi e−2λ(zi −z) e−λ(z−zf ) ri J0 (λr) cos(yky ) dλdy 1 − gi Gi e−2λ(zi −zi−1 ) (A.22) (A.23) O argumento r da função J0 é a coordenada radial do sistema de coordenadas cilı́ndricas, cuja relação com as coordenadas cartesianas x e y é r = x2 + y 2 . Invertendo a ordem de integração e aplicando a transformada apenas à função J0 (λr): ∞ ∞ 1 − Gi e−2λ(zi −z) −λ(z−zf ) φ̃ = e ri J0 (λr) cos yKy dydλ (A.24) 1 − gi Gi e−2λ(zi −zi−1 ) 0 0 Tem-se aqui novamente a transformada-cosseno da função J0 , dada pela equação (A.8), segundo Erdélyi (vol I, pg. 55, eq. 35), logo, ∞ 1 − Gi e−2λ(zi −z) e−λ(z−zf ) 2 2 1/2 dλ. (A.25) φ̃ = r cos x(λ − k ) i y −2λ(zi −zi−1 ) (λ2 − ky2 )1/2 ky 1 − gi Gi e Definindo a função H(λ): 1 − Gi e−2λ(zi −z) ri , 1 − gi Gi e−2λ(zi −zi−1 ) ∞ H(λ) φ̃ = e−λ(z−zf ) cos[x(λ2 − ky2 )1/2 ] dλ. 2 2 )1/2 (λ − k ky y H(λ) = (A.26) (A.27) 60 Reescreve-se a equação (A.27) em termos da nova variável, conforme as equações (A.12) e (A.13): ∞ 2 H (u + ky 2 )1/2 −(u2 +ky2 )1/2 (z−zf ) φ̃ = e cos(xu) du. (A.28) (u2 + ky2 )1/2 0 Subtrai-se e soma-se H(ky ) ao numerador do seu núcleo, separando-a em seguida em duas integrais: ∞ 2 H (u + ky 2 )1/2 − H(ky ) + H(ky ) −(u2 +ky 2 )1/2 (z−zf ) φ̃ = e cos(xu) du , (A.29) (u2 + ky 2 )1/2 0 ∞ φ̃ = 0 H (u2 + ky2 )1/2 − H(ky ) −(u2 +k2 )1/2 (z−zf ) y e cos(xu) du + (u2 + ky2 )1/2 ∞ −(u2 +ky2 )1/2 (z−zf ) e cos(xu)du. (A.30) H(ky ) (u2 + ky2 ) 0 Tem-se novamente aqui uma integral conhecida (Erdélyi, v. I, cap. I, pg. 17, eq 27; vide equação (A.17)), de modo que a função potencial φ̃ é dada por ∞ φ̃ = 0 H (u2 + ky2 )1/2 − H(ky ) −(u2 +k2 )1/2 (z−zf ) y e cos(xu) du + (u2 + ky2 )1/2 2 2 1/2 (A.31) H(ky ) K0 ky (z − zf ) + x sendo I Φ̃ = √ π 2π σm 0 ∞ H (u2 + ky2 )1/2 − H(ky ) −(u2 +k2 )1/2 (z−zf ) y e cos(xu) du + (u2 + ky2 )1/2 2 2 1/2 H(ky ) K0 ky (z − zf ) + x (A.32) o potencial elétrico no domı́nio de Fourier na direção y. A.2 Derivadas normais do potencial elétrico no domı́nio transformado Seja agora a determinação das derivadas normais da função potencial φ̃, dada pelas equações (A.18) e (A.31), a fim de estabelecer-se a condição de contorno mista, qual seja1 =0 ∂ φ̃ + αφ̃ = ϕ(r) ∂n = 0 1 Visto que o potencial elétrico é o produto de φ̃ por um escalar não-nulo, a condição de contorno mistahomogênea a que obedece o problema pode ser enunciada em termos desta. 61 O operador de derivação direcional pode ser definido pelo produto escalar entre operadorgradiente e o versor da direção2 (Kaplan, W; Advanced Calculus, pg. 107) desta maneira3 : ∂ = ∇ · n0 . ∂n (A.33) Empregando-se a definição da derivada na direção normal dada pela equação (A.33), temse que a do potencial φ̃ é ∂ φ̃ = ∇ φ̃ · n0 . ∂n A.2.1 (A.34) Para o ponto de observação acima da fonte Substituindo o potencial φ̃ dado pela equação (A.14) em (A.34), tem-se: ∞ h (u2 + ky 2 )1/2 −(u2 +ky2 )1/2 (zf −z) ∂ φ̃ e cos(xu) du · n0 . = ∇ ∂n (u2 + ky2 )1/2 0 (A.35) A transformação para o domı́nio da freqüência na direção y anula a derivada de φ̃ nessa direção, tal que ∂ φ̃ = ∂n ∞ 0 −u h (u2 + ky 2 )1/2 −(u2 +ky2 )1/2 (zf −z) e sen(xu) du i + (u2 + ky2 )1/2 ∞ cos(xu) ∂ 2 2 1/2 du k · n0 , (A.36) h (u2 + ky 2 )1/2 e−(u +ky ) (zf −z) ∂z (u2 + ky2 )1/2 0 Obtém-se a expressão completa da derivada normal desenvolvendo-se o operador gunda integral e separando-a em duas, o que resulta nesta expressão : ∂ φ̃ = ∂n 0 ∞ ∂ φ̃ ∂z na se- −u h (u2 + ky 2 )1/2 −(u2 +ky2 )1/2 (zf −z) e sen(xu) du i + (u2 + ky2 )1/2 ∞ −(u2 +ky2 )1/2 (zf −z) e ∂h cos(xu) du − 2 2 1/2 (u + ky ) ∂z 0 ∞ 2 2 2 1 / 2 h (u + ky 2 )1/2 (u2 + ky2 )1/2 e−(u +ky ) (zf −z) du k · n0 . (A.37) 0 Analiticamente, a inversão para a variável λ e a resolução dos produtos escalares são suficientes para a expressão das derivadas normais do potencial no domı́nio transformado, na observância do sinal da derivada na direção x, que é igual a ∂∂xφ̃ , quando n0 = i, e − ∂∂xφ̃ , 2 3 Neste problema interessam apenas as derivadas nas direções normais à fronteira A notação em negrito será utilizada para denotar vetores e operadores vetoriais 62 quando n0 = −i. Contudo, assim como acontece com a expressão do potencial, essas integrais precisam ser avaliadas numericamente, o que requer o mesmo procedimento adotado com aquele, de subtrair e somar h(ky ) a fim de obter-se maior estabilidade numérica. Então, assim como se fizera com o potencial, suas derivadas normais serão dadas em termos da nova variável u, como se segue. Desenvolvem-se pois os seus componentes separadamente, a partir da equação (A.37). ∂ φ̃ = ∂x ∞ 0 −u h (u2 + ky 2 )1/2 − h(ky ) + h(ky ) −(u2 +ky2 )1/2 (zf −z) e sen(xu) du i , (u2 + ky2 )1/2 (A.38) ∂ φ̃ = ∂x ∞ 0 −u h (u2 + ky 2 )1/2 − h(ky ) −(u2 +ky2 )1/2 (zf −z) e sen(xu) du − (u2 + ky2 )1/2 ∞ u 2 2 1/2 h(ky ) e−(u +ky ) (zf −z) sen(xu) du . (A.39) 2 2 1/2 (u + ky ) 0 A integral do segundo termo é uma transformada-seno conhecida (Erdélyi,vol I, cap. 2, pg 75, eq. 36): ∞ ay x 2 2 e−β(a +x ) sen(xy) dx = 2 K1 {a(y 2 + β 2 )1/2 } , (A.40) 2 2 1/2 2 )1/2 (a + β ) (y + β 0 donde resulta que ∂ φ̃ = ∂x ∞ 0 −u h (u2 + ky 2 )1/2 − h(ky ) −(u2 +ky2 )1/2 (zf −z) e sen(xu) du − (u2 + ky2 )1/2 x ky h(ky ) 2 2 1/2 . (A.41) K1 ky (zf − z) + x [(zf − z)2 + x2 ]1/2 Da equação (A.37), tem-se a derivada na direção z: ∂ φ̃ = ∂z 0 2 ∞ 2 1/2 e−(u +ky ) (zf −z) ∂h cos(xu) du − (u2 + ky2 )1/2 ∂z ∞ 2 2 2 1/2 h (u + ky 2 )1/2 − h(ky ) + h(ky ) (u2 + ky2 )1/2 e−(u +ky ) (zf −z) du , (A.42) 0 ∂ φ̃ = ∂z 0 ∞ 2 2 1/2 e−(u +ky ) (zf −z) ∂h cos(xu) du − (u2 + ky2 )1/2 ∂z ∞ 2 2 2 1/2 h (u + ky 2 )1/2 − h(ky ) e−(u +ky ) (zf −z) cos(xu) du − 0 ∞ 2 2 1/2 h(ky ) e−(u +ky ) (zf −z) cos(xu) du. (A.43) 0 63 O último termo da equação (A.43) é a seguinte transformada-cosseno (Erdélyi,vol I, cap. 1, pg 16, eq. 26): ∞ aβ 2 2 e−β(a +x ) cos(xy) dx = 2 K1 {a(y 2 + β 2 )1/2 } 2 )1/2 (y + β 0 resultando em ∂ φ̃ = ∂z ∞ 0 2 2 1/2 e−(u +ky ) (zf −z) ∂h cos(xu) du − (u2 + ky2 )1/2 ∂z ∞ 2 2 2 1/2 h (u + ky 2 )1/2 − h(ky ) e−(u +ky ) (zf −z) cos(xu) du − 0 (zf − z) ky h(ky ) [(zf − z)2 + x2 ]1/2 K1 ky (zf − z)2 + x2 , (A.44) onde 2 2 1/2 2(u2 + ky2 )1/2 gi e−2(u +ky ) (z−zi−1 ) ∂h Ri . = 2 2 1/2 ∂z 1 − gi Gi e−2(u +ky ) (zi −zi−1 ) A.2.2 (A.45) Para o ponto de observação abaixo da fonte Substituindo a função potencial φ̃ dada pela equação (A.28) em (A.34), tem-se: ∂ φ̃ ∂n = ∇ 0 ∞ H (u2 + ky2 )1/2 −(u2 +k2 )1/2 (z−zf ) y e cos(xu) du (u2 + ky2 )1/2 · n0 , (A.46) cujo componente y é nulo, logo ∂ φ̃ = ∂n ∞ 0 −u H (u2 + ky2 )1/2 −(u2 +k2 )1/2 (z−zf ) y e sen(xu) du i + (u2 + ky2 )1/2 ∞ cos(xu) ∂ 2 2 2 1 / 2 du k · n0 , (A.47) H (u + ky2 )1/2 e−(u +ky ) (z−zf ) 2 + k 2 )1/2 ∂z (u 0 y ∂ Após a aplicação do operador ∂z e a separação das parcelas resultantes em duas integrais, tem-se a expressão da derivada normal: ∂ φ̃ = ∂n 0 ∞ −u H (u2 + ky2 )1/2 −(u2 +k2 )1/2 (z−zf ) y e sen(xu) du i + (u2 + ky2 )1/2 2 2 1/2 ∞ ∂H e−(u +ky ) (z−zf ) cos(xu) du − ∂z (u2 + ky2 )1/2 0 ∞ 2 2 2 1 / 2 H (u + ky2 )1/2 (u2 + ky2 )1/2 e−(u +ky ) (z−zf ) du k · n0 . (A.48) 0 64 Calculam-se pois as derivadas nas direções x e z separadamente, adotando-se os mesmos procedimentos da secção anterior; assim ∞ −u H (u2 + ky2 )1/2 − H(ky ) + H(ky ) −(u2 +k2 )1/2 (z−zf ) ∂ φ̃ y e sen(xu) du , (A.49) = 2 + k 2 )1/2 ∂x (u 0 y ∂ φ̃ = ∂x ∞ 0 −u H (u2 + ky2 )1/2 − H(ky ) −(u2 +k2 )1/2 (z−zf ) y e sen(xu) du − (u2 + ky2 )1/2 ∞ −(u2 +ky2 )1/2 (z−zf ) ue sen(xu) du , H(ky ) (u2 + ky2 )1/2 0 (A.50) sendo esta última uma integral conhecida (Erdélyi,vol I, cap. 2, pg 75, eq. 36), donde resulta que ∞ −u H (u2 + ky2 )1/2 − H(ky ) −(u2 +k2 )1/2 (z−zf ) ∂ φ̃ y e sen(xu) du − = ∂x (u2 + ky2 )1/2 0 x ky H(ky ) (A.51) K1 ky (z − zf )2 + x2 1/2 [(z − zf )2 + x2 ] Procede-se agora com o cálculo da derivada na direção z. ∞ 2 2 1/2 ∂ φ̃ ∂H e−(u +ky ) (z−zf ) cos(xu) du − = ∂z ∂z (u2 + ky2 )1/2 0 ∞ 2 2 2 1/2 H (u + ky2 )1/2 − H(ky ) + H(ky ) (u2 + ky2 )1/2 e−(u +ky ) (z−zf ) du , (A.52) 0 ∂ φ̃ = ∂z ∞ 2 2 1/2 e−(u +ky ) (z−zf ) ∂H cos(xu) du − (u2 + ky2 )1/2 ∂z 0 ∞ 2 2 2 1/2 H (u + ky2 )1/2 − H(ky ) (u2 + ky2 )1/2 e−(u +ky ) (z−zf ) cos(xu) du − 0 ∞ 2 2 1/2 H(ky ) (u2 + ky2 )1/2 e−(u +ky ) (z−zf ) cos(xu) du (A.53) 0 cuja integral da última parcela é conhecida (Erdélyi,vol I, cap. 1, pg 16, eq.26); finalmente ∞ −(u2 +ky2 )1/2 (z−zf ) ∂ φ̃ e ∂H = cos(xu) du − ∂z (u2 + ky2 )1/2 ∂z 0 ∞ 2 2 2 1/2 H (u + ky2 )1/2 − H(ky ) (u2 + ky2 )1/2 e−(u +ky ) (z−zf ) cos(xu) du − 0 (z − zf ) ky H(ky ) [(z − zf )2 + x2 ]1/2 K1 ky (z − zf )2 + x2 , (A.54) onde 2 2 1/2 −2(u2 + ky2 )1/2 Gi e−2(u +ky ) (zi −z) ∂H ri . = 2 2 1/2 ∂z 1 − gi Gi e−2(u +ky ) (zi −zi−1 ) (A.55) APÊNDICE B Equações de diferenças para nós no contorno usando discretização por área B.1 Para os nós na superfı́cie (z → 0) Para estes, onde aplica-se a condição de Neumann, a região ∆Ai ,j da figura 3.1 é limitada pelo contorno Li ,j definido pelos segmentos iii, iv, v, vi, a, b, abrangendo os nós (i, 1), i = 2, 3, . . . , N − 1. A equação de diferenças é dada por ij ij ij ij CE + CD + CI + CA = onde I δ(xs )δ(zs ) , 2 σi −1,j ∆zj CE = − , 2∆xi −1 σij ∆zj ij , CD = − 2∆xi σi,j ∆xi + σi−1,j ∆xi ij , CI = − 2∆zj σi,j ∆xi ∆zj 2 σi−1,j ∆xi−1 ∆zj A(σi,j , Ai,j ) = ky + , 4 4 ij ij ij ij CA = − CE + CD + CI + A(σi,j , Ai,j ) . ij B.2 (B.1) (B.2) (B.3) (B.4) (B.5) (B.6) Para os vértices superiores esquerdo e direito Para os nós (1, 1) e (N, 1), a região ∆Ai,j é limitada pelo contorno Li,j , dado pelos segmentos iii, iv, d, b e v, vi, a, d, respectivamente. O componente de J na direção z, satisfaz à condição de Neumann σ ∂Φ = 0, enquanto na direção x, satisfaz à condição de contorno mista ∂z ∂Φ + αΦ̃ = 0 ∂x 65 (B.7) 66 onde ∂ Φ̃/∂x e Φ̃ são dados pelas equações (A.18)/ (A.31) e (A.41)/ (A.51). Assim, a equação de diferenças para o vértice superior esquerdo torna-se I ij ij ij CD Φ̃i+1 + CI Φ̃i,j+1 + CA Φ̃ij = δ(xs )(zs ) 2 onde σi,j ∆zj , CD = − 2∆xi σi,j ∆xi ij , CD = − 2∆zj σi,j ∆xi ∆zj A(σi,j , Ai,j ) = , 4 ij σ ∆z α ij ij CA = − CD + CI − A(σi,j , Ai,j ) + i,j j . 2 ij B.3 (B.8) (B.9) (B.10) (B.11) (B.12) Para os nós da base (z → ∞) Para os nós (i, n), i = 2, 3, . . . , N −1, a região ∆Ai,j é limitada pelo contorno i, ii, b, a, vii, viii, cuja equação é ij ij i,j CE Φ̃i−1,j + CD Φ̃i+1 + CT Φ̃i,j−1 + CA ij Φ̃ij = onde σi−1,j−1 ∆zj−1 CE = − , 2∆xi−1 σi,j−1 ∆zj−1 ij CD = − , 2∆xi σi−1,j−1 ∆xi−1 + σi,j−1 ∆xi ij CT = − 2∆zj−1 σi−1,j−1 ∆xi−1 ∆zj−1 σi,j−1 ∆xi ∆zj−1 2 A(σi,j , Ai,j ) = ky + , 4 4 ij (B.13) ij CA B.4 I δ(xs ) δ(zs ) , 2 ij ij ij = − CD + CE + CT − A(σi,j , Ai,j ) + σi,j ∆zj + σi,j−1 ∆zj−1 α. 2 (B.14) (B.15) (B.16) (B.17) (B.18) Para os vértices inferiores esquerdo e direito Para os nós (1, M ) e (N, M ), a região ∆Ai,j é limitada pelo contorno Li,j descrito pelos segmentos i, ii, b, c e d, a, vii, viii. Aplicando-se as condições de contorno ao nó (1, M ), a 67 equação de diferenças é ij i,j ij CD Φ̃i+1 + CT Φ̃i,j−1 + CA Φ̃ij = onde I δ(xs ) δ(zs ) , 2 σi,j−1 ∆zj−1 CD = − , 2∆xi σi,j−1 ∆xi ij , CS = − 2∆zj−1 σi−1,j−1 ∆xi ∆zj−1 σi,j−1 ∆xi ∆zj−1 2 A(σi,j , Ai,j ) = ky + , 4 4 ij ij ij CA ij = − CD + CT − A(σi,j , Ai,j ) + σi,j ∆zj + σi,j−1 ∆zj−1 α. 2 B.5 (B.19) (B.20) (B.21) (B.22) (B.23) Para os nós da borda esquerda Para os nós (1, j), j = 2, 3, . . . , M − 1, a região ∆Ai,j é limitada pelo contorno Li,j definido pelos segmentos i, ii, iii, iv, c, d. Aplicando-se as condições de contorno, obtêm-se a seguinte equação de diferenças: ij i,j CD Φ̃i+1,j + CT Φ̃i,j−1 + CI i,j Φ̃i,j+1 CA ij Φ̃ij = onde I δ(xs ) δ(zs ) , 2 σi,j−1 ∆zj−1 + σi,j ∆zj CD = − , 2∆xi σi,j−1 ∆xi ij , CT = − 2∆zj−1 ∆x σ i,j i CI ij = − , 2∆zj σi,j−1 ∆xi ∆zj−1 σi,j ∆xi ∆zj 2 A(σi,j , Ai,j ) = ky + , 4 4 (B.24) ij ij ij CA ij = − CD + CT + CI ij − A(σi,j , Ai,j ) + σi,j ∆zj + σi,j−1 ∆zj−1 α. 2 (B.25) (B.26) (B.27) (B.28) (B.29) 68 B.6 Para os nós da borda direita Par aos nós (N, j), j = 2, 3, . . . , M − 1, a região ∆Ai,j é limitada pelo contorno Li,j definido pelos segmentos d, c, vi, vii, viii. Para esses, a equação de diferenças é ij i,j CE Φ̃i−1,j + CT Φ̃i,j−1 + CI i,j Φ̃i,j+1 CA ij Φ̃ij = onde I δ(xs ) δ(zs ) , 2 σi−1,j ∆zj + σi−1,j−1 ∆zj−1 , CE = − 2∆xi σi−1,j−1 ∆xi−1 ij , CT = − 2∆zj−1 σi−1,j ∆xi−1 ij , CI = − 2∆zj σi−1,j−1 ∆xi−1 ∆zj−1 σi−1,j ∆xi−1 ∆zj 2 A(σi,j , Ai,j ) = ky + , 4 4 (B.30) ij ij ij ij CA ij = − CE + CT + CI − A(σi,j , Ai,j ) + σi−1,j ∆zj + σi−1,j−1 ∆zj−1 α. 2 (B.31) (B.32) (B.33) (B.34) (B.35) ANEXO I Programas utilizados para a modelagem de resistividade aparente por diferenças finitas . I.1 Modela ρa por diferenças finitas c ================================================================== program roapdf c -----------------------------------------------------------------c Gera a seccao de resistividade aparente, a partir de um modelo 2D c com condutividade sigma(x,z), usando fontes de correntes pontuais c Solucao por Diferencas Finitas, conforme Dey & Morrison (1979a). c Opcoes de Arranjos: Schlumberger e Dipolo-Dipolo. c -----------------------------------------------------------------c n = nph x npv = n@. total de ptos na grade, m1 = npv + 1 c nalfa = n@. de ptos de fronteira "no infinito " da grade. c nes = n@. de estacoes (= (ipu-ipp)/ipl +1), npes2 = 2 x npes c nw = comprimento do vetor de freqü^ encias c bh = base para expans~ ao da grade na direç~ ao horizontal c bv base para expans~ ao da grade na direç~ ao vertical c a(k) = vetor invariante com frequencia dada pela c formula (3.22 - cap 3) e similares no apendice 1. c cd(k) = vetor invariante com frequencia = coeficiente de c acoplamento d0 nodulo (i,j) com (i+1,j). c cb(k) = idem para o acoplamento de (i,j) com (i,j+1). c alfa(inf)= termo dado pela formula (3.38 - cap 3). c term(inf)= termo que multiplica o parametro alfa para o coeficiente c cp nas fronteiras de "infinito", (ver apendice 1). c c(i,j) = 1. matriz de capacitancia c (ex quadro 1-cap 3). c 2. matriz l (formula (3.43 - cap 3) c p(i,j,k) = "matriz" que armazena potenciais obtidos na superficie c sigma(k) = funcao quadrupla : c 1. vetor de armaz. a condutividade dos ptos da grade. c 2. vetor fonte (eq. 3.40 - cap 3), vetor b (eq. 3.45 - cap 3). c 3. vetor y (eq. 3.45 - cap 3). 4. vetor x (eq. 3.46 - cap 3). c -----------------------------------------------------------------c Autor: Walter E. Medeiros PPPG, abril/1986 c ================================================================== implicit double precision (a-h,o-z) c parameter (nwmax=10,bh=2.529,bv=2.215 ) parameter (nwmax=10,bv=2.215 ) dimension a(3330),cd(3330),cb(3330),term(220),alfa(220) dimension wy(nwmax),prof(18),sigma(3330), condut(3330) dimension c(3330,19),p(60,300,10) dimension ie(20),id(20),jc(20),jb(20),ro(20),xis(200) include ’camadas-include.f’ logical flag c ================================================================== c --------Descricao dos dados de entrada -------c ================================================================== c wy(k),k=1,nw: Frequencias Espaciais data wy/0.001,0.002,0.004,0.008,0.015,0.03,0.06,0.09,0.12,0.15/ c -----------------------------------------------------------------c prof(k),k=1,npv: Profundidades em (m). Se (fe.ne.1), prof=prof*fe data prof/0,1,2.5,5,7,10,15,20,30,40,50,60,80,100,120,0,0,0/ c -----------------------------------------------------------------data nb/2/ ! ....................... Numero de blocos do modelo c ie(m): limite do lado esquerdo do bloco (m), [m=1,nb] c id(m): lado direito, jc(m): lado de cima, jb(m): lado de baixo c ro(m): resistividade do bloco (m) [m=1, (resistividade de fundo)] c data ie(1),id(1),jc(1),jb(1),ro(1)/ 1, 185, 1, 18, 100/ c data ie(2),id(2),jc(2),jb(2),ro(2)/ 1,185, 8, 18, 10/ c data ie(2),id(2),jc(2),jb(2),ro(2)/ 83, 103, 1, 18, 100/ 69 70 c -----------------------------------------------------------------c Entrada do dimensionamento da grade. c call geometria(npv,nph,dh,bh,fe,it,ipp,ipu,ipl,npes,kmod) c ================================================================== c .....................................................inicializacao nw=10 n=nph*npv m1=npv+1 nalfa=nph+2*(npv-1) nes=(ipu-ipp)/ipl+1 npes2=2*npes call zeradupla(a,n) call zeradupla(cd,n) call zeradupla(cb,n) call zeradupla(sigma,n) call zeradupla(term,nalfa) call zeradupla(alfa,nalfa) call zeradupla(p,50*200*10) b=prof(npv-3)-prof(npv-4) i=0 do j=npv-2,npv i=i+1 prof(j)=prof(j-1)+b*bv**i enddo cccccccccccccc ccccccccccccc ccccccccccccc cccccccccccccccc cccccccccccccccccc cccccccccccccc ccccccccccccc ccccccccccccc cccccccccccccccc cccccccccccccccccc cccccccccccccc ccccccccccccc ccccccccccccc cccccccccccccccc cccccccccccccccccc c gera o vetor contendo as coordenadas x call geraxis(xis,nph,dh,bh) write(0,*) ’ Intervalo de xis: ’, xis(1),xis(nph) write(0,*) ’ Coordenada x das estaç~ oes de sondagem: ’ write(6,*) ipp,ipu write(0,*) ’ O deslocamento para a esquerda é de ’,xis(5) write(6,*) ((xis(i)+xis(i+1))/2-xis(5),i=ipp,ipu,ipl) write(0,*) ’ Intervalo de zes: ’, (prof(i),i=1,npv) c faz a leitura do modelo de condutividade e constroi a matriz de condutiv. call modelo(NPV,NPH,XIS,PROF,SIGMA) c call bordas(npv,nph,prof,sigma) sigmamax=sigma(1) c do i=1,n c sigmamax=max(sigmamax,sigma(i)) c enddo c sigmamax=0.01 do i=1,n,npv c write(20,’(i4,18(f5.2))’) c $ i/npv+1,(sigma(i+j)/sigmamax,j=0,npv-1) write(20,’(i4,18(i5))’) $ i/npv+1,(nint(1/sigma(i+j)),j=0,npv-1) end do cccccccccccccc ccccccccccccc ccccccccccccc cccccccccccccccc cccccccccccccccccc c ================================================================== c Documentacao dos dados no arquivo roap.dat c -----------------------------------------------------------------open(17,file=’soap.dat’,form=’formatted’,status=’unknown’) open(18,file=’soap.xyz’,form=’formatted’,status=’unknown’) c -----------------------------------------------------------------write(17,74) nph,npv,dh,fe,bh,bv,nw 74 format(1x,/,65(’=’),/,’ roap.dat:’, $’ Arquivo para documentacao dos dados’,/,65(’=’), $/,’ nph= ’,i3,’ npv= ’,i3,’ dh= ’,f12.5,’ fe= ’,f12.5, $/,’ bh= ’,f6.3,’ bv= ’,f6.3,’ nw= ’,i2) write(17,76) (wy(iw),iw=1,nw) 76 format(’ frequencias:’,10(f5.3)) write(17,78) (prof(j)*fe,j=1,npv) 78 format(’ profundidades(j),j=1,npv’,/,6(1x,f9.2)) write(17,80) npes,ipp,ipu,ipl,nes 80 format(65(’-’),/, $’ numero de pontos por estacao: npes = ’,i3,/, $’ primeira posicao da fonte positiva: ipp = ’,i3,/, $’ ultima posicao da fonte positiva: ipu = ’,i3,/, $’ passo da fonte (+) na superficie: ipl = ’,i3,/, $’ numero de estacoes: nes = ’,i3,/,1x,/, $’ ----- Resistividades definidas por blocos do modelo -----’, $ /,65(’-’),/,’ bloco ie id jc jb ’, $’ espess(m) prof(m) ro(ohm.m)’,/,65(’-’)) write(17,82) ie(1),id(1),jc(1),jb(1),ro(1) do m=2,nb esp=(prof(jb(m))-prof(jc(m)))*fe write(17,84) m-1,ie(m),id(m),jc(m),jb(m), $ esp,prof(jb(m))*fe,ro(m) enddo 71 82 format(3x,’*’,2x,4i5,6x,’resistividade de fundo’,2x,f9.2) 84 format(1x,i3,2x,4i5,6x,3(2x,f9.2)) c ================================================================== c ....................obtencao do potencial no dominio de frequencia c ..............calculo dos coeficientes invariantes com frequencia c c transferindo as condutividades para outro vetor pois c sigma é utilizado para outros fins c do i=1,n condut(i)=sigma(i) enddo if(kmod.eq.0) then call coef(n,npv,nalfa,dh,bh,prof,condut,a,cd,cb,term) else call coefxz_a(n,npv,nalfa,dh,bh,prof,condut,a,cd,cb) do i=1,nalfa alfa(i)=1. enddo endif do iw=1,nw w=wy(iw) w4=w write(0,*) ’Frequencia: ’,iw,w4 c ...............calculo dos coeficientes dependentes de frequencia c ...............e composicao da matriz de capacitancia if(kmod.eq.0) then call calfa(n,npv,nalfa,dh,bh,w,prof,alfa) else call coefxz_b(npv,nph,nalfa,dh,bh,prof,condut,term) flag=.false. call testeterm(term,npv,flag) if(flag) then call coef(n,npv,nalfa,dh,bh,prof,condut,a,cd,cb,term) call calfa(n,npv,nalfa,dh,bh,w,prof,alfa) kmod=0 endif endif write(21,*) iw,(a(i),i=1,n) write(22,*) iw,(cd(i),i=1,n) write(23,*) iw,(cb(i),i=1,n) write(24,*) iw,(term(i),i=1,nalfa) write(25,*) iw,(alfa(i),i=1,nalfa) write(26,*) ’freq’, iw do i=1,nalfa write(26,*) term(i)*alfa(i) enddo call arqv(n,m1,nalfa,w,a,cd,cb,term,alfa,c) c c c c c c c c c ..................decomposicao cholesky da matriz de capacitancia call chfac(n,m1,c) .....................................solucao da equacao matricial do ip=ipp,ipu,ipl .......................................obtencao do vetor fonte call fonte(n,npv,ip,sigma) ............solucao direta da eq. mat. p/ uma posicao da fonte call chsol(n,m1,c,sigma) .......................armazenando os potenciais na superficie call potsup(it,n,npv,npes2,nes,nw,ipp,ipl,iw,ip,sigma,p) enddo enddo c .................................calculo da resistividade aparente call roschl(it,npes2,nes,nw,ipp,ipu,ipl,dh,fe,wy,p,nph) stop end subroutine zeradupla(conjunto,nval) double precision conjunto(nval) do i=1,nval conjunto(i)=0.0d0 enddo end subroutine zerareal(conjunto,nval) real*4 conjunto(nval) do i=1,nval conjunto(i)=0.0 enddo end subroutine zerainteiro(conjunto,nval) integer conjunto(nval) 72 do i=1,nval conjunto(i)=0 enddo end c __________________________Subrotinas______________________________ c coef,cbed,dhor,calfa,bratio,arqv,chfac,chsol,fonte,potsub,roschl c ================================================================== c c C C C C C C C C c ================================================================== SUBROUTINE COEF(N,NPV,NALFA,DH,BH,PROF,SIGMA,A,CD,CB,TERM) -----------------------------------------------------------------CALCULA OS COEFICIENTES A, CD, CB E TERM DEFINIDOS NO COMENTARIO DO PROGRAMA PRINCIPAL. ENTRADA : N, ..., PROF SAIDA: A, ..., TERM OBS: 1. SIGMA (I) ENTRA E SAI COMO VETOR DE DADOS DE CONDUTIVIDADE. 2. TODOS OS PARAMETROS ESTAO DEFINIDOS NO COMENTARIO INICIAL. -----------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION PROF(NPV),SIGMA(N),A(N),CD(N),CB(N),TERM(NALFA) C NPH=N/NPV INF=0 DO 200 I=1,NPH DO 100 J=1,NPV K=(I-1)*NPV+J KC=K-1 KE=K-NPV KCE=KE-1 SC=0. SE=0. SCE=0. IF(KCE.GE.1)GO TO 2 IF(KE.GE.1)GO TO 4 IF(KC.GE.1)GO TO 6 GO TO 8 2 SCE=SIGMA(KCE) 4 SE=SIGMA(KE) 6 SC=SIGMA(KC) 8 S=SIGMA(K) CALL CBED(NPV,NPH,DH,BH,I,J,PROF,DZC,DZB,DXE,DXD) IF(J.GE.1.AND.J.LT.NPV.AND.I.GT.1.AND.I.LT.NPH)GO TO 80 INF=INF+1 CALL DHOR(NPH,DH,BH,I,RH) R=SQRT(PROF(J)**2+RH**2) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc CTETA1=PROF(J)/R CTETA2=RH/R c c Os ^ angulos cteta1 e cteta2 passam a ser considerados na rotina c CALFA c c CTETA1=1. c CTETA2=1. IF(J.NE.1)GO TO 20 TERM(INF)=DZB*(S+SE)*CTETA2/2. GO TO 80 20 IF(J.EQ.NPV)GO TO 40 TERM(INF)=CTETA2/2.*(DZB*(S+SE)+DZC*(SC+SCE)) GO TO 80 40 IF(I.GT.1.AND.I.LT.NPH)GO TO 60 T1=SC/2.*(DXD*CTETA1+DZC*CTETA2) T2=SCE/2.*(DXE*CTETA1+DZC*CTETA2) TERM(INF)=T1+T2 GO TO 80 60 TERM(INF)=CTETA1/2.*(DXE*SCE+DXD*SC) 80 CD(K)=-1.*(DZC*SC+DZB*S)/2./DXD CB(K)=-1.*(DXE*SE+DXD*S)/2./DZB A(K)=0.25*(SCE*DXE*DZC+SC*DXD*DZC+S*DXD*DZB+SE*DXE*DZB) 100 CONTINUE 200 CONTINUE RETURN END c c C C C C C C ================================================================ SUBROUTINE CBED(NPV,NPH,DH,BH,I,J,PROF,DZC,DZB,DXE,DXD) ---------------------------------------------------------------DETERMINA AS DISTANCIAS DE QUALQUER PONTO (I,J) DA GRADE AOS SEUS VIZINHOS MAIS PROXIMOS. ENTRADA : NPV, ... , PROF OBS: SAIDA: DZC, ... , DXD 1. I = INDICE NA DIRECAO HORIZONTAL DA GRADE. 73 C C C C C c C C 10 20 C 100 110 120 125 130 c c C C C C C C C c C 2. J = " " " VERTICAL " " . 3. DZC = DISTANCIA DE (I,J) A (I,J-1). 4. DZB = " " " " (I,J+1). 5. DXE = " " " " (I-1,J). 6. DXD = " " " " (I+1,J). ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION PROF(NPV) ...........................................PARAMETROS AUXILIARES I55=(NPH+1)/2 I105=NPH-4 I110=NPH+1 .......................................DETERMINACAO DE DZC E DZB IF(J.EQ.1)GO TO 10 IF(J.EQ.NPV)GO TO 20 DZC=PROF(J)-PROF(J-1) DZB=PROF(J+1)-PROF(J) GO TO 100 DZC=1. DZB=PROF(2) GO TO 100 DZC=PROF(NPV)-PROF(NPV-1) DZB=1. .......................................DETERMINACAO DE DXE E DXD IF(I.GT.I55)GO TO 110 ISIM=I110-I GO TO 120 ISIM=I IF(ISIM.GE.I105)GO TO 130 DXE=DH DXD=DH RETURN DXE=DH*BH**(ISIM-I105) DXD=BH*DXE IF(ISIM.EQ.I)GO TO 125 DTR=DXE DXE=DXD DXD=DTR RETURN END ================================================================ SUBROUTINE DHOR(NPH,DH,BH,I,RH) ---------------------------------------------------------------CALCULA A DISTANCIA DE QUALQUER PONTO DA GRADE AO SEU EIXO VERTICAL CENTRAL . ENTRADA: NPH, ..., I SAIDA: RH OBS: 1. PARAMETROS DE ENTRADA JA DEFINIDOS 2. RH = DISTANCIA DEFINIDA EM "PROPOSITO" ACIMA. ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) ...........................................PARAMETROS AUXILIARES I50=(NPH-9)/2 I55=(NPH+1)/2 I105=NPH-4 I106=NPH-3 I110=NPH+1 C IF(I.GT.I55)GO TO 10 ISIM=I110-I GO TO 20 10 ISIM=I 20 IF(ISIM.GT.I105)GO TO 30 RH=DH*(ISIM-I55) RETURN 30 RH=I50*DH DO 40 IA=I106,ISIM 40 RH=RH+DH*BH**(IA-I105) RETURN END C***************************************************************************** c----------------------------------------------------------------------------c ni 0 calcula a funç~ ao de Bessel modificada de 2a c espécie, ordem 0 c 1 idem, idem ordem 1 c 2 calcula k1(.)/k0(.) c----------------------------------------------------------------------------FUNCTION BKNI(ni,X) IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION TI0(7),TI1(7),TK01(7),TK02(7),TK11(7),TK12(7) C C ................(TERMOS DE I0(X), -3.75 <= X =< 3.75 , T=X/3.75) DATA TI0/1.0,3.5156229,3.0899424,1.2067492, 74 *0.2659732,0.0360768,0.0045813/ C C C C C C C C C C ............(TERMOS DE 1/X*I1(X), -3.75 <= X =< 3.75 , T=X/3.75) DATA TI1/0.5,0.87890594,0.51498869,0.15084934, *0.02658733,0.00301532,0.00032411/ ...........................(TERMOS DE K0(X), 0 < X < 2 DATA TK01/-0.57721566,0.42278420,0.23069756, *0.03488590,0.00262698,0.00010750,0.00000740/ , T=X/2) ..........(TERMOS DE SQRT(X)*EXP(X)*K0(X), 2 <= X < INF , T=2/X) DATA TK02/1.25331414,-0.07832358,0.02189568, *-0.01062446,0.00587872,-0.00251540,0.00053208/ ...........................(TERMOS DE X*K1(X), 0 < X < 2, T=X/2) DATA TK11/1.0,0.15443144,-0.67278579,-0.18156897, *-0.01919402,-0.00110404,-0.00004686/ ...........(TERMOS DE SQRT(X)*EXP(X)*K1(X), 2 <= X < INF, T=2/X) DATA TK12/1.25331414,0.23498619,-0.03655620, *0.01504268,-0.00780353,0.00325614,-0.00068245/ C if(ni.eq.0.or.ni.eq.2) then IF(X.LT.2.)THEN T=X/3.75 t2=t*t BI0=ti0(7) DO I=6,1,-1 BI0=BI0*t2+TI0(I) enddo T=X/2. t2=t*t bk0=tk01(7) do I=6,1,-1 BK0=BK0*t2+TK01(I) enddo BK0=LOG(1./T)*BI0+bk0 ELSE T=2./X BK0=tk02(7) do i=6,1,-1 BK0=BK0*t+TK02(I) enddo ENDIF endif c if(ni.eq.1.or.ni.eq.2) then IF(X.LT.2.)THEN T=X/3.75 t2=t*t BI1=ti1(7) DO I=6,1,-1 BI1=BI1*t2+TI1(I) enddo T=X/2. t2=t*t BK1=tk11(7) DO I=6,1,-1 BK1=BK1*t2+TK11(I) enddo BK1=X*DLOG(T)*BI1+bk1/x ELSE T=2./X BK1=tk12(7) DO I=6,1,-1 BK1=BK1*t+TK12(I) enddo endif endif if(ni.eq.0) then BKni=BK0 if(x.ge.2.0) BKni=BKni*exp(-x)/sqrt(x) elseif(ni.eq.1) then BKni=BK1 if(x.ge.2.0) BKni=BKni*exp(-x)/sqrt(x) elseif(ni.eq.2) then BKni=BK1/BK0 endif c c c C RETURN END ================================================================ SUBROUTINE ARQV(N,M1,NALFA,W,A,CD,CB,TERM,ALFA,C) ---------------------------------------------------------------ARMAZENA (OU MONTA) A MATRIZ DE CAPACITANCIA C(I,J). A CADA 75 C C C C C C C C C C C c FREQUENCIA SAO ARMAZENADOS N CONJUNTOS DE (M+1) NUMEROS. CONFORME ABAIXO. SEJA 1 =< I <= N 1 =< J <= (M+1) FIXADO I , P/ J=1 ARMAZ ZERO OU CD(I-M) P/ 2= < J >= M, ARMAZ ZERO P/ J=M ARMAZ CB(I-1) P/ J=M+1 ARMAZ CP(I) . ENTRADA : N, ..., ALFA SAIDA : C ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION A(N),CD(N),CB(N),TERM(NALFA),ALFA(NALFA),C(N,M1) C 10 50 60 70 845 850 c c C C C C C C C c NPV=M1-1 NPH=N/NPV DO 10 J=1,M1 DO 10 K=1,N C(K,J)=0. INF=0 DO 850 I=1,NPH DO 845 J=1,NPV K=(I-1)*NPV+J KE=K-NPV KC=K-1 R=0. IF(J.GE.1.AND.J.LT.NPV.AND.I.GT.1.AND.I.LT.NPH)GO TO 50 INF=INF+1 R=TERM(INF)*ALFA(INF) IF(I.NE.1)GO TO 50 CCE=0. IF(J.GT.1)GO TO 60 CCC=0. GO TO 70 CCE=CD(KE) CCC=CB(KC) CCP=-1.*(CD(K)+CB(K)+CCE+CCC-W**2*A(K))+R C(K,1)=CCE C(K,NPV)=CCC C(K,NPV+1)=CCP CONTINUE CONTINUE RETURN END ================================================================ SUBROUTINE CHFAC(N,M1,C) ---------------------------------------------------------------FAZ A DECOMPOSICAO CHOLESKY DA MATRIZ DE CAPACITANCIA C CONFORME EQ.(3.43-CAP 3). MODIFICADA DE MARTIN & WILKINSON (1965). OU SEJA: L L(T) = C, ONDE L E TRIANGULAR INFERIOR. OBS: 1. A MATRIZ DECOMPOSTA E SOBRESCRITA A MATRIZ C. 2. O PROCEDIMENTO FALHARA SE C , MODIFICADA POR ERROS DE ARREDONDAMENTOS NAO FOR POSITIVA DEFINIDA. ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION C(N,M1) C 10 20 25 30 100 200 900 M=M1-1 DO 200 I=1,N JP=1 IF(I.GT.M)GO TO 10 JP=M-I+2 JR=I+JP-M-1 DO 100 J=JP,M1 JS=J-1 JQ=M+1-J+JP Y=C(I,J) IF(JP.GT.JS)GO TO 25 DO 20 K=JP,JS Y=Y-C(I,K)*C(JR,JQ) JQ=JQ+1 CONTINUE IF(J.NE.(M+1))GO TO 30 IF(Y.LE.0.)GO TO 900 C(I,J)=1./SQRT(Y) GO TO 100 C(I,J)=Y*C(JR,M+1) JR=JR+1 CONTINUE CONTINUE RETURN WRITE(17,901)I 76 901 FORMAT(1X,’ERRO GRAVE DE ARREDONDAMENTO - I = ’,I4) STOP ’ERRO DE ARREDONDAMENTO’ END c ================================================================ SUBROUTINE FONTE(N,NPV,IP,SIGMA) ---------------------------------------------------------------MONTAGEM DO TERMO FONTE DA EQUACAO MATRICIAL c C C C C C C C C c ENTRADA : N, ..., IP SAIDA : SIGMA OBS: 1. COLOCA-SE 1 FONTE POSITIVA EM IP E 1 FONTE NEGATIVA EM (IP+1) 2. O CENTRO DA S.E. SCHLUMBEGER FICA SENDO O MEIO DE IP E (IP+1) 3. USA-SE PRINCIP.DA RECIPROCIDADE (KELLER & FRISCHKNECHT, 1966) ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION SIGMA(N) C 10 c c C C C C C C C C C C c C 10 20 30 100 C 110 120 130 200 c c C C C C C C DO 10 K=1,N SIGMA(K)=0. K=(IP-1)*NPV+1 SIGMA(K)=0.5 K=K+NPV SIGMA(K)=-0.5 RETURN END ================================================================ SUBROUTINE CHSOL(N,M1,C,SIGMA) ---------------------------------------------------------------RESOLVE A EQUACAO (3.40 - CAP 3) ATRAVES DAS ETAPAS (3.45-CAP 3) E (3.46-CAP 3). MODIFICADA DE MARTIN & WILKINSON(1965). OU SEJA: C X = F 1@ ETAPA : L Y = F 2@ ETAPA : L(T) X = Y OBSERVACOES : 1. Y SOBREESCREVE F 2. X SOBREESCREVE Y 3. SIGMA FAZ O PAPEL DE F, Y E X . ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION C(N,M1),SIGMA(N) M=M1-1 ........................................................1@ PARTE DO 100 I=1,N JP=1 IF(I.GT.M)GO TO 10 JP=M-I+2 JQ=I Y=SIGMA(I) IF(JP.GT.M)GO TO 30 DO 20 K=M,JP,-1 JQ=JQ-1 Y=Y-C(I,K)*SIGMA(JQ) CONTINUE SIGMA(I)=Y*C(I,M+1) CONTINUE ........................................................2@ PARTE DO 200 I=N,1,-1 JP=1 IF((N-I).GT.M)GO TO 110 JP=M-N+I+1 Y=SIGMA(I) JQ=I IF(JP.GT.M)GO TO 130 DO 120 K=M,JP,-1 JQ=JQ+1 Y=Y-C(JQ,K)*SIGMA(JQ) CONTINUE SIGMA(I)=Y*C(I,M+1) CONTINUE RETURN END ================================================================ SUBROUTINE POTSUP(IT,N,NPV,NPES2,NES,NW,IPP,IPL,IW,IP,SIGMA,P) ---------------------------------------------------------------SEPARA OS PONTENCIAIS NA SUPERFICIE NECESSARIOS ‘A OBTENCAO DE UMA S.E. COM NPES PTOS EM PROGRESSAO ARITMETICA. PARAMETROS DE ENTRADA : N, ..., SIGMA OBSERVACOES : DE SAIDA : P 77 C C C C C C c 1. DADO IP E (IP+1) NA SUPERFICIE, SAO ARMAZENADOS NPES PTOS ANTERIORES A IP, E NPES PTOS POSTERIORES A (IP+1). 2. A ORDEM DE ARMAZENAMENTO E TAL QUE : 1<= I =<NPES2 I = 1, ..., NPES, NPES+1, ..., NPES2 P = FI(IP-1), ..., FI(IP-NPES), FI(IP+NPES+1), ..., FI(IP+2) -----------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION SIGMA(N),P(NPES2,NES,NW) C c c C C C C C C C C C C C C C C C NPES=NPES2/2 ICM=(IP-IPP)/IPL+1 ..................... Ramo do lado esquerdo (Arranjo Schlumberger) if(it.eq.1) then IN=IP-NPES IFIM=IP-1 ILM=NPES+1 DO I=IN,IFIM ILM=ILM-1 K=(I-1)*NPV+1 P(ILM,ICM,IW)=SIGMA(K) ENDDO endif ...... Ramo do lado direito (Arranjo Schlumberger e Dipolo-Dipolo) IN=IP+2 IFIM=IP+NPES+1 ILM=2*NPES+1 DO I=IN,IFIM ILM=ILM-1 K=(I-1)*NPV+1 P(ILM,ICM,IW)=SIGMA(K) ENDDO if(it.eq.2) then ! Determina o potencial em um ponto extra ilm=npes ! no lado direito.(Arranjo Dipolo-Dipolo) i=ip+npes+2 k=(i-1)*npv+1 p(ilm,icm,iw)=sigma(k) endif RETURN END ================================================================== SUBROUTINE ROSCHL(IT,NPES2,NES,NW,IPP,IPU,IPL,DH,FE,WY,P,nph) -----------------------------------------------------------------INTEGRA AO DOMINIO DE ESPACAO OS PONTENCIAIS RESERVADOS NA SUPERFICIE E OBTEM OS VALORES DE RHO APARENTE, P/ TODOS OS CENTROS ENTRADA : IT,N, ..., P SAIDA : ESCRITOS DIRETAMENTE NOS ARQ "roap.dat" PARA DOCUMENTACAO OBSERVACOES : 1. PARA VER PROCESSO DE INTEGRACAO CONSULTE ITEM 3.2.5 - CAP 3. 2. O RESULTADO DO POTENCIAL INTEGRADO E SOBRESCRITO AO VALOR NA PRIMEIRA FREQUENCIA NO VETOR P . ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION WY(NW),P(NPES2,NES,NW) if(it.eq.1) write(17,12) if(it.eq.2) write(17,13) 12 FORMAT(/,’** RESISTIVIDADE APARENTE ** SCHLUMBERGER ’,/,41(’-’)) 13 FORMAT(/,’** RESISTIVIDADE APARENTE ** DIPOLO-DIPOLO’,/,42(’-’)) NPES=NPES2/2 DO 400 IP=IPP,IPU,IPL ICM=(IP-IPP)/IPL+1 if(it.eq.1) WRITE(17,14) ICM,IP,IP+1 if(it.eq.2) WRITE(17,15) ICM,IP,IP+1 14 FORMAT(/,1x,’ESTACAO: ’,I3,’ <*> CENTRO ENTRE OS ’ $,’PONTOS: ’,I3,’ E ’,I3,/,53(’-’),/,6x,’AB/2’,4x,’RHO APARENTE’) 15 FORMAT(/,1x,’ESTACAO: ’,I3,’ <**> POTENCIAIS I+ e I- NOS ’ $,’PONTOS: ’,I3,’ E ’,I3,/,59(’-’),/,3x,’ N’,6x,’RHO APARENTE’) C ..................................INTEGRACAO AO DOMINIO ESPACIAL if(it.eq.1) ilm1=1 if(it.eq.2) ilm1=npes DO 200 ILM=ILM1,NPES2 V=0. DO 100 IW=1,NW-1 T1=P(ILM,ICM,IW) T2=P(ILM,ICM,IW+1) W1=WY(IW) W2=WY(IW+1) B=DLOG(T1/T2)/(W2-W1) AA=T1*DEXP(B*W1) IF(IW.EQ.1)GO TO 10 78 10 20 100 200 C C IF(IW.EQ.(NW-1))GO TO 20 V=V-AA/B*(DEXP(-1.*B*W2)-DEXP(-1.*B*W1)) GO TO 100 V=V-AA/B*(DEXP(-1.*B*W2)-1.) GO TO 100 V=V+AA/B*DEXP(-1.*B*W1) CONTINUE P(ILM,ICM,1)=V CONTINUE ................................CALCULO DA RESITIVIDADE APARENTE ------------------------------------------- Arranjo Schlumberger if(it.eq.1) then IN=IP-NPES IFIM=IP-1 ILM=NPES+1 DO I=IN,IFIM ILM=ILM-1 ILMS=2*NPES+1-ILM DDP=P(ILM,ICM,1)-P(ILMS,ICM,1) AB2=DH*(IP-I+0.5) FG=2./DH*(AB2**2-0.25*DH**2) P(ILM,ICM,1)=FG*DDP P(ILM,ICM,2)=AB2*FE ENDDO DO ILM=1,NPES c c modificacao de sato de 14/03./2001 c isato1=ip-ilm isato2=ip+1+ilm if(isato1.ge.5.and.isato2.le.nph-4) then WRITE(17,350) P(ILM,ICM,2),P(ILM,ICM,1) vx = (float(ip-ipp)+0.5)*dh WRITE(18,352) vx, -(ic+1)*dh/2, P(ILM,ICM,1) endif c c fim da modificcao c 350 FORMAT(2X,F8.1,4X,F12.5) ENDDO c ------------------------------------------ Arranjo Dipolo-Dipolo elseif(it.eq.2) then ilm=npes2+1 do ic=1,npes ilm=ilm-1 ilms=ilm-1 ddp=p(ilm,icm,1)-p(ilms,icm,1) fg=-2.0*dh*ic*(ic+1)*(ic+2) p(ilm,icm,1)=fg*ddp enddo ilm=npes2+1 do ic=1,npes ilm=ilm-1 write(17,351) ic,p(ilm,icm,1) vx= (ip - ipp + 1 + float(ic)/2)*dh write(18,352) vx, -(ic+1)*dh/2, p(ilm,icm,1) 351 format(4x,i4,6x,f12.5) 352 format(2x,f8.2,1x,f8.2,1x,f12.5) enddo endif 400 CONTINUE RETURN END 79 I.2 Sub-rotinas diversas c####################################################################### c subrotina para determinar os numeros das camadas, l_fonte e l_obser, c respectivamente correspondentes ‘as posicoes da fonte (z_fonte) c e do observador (z_obser). c c O algoritmo foi elaborado visando estabeler os numeros da camadas c tais que a diferenca (l_fonte - l_obser) seja minima. c subroutine atualiza_fonte_obser c----------------------------------------------------------------------c Autor: Hedison K. Sato (dez/1998) c----------------------------------------------------------------------include ’kern-include.f’ c if(z_fonte.le.z_obser) then z1=z_fonte z2=z_obser iflag=0 else z1=z_obser z2=z_fonte iflag=1 endif c kl_fonte=0 kl_obser=0 if(l_last.ne.0) then kl_fonte=0 kl_obser=0 do i=0,l_last-1 if(depth(i).le.z1) kl_fonte=i+1 if(depth(i).lt.z2) kl_obser=i+1 enddo endif if(z1.eq.z2) kl_obser=kl_fonte c if(iflag.eq.0) then l_fonte=kl_fonte l_obser=kl_obser else l_fonte=kl_obser l_obser=kl_fonte endif end c####################################################################### c Considerando: c c 1) o modelo e’ formado por um espaco dividido em n+1 camadas, c numeradas de 0 a n, sendo que cada camada apresenta uma c resistividade eletrica variando de forma exponencial com c a profundidade (z), na forma c c resistividade = alpha * exp(beta*z) c c Este modulo FORTRAN tem entradas para c c (i) calcular o kernel da expressao integral do potencial eletrico c (ii) o kernel da expressao do campo eletrico na direcao r, c (l_obser) o kernel da expressao do campo eletrico na direcao z, e c (iv) o kernel da expressao da DIFERENCA do potencial do ponto c (r, z_obser) para o do ponto (r, z_0). c----------------------------------------------------------------------c A expressao do potencial na camada l_obser e’: c c v_l_obser (r,z)=(I/(2*pi*sigma_l_fonte)) * c \int_0^infty pot_kernel(lambda) J_0(lambda*r) d lambda c c onde I e’ a intensidade da fonte de corrente. c----------------------------------------------------------------------c Observacoes: c 1. No desenvolvimento da teoria, foram utilizados nomes de c variaveis em letras minusculas e maiusculas, tendo conceitos ou c significados similares. No caso desta modelagem, algumas c variaveis representadas por letras minusculas tem a ver com a c recorrencia da camada de numero 0 para a camada l_last, e vice-versa. c Assim, para diferenciar, gsl e glg representam, mnemonicamente, c g small e g large, ou seja, o sufixo "sl" relaciona-se com small, c enquanto que "lg", com large. c----------------------------------------------------------------------c----------------------------------------------------------------------function exp_pot_kernel(lambda) c----------------------------------------------------------------------include ’kern-include.f’ 80 real lambda,kernel c itype=0 goto 10000 c----------------------------------------------------------------------c----------------------------------------------------------------------c----------------------------------------------------------------------entry exp_difpot_kernel(lambda) itype=3 goto 10000 c----------------------------------------------------------------------c----------------------------------------------------------------------c----------------------------------------------------------------------entry exp_er_kernel(lambda) itype=1 goto 10000 c----------------------------------------------------------------------c----------------------------------------------------------------------c----------------------------------------------------------------------entry exp_ez_kernel(lambda) itype=2 goto 10000 c----------------------------------------------------------------------10000 do i=0,l_last if(beta(i).ne.0.0) then temp=sqrt(beta(i)*beta(i)+4*lambda*lambda)/2 gp(i)=beta(i)/2+temp if(gp(i).eq.0) gp(i)=lambda*lambda/abs(beta(i)) gm(i)=beta(i)/2-temp if(gm(i).eq.0) gm(i)=-lambda*lambda/abs(beta(i)) else gp(i)=lambda gm(i)=-lambda endif enddo c----------------------------------------------------------------------c Observador esta’ mais raso que a fonte de corrente c----------------------------------------------------------------------if(z_obser.le.z_fonte) then c Recorrencia da camada 0 em direcao a l_last, p/ obter gsl. if(itype.ne.3) then call gsl_0m_kernel(-1,0.,l_obser,gsl) else if(depth(0).le.z_obser) then call gsl_0m_kernel(-1,0.,1,gsl1) ! Da camada 0 p/ 1 gsl=gsl1 if(l_obser.gt.1) then ! Se for o caso, prossegue ate l_obser call gsl_0m_kernel(1,gsl,l_obser,gsl) endif elseif(depth(0).le.z_fonte) then call gsl_0m_kernel(-1,0.,0,gsl) call gsl_0m_kernel(0,gsl,1,gsl1) else call gsl_0m_kernel(-1,0.,0,gsl) call gsl_mm_kernel(gsl,gsl1,rsl1) call gsl_mn_kernel(0,gsl1,rsl1,1,gsl1,rsl1) endif endif c Recorrencia da camada l_last em direcao 0, p/ obter glg, rlg. if(itype.ne.3) then call glg_nm_kernel(l_last+1,0.,l_fonte,glg) ! De l_last+1 ate’ m+ call glg_mm_kernel(glg,glg,rlg) ! Incorpora a fonte de corrente if(l_obser.lt.l_fonte) then ! Observador em camada mais rasa que a da fonte call glg_m0_kernel(l_fonte,glg,rlg,l_obser,glg,rlg) endif else if(depth(0).le.z_z_obser) then call glg_nm_kernel(l_last+1,0.,l_fonte,glg) ! De l_last+1 ate’ m+ call glg_mm_kernel(glg,glg,rlg) ! Incorpora a fonte de corrente if(l_obser.lt.l_fonte) then ! Observador em camada mais rasa que a fonte call glg_m0_kernel(l_fonte,glg,rlg,l_obser,glg,rlg) endif glg1=glg rlg1=glg if(1.lt.l_obser) then call glg_m0_kernel(l_obser,glg1,rlg1,1,glg1,rlg1) endif elseif(depth(0).le.z_fonte) then call glg_nm_kernel(l_last+1,0.,l_fonte,glg1) ! De l_last+1 ate’ m+ call glg_mm_kernel(glg1,glg1,rlg1) ! Incorpora a fonte if(1.lt.l_fonte) then call glg_m0_kernel(l_fonte,glg1,rlg1, $ l_obser,glg1,rlg1) endif glg=glg1 81 rlg=rlg1 call glg_m0_kernel(1,glg,rlg,0,glg,rlg) else call glg_nm_kernel(l_last+1,0.,1,glg1) ! De l_last+1 ate’ 1+ glg=glg1 call glg_nm_kernel(1,glg,0,glg) call glg_mm_kernel(glg,glg,rlg) ! Incorpora a fonte de corrente endif endif c----------------------------------------------------------------------c Observador esta’ mais profundo que a fonte de corrente c----------------------------------------------------------------------else c Recorrencia da camada 0 em direcao a l_last, p/ obter gsl, rsl. if(itype.ne.3) then call gsl_0m_kernel(-1,0.,l_fonte,gsl) ! Da camada 0 p/ l_fonte call gsl_mm_kernel(gsl,gsl,rsl) ! Incorpora a fonte if(l_obser.gt.l_fonte) then call gsl_mn_kernel(l_fonte,gsl,rsl,l_obser,gsl,rsl) endif else if(depth(0).le.z_fonte) then call gsl_0m_kernel(-1,0.,1,gsl1) ! Da camada 0 p/ 1 gsl=gsl1 if(l_fonte.gt.1) then call gsl_0m_kernel(1,gsl1,l_fonte,gsl) endif call gsl_mm_kernel(gsl,gsl,rsl) ! Incorpora a fonte if(l_obser.gt.l_fonte) then call gsl_mn_kernel(l_fonte,gsl,rsl,l_obser,gsl,rsl) endif elseif(depth(0).le.z_obser) then call gsl_0m_kernel(-1,0.,0,gsl1) ! Da camada 0 p/ 1 call gsl_mm_kernel(gsl1,gsl1,rsl1) ! Incorpora a fonte call gsl_mn_kernel(0,gsl1,rsl1,1,gsl1,rsl1) gsl=gsl1 rsl=rsl1 if(l_obser.gt.1) then call gsl_mn_kernel(1,gsl,rsl,l_obser,gsl,rsl) endif else call gsl_0m_kernel(-1,0.,0,gsl) ! Da camada 0 p/ 1 call gsl_mm_kernel(gsl,gsl,rsl) ! Incorpora a fonte call gsl_mn_kernel(0,gsl,rsl,1,gsl1,rsl1) endif endif c Recorrencia da camada l_last em direcao 0, p/ obter glg if(itype.ne.3) then ! Prossegue ate’ a camada 1 call glg_nm_kernel(l_last+1,0.,l_obser,glg) ! De l_last+1 ate’ l_obser else if(depth(0).le.z_fonte) then call glg_nm_kernel(l_last+1,0.,l_obser,glg) ! De l_last+1 ate’ l_obser glg1=glg if(l_fonte.lt.l_obser) then call glg_nm_kernel(l_obser,glg1,l_fonte,glg1) ! De l_obser ate’ l_fonte endif call glg_mm_kernel(glg1,glg1,rlg1) ! Incorpora a fonte if(1.lt.l_fonte) then call glg_m0_kernel(l_fonte,glg1,rlg1,1,glg1,rlg1) endif elseif(depth(0).le.z_obser) then call glg_nm_kernel(l_last+1,0.,l_obser,glg) ! De l_last+1 ate’ l_obser call glg_nm_kernel(l_obser,glg,1,glg1) ! De l_obser at’e 1 else call glg_nm_kernel(l_last+1,0.,1,glg1) ! De l_last+1 ate’ 1 call glg_nm_kernel(1,glg1,0,glg) ! De 1 at’e 0 endif endif endif c----------------------------------------------------------------------c----------------------------------------------------------------------c----------------------------------------------------------------------c----------------------------------------------------------------------c kernel total c----------------------------------------------------------------------c write(16,’(7g11.3)’) lambda,gsl,fsl,rsl,glg,flg,rlg c----------------------------------------------------------------------c Observador esta’ mais raso que a fonte de corrente c----------------------------------------------------------------------if(z_obser.le.z_fonte) then if(l_obser.eq.l_fonte) then zref=z_fonte else zref=depth(l_obser) endif 82 $ $ if(l_obser.eq.0) then ak=0 bk=0 else ak=gsl*exp((gm(l_obser)-gp(l_obser))* (z_obser-depth(l_obser-1))) bk=gsl*glg*exp((gm(l_obser)-gp(l_obser))* (zref-depth(l_obser-1))) endif ck=exp(-gp(l_obser)*(zref-z_obser)) if(itype.eq.0) then kernel=(1-ak)/(1-bk)*ck*rlg*(-lambda/gm(l_fonte)) exp_pot_kernel=kernel elseif(itype.eq.1) then kernel=(1-ak)/(1-bk)*ck*rlg*(-lambda*lambda/gm(l_fonte)) exp_er_kernel=kernel elseif(itype.eq.2) then kernel=(gp(l_obser)-gm(l_obser)*ak)/ $ (1-bk)*ck*rlg*(lambda/gm(l_fonte)) exp_ez_kernel=kernel elseif(itype.eq.3) then if(depth(0).le.z_fonte) then if(1.eq.l_fonte) then zref1=z_fonte else zref1=depth(1) endif ak1=gsl1 bk1=gsl1*glg1*exp((gm(1)-gp(1))*(zref1-depth(0))) ck1=exp(-gp(l_obser)*(zref1-depth(0))) kernel=( $ (1-ak)/(1-bk)*ck*rlg$ (1-ak1)/(1-bk1)*ck1*rlg1 $ )*(-lambda/gm(l_fonte)) else if(l_last.eq.1) then ak1=0 bk1=0 else ak1=glg1**exp((gm(1)-gp(1))*thick(1)) bk1=gsl1*ak1 endif ck1=1 kernel=( $ (1-ak)/(1-bk)*ck*rlg*(-lambda/gm(l_fonte))$ (1-ak1)/(1-bk1)*ck1*rsl1*(lambda/gp(l_fonte)) $ ) endif exp_difpot_kernel=kernel else stop ’itype invalido’ endif c----------------------------------------------------------------------c Observador esta’ mais profundo que a fonte de corrente c----------------------------------------------------------------------else if(l_obser.eq.l_fonte) then zref=z_fonte else zref=depth(l_obser-1) endif if(l_obser.eq.l_last) then ak=0 bk=0 else ak=glg*exp((gm(l_obser)-gp(l_obser))* $ (depth(l_obser)-z_obser)) bk=gsl*glg*exp((gm(l_obser)-gp(l_obser))* $ (depth(l_obser)-zref)) endif ck=exp(gm(l_obser)*(z_obser-zref)) $ if(itype.eq.0) then kernel=(1-ak)/(1-bk)*ck*rsl*(lambda/gp(l_fonte)) exp_pot_kernel=kernel elseif(itype.eq.1) then kernel=(1-ak)/(1-bk)*ck*rsl*(lambda*lambda/gp(l_fonte)) exp_er_kernel=kernel elseif(itype.eq.2) then kernel=(gm(l_obser)-gp(l_obser)*ak)/ (1-bk)*ck*rsl*(-lambda/gp(l_fonte)) exp_ez_kernel=kernel elseif(itype.eq.3) then if(depth(0).le.z_fonte) then 83 if(1.eq.l_fonte) then zref1=z_fonte else zref1=depth(1) endif ak1=gsl1 bk1=gsl1*glg1*exp((gm(1)-gp(1))*(zref1-depth(0))) ck1=exp(-gp(l_obser)*(zref1-depth(0))) kernel=( $ (1-ak)/(1-bk)*ck*rsl*(lambda/gp(l_fonte))$ (1-ak1)/(1-bk1)*ck1*rlg1*(-lambda/gm(l_fonte)) $ ) else if(l_last.eq.1) then ak1=0 bk1=0 else ak1=glg1**exp((gm(1)-gp(1))*thick(1)) bk1=gsl1*ak1 endif ck1=1 kernel=( $ (1-ak)/(1-bk)*ck*rsl$ (1-ak1)/(1-bk1)*ck1*rsl1 $ )*(lambda/gp(l_fonte)) endif exp_difpot_kernel=kernel endif endif c----------------------------------------------------------------------return end c####################################################################### c####################################################################### c####################################################################### c####################################################################### c####################################################################### c####################################################################### c####################################################################### c Subrotina auxiliar para calculo do termo gsl do kernel, para c incorporar as interfaces entre a camada 0 e l_fonte (fonte de c corrente). c O valor gsl1 corresponde aquele relativo a camada l_obser1, c obtido a partir de um valor previo de gsl relativo a camada l_obser0. c Esta rotina aplica-se da camada 0 ate’ a camada na qual z<=z_F. c----------------------------------------------------------------------subroutine gsl_0m_kernel(l_obser0,gsl0,l_obser1,gsl1) c----------------------------------------------------------------------include ’kern-include.f’ c if(l_obser1.le.l_obser0) stop ’Erro: gsl_0m_kernel’ c....................................................................... c l_obser0 = -1 implica em nenhum valor previo gsl=gsl0 if(l_obser0.le.0) then gsl=0 if(min(l_obser1,l_fonte).ge.1) then i=1 if(razao_m1(i).eq.-1) then gsl=gp(i)/gm(i) else gsl=(1-razao_m1(i)*gp(i)/gp(i-1))/ $ (1-razao_m1(i)*gm(i)/gp(i-1)) endif endif endif c.................... do i=max(2,l_obser0+1),min(l_obser1,l_fonte) temp=gsl*exp((gm(i-1)-gp(i-1))*thick(i-1)) gmgp=gm(i-1)/gp(i-1) if(gmgp*temp.eq.1.) then gsl=gp(i)/gm(i) else fsl=(1-temp)/(1-gmgp*temp) temp=razao_m1(i)*fsl gsl=(1-(gp(i)/gp(i-1))*temp)/(1-(gm(i)/gp(i-1))*temp) endif enddo gsl1=gsl return end c####################################################################### c Subrotina auxiliar para calculo do termo gsl do kernel, para c incorporar o termo fonte na direcao 0 ---> l_last c----------------------------------------------------------------------- 84 subroutine gsl_mm_kernel(gsl0,gsl1,rsl1) c----------------------------------------------------------------------include ’kern-include.f’ c....................................................................... c 1) incorporar o termo fonte if(l_fonte.eq.0) then gsl=0 rsl=1/(1-gm(0)/gp(0)) else gsl=gsl0 temp=gsl*exp((gm(l_fonte)-gp(l_fonte))* $ (z_fonte-depth(l_fonte-1))) gmgp=gm(l_fonte)/gp(l_fonte) if(gmgp*temp.eq.1.) then gsl=1/gmgp rsl=-gsl else fsl=(1-temp)/(1-gmgp*temp) gsl=(1-fsl)/(1-gmgp*fsl) rsl=fsl/(1-gmgp*fsl) endif endif gsl1=gsl rsl1=rsl return end c####################################################################### c Subrotina auxiliar para calculo do termo gsl do kernel, para c incorporar as interfaces entre a camada l_fonte que contem a fonte c de corrente, ate’ a camada l_last. c Os valores gsl1 e rsl1 correspondem aqueles relativos ‘a c camada l_obser1, obtidos a partir de valores previos de gsl0 e rsl0 c relativos ‘a camada l_obser0. c----------------------------------------------------------------------subroutine gsl_mn_kernel(l_obser0,gsl0,rsl0,l_obser1,gsl1,rsl1) c----------------------------------------------------------------------include ’kern-include.f’ c................................... c 2) prosseguir a recorrencia ate’ a camada l_obser gsl=gsl0 rsl=rsl0 do i=max(l_fonte+1,l_obser0+1),l_obser1 if(i.eq.l_fonte+1) then thicknes=depth(l_fonte)-z_fonte else thicknes=thick(i-1) endif c temp=gsl*exp((gm(i-1)-gp(i-1))*thicknes) gmgp=gm(i-1)/gp(i-1) if(gmgp*temp.eq.1.) then gsl=gp(i)/gm(i) rsl=rsl*exp(gm(i-1)*thickness)* $ gm(i-1)/gm(i)/razao_m1(i) else fsl=(1-temp)/(1-gmgp*temp) temp=razao_m1(i)*fsl gsl=(1-(gp(i)/gp(i-1))*temp)/(1-(gm(i)/gp(i-1))*temp) rsl=rsl*exp(gm(i-1)*thicknes)* $ (1-gmgp*fsl)/(1-(gm(i)/gp(i-1))*temp) endif enddo gsl1=gsl rsl1=rsl return end c####################################################################### c Subrotina auxiliar para calculo do termo glg do kernel, para c incorporar as interfaces entre a camada l_last e l_fonte (fonte de c corrente). c O valor glg1 corresponde aquele relativo a camada l_obser1, c obtido a partir de um valor previo de glg0 relativo a camada l_obser0. c Esta rotina aplica-se da camada l_last ate’ a camada na qual z>=z_F. c----------------------------------------------------------------------subroutine glg_nm_kernel(l_obser0,glg0,l_obser1,glg1) c----------------------------------------------------------------------include ’kern-include.f’ c if(l_obser1.ge.l_obser0) stop ’Erro: glg_nm_kernel’ c....................................................................... c l_obser0 >= l_last+1 implica em nenhum valor previo glg=glg0 if(l_obser0.ge.l_last) then glg=0 if(max(l_obser1,l_fonte).le.l_last-1) then 85 i=l_last-1 if(razao_p1(i).eq.-1) then glg=gm(i)/gp(i) else glg=(1-(gm(i)/gm(i+1))*razao_p1(i))/ $ (1-(gp(i)/gm(i+1))*razao_p1(i)) endif endif endif c.................... do i=min(l_last-2,l_obser0-1),max(l_obser1,l_fonte),-1 temp=glg*exp((gm(i+1)-gp(i+1))*thick(i+1)) gpgm=gp(i+1)/gm(i+1) if(gpgm*temp.eq.1.) then glg=gm(i)/gp(i) else flg=(1-temp)/(1-gpgm*temp) temp=razao_p1(i)*flg glg=(1-(gm(i)/gm(i+1))*temp)/(1-(gp(i)/gm(i+1))*temp) endif enddo glg1=glg return end c####################################################################### c Subrotina auxiliar para calculo do termo glg do kernel, para c incorporar o termo fonte na direcao l_last ---> 0 c----------------------------------------------------------------------subroutine glg_mm_kernel(glg0,glg1,rlg1) c----------------------------------------------------------------------include ’kern-include.f’ c................................... c 1) incorporar o termo fonte if(l_fonte.eq.l_last) then glg=0 rlg=1/(1-gp(l_last)/gm(l_last)) else glg=glg0 temp=glg*exp((gm(l_fonte)-gp(l_fonte))* $ (depth(l_fonte)-z_fonte)) gpgm=gp(l_fonte)/gm(l_fonte) if(gpgm*temp.eq.1.) then glg=1/gpgm rlg=-glg else flg=(1-temp)/(1-gpgm*temp) glg=(1-flg)/(1-gpgm*flg) rlg=flg/(1-gpgm*flg) endif endif glg1=glg rlg1=rlg return end c####################################################################### c Subrotina auxiliar para calculo do termo glg do kernel, para c incorporar as interfaces entre a camada l_fonte que contem a fonte c de corrente, ate’ a camada 0. c Os valores glg1 e rlg1 correspondem aqueles relativos a c camada l_obser1, obtidos a partir dos valores previos de glg0 e rlg0, c relativos ‘a camada l_obser0. c----------------------------------------------------------------------subroutine glg_m0_kernel(l_obser0,glg0,rlg0,l_obser1,glg1,rlg1) c----------------------------------------------------------------------include ’kern-include.f’ c................................... c 2) prosseguir a recorrencia ate’ a camada l_obser glg=glg0 rlg=rlg0 do i=min(l_fonte-1,l_obser0-1),l_obser1,-1 if(i.eq.l_fonte-1) then thicknes=z_fonte-depth(l_fonte-1) else thicknes=thick(i+1) endif c temp=glg*exp((gm(i+1)-gp(i+1))*thicknes) gpgm=gp(i+1)/gm(i+1) if(gpgm*temp.eq.1.) then glg=gm(i)/gp(i) rlg=rlg*exp(-gp(i+1)*thicknes)* $ gp(i+1)/gp(i)/razao_p1(i) else flg=(1-temp)/(1-gpgm*temp) temp=razao_p1(i)*flg 86 glg=(1-(gm(i)/gm(i+1))*temp)/(1-(gp(i)/gm(i+1))*temp) rlg=rlg*exp(-gp(i+1)*thicknes)* $ (1-gpgm*flg)/(1-(gp(i)/gm(i+1))*temp) endif enddo glg1=glg rlg1=rlg return end c ================================================================ FUNCTION BKni(ni,X) c ---------------------------------------------------------------C CALCULA AS FUNCOES MODIFICADAS DE BESSEL K0 E K1 E A RAZAO C K1(X)/K0(X) . C C REFERENCIA : ABRAMOWITZ & STEGUN (1970) C C OBS: X = W * RH , ONDE W E A FREQUENCIA E RH E A DISTANCIA C HORIZONTAL AO EIXO CENTRAL DA GRADE. c ---------------------------------------------------------------IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION TI0(7),TI1(7),TK01(7),TK02(7),TK11(7),TK12(7) C C ................(TERMOS DE I0(X), -3.75 <= X =< 3.75 , T=X/3.75) DATA TI0/1.0,3.5156229,3.0899424,1.2067492, *0.2659732,0.0360768,0.0045813/ C C ............(TERMOS DE 1/X*I1(X), -3.75 <= X =< 3.75 , T=X/3.75) DATA TI1/0.5,0.87890594,0.51498869,0.15084934, *0.02658733,0.00301532,0.00032411/ C C ...........................(TERMOS DE K0(X), 0 < X < 2 , T=X/2) DATA TK01/-0.57721566,0.42278420,0.23069756, *0.03488590,0.00262698,0.00010750,0.00000740/ C C ..........(TERMOS DE SQRT(X)*EXP(X)*K0(X), 2 <= X < INF , T=2/X) DATA TK02/1.25331414,-0.07832358,0.02189568, *-0.01062446,0.00587872,-0.00251540,0.00053208/ C C ...........................(TERMOS DE X*K1(X), 0 < X < 2, T=X/2) DATA TK11/1.0,0.15443144,-0.67278579,-0.18156897, *-0.01919402,-0.00110404,-0.00004686/ C C ...........(TERMOS DE SQRT(X)*EXP(X)*K1(X), 2 <= X < INF, T=2/X) DATA TK12/1.25331414,0.23498619,-0.03655620, *0.01504268,-0.00780353,0.00325614,-0.00068245/ C BRATIO=1. IF(X.EQ.0.)RETURN IF(X.LT.2.)THEN T=X/3.75 BI0=0. BI1=0. DO 10 I=1,7 J=2*(I-1) BI0=BI0+TI0(I)*T**J BI1=BI1+TI1(I)*T**J 10 CONTINUE T=X/2. BK0=DLOG(1./T)*BI0 BK1=X**2*DLOG(T)*BI1 DO 20 I=1,7 J=2*(I-1) BK0=BK0+TK01(I)*T**J BK1=BK1+TK11(I)*T**J 20 CONTINUE BK1=BK1/X ELSE T=2./X BK0=0. BK1=0. DO 30 I=1,7 J=I-1 BK0=BK0+TK02(I)*T**J BK1=BK1+TK12(I)*T**J 30 CONTINUE ENDIF c BRATIO=BK1/BK0 ! Esta linha integra o programa original. Leia o comentárioc ! abaixo. 87 c A T E N Ç ~ A O c______________________________________________________________________________ c Modificaç~ ao introduzida por F.A.F.O. (12/07/2000), em substituiç~ ao à linha c comentada acima. Originalmente, o programa calculava a funcao BRATIO(X) c dada pela razao entre as funcoes modificadas de Bessel de segunda espécie c ordens 1 e 0, mantida para a opç~ ao ni=2. Agora, para satisfaç~ ao da soluç~ ao c para meio estratificado na fronteira, o programa de modelagem por diferenças c finitas requer também as funç~ oes K0 e K1. if(ni.eq.0) then BKni=BK0 elseif(ni.eq.1) then BKni=BK1 elseif(ni.eq.2) then BKni=BK1/BK0 endif c RETURN END c***************************************************************************** c Sub-rotina FI c Calcula a transformada-cosseno de Fourier na direç~ ao y do potencial c elétrico de uma Terra heterog^ enea, dividida em n camadas homog^ eneas. c c Autor: Frederico Alexandre Fernandes de Oliveira c Data:(08/08/2000) c c OBS: Ainda n~ ao testada nem devidamente documentada até o momento. c Lembrar de acrescentar o fator à integral c***************************************************************************** c subroutine fi(x,ffi) c c-------------------> Declaraç~ ao das Variáveis <-------------------------double precision BKni real*4 lambda,ni,rfour0,pkern,h,x external pkern include ’kern-include.f’ include ’camadas-include.f’ c c w=ky c rky=w4*raio2d c write(0,*) ’##’,x,z_obser,w,rky c ffi=rfour0(alog(x),pkern,.000001,l)/x + $ h(w4)*BKni(0,dble(rky)) c c c ===> OBS: A funcao BKni tem com par^ ametros de entrada: ni(=0 ou 1, p/ a ordem de Kni),ni=(0 p/ saida de K0,1 p/ K1 e 2 p/ K1/K0) return end function pkern(lambda) real*4 pkern,h real lambda include ’kern-include.f’ include ’camadas-include.f’ u2ky2=sqrt(lambda*lambda + w4*w4) pkern=(h(u2ky2)-h(w4))/u2ky2 * 1 exp(-u2ky2*delta_zabs) end c****************************************************************************** c Funç~ ao que calcula o núcleo da tranformada de Hankel, do potencial c elétrico de uma fonte pontual em um meio estratificado, conforme c SATO(2000). c c Data: 09 de agosto de 2000. c Autor: Frederico Alexandre Fernandes de Oliveira. c****************************************************************************** function hexp(t) real*4 hexp,t include ’kern-include.f’ include ’camadas-include.f’ hexp=exp_pot_kernel(t)*exp(t*delta_zabs) end c****************************************************************************** c Funç~ ao para o cálculo da derivada na direç~ ao z do núcleo da c transformada de Hankel, fator do potencial elétrico de uma fonte 88 c pontual de corrente, segundo SATO(2000). c c Data: 09 de agosto de 2000. c Autor: Frederico Alexandre Fernandes de Oliveira c c OBS: Ainda n~ ao testada nem devidamente documentada até o momento. c***************************************************************************** function dhdzexp(t) real*4 dhdzexp, t include ’kern-include.f’ include ’camadas-include.f’ dhdzexp=( -exp_ez_kernel(t)+t*exp_pot_kernel(t))* $ exp(t*delta_zabs) end c_____________________________________________________________________________ c**************************************************************************** c SUBRROTINA GEOMETRIA c ********************** c Subrrotina para entrada de par^ ametros geométricos de uma grade c retangular regular na direç~ ao x, para modelagem bidimensional de c dados de resistividade por diferenças finitas. c c (S) nph N◦ de pontos na horizontal c (S) npv N◦ de pontos na vertical c (S) dh Dist^ ancia entre dois pontos na regi~ ao central da grade c (S) bh faort de incremento da distancia horizontal nas bordas c (S) fe Fator de escala c (S) it Arranjo de eletrodos (Schlumberger ou dipolo-dipolo) c (S) ipp Primeira posiç~ ao positiva da fonte c (S) ipa Última posiç~ ao positiva da fonte c (S) ipl Passo de incremento de posiç~ ao da fonte c (S) npes Número de pontos por estaç~ ao c (s) kmod Opç~ ao de modelo nas bordas (0 p/ homog^ eneo, 1 p/ estratificado) c c Autor: Frederico Alexandre Fernandes de Oliveira c Data : 17 de outubro de 2000. c c**************************************************************************** SUBROUTINE GEOMETRIA(npv,nph,dh,bh,fe,it,ipp,ipu,ipl,npes,kmod) implicit double precision (a-h,o-z) c c--------------------------------------------------------------------------c 1. Entrada da geometria da grade. WRITE(0,*) ’*****************************************************’ WRITE(0,*) ’ E N T R A D A S ’ WRITE(0,*) ’*****************************************************’ WRITE(0,*) ’ I. Dimensionamento da grade.’ WRITE(0,*) ’-----------------------------------------------------’ WRITE(0,*) ’1. Números de pontos da grade. ’ WRITE(0,’(a,$)’) ’b) Direç~ ao vertical ----------------> ’ READ(5,*,end=1000,err=1000) npv WRITE(0,’(a,$)’) ’ a) Direç~ ao horizontal ----------------> ’ READ(5,*,end=1000,err=1000) nph WRITE(0,*) ’2. Regi~ ao central da grade: ’ WRITE(0,’(a,$)’) ’Dist^ ancia entre dois pontos ----------> ’ READ(5,*,end=1000,err=1000) dh WRITE(0,’(a,$)’) ’Fator de aumento nos bordos ’ read(5,*) bh WRITE(0,’(a,$)’) ’3. Fator de escala da grade ----------> ’ c ’fator de escala da grade (fe=dh/5), fig 3.3:, originalmente READ(5,*,end=1000,err=1000) fe WRITE(0,*) ’5. Escolha do arranjo de eletrodos. ’ WRITE(0,’(a,$)’) ’1 p/ Schlumberger; 2 p/ dipolo-dipolo --> ’ READ(5,*,end=1000,err=1000) it WRITE(0,*) ’6. Posiç~ oes positivas da fonte. ’ WRITE(0,’(a,$)’) ’Primeira posiç~ ao -------------> ’ READ(5,*,end=1000,err=1000) ipp WRITE(0,’(a,$)’) ’Última posiç~ ao --------------->’ READ(5,*,end=1000,err=1000) ipu WRITE(0,’(a,$)’) ’7.Passo da fonte positiva na superfı́cie ’ READ(5,*,end=1000,err=1000) ipl WRITE(0,’(a,$)’) ’8. Número de pontos por estaç~ ao: ’ READ(5,*,end=1000,err=1000) npes WRITE(0,’(a,$)’) ’9. Modelo na fronteira’ WRITE(0,’(a,$)’) ’0 p/ meio homog^ eneo,’, & ’ 1 p/ meio estratificado)’ READ(5,*,end=1000,err=1000) kmod c 1000 CONTINUE RETURN END c Calcula as razoes dfidx/fi e/ou dfidz/fi 89 c c Argumentos: c icontrol 1: retorna razao x c 2: retorna razao z c 3: retorna ambos x e z c razaox retorna a razao dfidx/fi c razaoz retorna a razao dfidz/fi c subroutine razao_fi_exp(icontrol,razaox,razaoz,xxx) c-------------------> Declaraç~ ao das Variáveis <-------------------------double precision BKni real*4 lambda,hexp,x real*4 rfour0,rfour1,pkern,xkern,zkern external pkern,xkern,zkern c Usa variaç~ ao exponencial das resistividades. include ’kern-include.f’ c Usa modelo de camadas homog^ eneas. c include ’modelinc.f’ include ’camadas-include.f’ c c w=ky c rky=w4*raio2d c write(0,*) ’##’,x,z_obser,w,rky c delta=rfour0(alog(xxx),pkern,.0000001,l)/xxx temp=-(w4/raio2d)*bkni(2,dble(rky)) temp1=delta/hexp(w4)/bkni(0,dble(rky)) termexp=exp(-w4*delta_zabs) if(icontrol.eq.1) then deltax=rfour1(alog(xxx),xkern,.0000001,l)/xxx razaox=xxx*temp*(1$ termexp*(deltax/(xxx/raio2d)/w4/hexp(w4)/ $ bkni(1,dble(rky))+ $ temp1)) c write(0,*) ’razao_fi_exp: ’,delta_zabs, c $ termexp*(deltax/(xxx/raio2d)/w4/h(w4)/ c $ bkni(1,dble(rky))+ c $ temp1) elseif(icontrol.eq.2) then if(xxx.le.1e-4) xxx=1e-4 deltaz=rfour0(alog(xxx),zkern,.0000001,l)/xxx razaoz=delta_zabs*temp*(1$ termexp*(deltaz/(delta_zabs/raio2d)/w4/ $ hexp(w4)/bkni(1,dble(rky))+ $ temp1)) else deltax=rfour1(alog(xxx),xkern,.0000001,l)/xxx razaox=xxx*temp*(1$ term*(deltax/(xxx/raio2d)/w4/hexp(w4)/ $ bkni(1,dble(rky))+ $ temp1)) if(xxx.le.1e-4) xxx=1e-4 deltaz=rfour0(alog(xxx),zkern,.0000001,l)/xxx razaoz=delta_zabs*temp*(1$ term*(deltaz/(delta_zabs/raio2d)/w4/ $ hexp(w4)/bkni(1,dble(rky))+ $ temp1)) c write(0,*) ’razao_fi_exp: ’,deltax,deltaz c write(0,*) ’razao_fi_exp: ’,razaox, razaoz write(0,*) ’razao_fi_exp: ’,delta_zabs, $ term*(deltax/(xxx/raio2d)/w4/hexp(w4)/ $ bkni(1,dble(rky))+ $ temp1), $ term*(deltaz/(delta_zabs/raio2d)/w4/ $ hexp(w4)/bkni(1,dble(rky))+ $ temp1) endif c write(0,*) ’zdfi: ’, rfour0(alog(x),zkern,.000001,l)/x, w4, x, raio2d end function pkern(lambda) real*4 pkern,hexp real lambda c Usa variaç~ ao exponencial das resistividades. include ’kern-include.f’ c Usa modelo de camadas homog^ eneas. 90 c include ’modelinc.f’ include ’camadas-include.f’ u2ky2=sqrt(lambda*lambda + w4*w4) pkern=(hexp(u2ky2)-hexp(w4))/u2ky2 * 1 exp(-(u2ky2-w4)*delta_zabs) end c function xkern(lambda) real*4 xkern,hexp real lambda c Usa variaç~ ao exponencial das resistividades. include ’kern-include.f’ c c Usa modelo de camadas homog^ eneas. include ’modelinc.f’ include ’camadas-include.f’ c u2ky2=sqrt(lambda*lambda + w4*w4) c $ xkern = -lambda * (hexp(u2ky2)-hexp(w4))/u2ky2 * exp(-(u2ky2-w4)*delta_zabs) end c function zkern(lambda) real*4 zkern real lambda c Usa variaç~ ao exponencial das resistividades. include ’kern-include.f’ c Usa modelo de camadas homog^ eneas. c include ’modelinc.f’ include ’camadas-include.f’ c c u2ky2=sqrt(lambda*lambda + ky*ky) u2ky2=sqrt(lambda*lambda + w4*w4) c c zkern= (dhdz(u2ky2)/u2ky2 - h(u2ky2)) * exp(-u2ky2*delta_zabs) zkern= (dhdzexp(u2ky2)/u2ky2 - hexp(u2ky2) + hexp(w4)) * $ exp(-(u2ky2-w4)*delta_zabs) c end c**************************************************************************** c Rotina para calculo dos coeficientes alfa segundo o modelo c homog^ eneo c N número de nós c NPV número de nós na direç~ ao vertical c NALFA comprimento do vetor alfa (2*npv+nph-2) c DH espaçamento horizontal da grade c BH fator de aumento do espaçamento horizontal da grade c próximo às bordas. c W freqü^ encia c PROF vetor contendo as profundidades dos nós c ALFA vetor contendo os valores de alfa*cos(teta). SUBROUTINE CALFA(N,NPV,NALFA,DH,BH,W,PROF,ALFA) IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION PROF(NPV),ALFA(NALFA) c----------------------------------------------------------------------------IF(W.le.0.0) stop ’calfa (erro): w <=0’ INF=0 NPH=N/NPV I124=NPH+NPV-2 I108=NPH-1 c C .....PONTO NAS LATERAIS ESQ. E DIREITA, QUINAS SUP. E INFERIORES DO J=1,NPV INF=INF+1 CALL DHOR(NPH,DH,BH,1,RH) R=SQRT(RH**2+PROF(J)**2) X=W*R ALFA(INF)=W*Bkni(2,X) INFT=INF+I124 ALFA(INFT)=ALFA(INF) END DO C ..................................................PONTO NO FUNDO DO I=2,I108 INF=INF+1 CALL DHOR(NPH,DH,BH,I,RH) R=SQRT(PROF(NPV)**2+RH**2) 91 X=W*R ALFA(INF)=W*Bkni(2,X) END DO RETURN END c**************************************************************************** c JMOD opç~ ao entre os modelos homog^ eneo ou de camadas para c estabelecer as condiç~ Oes de fronteira. c N número de nós c NPV número de nós na direç~ ao vertical c NALFA comprimento do vetor alfa (2*npv+nph-2) c DH espaçamento horizontal da grade c BH fator de aumento do espaçamento horizontal da grade c próximo às bordas. c W freqü^ encia c PROF vetor contendo as profundidades dos nós c ALFA vetor contendo os valores de alfa*cos(teta). SUBROUTINE CALFAxz(N,NPV,NALFA,DH,BH,PROF,ALFA) IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION PROF(NPV),ALFA(NALFA) c----------------------------------------------------------------------------c Usa variaç~ ao exponencial das resistividades c INCLUDE ’kern-include.f’ c Usa modelo de camadas homog^ eneas INCLUDE ’modelinc.f’ INCLUDE ’camadas-include.f’ c----------------------------------------------------------------------------IF(W.le.0.0) stop ’calfa (erro): w <=0’ INF=0 NPH=N/NPV I124=NPH+NPV-2 I108=NPH-1 c c c c ________________________________________________________________________ Inı́cio da inserç~ ao. Coeficientes para o meio heterog^ eneo. IF(JMOD.EQ.1) THEN C .....PONTO NAS LATERAIS ESQ. E DIREITA, QUINAS SUP. E INFERIORES DO J=1,NPV INF=INF+1 c calcula em rh, a distancia horizontal ao centro da grade CALL DHOR(NPH,DH,BH,1,RH) R=SQRT(RH**2+PROF(J)**2) Z_FONTE=0. Z_OBSER=PROF(J) CALL FI(RH,PFI) CALL XDFI(RH,PXDFI) CALL ZDFI(RH,PZDFI) ALFA(INF)=-PXDFI/PFI END DO C ..................................................PONTO NO FUNDO DO I=2,I108 INF=INF+1 CALL DHOR(NPH,DH,BH,I,RH) R=SQRT(PROF(NPV)**2+RH**2) ALFA(INF)=-PZDFI/PFI END DO c Fim da inserç~ ao. c____________________________________________________________________________ c Coeficiente para o meio homog^ eneo. ELSEIF(JMOD.EQ.0) THEN INF=0 I124=NPH+NPV-2 I108=NPH-1 c C C .....PONTO NAS LATERAIS ESQ. E DIREITA, QUINAS SUP. E INFERIORES DO J=1,NPV INF=INF+1 CALL DHOR(NPH,DH,BH,1,RH) R=SQRT(RH**2+PROF(J)**2) X=W*R ALFA(INF)=W*Bkni(2,X) INFT=INF+I124 ALFA(INFT)=ALFA(INF) END DO ..................................................PONTO NO FUNDO DO I=2,I108 92 INF=INF+1 CALL DHOR(NPH,DH,BH,I,RH) R=SQRT(PROF(NPV)**2+RH**2) X=W*R ALFA(INF)=W*Bkni(2,X) END DO END IF RETURN END subroutine testeterm(term,npv,flag) double precision term(npv) logical flag do i=1,npv if(term(i).lt.0.d0) then flag=.true. return endif enddo end c############################################################################# SUBROUTINE MODELO(INPV,INPH,XIS,ZES,SIGMA) c----------------------------------------------------------------------------c inpv (i) número de nós na vertical c inph (i) número de nós na horizontal c dx (i) dist^ ancia horizontal entre nós consecutivos. c zes (i) vetor com as INPV profundidades de cada nó. c sigma (o) matriz de condutividades c IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION SIGMA(INPV,INPH-1) c DIMENSION SIGMA(INPV-1,INPH-1) DIMENSION ZES(INPV), XIS(INPH) c----------------------------------------------------------------------------c Entrada de dados c **************** c Entrada de dados na forma de c rho x1 z1 x2 z2 c rho x2 z2 x3 z3 c write(0,*) ’modelo: 1’ rho=1.0 DO WHILE (rho.gt.0.0) write(0,*) ’Tecle rho x1 z1 x2 z2 (rho < 0 encerra)’ read(5,*) rho,x1,z1,x2,z2 c c c x1=x1+xis(5) x2=x2+xis(5) if(z1.lt.zes(1).or.z1.gt.zes(inpv).or. 1 z2.lt.zes(1).or.z2.gt.zes(inpv)) then stop ’modelo: valor de z fora do intervalo’ endif 1 if(x1.lt.0.0.or.x1.gt.xis(inph).or. x2.lt.0.0.or.x2.gt.xis(inph)) then stop ’modelo: valor de x fora do intervalo’ endif cc if(rho.gt.0.0) then cond=1/rho if(x1.ge.x2) then stop ’modelo: x1 deve ser menor que x2’ endif c cc i1=max(igetdz(xis,x1,inph), i2=min(igetdz(xis,x2,inph), j1=max(igetdz(zes,z1,inpv), j2=min(igetdz(zes,z2,inpv), 1) inph-1) 1) inpv-1) c c c if(i2.lt.i1) then write(0,*) ’modelo: segmento nao preenchido’ else if(i1.eq.i2) then call enchedora(i1,(j1+j2)/2,inpv,inph,cond,sigma) elseif(i2.gt.i1) then call enchedora(i1,j1,inpv,inph,cond,sigma) call enchedora(i2,j2,inpv,inph,cond,sigma) if(i2.gt.i1+1) then do in=i1+1,i2-1 xmedio=dx*(in-1)+dx/2 xmedio=(xis(in)+xis(in+1))/2 zmedio=z1+(xmedio-x1)*(z2-z1)/(x2-x1) 93 jmedio=igetdz(zes,zmedio,inpv) call enchedora(in,jmedio,inpv,inph,cond,sigma) write(0,*) ’enche’, in, jmedio, & xis(in),xis(in+1),xmedio, zmedio, cond enddo endif endif endif endif ENDDO end c**************************************************************************** c c Propósito: Calcular a altura da célula da grade que contém o ponto c (x,z) da interface, dado o vetor de profundidades definido no programa c principal. c c Entradas: c zes(i) - vetor de profundidades c zj - profundidade do ponto z(j) c inpv - n◦ de pontos na vertical (n◦ de linhas da matriz de condut+1) c c Saı́das: c js - indice da profundidade zes(j) mais proxima c c Autor: Frederico Alexandre Fernandes de Oliveira. c Data: 06 de dezembro de 2000. c Testada e aprovada em 15/12/2000. c___________________________________________________________________________ function igetdz(zes,zj,inpv) implicit double precision (a-h,o-z) dimension zes(inpv) logical flag j=2 flag=.true. do while(flag) if(zes(j-1).le.zj.and.zj.le.zes(j)) then if(zj.ge.(zes(j-1)+zes(j))/2) then igetdz=j else igetdz=j-1 endif flag=.false. else j=j+1 endif end do return end c**************************************************************************** c Subrrotina para preenchimento de uma coluna da matriz de condutividades c c Entradas: c ik = ı́ndice da coluna (direç~ ao horizontal da grade) c jk = ı́ndice da linha (direç~ ao vertical da grade) c inpv = número de pontos na vertical c inph = número de pontos na horizontal c sig = condutividade abaixo da interface c c Saı́da: c rsigma = matriz condutividade c c Data: 11 de dezembro de 2000. c___________________________________________________________________________ subroutine enchedora(ik,jk,inpv,inph,sig,rsigma) implicit double precision (a-h,o-z) dimension rsigma(inpv,inph-1) do j=jk,inpv-1 rsigma(j,ik)=sig c write(0,*) rsigma(j,ik),j,ik end do return end c**************************************************************************** REAL FUNCTION RFOUR0(X,FUN,TOL,L) C--REVISED VERSION: 12-13-76 -- SEE NOTE(2) BELOW. C--INTEGRAL FROM 0 TO INFINITY OF ’FUN(G)*COS(G*B)*DG’ DEFINED AS THE C REAL FOURIER COSINE TRANSFORM WITH ARGUMENT X(=ALOG(B)) C BY CONVOLUTION FILTERING WITH REAL FUNCTION ’FUN’--AND C USING A VARIABLE CUT-OFF METHOD WITH EXTENDED FILTER TAILS.... C C--REF: ANDERSON, W.L., 1975, NTIS REPT. PB-242-800. 94 C C--PARAMETERS: C C X = REAL ARGUMENT(=ALOG(B) AT CALL) OF THE FOURIER TRANSFORM C FUN(G)= EXTERNAL DECLARED REAL FUNCTION NAME (USER SUPPLIED). C NOTE: IF PARMS OTHER THAN G ARE REQUIRED, USE COMMON IN C CALLING PROGRAM AND IN SUBPROGRAM FUN. C THE REAL FUNCTION FUN SHOULD BE A MONOTONE C DECREASING FUNCTION AS THE ARGUMENT G BECOMES LARGE... C TOL= REAL TOLERANCE EXCEPTED AT CONVOLVED TAILS--I.E., C IF FILTER*FUN<TOL*MAX, THEN REST OF TAIL IS TRUNCATED. C THIS IS DONE AT BOTH ENDS OF FILTER. TYPICALLY, C TOL <= .0001 IS USUALLY OK--BUT THIS DEPENDS ON C THE FUNCTION FUN AND PARAMETER X...IN GENERAL, C A ’SMALLER TOL’ WILL USUALLY RESULT IN ’MORE ACCURACY’ C BUT WITH ’MORE WEIGHTS’ BEING USED. TOL IS NOT DIRECTLY C RELATED TO TRUNCATION ERROR, BUT GENERALLY SERVES AS AN C APPROXIMATION INDICATOR... FOR VERY LARGE OR SMALL B, C ONE SHOULD USE A SMALLER TOL THAN RECOMMENDED ABOVE... C L= RESULTING NO. FILTER WTS. USED IN THE VARIABLE C CONVOLUTION (L DEPENDS ON TOL AND FUN). C MIN.L=24 AND MAX.L=281--WHICH COULD C OCCUR IF TOL IS VERY SMALL AND/OR FUN NOT DECREASING C VERY FAST... C C--THE RESULTING REAL CONVOLUTION SUM IS GIVEN IN RFOUR0; THE FOURIER C TRANSFORM IS THEN RFOUR0/B WHICH IS TO BE COMPUTED AFTER EXIT FROM C THIS ROUTINE.... C C--USAGE-- ’RFOUR0’ IS CALLED AS FOLLOWS: C ... C EXTERNAL RF C ... C R=RFOUR0(ALOG(B),RF,TOL,L)/B C ... C END... C REAL FUNCTION RF(G) C ...USER SUPPLIED CODE... C END... C C--NOTES: C (1). EXP-UNDERFLOW’S MAY OCCUR IN EXECUTING THIS SUBPROGRAM; C THIS IS OK PROVIDED THE MACHINE SYSTEM CONDITIONALLY SETS C EXP-UNDERFLOW’S TO 0.0...... C (2). THIS SUBPROGRAM IS AN ANSI REVISION OF THE ORIGINAL C PUBLISHED VERSION IN NTIS REPT. PB-242-800, PP.35-39; C IMPROVEMENTS HAVE BEEN MADE IN OVERALL EXECUTION TIME, C HOWEVER, THE CALLING SEQUENCE AND FILTER WEIGHTS C WERE NOT CHANGED. C (3). ABSCISSA CORRESPONDING TO WEIGHT IS GENERATED C TO SAVE STORAGE. DOUBLE PRECISION A,E,ER,Y1,Y DIMENSION WT(281),W1(76),W2(76),W3(76),W4(53) EQUIVALENCE (WT(1),W1(1)),(WT(77),W2(1)),(WT(153),W3(1)), 1 (WT(229),W4(1)) DATA E/1.221402758160169834 D0/,ER/.818730753077981859 D0/ C--COS-EXTENDED FILTER WEIGHT ARRAYS: DATA W1/ 1 5.1178101E-14, 2.9433849E-14, 2.5492522E-14, 1.9034819E-14, 2 6.4179780E-14, 1.3085746E-15, 1.1989957E-13,-1.2216234E-14, 3 1.7534103E-13, 7.9373498E-15, 2.1235658E-13, 7.9981520E-14, 4 2.3815757E-13, 1.9714260E-13, 2.8920132E-13, 3.4161340E-13, 5 4.0349917E-13, 5.2203885E-13, 5.9837223E-13, 7.8015306E-13, 6 8.8911655E-13, 1.1709731E-12, 1.3165595E-12, 1.7578463E-12, 7 1.9538564E-12, 2.6289768E-12, 2.9167697E-12, 3.9044344E-12, 8 4.3927341E-12, 5.7526904E-12, 6.6569552E-12, 8.4555678E-12, 9 1.0063229E-11, 1.2487964E-11, 1.5134682E-11, 1.8501488E-11, 1 2.2720051E-11, 2.7452598E-11, 3.4025443E-11, 4.0875985E-11, 2 5.0751668E-11, 6.1094382E-11, 7.5492982E-11, 9.1445759E-11, 3 1.1227336E-10, 1.3676464E-10, 1.6720269E-10, 2.0423244E-10, 4 2.4932743E-10, 3.0470661E-10, 3.7198526E-10, 4.5449934E-10, 5 5.5502537E-10, 6.7793669E-10, 8.2810001E-10, 1.0112626E-09, 6 1.2354800E-09, 1.5085255E-09, 1.8432253E-09, 2.2503397E-09, 7 2.7499027E-09, 3.3569525E-09, 4.1025670E-09, 5.0077487E-09, 8 6.1205950E-09, 7.4703399E-09, 9.1312760E-09, 1.1143911E-08, 9 1.3622929E-08, 1.6623917E-08, 2.0324094E-08, 2.4798610E-08, 1 3.0321709E-08, 3.6992986E-08, 4.5237482E-08, 5.5183434E-08/ DATA W2/ 1 6.7491070E-08, 8.2317946E-08, 1.0069271E-07, 1.2279375E-07, 2 1.5022907E-07, 1.8316969E-07, 2.2413747E-07, 2.7322865E-07, 3 3.3441046E-07, 4.0756197E-07, 4.9894278E-07, 6.0793233E-07, 4 7.4443665E-07, 9.0679753E-07, 1.1107379E-06, 1.3525651E-06, 5 1.6573073E-06, 2.0174273E-06, 2.4728798E-06, 3.0090445E-06, 6 3.6898816E-06, 4.4879625E-06, 5.5059521E-06, 6.6935820E-06, 7 8.2160716E-06, 9.9828691E-06, 1.2260527E-05, 1.4888061E-05, 95 8 9 1 2 3 4 5 6 7 8 9 1 1.8296530E-05, 2.2202672E-05, 2.7305154E-05, 3.3109672E-05, 4.0751046E-05, 4.9372484E-05, 6.0820947E-05, 7.3619571E-05, 9.0780005E-05, 1.0976837E-04, 1.3550409E-04, 1.6365676E-04, 2.0227521E-04, 2.4398338E-04, 3.0197018E-04, 3.6370760E-04, 4.5083748E-04, 5.4213338E-04, 6.7315347E-04, 8.0800951E-04, 1.0051938E-03, 1.2041401E-03, 1.5011708E-03, 1.7942344E-03, 2.2421056E-03, 2.6730676E-03, 3.3490681E-03, 3.9815050E-03, 5.0028666E-03, 5.9285668E-03, 7.4730905E-03, 8.8233510E-03, 1.1160132E-02, 1.3119627E-02, 1.6653199E-02, 1.9472767E-02, 2.4800811E-02, 2.8793704E-02, 3.6762063E-02, 4.2228780E-02, 5.3905163E-02, 6.0804660E-02, 7.7081738E-02, 8.3874501E-02, 1.0377190E-01, 1.0377718E-01, 1.1892208E-01, 9.0437429E-02/ DATA W3/ 1 7.1685138E-02,-3.9473064E-02,-1.5078720E-01,-4.0489859E-01, 2-5.6018995E-01,-6.8050388E-01,-1.5094224E-01, 6.6304064E-01, 3 1.3766748E+00,-8.0373222E-01,-1.0869629E+00, 1.2812892E+00, 4-5.0341082E-01,-4.4274455E-02, 2.0913102E-01,-1.9999661E-01, 5 1.5207664E-01,-1.0920260E-01, 7.8169956E-02,-5.6651561E-02, 6 4.1611799E-02,-3.0880012E-02, 2.3072559E-02,-1.7311631E-02, 7 1.3021442E-02,-9.8085025E-03, 7.3943529E-03,-5.5769518E-03, 8 4.2073164E-03,-3.1745026E-03, 2.3954154E-03,-1.8076122E-03, 9 1.3640816E-03,-1.0293934E-03, 7.7682952E-04,-5.8623518E-04, 1 4.4240399E-04,-3.3386183E-04, 2.5195025E-04,-1.9013541E-04, 2 1.4348659E-04,-1.0828284E-04, 8.1716174E-05,-6.1667509E-05, 3 4.6537684E-05,-3.5119887E-05, 2.6503388E-05,-2.0000904E-05, 4 1.5093768E-05,-1.1390572E-05, 8.5959318E-06,-6.4869407E-06, 5 4.8953713E-06,-3.6942830E-06, 2.7878625E-06,-2.1038241E-06, 6 1.5875917E-06,-1.1980090E-06, 9.0398030E-07,-6.8208296E-07, 7 5.1458650E-07,-3.8817581E-07, 2.9272267E-07,-2.2067921E-07, 8 1.6623514E-07,-1.2514102E-07, 9.4034535E-08,-7.0556837E-08, 9 5.2741581E-08,-3.9298610E-08, 2.9107255E-08,-2.1413893E-08, 1 1.5742032E-08,-1.1498608E-08, 8.7561571E-09,-7.2959446E-09/ DATA W4/ 1 6.8816619E-09,-8.9679825E-09, 1.4258275E-08,-1.9564299E-08, 2 2.0235313E-08,-1.4725545E-08, 5.4632820E-09, 3.5995580E-09, 3-9.5287133E-09, 1.1460041E-08,-1.0250532E-08, 7.4641748E-09, 4-4.4703465E-09, 2.0499053E-09,-4.4806353E-10,-4.0374336E-10, 5 7.0321001E-10,-6.7067960E-10, 4.9130404E-10,-2.8840747E-10, 6 1.2373144E-10,-1.5260443E-11,-4.2027559E-11, 6.1885474E-11, 7-5.9273937E-11, 4.6588766E-11,-3.2054182E-11, 1.9831637E-11, 8-1.1210098E-11, 5.9567021E-12,-3.2427812E-12, 2.1353868E-12, 9-1.8476851E-12, 1.8438474E-12,-1.8362842E-12, 1.7241847E-12, 1-1.5161479E-12, 1.2627657E-12,-1.0129176E-12, 7.9578625E-13, 2-6.2131435E-13, 4.8745900E-13,-3.8703630E-13, 3.1172547E-13, 3-2.5397802E-13, 2.0824130E-13,-1.7123163E-13, 1.4113344E-13, 4-1.1687986E-13, 9.7664016E-14,-8.2977176E-14, 7.2515267E-14, 5-5.6047478E-14/ C--$$ENDATA C A=DBLE(EXP(-X-30.3025124)) RFOUR0=0.0 CMAX=0.0 L=22 Y1=A*0.7163358133446166781 D+13 Y=Y1 DO 110 I=149,170 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR0=RFOUR0+C CMAX=AMAX1(ABS(C),CMAX) 110 CONTINUE IF(CMAX.EQ.0.0) GO TO 150 CMAX=TOL*CMAX DO 120 I=171,281 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR0=RFOUR0+C L=L+1 IF(ABS(C).LE.CMAX) GO TO 130 120 CONTINUE 130 Y=Y1*E DO 140 I=1,148 Y=Y*ER C=FUN(SNGL(Y))*WT(149-I) RFOUR0=RFOUR0+C L=L+1 IF(ABS(C).LE.CMAX) GO TO 190 140 CONTINUE GO TO 190 150 Y=A DO 160 I=1,148 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR0=RFOUR0+C L=L+1 96 IF(C.EQ.0.0) GO TO 170 CONTINUE Y=A*0.3120389295208079937 D+25 DO 180 I=1,111 Y=Y*ER C=FUN(SNGL(Y))*WT(282-I) RFOUR0=RFOUR0+C L=L+1 IF(C.EQ.0.0) GO TO 190 180 CONTINUE 190 RETURN END REAL FUNCTION RFOUR1(X,FUN,TOL,L) C--REVISED VERSION: 12-13-76 -- SEE NOTE(2) BELOW. C--INTEGRAL FROM 0 TO INFINITY OF ’FUN(G)*SIN(G*B)*DG’ DEFINED AS THE C REAL FOURIER SINE TRANSFORM WITH ARGUMENT X(=ALOG(B)) C BY CONVOLUTION FILTERING WITH REAL FUNCTION ’FUN’--AND C USING A VARIABLE CUT-OFF METHOD WITH EXTENDED FILTER TAILS.... C C--REF: ANDERSON, W.L., 1975, NTIS REPT. PB-242-800. C C--PARAMETERS: C C X = REAL ARGUMENT(=ALOG(B) AT CALL) OF THE FOURIER TRANSFORM C FUN(G)= EXTERNAL DECLARED REAL FUNCTION NAME (USER SUPPLIED). C NOTE: IF PARMS OTHER THAN G ARE REQUIRED, USE COMMON IN C CALLING PROGRAM AND IN SUBPROGRAM FUN. C THE REAL FUNCTION FUN SHOULD BE A MONOTONE C DECREASING FUNCTION AS THE ARGUMENT G BECOMES LARGE... C TOL= REAL TOLERANCE EXCEPTED AT CONVOLVED TAILS--I.E., C IF FILTER*FUN<TOL*MAX, THEN REST OF TAIL IS TRUNCATED. C THIS IS DONE AT BOTH ENDS OF FILTER. TYPICALLY, C TOL <= .0001 IS USUALLY OK--BUT THIS DEPENDS ON C THE FUNCTION FUN AND PARAMETER X...IN GENERAL, C A ’SMALLER TOL’ WILL USUALLY RESULT IN ’MORE ACCURACY’ C BUT WITH ’MORE WEIGHTS’ BEING USED. TOL IS NOT DIRECTLY C RELATED TO TRUNCATION ERROR, BUT GENERALLY SERVES AS AN C APPROXIMATION INDICATOR... FOR VERY LARGE OR SMALL B, C ONE SHOULD USE A SMALLER TOL THAN RECOMMENDED ABOVE... C L= RESULTING NO. FILTER WTS. USED IN THE VARIABLE C CONVOLUTION (L DEPENDS ON TOL AND FUN). C MIN.L=20 AND MAX.L=266--WHICH COULD C OCCUR IF TOL IS VERY SMALL AND/OR FUN NOT DECREASING C VERY FAST... C C--THE RESULTING REAL CONVOLUTION SUM IS GIVEN IN RFOUR1; THE FOURIER C TRANSFORM IS THEN RFOUR1/B WHICH IS TO BE COMPUTED AFTER EXIT FROM C THIS ROUTINE.... C C--USAGE-- ’RFOUR1’ IS CALLED AS FOLLOWS: C ... C EXTERNAL RF C ... C R=RFOUR1(ALOG(B),RF,TOL,L)/B C ... C END... C REAL FUNCTION RF(G) C ...USER SUPPLIED CODE... C END... C C--NOTES: C (1). EXP-UNDERFLOW’S MAY OCCUR IN EXECUTING THIS SUBPROGRAM; C THIS IS OK PROVIDED THE MACHINE SYSTEM CONDITIONALLY SETS C EXP-UNDERFLOW’S TO 0.0...... C (2). THIS SUBPROGRAM IS AN ANSI REVISION OF THE ORIGINAL C PUBLISHED VERSION IN NTIS REPT. PB-242-800, P.35-39; C IMPROVEMENTS HAVE BEEN MADE IN OVERALL EXECUTION TIME, C HOWEVER, THE CALLING SEQUENCE AND FILTER WEIGHTS C WERE NOT CHANGED. C (3). ABSCISSA CORRESPONDING TO WEIGHT IS GENERATED C TO SAVE STORAGE. DOUBLE PRECISION A,E,ER,Y1,Y DIMENSION WT(266),W1(76),W2(76),W3(76),W4(38) EQUIVALENCE (WT(1),W1(1)),(WT(77),W2(1)),(WT(153),W3(1)), 1 (WT(229),W4(1)) DATA E/1.221402758160169834 D0/,ER/.818730753077981859 D0/ C--SIN-EXTENDED FILTER WEIGHT ARRAYS: DATA W1/ 1-1.1113940E-09,-1.3237246E-12, 1.5091739E-12,-1.6240954E-12, 2 1.7236636E-12,-1.8227727E-12, 1.9255992E-12,-2.0335514E-12, 3 2.1473541E-12,-2.2675549E-12, 2.3946842E-12,-2.5292661E-12, 4 2.6718110E-12,-2.8227693E-12, 2.9825171E-12,-3.1514006E-12, 5 3.3297565E-12,-3.5179095E-12, 3.7163306E-12,-3.9256378E-12, 6 4.1464798E-12,-4.3794552E-12, 4.6252131E-12,-4.8845227E-12, 7 5.1582809E-12,-5.4474462E-12, 5.7530277E-12,-6.0760464E-12, 160 170 97 8 9 1 2 3 4 5 6 7 8 9 1 6.4175083E-12,-6.7783691E-12, 7.1595239E-12,-7.5618782E-12, 7.9864477E-12,-8.4344110E-12, 8.9072422E-12,-9.4067705E-12, 9.9349439E-12,-1.0493731E-11, 1.1084900E-11,-1.1709937E-11, 1.2370354E-11,-1.3067414E-11, 1.3802200E-11,-1.4575980E-11, 1.5390685E-11,-1.6249313E-11, 1.7155934E-11,-1.8115250E-11, 1.9131898E-11,-2.0209795E-11, 2.1352159E-11,-2.2561735E-11, 2.3840976E-11,-2.5192263E-11, 2.6618319E-11,-2.8122547E-11, 2.9709129E-11,-3.1382870E-11, 3.3149030E-11,-3.5013168E-11, 3.6981050E-11,-3.9058553E-11, 4.1251694E-11,-4.3566777E-11, 4.6010537E-11,-4.8590396E-11, 5.1314761E-11,-5.4193353E-11, 5.7236720E-11,-6.0455911E-11, 6.3861222E-11,-6.7461492E-11, 7.1265224E-11,-7.5279775E-11, 7.9512249E-11,-8.3971327E-11/ DATA W2/ 1 8.8668961E-11,-9.3621900E-11, 9.8851764E-11,-1.0438319E-10, 2 1.1024087E-10,-1.1644680E-10, 1.2301979E-10,-1.2997646E-10, 3 1.3733244E-10,-1.4510363E-10, 1.5330772E-10,-1.6196550E-10, 4 1.7110130E-10,-1.8074257E-10, 1.9091922E-10,-2.0166306E-10, 5 2.1300756E-10,-2.2498755E-10, 2.3763936E-10,-2.5100098E-10, 6 2.6511250E-10,-2.8001616E-10, 2.9575691E-10,-3.1238237E-10, 7 3.2994314E-10,-3.4849209E-10, 3.6808529E-10,-3.8878042E-10, 8 4.1063982E-10,-4.3372666E-10, 4.5811059E-10,-4.8386049E-10, 9 5.1105728E-10,-5.3977672E-10, 5.7011632E-10,-6.0215516E-10, 1 6.3601273E-10,-6.7175964E-10, 7.0955028E-10,-7.4942601E-10, 2 7.9161025E-10,-8.3606980E-10, 8.8317110E-10,-9.3270330E-10, 3 9.8533749E-10,-1.0404508E-09, 1.0993731E-09,-1.1605442E-09, 4 1.2267391E-09,-1.2942905E-09, 1.3691677E-09,-1.4429912E-09, 5 1.5288164E-09,-1.6077524E-09, 1.7085998E-09,-1.7890471E-09, 6 1.9129068E-09,-1.9857116E-09, 2.1491608E-09,-2.1926779E-09, 7 2.4312660E-09,-2.3959044E-09, 2.7872500E-09,-2.5610596E-09, 8 3.2762318E-09,-2.6082940E-09, 4.0261453E-09,-2.3560563E-09, 9 5.3176554E-09,-1.3960161E-09, 7.7708747E-09, 1.1853546E-09, 1 1.2760851E-08, 7.4264707E-09, 2.3342187E-08, 2.1869851E-08/ DATA W3/ 1 4.6306744E-08, 5.4631686E-08, 9.6763087E-08, 1.2823337E-07, 2 2.0832812E-07, 2.9280540E-07, 4.5580888E-07, 6.5992437E-07, 3 1.0056815E-06, 1.4779183E-06, 2.2284335E-06, 3.2994604E-06, 4 4.9485823E-06, 7.3545473E-06, 1.1001083E-05, 1.6380539E-05, 5 2.4469550E-05, 3.6469246E-05, 5.4441527E-05, 8.1176726E-05, 6 1.2113828E-04, 1.8066494E-04, 2.6954609E-04, 4.0202288E-04, 7 5.9969995E-04, 8.9437312E-04, 1.3338166E-03, 1.9886697E-03, 8 2.9643943E-03, 4.4168923E-03, 6.5773518E-03, 9.7855105E-03, 9 1.4539361E-02, 2.1558670E-02, 3.1871864E-02, 4.6903518E-02, 1 6.8559512E-02, 9.9170152E-02, 1.4120770E-01, 1.9610835E-01, 2 2.6192603E-01, 3.2743321E-01, 3.6407406E-01, 3.1257559E-01, 3 9.0460168E-02,-3.6051039E-01,-8.6324760E-01,-8.1178720E-01, 4 5.2205241E-01, 1.5449873E+00,-1.1817933E+00,-2.6759896E-01, 5 8.0869203E-01,-6.2757149E-01, 3.4062630E-01,-1.5885304E-01, 6 7.0472984E-02,-3.1624462E-02, 1.4894068E-02,-7.4821176E-03, 7 4.0035936E-03,-2.2543784E-03, 1.3160358E-03,-7.8636604E-04, 8 4.7658745E-04,-2.9125817E-04, 1.7885105E-04,-1.1012416E-04, 9 6.7910334E-05,-4.1914054E-05, 2.5881544E-05,-1.5985851E-05, 1 9.8751880E-06,-6.1008526E-06, 3.7692543E-06,-2.3287953E-06/ DATA W4/ 1 1.4388425E-06,-8.8899353E-07, 5.4926991E-07,-3.3937048E-07, 2 2.0968284E-07,-1.2955437E-07, 8.0046336E-08,-4.9457371E-08, 3 3.0557711E-08,-1.8880390E-08, 1.1665454E-08,-7.2076428E-09, 4 4.4533423E-09,-2.7515696E-09, 1.7001092E-09,-1.0504494E-09, 5 6.4904567E-10,-4.0102999E-10, 2.4778763E-10,-1.5310321E-10, 6 9.4600354E-11,-5.8453314E-11, 3.6119400E-11,-2.2320056E-11, 7 1.3793460E-11,-8.5242656E-12, 5.2675102E-12,-3.2543076E-12, 8 2.0097689E-12,-1.2405412E-12, 7.6530538E-13,-4.7191929E-13, 9 2.9084993E-13,-1.7923661E-13, 1.1018948E-13,-6.7885902E-14, 1 4.2025050E-14,-2.1314731E-14/ C--$$ENDATA C C A=DBLE(EXP(-X-38.3045570)) RFOUR1=0.0 CMAX=0.0 L=18 Y1=A*0.3185593175711375664 D+17 Y=Y1 DO 10 I=191,208 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR1=RFOUR1+C CMAX=AMAX1(ABS(C),CMAX) 10 CONTINUE IF(CMAX.EQ.0.0) GO TO 60 CMAX=TOL*CMAX DO 20 I=209,266 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR1=RFOUR1+C L=L+1 98 20 30 40 50 60 70 80 90 IF(ABS(C).LE.CMAX) GO TO 30 CONTINUE Y=Y1*E DO 40 I=1,190 Y=Y*ER C=FUN(SNGL(Y))*WT(191-I) RFOUR1=RFOUR1+C L=L+1 IF(ABS(C).LE.CMAX) GO TO 50 CONTINUE RETURN Y=A DO 70 I=1,190 Y=Y*E C=FUN(SNGL(Y))*WT(I) RFOUR1=RFOUR1+C L=L+1 IF(C.EQ.0.0) GO TO 80 CONTINUE Y=A*0.1553550351748754588 D+24 DO 90 I=1,58 Y=Y*ER C=FUN(SNGL(Y))*WT(267-I) RFOUR1=RFOUR1+C L=L+1 IF(C.EQ.0.0) GO TO 50 CONTINUE GO TO 50 END