Anomalie #214
Favier+dépendance à la phase : non convergence en 3D CP
Description
Gérard,
j'ai un cas de coussin carré sous pression en relaxation dynamique. La loi de comportement est de type Favier avec une dépendance à la phase Qor et mu_inf. Après à peine 2 ou 3 itérations, la norme de convergence prend des valeurs aléatoires.
Si j'enlève la dépendance à la phase, tout a l'air de bien tourner. Il y a donc un problème avec la phase.
J'ai tenté de modifier avec_regularisation_ mais c'est encore pire.
ci-joint le calcul prêt à tourner (pas long : maillage grossier 10x10 éléments)
Fichiers
Mis à jour par Julien Troufflard il y a environ 5 ans
bon a priori il y a un bug soit purement informatique, soit dans le comportement tangent en présence du paramètre "avec_phase_".
Pour le voir, j'ai fait tourner le calcul en laissant actif les paramètres "avec_phase_" mais en mettant des paramètres n et gamma qui ne modifient pas Qor et mu_inf (n_Q=n_mu=1 et gamma_Q=gamma_mu=0). La norme de convergence est moins chaotique qu'avant mais ne converge pas aussi nettement que sans phase. Je ne suis même pas sûr que ça converge, je n'ai pas attendu. Tout ce que je constate, c'est que sans phase, la norme converge très nettement et de manière monotone. Jamais dans le cas avec phase.
-------
NB : Je pense que ce test élimine tout problème de non convexité du potentiel (j'ai vérifié graphiquement Qor(phi) et mu_inf(phi), je ne vois rien d'anormal, la fonction en "parametre/(1-gamma.cos(3phi))^n" est une peu plate au niveau de la compression (phi=60) mais il n'y a pas de "lobe" par exemple.
-------
J'ai également constaté que sur maillage très grossier (grille 2x2 ou 3x3), le calcul finit par converger après une phase chaotique. Je me demande donc s'il n'y aurait pas un problème au début (déformation proche de 0). Par défaut, la régularisation est à 1e-12. On peut la modifier avec "avec_regularisation_". Mais quoique je mette entre 1e-12 et 1e-3, j'obtiens toujours le message suivant :
---------
*** pb dans le calcul de la nouvelle epaisseur: coef de compressibilite moyen = 14165.1 est inferieur a delta la trace de sigma = 458752 ce qui va donner une epaisseur finale negative !! on continue sans changer l'epaisseur ...
QuadraMemb::CalEpaisseurMoyenne_et_vol_pti(...)
---------
J'ai également essayé un paramètre négatif. J'ai même essayé 1e-30 et 10. toujours le même message. Et ce message apparait quelque soit les paramètres n et gamma pour la phase de Qor et mu_inf.
Je me demande si le paramètre de régularisation est bien pris en compte (je le mets à le suite des valeurs de n et gamma dans la mise en données)
Voilà j'ai à peu près fait le tour.
Mis à jour par Julien Troufflard il y a environ 5 ans
ci-joint un test en traction sur un seul élément qui ne fonctionne pas. Peut-être plus facile à débugger sur ce cas minimaliste.
ps : en espérant que tu puisses résoudre ce pb. Si oui, la loi d'Orgéas est également concernée.
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier pb_traction_1element.tar pb_traction_1element.tar ajouté
désolé. oubli pièce jointe
Mis à jour par Gérard Rio il y a environ 5 ans
- Fichier traction.info traction.info ajouté
- Fichier HE_Favier_3DCP.hz_loi HE_Favier_3DCP.hz_loi ajouté
- Fichier traction.log traction.log ajouté
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Bonjour, Julien,
les lois de Favier et Orgéas ont un potentiel qui entraîne une indétermination à l'origine dans le cas de l'utilisation de la phase (c-a-d l'angle de Lode du tenseur de déformation).
En effet, pour des déformations très petites, le calcul de l'angle conduit à une expression du type 0/0 donc pas vraiment exploitable. Du coup la solution que j'adopte est la suivante:
- j'utilise une loi des mélanges pilotée par l'intensité du déviateur de déformation
- en dessous d'une valeur seuil, je considère que la loi ne dépend pas de la phase
- au-dessus du seuil, j'introduis la phase.
Je te joins une mise en donnée qui utilise ce principe, avec les paramètres de ta loi, et qui fonctionne. Dans cet exemple, j'utilise un seuil de 1%. À voir si cela te convient.
NB:on peut également utiliser en plus, le paramètre de pilotage de la loi de mélange, qui permet d'utiliser que la seconde loi (sans la première) dès que l'intensité du déviateur est suffisante pour un calcul correct de l'angle de Lode (en fait le cos(3. phi), cf. doc théorique). Cela permet de se débarrasser de la première loi dès que possible.
Mis à jour par Julien Troufflard il y a environ 5 ans
merci Gérard. Cela fonctionne et ces proportions de mélange me paraissent bonnes. Je les ai gardées en l'état.
Mis à jour par Julien Troufflard il y a environ 5 ans
finalement, cela ne marchait pas toujours avec les proportions :
loi 1 pour EpsMises [0:0.001]
loi 2 pour EpsMises [0.01:....]
J'ai modifié en :
loi 1 pour EpsMises [0:0.005]
loi 2 pour EpsMises [0.02:....]
Je ne sais pas comment comprendre et déterminer le bon seuil, malgré ma connaissance de la formule pour l'angle de Lode. En espérant que cette loi fonctionnera dans les cas les pires (loi pli par exemple)
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier pb_traction_epaisseur.tar pb_traction_epaisseur.tar ajouté
J'ai encore eu un problème de convergence.
J'ai modifié le mélange en :
loi 1 pour EpsMises [0:0.01]
loi 2 pour EpsMises [0.02:....]
ça converge mais cette fois j'ai une brisure étrange sur la courbe de l'épaisseur de la membrane en traction uniaxiale.
Le calcul ci-joint est un élément quadrangle en traction uniaxiale selon X. L'épaisseur est en colonne 20. La brisure intervient vers un temps de 0.43. L'épaisseur augmente un peu puis recommence à diminuer.
Mis à jour par Julien Troufflard il y a environ 5 ans
je soupçonne un problème dans le calcul de cos(3phi) pour le tenseur de déformation mais je n'arrive pas à comprendre quoi. Problème qui conduit à des valeurs erronées de paramètres Q et/ou mu.
On est dans le cas 2D mais en 3D contraintes planes. Je sais que dans le cas 2D, le cos(3phi) serait erroné car il ne tient pas compte de la déformation dans l'épaisseur. Mais là, on est dans le cas 3D contrainte plane. Donc a priori, le cos(3phi) devrait être bon. Mais en faisant une légère variation des coefs, on peut soit avoir le bon comportement dans l'épaisseur (quasi incompressible => coef poisson proche de 0.5), soit une surestimation de l'épaisseur (i.e un coefficient de Poisson inférieur à 0.5), ou bien une sous-estimation de l'épaisseur (avec un coefficient de poisson supérieur à 0.5).
On retrouve ce problème dans la déformation transverse. C'est-à-dire EPS22. La déformation EPS22 correspond à la déformation dans l'épaisseur en traction uniaxiale. Donc le problème de brisure est là aussi pour EPS22.
dans ma loi de phase sur mu infini, j'ai un gamma_mu négatif. Ce terme peut conduire à un mu négatif s'il y a une erreur sur cos(3phi). Je me suis assuré que non en mettant un gamma_mu dont la valeur absolue est inférieure à 1 (on est sensé avoir cos(3phi)=1 grand maximum, donc 1 + gamma_mu*cos(3phi) > 0 quoiqu'il arrive). Y a-t-il un moyen de vérifier si cos(3phi) dépasse les bornes [-1:1] pour quelque raison que ce soit ?
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier cos3phi.pdf cos3phi.pdf ajouté
voilà une illustration du problème cos3phi.
sur le graphe pièce jointe, j'ai mis le cos3phi de la déformation donné dans le .maple Herezh (en rouge). Cette donnée est erronée car ne tient pas compte de la déformation dans l'épaisseur.
J'ai superposé en vert le cos3phi calculé "à la main" en tenant compte de la variation d'épaisseur. On voit bien qu'au début on est en traction uniaxiale, puis au temps 0.43, il se passe quelque chose. Ce n'est plus de la traction uniaxiale.
Explication possible : pour une raison liée à la loi de comportement ou la procédure contrainte plane, je pense qu'il doit y avoir une contrainte SIG33 non nulle
Mis à jour par Gérard Rio il y a environ 5 ans
- Fichier def_3D_vs_2DCP.pdf def_3D_vs_2DCP.pdf ajouté
- Fichier reaction_3D_vs_2DCP.pdf reaction_3D_vs_2DCP.pdf ajouté
- Fichier sig11_3D_vs_2DCP.pdf sig11_3D_vs_2DCP.pdf ajouté
- Fichier cos3phieps_3D_vs_2DCP.pdf cos3phieps_3D_vs_2DCP.pdf ajouté
Avant de regarder plus en détail les coefficients de la loi, je les ai un peu modifiés pour éviter des non-convexités éventuelles. Donc j'ai mis :
#n_Q gamma_Q n_mu gamma_mu
2. 0.01 1. 0.1 sortie_post_ 1
Ensuite j'ai fait un calcul 3D puis un calcul en contraintes planes et j'ai sortie les déformations transversales en fonction de la def longitudinale (eps11). Les courbes se superposent cf. figure jointe.
Ensuite j'ai regardé la réaction de traction (car on pilote en déplacement donc on pourrait avoir une erreur en effort, qui est la grandeur calculée via la loi de comp). J'obtiens deux courbes de réaction identiques. cf. la figure jointe. On y voit que la réaction passe par un maxi pour 5% de def et ensuite elle décroit. Du coup je regarde la contrainte sig11 cf. figure jointe. Là on voit que la contrainte augmente régulièrement. Donc la décroissance en effort est dû à la variation de section.
Donc en fonction de ces résultats, on peut raisonnablement penser que pour les paramètres de la loi en question, le comportement global de la loi en cp et en 3D est cohérent, ce qui veut dire que les def qui sont transmises à la loi 3D, dans la loi 2D CP, sont correctes.
Maintenant je regarde l'évolution en post-traitement, de cos3phi : cf figure jointe:
là j'obtiens des résultats complètements différents entre 3D et 2DCP ...
bon... on dirait qu'il s'agit d'un pb de sortie mais je ne comprends pas bien compte tenu que c'est la loi 3D qui fournit le cos3phieps ...
à suivre !
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier def_duale_mises.png def_duale_mises.png ajouté
Si tu changes les coefficients, c'est normal de trouver une cohérence entre 3D et 3D CP. En fait, une petite variation des coefficients peut impliquer la réussite ou non du calcul.
SAUF QUE : en 3D, il n'y a jamais de problème. Je t'ai joint le meme cas que précédemment mais sur un cube 3D. Pas de rupture de pente dans la courbe EPS11-EPS22 (pour ce calcul 3D, les déformations EPS11 22 et 33 sont en colonnes 11 12 et 13).
J'ai besoin de mettre ces coefficients pour la phase. En particulier, il me faut un gamma_mu négatif sinon ça ne marchera pas. Ce que je cherche à savoir, c'est pourquoi tout va bien en 3D et pourquoi en 3D CP ça semble dérailler.
pour ce qui est de la différence sur cos3phi en 3D et 2D, c'est "normal". Tous les invariants sur EPS sont erronés dans le cas 2D car la déformation dans l'épaisseur n'est pas prise en compte. La déformation de Mises par exemple est dans ce cas. cf courbe jointe => jusqu'au temps 0.43, la déformation mises du calcul 3D est cohérente avec le calcul "manuel" via EPS11, EPS22 et épaisseur. Ensuite, étant donné le bug dans le cas 3D CP, le calcul 3D CP est différent du calcul 3D et les courbes verte et bleu se séparent. Quant à la courbe rouge (3D CP sortie Herezh), elle est différente car ne tient pas compte de la déformation dans l'épaisseur.
Sur ce test, par comparaison entre cas 3D qui marche et cas 3D CP qui déraille, l'enjeu est de comprendre et corriger le problème qui intervient au temps 0.43. Ce cas 3D CP qui déraille, je l'obtiens pour différents jeux de coefs. C'est aléatoire. Tantôt la rupture a lieu en brisant la courbe EPS11-EPS22 "vers le haut", tantôt la brisure a lieu vers le bas, et parfois tout se passe bien i.e pas de brisure (comportement quasi-incompressible).
Je pense qu'indirectement, il faut mettre au clair le cas des invariants de EPS dans le cas 2D : la trace, le cos3phi, la def duale mises. Surtout si ces grandeurs sont utilisées dans les lois de comportement.
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier pb_traction_epaisseur_3D.tar pb_traction_epaisseur_3D.tar ajouté
oups : oubli de joindre le cas calcul sur cube 3D
Mis à jour par Gérard Rio il y a environ 5 ans
- Fichier evol_phase.pdf evol_phase.pdf ajouté
1) "Si tu changes les coefficients, c'est normal de trouver une cohérence entre 3D et 3D CP. En fait, une petite variation des coefficients peut impliquer la réussite ou non du calcul.
"
J'ai changé les coefficients pour rester dans un domaine que je pense a priori convexe, et je voulais vérifier qu'effectivement le 3D et le 2D CP donnait dans un cas convexe, les mêmes résultats.
2) "SAUF QUE : en 3D, il n'y a jamais de problème. Je t'ai joint le meme cas que précédemment mais sur un cube 3D. Pas de rupture de pente dans la courbe EPS11-EPS22 (pour ce calcul 3D, les déformations EPS11 22 et 33 sont en colonnes 11 12 et 13)."
Si, on peut avoir des pb dans un cas non convexe et pour des déformations importantes. En générale à partir de 10% de déformation, il n'y a plus unicité de la solution du coup on a des déformations pour des structures complexes. Le cas d'un seul élément en traction simple, est très simplifié et ne met pas en évidence tous les pb. Le pb de non unicité a été mis en évidence dès 1988 dans la thèse de Denis Favier.
3) "J'ai besoin de mettre ces coefficients pour la phase. En particulier, il me faut un gamma_mu négatif sinon ça ne marchera pas. Ce que je cherche à savoir, c'est pourquoi tout va bien en 3D et pourquoi en 3D CP ça semble dérailler."
Il n'est pas possible de mettre n'importe quel coefficient sur la phase. En général il faut vérifier que la courbe définit par la fonction 1./(1.+gamma*cos(3*theta))**n est convexe. Lorsque cette courbe n'est pas convexe on peut avoir des pb.
4) "pour ce qui est de la différence sur cos3phi en 3D et 2D, c'est "normal". Tous les invariants sur EPS sont erronés dans le cas 2D car la déformation dans l'épaisseur n'est pas prise en compte. La déformation de Mises par exemple est dans ce cas. cf courbe jointe => jusqu'au temps 0.43, la déformation mises du calcul 3D est cohérente avec le calcul "manuel" via EPS11, EPS22 et épaisseur. Ensuite, étant donné le bug dans le cas 3D CP, le calcul 3D CP est différent du calcul 3D et les courbes verte et bleu se séparent. Quant à la courbe rouge (3D CP sortie Herezh), elle est différente car ne tient pas compte de la déformation dans l'épaisseur."
oui, c'est également marqué dans la doc. Mais il faut quand vérifier que le cos3phi qui est utilisé dans la loi 3D, est le même en 2DCP et 3D. Ce que j'ai ensuite fait, et c'est ok. Donc cela me rassure sur la cohérence 2DCP 3D
5) "Sur ce test, par comparaison entre cas 3D qui marche et cas 3D CP qui déraille, l'enjeu est de comprendre et corriger le problème qui intervient au temps 0.43. Ce cas 3D CP qui déraille, je l'obtiens pour différents jeux de coefs. C'est aléatoire. Tantôt la rupture a lieu en brisant la courbe EPS11-EPS22 "vers le haut", tantôt la brisure a lieu vers le bas, et parfois tout se passe bien i.e pas de brisure (comportement quasi-incompressible)."
cf. la figure jointe, on voit que la courbe correspondante à 1./(1.-0.5*cos(3.*t))**2 est tout sauf convexe. Donc je pense que c'est l'origine de tes pb.
6) "Je pense qu'indirectement, il faut mettre au clair le cas des invariants de EPS dans le cas 2D : la trace, le cos3phi, la def duale mises. Surtout si ces grandeurs sont utilisées dans les lois de comportement.
#10"
Actuellement c'est simple: dans le cas 2DCP, ce sont les invariants de la cinématique 2D, et 1D si on est en 1D, ceci en utilisant les formules 3D.