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
    end
    
    Iní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