Anomalie #219
pas de détection de jacobien négatif sur élément quadrangle
0%
Description
Gérard,
Herezh ne détecte pas de jacobien négatif pour les éléments quadrangle linéaire. Je suis tombé par hasard sur ce problème mais j'imagine que ça pourrait poser des soucis sur les résultats de calcul et sans qu'on soit prévenu car pas de warning ou erreur.
En pièce jointe, j'ai mis un exemple d'élement "retourné" qui normalement devrait poser problème. Mais Herezh trouve un volume aux pti égal aux 4 pti et positif. Dans le .maple, les volumes aux pti sont en colonne 9, 17, 25 et 33.
A voir comment cela fonctionne la notion de Jacobien pour un élément 2D. Voilà ce que j'en ai compris en fouillant à droite à gauche :
Pour un élément 2D, la matrice jacobienne est une matrice 2x3 (deux vecteurs g_i dans un espace 3D). La matrice n'est pas carrée. Donc la notion de déterminant n'existe pas. Herezh passe par le tenseur métrique G. Normalement, la relation entre G et la matrice jacobienne J est : G = t^J.J. En faisant sqrt(det(G)), on obtient le déterminant de J, et c'est ce qui est utilisé pour faire les intégrales de volume.
Tout ceci fonctionne sans souci tant que le déterminant de J est positif : det(t^J) = det(J) et donc det(G) = det(J)*det(J) => det(J) = racine(det(G))
Mais en conséquence, si det(J) est négatif => det(J)*det(J) > 0 et donc pas de jacobien négatif détecté et le calcul se poursuit en silence sur l'élément distordu.
J'ai "google"isé un peu pour voir comment c'est fait ailleurs => rien trouvé. Je sais juste que les autres codes savent détecter les éléments quadrangle distordus.
Fichiers