O que seria uma boa discretização de diferenças finitas para a seguinte equação:
?
Podemos pegar o caso 1D:
Por alguma razão, todos os esquemas que encontro são para a formulação em coordenadas lagrangianas. Eu vim com esse esquema por enquanto (desconsidere o índice j ):
Mas parece ser realmente instável ou tem alguma condição de estabilidade horrível. É assim mesmo?
A velocidade é realmente calculada através da lei de darcy . Além disso, temos a equação de estado. O sistema completo também consiste em uma equação de energia e a equação de estado para o gás ideal. As velocidades podem ficar negativas .
Respostas:
Você está olhando para a equação de conservação de massa:
Ao considerar a evolução da massa por unidade de volume, isso se resume à equação de advecção da densidade na forma de fluxo:
O bom disso é que é apenas a equação de advecção de um campo escalar arbitrário (no nosso caso, isso é densidade ) e é (relativamente) fácil de resolver, desde que haja esquemas adequados de diferenciação de tempo e espaço, e inicial e condições de contorno.ρ
Ao projetar um esquema de diferenciação finita, nos preocupamos com convergência, estabilidade e precisão. Um esquema está convergindo se quando . A estabilidade dos esquemas garante que a quantidade permaneça finita quando . A precisão formal do esquema indica onde está o erro de truncamento na série de expansão de Taylor da derivada parcial. Examine um livro CFD para obter mais detalhes sobre essas propriedades fundamentais de um esquema diferencial. Δt→0At→∞ΔAΔt→∂A∂t Δt→0 A t→∞
Agora, a abordagem mais simples é ir diretamente para a diferenciação a montante de 1ª ordem. Esse esquema é positivo-definido, conservador e computacionalmente eficiente. As duas primeiras propriedades são especialmente importantes quando modelamos a evolução de uma quantidade sempre positiva (ou seja, massa ou densidade).
Para simplificar, vejamos o caso 1-D:
Agora é conveniente definir o fluxo , para que:Φ=ρu
Aqui está um esquema do que estamos simulando:
Os fluxos de entrada e saída são avaliados como:
O tratamento acima da diferenciação de fluxo assegura a definição a montante. Em outras palavras, ajusta a direção de diferenciação de acordo com o sinal de velocidade.
O critério de estabilidade de Courant-Friedrichs-Lewy (CFL), ao fazer a diferença de tempo com uma primeira ordem simples, a diferenciação de Euler para a frente é dada como:
Observe que em 2 dimensões, o critério de estabilidade da CFL é mais rigoroso:
Algumas coisas a considerar. Esse esquema pode ou não ser apropriado para sua aplicação, dependendo do tipo de processo que você está simulando. Esse esquema é altamente difusivo e é apropriado para fluxos muito suaves, sem gradientes acentuados. Também é mais difusivo para etapas mais curtas. No caso 1-D, você obterá uma solução quase exata se os gradientes forem muito pequenos e se . No caso 2-D, isso não é possível e a difusão é anisotrópica.μ=1
Se o seu sistema físico considerar ondas de choque ou altos gradientes de outro tipo, você deve considerar a diferenciação upstream de ordem superior (por exemplo, terceira ou quinta ordem). Além disso, pode valer a pena examinar a família de esquemas de transporte corrigido por fluxo (Zalesak, 1979, JCP); correção anti-difusão para o esquema acima por Smolarkiewicz (1984, JCP); Família de esquemas MPDATA de Smolarkiewicz (1998, JCP).
Para diferenciar o tempo, a diferenciação de Euler para a frente de 1ª ordem pode ser satisfatória para suas necessidades. Caso contrário, procure métodos de ordem superior, como Runge-Kutta (iterativo) ou Adams-Bashforth e Adams-Moulton (multinível).
Vale a pena olhar para alguns livros didáticos de pós-graduação em CFD para um resumo dos esquemas mencionados acima e muito mais.
fonte
fonte