Impor as condições de compatibilidade para o método dos elementos finitos mistos na equação de Stokes

13

Suponha que tenhamos a seguinte equação do modelo de fluxo Stokes:

{-dEuv(νvocê)+p=fdEuvvocê=0 0
onde a viscosidade ν(x) é uma função, para o elemento finito misto padrão, diz-se que usamos o par estável: espaço Crouzeix-Raviart Vh para a velocidade você e o espaço constante entre elementos Sh para a pressão p , temos a seguinte forma variacional:

L([u,p],[v,q])=Ωνvocê:v-ΩqdEuvvocê-ΩpdEuvv=Ωfvv×qVh×Sh

e sabemos que, como o multiplicador Lagrange p pode ser determinado até uma constante, a matriz finalmente montada deve ter um espaço nulo 1 ; para contornar isso, poderíamos forçar a pressão p de um certo elemento como zero, para que não precisemos resolver um sistema singular.

Então, aqui está a minha pergunta 1:

  • (Q1) Existe outra maneira de aplicar p=0 0 em algum elemento para eliminar o kernel do elemento finito misto padrão? ou, digamos, qualquer solucionador por aí capaz de resolver o sistema singular para obter uma solução compatível? (ou algumas referências são bem-vindas)

E sobre a compatibilidade, pois (1) deve ser e o pequeno truque é calcular como o que obtivemos da solução de o sistema linear subtraído por sua média ponderada: ~ p p ~ p = p - ν

Ων-1p=0 0
p~p
(2)p~=pν|Ω|Ων1p

No entanto, recentemente implementei um elemento finito misto estabilizado para a equação de Stokes por Bochev, Dohrmann e GunzbergerP1P0˜ L ([u,p],[v,q])= L ([u,p],[v,q])-Ω (p- Π 1 p)(q- Π 1 q)=Ω fv , no qual eles adicionaram um termo estabilizado à formulação variacional (1): onde é a projeção do espaço constante por partes para o contínuo por partes , e o núcleo constante do elemento finito misto original se foi, no entanto, coisas estranhas aconteceram (2) não não funcionou mais, cunhei o problema do teste de

L~([u,p],[v,q])=L([u,p],[v,q])Ω(pΠ1p)(qΠ1q)=Ωfvv×qVh×Sh
Π1P0P1um problema de interface para a equação de difusão , é isso que eu tenho para a pressão , a correta é a verdadeira solução e a esquerda é a aproximação numérica:p

Teste Stokes 1

no entanto, se for uma constante, o problema do teste funcionará perfeitamente: νTeste de Stokes 2

Eu estou supondo que é porque, da maneira como estou impondo a condição de compatibilidade, uma vez que está vinculada à estabilidade inf-sup de todo o sistema, aqui está minha segunda pergunta:

  • (Q2): existe outra maneira além de (2) de impor a compatibilidade para a pressão ? ou ao cunhar o problema do teste, que tipo de devo usar?pp
Shuhao Cao
fonte
MathML não está funcionando?
Shuhao Cao 10/09/12
Usamos o MathJaX no StackExchange, tudo o que você postou está aparecendo muito bem, obrigado pela pergunta detalhada.
Aron Ahmadia 11/09/12

Respostas:

8

A condição de compatibilidade diz respeito à velocidade, não à pressão. Ele afirma que se você tiver apenas condições de limite de Dirichlet para a velocidade, elas deverão ser compatíveis com a restrição livre de divergências, ou seja, com o limite da domínio computacional (não a célula).Ωvocên=0 0Ω

Nesse caso, não pode ser distinguido de com uma constante arbitrária porque você não possui condição de limite em para corrigir a constante. Portanto, existem infinitas soluções para a pressão e, para comparar soluções, é necessária uma convenção. Os matemáticos preferem escolher tal que (porque eles podem se integrar), enquanto o físico prefere (porque eles podem medir em um ponto). Se é seu equivalente discreto de , isso implica quep(p+c)cpcp¯=prefp(xref)=prefBppB possui um espaço nulo que consiste no vetor de identidade.

Os métodos do subespaço Krylov podem resolver um sistema singular removendo o espaço nulo do subespaço Krylov no qual eles procuram a solução. No entanto, isso não significa que você obterá a solução que corresponde a uma determinada convenção; sempre será necessário determinar a constante em uma etapa de pós-processamento; nenhum solucionador pode fazer isso por você.p

Aqui estão algumas sugestões para resolver seu problema:

  • νx
  • Seu campo de velocidade atende à restrição de compatibilidade?
  • pp-pexumact
  • B
chris
fonte
2

Quanto a (Q1), você pode escolher um solucionador de problemas de ponto de sela que calcule uma solução de mínimos quadrados para o seu sistema. Em seguida, uma condição adicional pode ser imposta ao multiplicador, como definir um grau específico de liberdade, impondo uma média específica.

Em geral, e acho que isso responde (Q1), você pode usar uma restrição linear que pode distinguir diferentes constantes.

Essa restrição pode ser imposta em uma etapa de pós-processamento ou por uma escolha apropriada do espaço de teste (por exemplo, se você deixar de fora um grau de liberdade).

shuhalo
fonte