• Nenhum resultado encontrado

Capítulo 4. Método de Glimm

4.2. O Método de Glimm

O Método de Glimm é um método de escolha aleatória, que consiste basicamente em realizar uma amostragem estatística da solução teórica de problemas de Riemann. O poder dessa técnica é que as soluções teóricas locais contém extensas informações sobre o fenômeno de interação entre as ondas e a amostragem estatística evita o surgimento da viscosidade numérica típica de métodos de elementos finitos e diferenças finitas [52]. Em particular, o método de Glimm permite o tratamento automático da formação espontânea e da evolução de descontinuidades (típicas de sistemas hiperbólicos lineares).

Em essência, o método consiste em um procedimento numérico que utiliza a solução do problema de Riemann associado na geração de soluções aproximadas de equações hiperbólicas, sujeitas a condições iniciais arbitrárias. Como o esquema de Glimm constrói a solução para um problema de valor inicial a partir da solução de um certo número pré-determinado de problemas de Riemann associados, para marchar no tempo de um instante t=tn a um instante tn+1=tnt , a condição inicial arbitrária deve ser

aproximada por funções constantes por partes.

Como visto no Capítulo 2, a função proposta para a pressão permite que o sistema de leis de conservação se mantenha hiperbólico, mesmo quando a saturação é atingida. Dessa forma, o método de Glimm pode ser empregado no presente trabalho.

Para a utilização do método de Glimm, o domínio é dividido em k intervalos de comprimento Δx = h. Em seguida, para cada dois intervalos consecutivos, um problema de Riemann é resolvido, conforme ilustrado na Figura 4.1.

Figura 4.1 – Divisão do domínio para o emprego do Método de Glimm.

O Método de Glimm permite resolver um sistema hiperbólico para uma condição inicial qualquer. Dessa forma, o valor da variável u no instante t=tn é tomado como constante em cada intervalo formado por dois subintervalos consecutivos de comprimento

h. Assim, na posição ih, o valor da variável é igual ao valor de u na posição ih, no tempo n.

Esse valor é representado por uin e é constante em todo o intervalo (i-1)h e (i+1)h, sendo

que o índice i se refere ao intervalo em que a amostra é tomada e n indica o instante de tempo considerado, conforme mostrado na Figura 4.1. O mesmo é feito para o intervalo (i+1)h e (i+3)h, no qual o valor da variável é tomada como constante e igual a ui +2n , ou

seja, igual ao valor da variável na posição i+2, no instante de tempo n.

Realizando esse procedimento em todo o domínio, o mesmo será formado por sucessivos problemas de Riemann, sendo que cada Problema de Riemann se forma a cada

x=i h

i h

(i+ 1) h

(i+ 2) h

ui n ui +2 n

u

(i−1)h

(i+ 3)h

dois subintervalos consecutivos de comprimento h. Em cada um dos problemas de Riemann tem-se o estado constante à esquerda dado por uin e à direita dado por ui +2n .

Para cada um desses problemas de Riemann, a solução analítica deve ser calculada. A Figura 4.2 apresenta um exemplo de solução (Rarefação-1/Choque-2) para o problema de Riemann apresentado na Figura 4.1.

Figura 4.2 – Solução do Problema de Riemann para emprego do Método de Glimm.

Como pode ser visto na Figura 4.2, a cada dois intervalos consecutivos, tem-se uma solução de um problema de Riemann. Nesse momento, deve-se atualizar o valor da variável

u. Tomando-se como exemplo o nó (i+1), isso é feito utilizando-se um valor aleatório no

intervalo entre ih e (i+2)h. Dessa forma o valor de ui +1n +1 será igual ao valor da solução

teórica do problema de Riemann na posição (i+1+θ)h , sendo θ um número gerado aleatoriamente entre -1 e +1, com densidade de probabilidade uniforme, no instante de tempo n. A Figura 4.3 ilustra esse procedimento.

Observa-se que, de acordo com [51], utilizar um valor de θ para cada um dos problemas de Riemann das Figuras 4.1 ou 4.4, leva a resultados pouco precisos. Portanto,

x=i h

ih

(i+1)h

(i+2)h

(i−1)h

(i+3)h

n+1

uma boa prática adotada por [51] foi de utilizar θn=θ=const para cada intervalo de

tempo.

Figura 4.3 – Amostragem da Solução do Problema de Riemann.

Como pode ser observado no exemplo da Figura 4.3, o valor amostrado (aleatório) encontra-se dentro da onda de rarefação à esquerda. Logo, o valor da variável u no nó i+1, no instante tn+1=tnt , corresponderá ao valor de u dentro da onda de rarefação-1.

Dessa forma é feita a atualização do valor de u em todos os intervalos, conforme ilustrado na Figura 4.4.

x=i h

ih

(i+ 1)h

(i+ 2)h

n+1

n

(i+ 1+ θ)h

Figura 4.4 – Atualização da variável u mediante o método de Glimm.

Pela Figura 4.4, verifica-se que, a partir dos valores obtidos pela amostragem da solução dos problemas de Riemann iniciais, obtém-se um novo conjunto de problemas de Riemann (linhas vermelhas), dessa vez defasados por um intervalo h. O mesmo procedimento pode ser aplicado para cada um dos novos problemas de Riemann, ou seja, amostra-se a solução do problema de Riemann e, a partir dela, atualiza-se o valor da variável desejada. Esse procedimento pode ser repetido até o instante de tempo desejado, dando origem a uma sucessão de soluções que se aproximam da solução exata.

Pela Figura 4.2 observa-se que podem ocorrer interações entre as ondas de dois problemas de Riemann consecutivos. Isso deve ser evitado e, para que não ocorram interações entre as ondas, a condição de Courant-Friedrichs-Lewy (equação 4.1) deve ser respeitada [3, 52]

x=i h

ih

(i+ 1)h

(i+ 2)h

u

i−1n +1

u

i +3n +1

u

(i−1)h

(i+3)h

u

i +1n +1

Δt⩽Δx

2|a| (4.1)

sendo que a é a velocidade máxima de propagação, em valor absoluto, da descontinuidade considerando todos os problemas de Riemann no tempo tn. Em outras palavras, a norma

de a é a norma do valor máximo dos autovalores do sistema.

A equação (4.1) garante que não haja interações entre as ondas de dois problemas de Riemann consecutivos e, quando o comprimento dos passos tomados em relação à variável espacial tende a zero, a aproximação obtida tende a solução exata do problema, considerando, neste caso, a sua solução fraca [3, 52].

Como pode ser visto acima, o número aleatório θ representa um papel fundamental nesse método. Chorin [51] propôs outra melhoria para a escolha de θ, que consiste em adotar um procedimento para que θ seja distribuído igualmente no intervalo [-1, +1] mais rapidamente.

O procedimento adotado em [51] consiste, inicialmente, em adotar m1<m2 dois

números inteiros primos (serão adotados m1=3 e m2=7 , no presente trabalho,

conforme referência [52]). Em seguida, considere a seguinte sequência

ni+ 1=mod (m2, m1+ni). (4.2)

sendo n0m2 um número primo qualquer e mod representa o resto da divisão entre

Se for considerada uma sequência de números aleatórios θ12,…, θn, com

θi∈(0,1), a seguinte alteração produz melhorias significativas no método de Glimm:

θ'i=((nii+1)/m2)−1, para i=1,2,…, n . (4.3)

Assim, ao utilizar θ' ao invés de θ, obtém-se valores aleatórios com distribuição mais uniforme no intervalo entre -1 e +1. Dessa forma a solução obtida mediante o método de Glimm produz resultados mais precisos, e as posições das ondas (de choque ou de rarefação) se aproximam da solução real.

Documentos relacionados