Como posso derivar um limite para as oscilações espúrias na solução numérica da equação de advecção 1D?

9

Suponha que eu tenha o seguinte problema periódico de advecção 1D:

vocêt+cvocêx=0 0 in onde g (x) tem uma descontinuidade de salto em x ^ * \ in (0,1) . Ω=[0 0,1 1]
você(0 0,t)=você(1 1,t)
você(x,0 0)=g(x)
g(x)x(0 0,1 1)

Entendo que, para esquemas lineares de diferenças finitas de mais alta ordem do que a primeira ordem, ocorram oscilações espúrias próximas à descontinuidade, à medida que são avançando ao longo do tempo, resultando em uma distorção da solução em relação à sua forma de onda esperada. De acordo com a explicação da Wikipedia , parece que essas oscilações ocorrem tipicamente quando uma função descontínua é aproximada com uma série finita de fourier.

Por alguma razão, não consigo entender como uma série finita de fourier pode ser observada na solução desse PDE. Em particular, como posso estimar um limite no "over-shoot" analiticamente?

Paulo
fonte

Respostas:

11

O método contra o vento de primeira ordem é monótono; não introduz oscilações espúrias. Mas é apenas preciso de primeira ordem, resultando em tanta difusão numérica que é inutilizável para muitos propósitos. O Teorema de Godunov afirma que discretizações espaciais lineares de ordem superior à primeira ordem não podem ser monótonas. Para controlar rigorosamente as oscilações, usamos esquemas de redução total da variação (TVD) . Os métodos de TVD são tipicamente limitados à precisão de segunda ordem. Para uma ordem superior, precisamos relaxar nossa solicitação, levando a métodos de Variação Total Limitada (TVB), como (Não ponderado) Essencial Não Oscilatório ((W) ENO), ou devemos relaxar a definição de TVD para "preservação de princípio máximo" ou similar, onde os extremos iniciais são em termos de uma solução reconstruída inicial, resultando emregimes especiais de limitação .

Jed Brown
fonte
Minhas desculpas ... por algum motivo, tive a impressão de que isso também era verdade para o esquema de primeira ordem. Eu editei a pergunta para refletir esse comentário.
Paul
5

A discretização linear de diferenças finitas de um problema 1D com limites periódicos leva a uma discretização da forma

vocên+1 1=euvocên

onde é uma matriz circulante . Os vetores próprios de qualquer matriz circulante são modos Fourier discretos (aqui é o espaçamento da grade e é o número de onda, que varia de zero até o número de onda mais alto representável na grade). Esses vetores próprios formam uma base para todas as funções que podem ser representadas na grade. Se você expressa a solução em termos desses modos discretos de Fourier, o método numérico é diagonalizado, ou seja, cada componente de Fourier é multiplicado por um fator escalar (geralmente complexo) em cada etapa. O fator escalar é freqüentemente chamado de fator de amplificação, e o que acabei de descrever é conhecido como análise de von Neumannv j = exp ( i j h ξ ) heu

vj=exp(Eujhξ)
hξ. É análogo à análise de Fourier de PDEs lineares, na qual se usa uma base de Fourier, para "diagonalizar" os operadores diferenciais lineares.

Você pode encontrar boas explicações, por exemplo, no texto de Strikwerda ou LeVeque .

David Ketcheson
fonte
Estou familiarizado com a análise de von neumann. Mas posso realmente usar essa análise para derivar um limite para as oscilações espúrias?
Paul
Respondi principalmente à sua afirmação . Não consigo entender como uma série finita de Fourier pode ser observada na solução desse PDE. Mas sim, você pode obter limites dessa análise. Por exemplo, você pode observar o pior cenário em que todos os modos interferem construtivamente. No entanto, é provável que seja um limite muito pessimista. Na prática, nunca vi ninguém obter limites além de TVD ou TVB (que são bastante fortes e não são válidos para esquemas lineares).
David Ketcheson
Você provavelmente poderia ter um vínculo mais interessante olhando a relação de dispersão para os modos mais altos de número de onda. Mas eu nunca vi isso feito.
David Ketcheson
2

Nem todas as oscilações espúrias são fenômenos de Gibbs. Eles parecem semelhantes, mas existem oscilações de Gibbs para todas as aproximações finitas de Fourier de funções descontínuas (elas ficam menores à medida que você adiciona mais termos). Visto que existem representações não-oscilatórias de funções descontínuas resultantes da solução de aproximações de diferenças finitas para PDEs que não requerem séries infinitas;

O banho ( teste Inf – sup de métodos a favor do vento , PDF) contém um artigo sobre métodos de elementos finitos (convecção-difusão, IIRC) em 1-D que envolve o cálculo da constante para a condição - e relaciona-o a oscilações . Você pode obter uma visão disso.infsup

Bill Barth
fonte
3
Este é um artigo útil, mas observe que a estabilidade inf-sup não fornece um forte controle das oscilações. Nenhuma quantidade de estabilidade inf-sup pode fornecer um método TVD, por exemplo. E à luz do Teorema de Godunov, não faz sentido procurar discretizações espaciais lineares se pretendemos ter soluções não-oscilatórias de maior que a primeira ordem. Observe que o número do Peclet aparece em todos os métodos deste documento e os métodos degradam para a precisão de primeira ordem como , além de não serem TVD. Pe
Jed Brown
Essas são todas as afirmações verdadeiras. Isso realmente se aplica apenas a problemas de difusão por convecção.
Bill Barth
2

Quanto à sua última pergunta sobre a conexão entre séries finitas de Fourier e aproximação de elementos finitos: Em geral, se você tentar projetar uma função com um salto em um espaço dimensional finito cujas funções básicas são contínuas, você obtém o fenômeno de Gibbs. Isso é verdade se a base for uma série finita de Fourier (onde as funções da base são os senos e os cossenos) ou se a base forem as funções usuais comuns dos elementos finitos - é uma propriedade da projeção mais a inadequação das funções da base.

Wolfgang Bangerth
fonte
Estou feliz por ter me provado errado, já que estou claramente fora de prática, mas não estou comprando seu comentário sobre projeções em funções de chapéu sem qualificação adicional. Meu cálculo rápido usando meu antigo código MATLAB 1-D da minha primeira classe FEM mostra que a projeção da função step em usando funções hat é não-oscilatória. Você tem um exemplo que pode mostrar o que estou perdendo? H0 01 1
Bill Barth
Deixa pra lá. Código antigo é antigo. Eu posso reproduzir oscilações. Comentário anterior retirado.
Bill Barth
Eu estou feliz que eu poderia ajudar :-)
Wolfgang Bangerth
0

Uma abordagem é através da equação equivalente, ou seja, a equação diferencial à qual o seu método discreto fornece a aproximação mais próxima. Esta nunca é a equação diferencial que você pretendia resolver. Então você olha para a solução assintótica da equação equivalente, para uma etapa funcionar como dados iniciais. Veja Bouche, D., Bonnaud, G. e Ramos, D., 2003. Comparação de esquemas numéricos para resolver a equação de advecção. Letras de matemática aplicada, 16 (2), pp.147-154.

Philip Roe
fonte