Infiltração de Óleo em Solos Porosos
Introdução
Este modelo simula a infiltração de uma quantidade de óleo derramado em solos permeáveis. O modelo baseia-se numa versão simples de percolação dirigida.
O tipo de fluxo e a extensão do derrame dependem da porosidade do solo, que determina a probabilidade de percolação. O comportamento do sistema depende críticamente desta probabilidade. O modelo é caracterizado por dois regimes: fluxos contínuos (derrames extensos) para porosidades elevadas
e fluxos superficiais (derrames confinados) para porosidades baixas.
A transição entre os dois regimes é rápida e ocorre numa gama estreita de porosidades.
Início
Utilização
O óleo derramado é representado por patches vermelhos (gotas de óleo) que ocupam toda a largura no topo da caixa de simulação.
As gotas infiltram-se no solo, na diagonal, para a direita e para a esquerda, com uma probabilidade que varia entre zero e um. Esta probabilidade é determinada pela porosidade do solo que pode ser escolhida pelo utilizador.
Os patches castanhos representam o solo através do qual o óleo flui sob a acção da gravidade. A porosidade caracteriza a maior ou menor resistência do solo ao fluxo de óleo: é nula nos solos impermeáveis e 100% no limite oposto.
A probabilidade de infiltração aumenta com a porosidade do solo. Quanto mais permeável for o solo maior é a probabilidade do óleo atingir as camadas mais profundas. A propagação do fluido num meio poroso chama-se percolação.
O Netlogo usa condições de fronteira periódicas, pelo que o óleo que chega ao fundo da caixa de simulação pode continuar a infiltrar-se a partir do topo.
O programa pára automaticamente quando a frente de óleo deixa de avançar.
Os gráficos mostram a extensão da frente de óleo (vermelho) e a quantidade de solo saturado/contaminado (preto).
Questões
1) Corra simulações para diferentes valores da porosidade. O que observa nos padrões de solo contaminado ? Como dependem da porosidade ? Resultados Obtidos
Porosidade de 40%
Porosidade de 60%
Note que o aumento da porosidade provoca um aumento da quantidade de terra contaminado.
2) Determine os valores da porosidade para os quais a percolação é contínua e os valores para os quais a frente de óleo pára. Sugestão
É necessário definir a transição entre os dois regimes usando um critério como o valor da porosidade para o qual o fluxo é contínuo, em 50% das simulações. É preciso definir fluxo contínuo ?. Mude ligeiramente o critério e/ou a definição de fluxo contínuo e comente as diferenças que encontrar.
3) Observe o tamanho da frente de óleo. O valor final desta frente é o mesmo ? Ou depende da porosidade ?Resultados Obtidos
Porosidade de 60%
Porosidade de 90%
Repare que para uma porosidade baixa o valor da frente de óleo vai diminuindo ao longo do tempo até se anular e que para uma porosidade elevada esse valor mantêm-se constante ao longo do tempo.
4) Finalmente observe a quantidade de solo contaminado. Para solos (muito) porosos esta quantidade pode ser estimada fácilmente. Adivinhe como. Verifique utilizando os valores registados no gráfico. O que acontece no outro limite, para solos quase impermeáveis ?Resultados Obtidos
Porosidade de 90% ->solo muito poroso
Porosidade de 20% ->solo práticamente impermeável
5) A região intermédia, com porosidade á volta de 64,5%, é a mais interessante. Para esta porosidade o sistema (infinito) exibe uma transição de percolação, que separa o regime de fluxos contínuos (derrames extensos) do regime de fluxos superficiais (derrames confinados). Corra várias simulações para este valor da porosidade. Observe os padrões de solo contaminado. Como depende a quantidade de solo contaminado da largura da caixa e do tempo de simulação ? Resultados Obtidos
X->50
X->100
A variação com o tempo da quantidade do solo contaminado é dada pelo gráfico do óleo saturado
Observação:Na transição de percolação o solo contaminado forma um agregado fractal, ao contrário do que acontece quando a porosidade é suficientemente elevada.
porosidade de 65.4% (agregado fractal)
Início
Breve Análise do Código
A análise do código referente a este programa foi efectuada com detalhe no capítulo introdutório. Nesta secção, serão feitas referências a ligeiras modificações que foram introduzidas.
Analisando a primeira função que aparece no programa, e comparando com a mesma função que aparece no capitulo introdutório é possível verificar a existência da introdução de novas linhas de código.Vejamos então:
to preparar ca set oleo-total 0 ask patches [ set pcolor brown ;; óleo não saturado if (pxcor = screen-edge-x) [ set pcolor yellow ] ;; coloca fronteira no lado direito do ecrã ;; previne que óleo salte a fronteira ] set linha patches with [pycor = screen-edge-y] ask linha [ if (pxcor mod 2 = 0) and (pcolor != yellow) [ set pcolor red ] ;; inicializa uma linha de óleo ;; representada por patches vermelhos ] do-plot end
De modo a tornar o modelo mais realista foi necessário introduzir uma condição de fronteira (lateral) que não permitisse ao óleo saltar para fora do terreno, o que foi conseguido introduzindo as seguintes linhas de código na função preparar
if (pxcor = screen-edge-x) pinta uma linha de amarelo no lado direito do ecrã
[ set pcolor yellow ]
Foi também necessário simular o óleo derramado no terreno e que vai percolar no decorrer da simulação, por uma linha vermelha que se encontra na parte superior da caixa. Para isso, foi introduzida na função preparar o seguinte conjunto de instruções:
set linha patches with [pycor = screen-edge-y] ;; define uma linha de patches cuja a coordenada é screen-edge-y(linha superior da janela da interface)
ask linha [ ;; chama a linha de patches que foi previamente defenida
if (pxcor mod 2 = 0) and (pcolor != yellow) ;; para essa linha e excluindo os patches cuja coordenada é impar e todos os de cor amarela
[ set pcolor red ] ;; pinta os restantes da cor vermelha
Analisando a seguinte função
to executar if not any? linha with [pcolor = red] [ stop ] percolar do-plot verificar end
e confrontando com o que foi explicado na introdução é possível verificar uma ligeira diferença. Na introdução, verificou-se a cor de cada patch individualmente enquanto que aqui, essa verificação é feita linha a linha, ou seja, para cada linha verifica-se se existem patches vermelhos. Se não existirem a simulação termina e se existirem a simulação continua com as funções percolar e verificar
to percolar ask linha with [pcolor = red] [ ;; óleo percola para os dois patches a sudeste e sudoeste ask patches at-points [[-1 -1] [1 -1]] [ if (pcolor = brown) and (random-float 100 < porosidade) [ set pcolor red ] ] set pcolor black set oleo-total oleo-total + 1 ] set linha patches-from linha [patch-at 0 -1] end to verificar ;; caso óleo atinja margem inferior do ecrã este é apagado ;; e simulação continua no topo if pycor-of one-of linha = screen-edge-y [ display ask patches with [pcolor = black] [ set pcolor brown ] ] end
Estas duas funções são práticamente iguais ás funções percolar e executar apresentadas na introdução
Por último temos a função que nos permite obter os gráficos
to do-plot set-current-plot "Óleo Percolado" plot count linha with [pcolor = red] set-current-plot "Terra Contaminada" plot oleo-total endInício
Variantes e Extensões
Adicione um slider que permita controlar a quantidade de óleo derramada e use este parâmetro para prever a profundidade a que uma determinada quantidade de óleo pode chegar, para um dado tipo de solo. Repita as simulações para tipos de solos diferentes.
Torne o modelo mais realista fazendo a porosidade depender da profundidade do solo. Repita as simulações. Observa algumas diferenças relativamente ao modelo original ?
Use a largura da caixa de simulação como um parâmetro adicional e verifique a dependência do fluxo nesta quantidade.
Início
©opyright 2004, Centro de Física Teórica e ComputacionalO programa utilizado foi implementado pela Northwestern University, Evanston, IL.