Assistance #257
maillages à valeur de tests
Description
Bonsoir Gérard,
Pour débuter avec Herezh, j'ai élaboré un petit modèle de plaque en flexion.
Selon plusieurs approches du point de vue du maillage.
J'obtiens des résultats assez incohérents que je pense être dûs à mon inexpérience
et/ou à un manque de rigueur.
Il y a 6 cas au total, l'archive contient les modèles et les résultats.
Si tu peux jeter un oeil, merci !
Bonne soirée !
Christian
Fichiers
Mis à jour par Gérard Rio il y a environ 4 ans
- Fichier platine6.her platine6.her ajouté
- Statut changé de Nouveau à En cours
- % réalisé changé de 0 à 80
Bonjour Christian,
Je me suis intéressé à cas quadratique.
1) vérif de la géométrie et des CL-chargement
j'ai mis les ref dans le fichier de maillage, ainsi je peux visualiser les références à l'aide de :
hz_visuMail.pl platine6
ce qui me permet de les vérifier de visu -> a priori ok, en particulier on a bien un blocage suffisant
2) Si on lance le calcul on voit que l'on a plein de chose (erreurs ou warning) qui sont affichés et qui dépasse la taille du terminal. En général, c'est les premières informations qui sont importantes du coup il est intéressant de sauvegarder sur fichier les messages en même temps que le calcul se déroule, de manière à pouvoir consulter facilement les infos. Pour cela je lance:
HZpp_Vn-1 -f platine6 | tee platine6.log
Ensuite j'ouvre le fichier .log
pour la première résolution je vois:
MatBand resolution PMIN= 1 PMAX= 2.35011e+07
MatBand resolution PMIN= 2.29937e-07 PMAX= 9.41108e+07
Ce qui correspond à l'opération de triangulation de la matrice globale de raideur: et on voit qu'après triangulation les pivots max et mini sont dans un rapport de 1.e14 ... ce qui correspond à la limite de précision de la machine donc on peut dire que la matrice est singulière ...puis on a:
- Norme Residu/Reaction --> 157.90228535156632
ITERATION : 1
(assemblage 1) reaction maxi : 1.1032842481303728e+52, du ddl X3, du noeud/maillage 74/1
max puissance exterieure = 55.550000000000004
max puissance interieurs = 1.7421110417217041e+54
max des reactions = 1.1032842481303728e+52
max du residu total = 1.7421110417217041e+54
là clairement le calcul explose !
La raison est la suivante:. ici les éléments quadratiques ont 8 pti par défaut, ce qui fait que l'on a une sous-intégration (pas assez de point d'intégration = pti). Il faut donc soit bloquer les modes d'hourglass (modes de déformation à énergie nulle) soit augmenter le nombre de pti. Par simplicité j'augmente le nombre de pti -> de 2x2x2 je passe à 3x3x3 ======================================================================
MatBand resolution PMIN= 1 PMAX= 3.38416e+07
MatBand resolution PMIN= 4.18436e-08 PMAX= 1
- Norme Residu/Reaction --> 0.369828
MatBand resolution PMIN= 1 PMAX= 3.38464e+07
MatBand resolution PMIN= 4.18493e-08 PMAX= 1
(assemblage 1) delta maxi: -0.000768718, ddl X1, noeud/mail 35/1 , var total:-0.0227707, sur:99.9772
là c'est normal -> je passe donc à la version rapide :
HZppfast_Vn-1 -f platine6
et là cela fonctionne sans pb.
concernant les résultats que tu obtiens, il faut savoir que les éléments linéraires en flexion sont mauvais par défaut, car ils conduisent à un phénomène de blocage -> donne des résultats qui peuvent-être complètement faux.
Classiquement la solution est de sous-intégrer les éléments, on passe donc de 2x2x2 pti à 1x1x1 pti, mais cela conduit à des modes d'hourglass qu'il faut alors gérer (ou stabiliser). Dans Herezh, il y a plusieurs méthode pour effectuer ces opérations (cf. doc ).
Si on ne veut pas s'embéter, la solution la plus sûr est d'utiliser des éléments quadratiques qui ont l'intérêt de ne pas bloquer (à condition d'utiliser assez de pti). De plus ces éléments conduisent à des résultats plus précis. Par contre ils sont plus couteux en temps de calcul du coup, il y a plusieurs techniques pour diminuer les temps de calculs, par exemple:
1) l'optimisation de la largeur de bande si on utilise un stockage bande
2) l'utilisation d'un stockage "sparse matrix" + une résolution de type gradient conjugué
3) l'utilisation d'un solveur parallèlisé (Lapack dans Herezh)
4) l'utilisation d'une sous-intégration avec éléments quadratiques: donc là on reviens à 2x2x2 pti mais on stabilise les éléments
....
je te joins le maillage modifié pour que tu puisses faire des essais
Mis à jour par Christian GOUALOU il y a environ 4 ans
Bonjour Gérard,
Merci pour toutes les infos !
J'avais pris le nombre de points d'intégration par défaut (msh2her) dans tous ces calculs...
Je suis bon pour les reprendre.
Pour les tétraèdres (linéaire / quadra), on a droit à combien de pti (pas trouvé dans le manuel) ?
En gros, dans l'interpolation linéaire, il manque la courbure ?
Quelle est l'utilité de tels éléments si le calcul converge vers une solution inexacte ?
Dans mes calculs, il y a souvent de la flexion en tout cas...
Et je ne suis pas trop pressé, sauf si je fais de l'optimisation par la suite....
Amicalement,
Christian
Mis à jour par Christian GOUALOU il y a environ 4 ans
- Fichier plaque.png plaque.png ajouté
Rebonjour Gérard,
J'ai repassé ce calcul (platine6 avec des hexaèdres quadra et 64 pti :
la contrainte passe de 2330 MPa (27 pti) à 3000 (64 pti).
Du coup, j'ai un doute sur le fait que Gmsh fournisse bien le maxi sur l'image (PJ) avec l'échelle par défaut ?
Tu as une astuce pour récupérer cette valeur précisément ?
La valeur de la flèche semble stable par contre.
Merci !
Chris
Mis à jour par Christian GOUALOU il y a environ 4 ans
Encore moi,
Peut-être que le maillage reste trop grossier et/ou que les conditions de blocage sont trop localisées dans ce calcul ?
Christian
Mis à jour par Gérard Rio il y a environ 4 ans
- % réalisé changé de 80 à 90
Bonjour Christian,
1)
concernant les tétraèdres:
- pour les éléments linéaires tous les nombres (noeuds, pti pour le volume, pour les surfaces etc.) sont indiqués dans le tableau à la fin du chapitre 38.28
- de même pour les quadratiques, dans le tableau à la fin du chapitre 38.29 (par contre le début du chapitre 38.29 était un copier-coller du précédent et il y avait des coquilles) avec également la possibilité d'avoir un élément sous-intégré: 1 pti
On pourrait mettre d'autres cas d'intégration, pour l'instant je n'ai pas eu de demande à ce niveau... mais c'est très facile d'ajouter d'autres cas d'intégration donc à voir ...
2) intérêt des éléments linéaires à intégration complètes:
a) pour moi c'était important de pouvoir montrer aux étudiants que sans précautions particulière, ces éléments peuvent poser pb. Ensuite de montrer comment on peut améliorer et contrôler (vérifier que le contrôle des modes d'hourglass n'est pas foireux !)
b) lorsque la flexion n'est pas prépondérante, les résultats avec éléments linéaires peuvent donner les bons résultats, en particulier c'est intéressant en dynamique, mais également en statique sur des états de tension/compression. Sinon, avec sous-intégration et gestion de l'hourglass (type ls-dyna, abaqus ...) on a des fonctionnements performants et précis... mais on peut également avoir de grosses erreurs si on ne contrôle pas correctement la stabilisation !! donc c'est important d'en avoir conscience.
-> à mon sens, si on ne veut pas se prendre le choux, le mieux est d'utiliser des éléments quadratiques quand on soupçonne un pb de blocage. Par contre le pb des éléments quadratiques est qu'ils peuvent très rapidement présenter des pb de jacobien négatif : en gros il n'y a plus bijection entre la géométrie réelle et l'élément fini. Mais là aussi il y a des solutions ... une autre histoire
3) hexaèdre à 27 ou 64 pti:
- normalement le résultat avec 27 ou 64 pti est en général quasi-identique, surtout si tu as deux éléments dans l'épaisseur. Par contre comme la répartition des contraintes est quasi-linéaire dans l'épaisseur, on aura une solution qui varie en fonction de la distance à la surface médiane. Donc c'est a priori normal que le résultat de la contrainte maxi avec 27 et 64 est différent, car la position des pti est différente. Plus tu t'approche de la face externe plus la contrainte augmente ... du coup si tu utilisais 3 éléments ou 4 éléments quadratiques dans l'épaisseur je pense que tu aurais la même flèche mais pas les mêmes maxi, toujours pour les mêmes raisons...
- pour avoir les vrais maxi c'est mieux et plus sûr d'utiliser le format tableau (format maple) et là tu peux demander le maxi, mini, moyenne, etc pour une référence (prendre ici la ref sur l'ensemble des éléments).
Mis à jour par Christian GOUALOU il y a environ 4 ans
- Fichier chapitre 38.29.png chapitre 38.29.png ajouté
Bonjour Gérard,
1) Du coup, pour les tétraèdres quadra, on a bien 4 pti par défaut (d'après le chapitre 38.29) ?
C'est bien le nbi du calcul de mécanique, celui qui est modulable par l'utilisateur ?
Il correspond au calcul de la matrice de raideur (je ne sais plus) ?
2) OK.
3) Je suis quand-même surpris par la différence entre les résultats (2300 vs 3000 MPa).
Les 2 pti (cas avec 27 points vs cas avec 64 points) devraient être assez proches l'un de l'autre,
donc l'écart devrait être modeste (distribution linéaire en effet dans l'épaisseur) ?
Gmsh ne fait pas d'interpolation pour sortir la contrainte en peau (surface) ?
Dans ce cas, on devrait encore moins dépendre du nombre de pti.
3bis) OK je vais générer un fichier ascii, c'est préférable en effet.
Je pensais que Gmsh aurait pu me donner l'info.
Bon après-midi !
Christian