Quantidades físicas como pressão, densidade, energia, temperatura e concentração devem sempre ser positivas, mas os métodos numéricos às vezes calculam valores negativos durante o processo de solução. Isso não está certo porque as equações calcularão valores complexos ou infinitos (normalmente travando o código). Quais métodos numéricos podem ser usados para garantir que essas quantidades permaneçam positivas? Qual desses métodos é mais eficiente?
pde
fluid-dynamics
hyperbolic-pde
Jed Brown
fonte
fonte
Respostas:
O método mais comum é redefinir valores negativos para um número pequeno e positivo. Obviamente, essa não é uma solução matematicamente sólida. Uma abordagem geral melhor que pode funcionar e é fácil é reduzir o tamanho da sua etapa do tempo.
Valores negativos geralmente surgem na solução de PDEs hiperbólicas, porque o aparecimento de choques pode levar a oscilações, o que tenderá a criar valores negativos se houver estados de quase vácuo perto do choque. O uso de um método de variação total decrescente (TVD) ou outro método não-oscilatório ( ENO, WENO ) pode reduzir essa tendência. Esses métodos são baseados no uso de limitadores não lineares para calcular os derivados da solução. No entanto, você ainda pode obter valores negativos por vários motivos:
É claro que existem muitas outras abordagens especializadas para equações específicas, como no código GeoClaw de David George, que usa um solucionador de Riemann com ondas não físicas extras para reforçar a positividade.
fonte
Supondo que estamos resolvendo equações hiperbólicas sem termos de origem e assumindo que forneçamos condições físicas iniciais, certificando-se de que o esquema numérico que usamos seja Variação total decrescente é uma boa maneira de garantir a "fisicalidade" da solução computada. Como um esquema de TVD preserva a monotonicidade, nenhum novo mínimo ou máximo será criado e a solução permanecerá limitada pelos valores iniciais que esperamos definir corretamente. Obviamente, a questão é que os esquemas de TVD não são os mais óbvios. Entre esquemas lineares, apenas esquemas de primeira ordem são TVD (Godunov 1954). Desde os anos 50, uma variedade de esquemas de TVD não lineares foi desenvolvida para combinar alta precisão e monotonicidade para a solução de equações hiperbólicas.
Para minhas aplicações, resolvendo equações de Navier-Stokes com grandes gradientes de pressão / densidade, usamos um esquema híbrido centralizado em MUSCL para capturar grandes gradientes / descontinuidades e manter boa precisão longe delas. O primeiro esquema MUSCL (MUSCL significa Esquemas Monótonos de Leis de Conservação centradas a montante) foi desenvolvido por Van Leer em 1979.
Se você quiser saber mais sobre este assunto, consulte os trabalhos de Harten, Van Leer, Lax, Sod e Toro.
fonte
As respostas acima se aplicam a problemas dependentes do tempo, mas você também pode exigir positividade em uma simples equação elíptica. Nesse caso, você pode formulá-lo como uma desigualdade variacional , dando limites para as variáveis.
No PETSc, existem dois solucionadores de VI. Utiliza-se um método de espaço reduzido, onde variáveis em restrições ativas são removidas do sistema a ser resolvido. O outro usa um método de Newton semi-suave .
fonte
Geralmente, os esquemas de discretização que levam a uma matriz M são chamados esquemas monótonos, e esses são os esquemas que preservam a não-negatividade.
fonte