Supposons que nous ayons l'équation du modèle de flux de Stokes suivante:
et nous savons que puisque le multiplicateur de Lagrange peut être déterminé jusqu'à une constante, la matrice finalement assemblée devrait avoir un espace nul , pour contourner cela, nous pourrions faire en sorte que la pression sur un certain élément soit nulle, de sorte que nous n'avons pas à résoudre un système singulier.
Voici donc ma question 1:
- (Q1) Existe-t-il un autre moyen que d'appliquer sur un élément pour éliminer le noyau des éléments finis mixtes standard? ou, par exemple, n'importe quel solveur capable de résoudre le système singulier pour obtenir une solution compatible? (ou certaines références sont les bienvenues)
Et à propos de la compatibilité, pour (1) ce devrait être et le petit truc sympa est de calculer être le nous avons obtenu de la solution de le système linéaire soustrait par sa moyenne pondérée: ˜ p p ˜ p = p - ν
Cependant, récemment, je viens de mettre en œuvre un élément fini mixte stabilisé pour l'équation de Stokes par Bochev, Dohrmann et Gunzberger˜ L ([u,p],[v,q])= L ([u,p],[v,q])- ∫ Ω (p- Π 1 p)(q- Π 1 q)= ∫ Ω f⋅v , dans lequel ils ont ajouté un terme stabilisé à la formulation variationnelle (1): où est la projection de l'espace constant par morceaux vers continu par morceaux , et le noyau constant de l'élément fini mélangé d'origine a disparu, cependant, des choses étranges se sont produites, (2) doesn ne fonctionne plus, j'ai inventé le problème de test de
cependant si est une constante, le problème de test fonctionne très bien:
Je suppose que c'est parce que la façon dont j'impose la condition de compatibilité, car elle est liée à la stabilité inf-sup de tout le système, voici ma deuxième question:
- (Q2): existe-t-il un moyen autre que (2) d'imposer la compatibilité pour la pression ? ou en inventant le problème du test, quel type de dois-je utiliser?
la source
Réponses:
La condition de compatibilité concerne la vitesse, pas la pression. Il indique que si vous ne disposez que des conditions aux limites de Dirichlet pour la vitesse, celles-ci doivent être compatibles avec la contrainte sans divergence, c'est-à-dire avec la limite de la domaine de calcul (pas la cellule).∂ Ω∫∂Ωu ⋅ n = 0 ∂Ω
Dans ce cas, ne peut pas être distingué de avec une constante arbitraire car vous n'avez pas de condition aux limites sur pour fixer la constante. Il existe donc une infinité de solutions pour la pression et pour comparer les solutions, une convention est nécessaire. Les mathématiciens préfèrent choisir tel que (car ils peuvent s'intégrer) tandis que le physicien préfère (car ils peuvent mesurer dans un point). Si est votre équivalent discret de , cela implique que∇ ( p + c ) c p c ¯ p = p r e f p ( x r e f ) = p r e f B p ∇ p B∇ p ∇ ( p + c ) c p c p¯¯¯= pr e f p ( xr e f) = pr e f B p ∇ p B a un espace nul composé du vecteur d'identité.
Les méthodes du sous-espace Krylov peuvent résoudre un système singulier en supprimant l'espace nul du sous-espace Krylov dans lequel elles recherchent la solution. Cependant, cela ne signifie pas que vous obtiendrez la solution qui correspond à une convention donnée, vous devrez toujours déterminer la constante vous-même dans une étape de post-traitement, aucun solveur ne peut le faire pour vous.p
Voici quelques suggestions pour résoudre votre problème:
la source
Comme pour (Q1), vous pouvez choisir un solveur pour les problèmes de point de selle qui calcule une solution des moindres carrés pour votre système. Ensuite, une condition supplémentaire peut être imposée au multiplicateur, comme fixer un degré de liberté spécifique, imposer une moyenne spécifique.
En général, et je pense que cela répond (Q1), vous pouvez utiliser une contrainte linéaire qui peut distinguer différentes constantes.
Cette contrainte peut être imposée dans une étape de post-traitement, ou par un choix approprié de l'espace d'essai (par exemple, si vous omettez un degré de liberté).
la source