Para a solução numérica de PDEs hiperbólicas, o uso dos solucionadores de Riemann são componentes essenciais de métodos conservadores de captura de choque para simulação precisa de problemas de ondas que podem ter choques (saltos descontínuos em variáveis conservadas). Para obter soluções precisas para esses problemas, precisamos usar técnicas apropriadas de retrolavagem - o solucionador Riemann é responsável por isso. O solucionador de Riemann busca uma solução precisa para o problema de interface entre células (por exemplo, em volumes finitos) ou elementos (por exemplo, em métodos de elementos finitos descontínuos de Galerkin). A solução desse problema de interface é baseada na solução de ambos os lados da interface e procura usá-la como base para a reconstrução precisa do fluxo (numérico) (em termos de variáveis conservadas) na interface.
Existem duas abordagens padrão para a solução desses problemas Riemann (locais à interface), a saber, os solucionadores Riemann exatos e aproximados. Para muitos PDEs, não existe uma solução exata de formulário fechado disponível; nesse caso, temos que recorrer a aproximadores solucionadores de Riemann. Na prática, também pode ser (muito) caro resolver exatamente os problemas de Riemann; nesse caso, pode ser mais prático recorrer à aproximação dos solucionadores de Riemann. Pela mesma razão, os fluxos do tipo Lax-Freidrichs são amplamente utilizados como um meio simples.
Essencialmente, a escolha entre os solucionadores Riemann tem a ver com a precisão com que se procura representar as velocidades de onda da solução e a eficiência resultante.
Depende do problema. O problema de Riemann é baseado em dados de ambos os lados das interfaces de célula. Para reconstruir o fluxo na interface com base nesses dados, precisamos conhecer informações sobre a estrutura de onda completa do PDE hiperbólico em questão. Isso torna o problema de Riemann dependente do problema e, portanto, também a escolha do solucionador de Riemann. Em suma, os solucionadores exatos buscam levar em consideração a estrutura de onda completa, o solucionador de Roe é baseado na aproximação local (por linearização e média especial) da estrutura de ondas local, o solucionador de HLL é baseado na estimativa de duas velocidades de onda dominantes no local estrutura das ondas e, em seguida, impor a conservação, satisfazendo a condição de Rankine-Hugoniot para aguentar choques ou contatar descontinuidades.
Assim, a escolha entre solucionadores específicos, solucionadores exatos ou solucionadores Roe / HLL / etc aproximados depende de encontrar um equilíbrio entre precisão (imitando a física subjacente das equações do modelo) e necessidades de eficiência. No final - como eu vejo - na aplicação prática, geralmente são requisitos de eficiência que determinam o uso de solucionadores Riemann aproximados (por exemplo, do tipo Lax-Friedrichs).
Uma boa exposição ao assunto é dada por EF Toro em seu livro "Solucionadores de Riemann e métodos numéricos para dinâmica de fluidos", Springer.