Anomalie #170
Maxwell non linéaire : fonction de déf et vitesse pour E et mu
Ajouté par Julien Troufflard il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.
Description
Gérard,
actuellement dans MAXWELL3D, on peut faire varier la raideur E et la viscosité mu en fonction de D et/ou de Mises. Mais de façon séparée. J'aimerais définir une fonction mu = f(Mises, D). Faut-il passer par une fonction nD ? Et si oui, est-ce possible d'avoir un exemple de syntaxe ?
Par extension avec le ticket de Frank sur la déformation équivalente, si on utilise Mises pour faire varier E et mu dans MAXWELL3D, est-ce qu'il s'agit de la déformation de Mises pour la déformation Euler-Almansi ?
J'ai joint un exemple si besoin de tester : traction uniaxiale sur une plaque unitaire en loi 3D contrainte plane. Le déplacement est géré de manière à avoir une vitesse de déformation (logarithmique) constante pendant la phase de charge. Ensuite, cette charge est suivie d'une relaxation (suite_point_info utilisant BLOCAGE_RELATIF_). J'ai mis une loi de MAXWELL3D avec une dépendance à la vitesse de déf sur mu (mais les coefs actuels de la loi d'évolution courbe_mu_vitesse n'ont rien de réfléchi. J'ai mis ça comme ça pour tester).
Autre point : la loi a l'air de mal converger quand mu est grand par rapport à E (pb de matrice tangente en loi contrainte plane ?)
Fichiers
charge_relax_Veps_constante.tar (4,79 ko) charge_relax_Veps_constante.tar | Julien Troufflard, 21/03/2018 21:46 | ||
charge_Veps_constante.tar (5,35 ko) charge_Veps_constante.tar | Julien Troufflard, 01/04/2018 20:53 | ||
charge_relax_Veps_constante.log (198 ko) charge_relax_Veps_constante.log | Gérard Rio, 06/04/2018 11:05 | ||
charge_Veps_constante.tar (5,35 ko) charge_Veps_constante.tar | Julien Troufflard, 10/04/2018 15:01 | ||
fct_DD_seule.log (120 ko) fct_DD_seule.log | Julien Troufflard, 10/04/2018 15:52 | ||
fct_Mises_seule.log (81,5 ko) fct_Mises_seule.log | Julien Troufflard, 10/04/2018 15:52 | ||
fct_Mises_et_DD.log (115 ko) fct_Mises_et_DD.log | Julien Troufflard, 10/04/2018 15:52 | ||
charge_Veps_constante.info (4,02 ko) charge_Veps_constante.info | Gérard Rio, 11/04/2018 11:20 | ||
test_Maxwell_non_lineaire_E_mu.tar (8,54 ko) test_Maxwell_non_lineaire_E_mu.tar | Julien Troufflard, 12/06/2018 14:31 | ||
pb_loi_HH_3D_CP.tar (31,7 ko) pb_loi_HH_3D_CP.tar | Julien Troufflard, 25/06/2018 09:55 |
Mis à jour par Gérard Rio il y a plus de 6 ans
- Statut changé de Nouveau à En cours
- % réalisé changé de 0 à 10
Pour l'instant les fonctions nD ne sont pas utilisées pour piloter les paramètres matériaux, mais c'est évidemment possible. Par contre il faut noter (toujours dans l'état actuel) que l'utilisation des fonctions nD est réalisée sans les dérivées. Du coup on n'aura pas la variation de la loi par rapport aux ddl, ceci concernant la partie fonction nD. Mais ce n'est peut-être pas un pb.
Concernant la dépendance à Mises, dans la doc en ligne c'est indiqué: sqrt(D_barre:D_barre) et sqrt(2/3*Eps_barre:Eps_barre)
Pour D c'est indépendant du type de mesure et pour eps il s'agit de la mesure d'Almansi
Concernant la convergence, je ne sais pas a priori, il faut que je regarde. Dans de précédents tickets (je ne me rappelle plus lesquels) on avait déjà évoqué ce pb, et en particulier j'avais corrigé un bug, il faut donc s'assurer d'utiliser la dernière version. Mais sinon, pour l'instant je n'ai pas d'idée particulière.
Je regarderai dès que j'aurai un moment.
Mis à jour par Julien Troufflard il y a plus de 6 ans
(pour mémoire suite à notre conversation)
En attendant les fonctions nD pour Maxwell, il y a une modif à faire pour avoir une viscosité mu dépendante à la fois de D et de Mises tel que : mu*f(D)*f(Mises)
Mis à jour par Gérard Rio il y a plus de 6 ans
- % réalisé changé de 10 à 90
Bonjour,
j'ai mis en place la possibilité d'utiliser les deux fonctions 1D conjointement, c-a-d dépendantes de D et epsilon sur la viscosité et sur E, pour les lois 3D, 2D contraintes planes et déformations planes.
Les dérivées sont également couplées.
Au niveau de la mise en données, bien noter qu'il faut changer de ligne à chaque définition de fonction (comme pour toutes les lois).
Donc pour le test, dans mon cas j'ai utilisé la mise en données suivante:
MAXWELL3D
E= 100. nu= 0.45 mu= 100 fac_mu_cissionD= courbe_mu_vitesse
fac_mu_Mises_Eps= courbe_mu_Eps
seule_deviatorique
fin_coeff_MAXWELL3D
Disponible à partir de la version 6.832
Mis à jour par Julien Troufflard il y a plus de 6 ans
une petite confirmation sur la grandeur taux de cission.
Dans la doc Herezh, il est indiqué que le paramètre de viscosité peut dépendre du 2eme invariant de D barre (partie déviatorique de D).
Mais ensuite, la formule 70 (doc version du 10 novembre 2017) indique : II = D:D. Il s'agit plutot de : II = D barre : D barre, n'est-ce pas ?
Mis à jour par Julien Troufflard il y a plus de 6 ans
la question précédente tient toujours. Et par extension, j'ai une question sur la correspondance entre (D barre:D barre) et une vision 1D de la vitesse de déformation.
dans le cas de la déformation, on dit que (def mise) = sqrt(2/3 e:e) est égale à la déformation totale 1D en traction uniaxiale. Ce qui est vrai dans le cas incompressible, mais discutable si NU s'écarte de 0.5
Déjà que ce n'est pas tout le temps vrai pour la déformation, est-ce qu'il faut quand même faire de même avec la vitesse :
vitesse de déf totale en traction = sqrt(2/3 D barre : D barre) ???
Mis à jour par Julien Troufflard il y a plus de 6 ans
- Fichier charge_Veps_constante.tar charge_Veps_constante.tar ajouté
ci-joint un test qui ne converge pas. J'ai d'abord tenté une viscosité avec une fonction Mises et vitesse combinée. Mais comme ça ne convergeait pas, j'ai tenté simplement avec une fonction Mises. Il n'y a pas de convergence également.
Le test est similaire au tout premier message de ce ticket. avec cette fois, juste une charge (pas de relaxation). Les fonctions Mises et D:D sont dans un fichier séparé. Le module de la branche Maxwell ne varie pas. Seul "mu" est modifié par la fonction fct_Mises. Il y a également en commentaire une version avec fct_Mises et fct_DDbarre si besoin.
Mis à jour par Gérard Rio il y a plus de 6 ans
1) concernant:
"une petite confirmation sur la grandeur taux de cission.
Dans la doc Herezh, il est indiqué que le paramètre de viscosité peut dépendre du 2eme invariant de D barre (partie déviatorique de D).
Mais ensuite, la formule 70 (doc version du 10 novembre 2017) indique : II = D:D. Il s'agit plutot de : II = D barre : D barre, n'est-ce pas ?
"
Oui il s'agit d'une coquille, car sur les lignes précédentes, il est bien indiqué qu'il s'agit de D barre. Je corrige.
Dans Herezh c'est bien D barre: D barre qui est utilisée
2) concernant:
"
dans le cas de la déformation, on dit que (def mise) = sqrt(2/3 e:e) est égale à la déformation totale 1D en traction uniaxiale.
"
Je ne sais pas où j'ai écrit cela ?
A priori j'ai mis une définition de la déformation au sens de dual de la contrainte de Mises dans le sens: sigma_mises * def_duale_mises = sigma*def
Ensuite, on en fait ce que l'on veut.
Et effectivement def duale de Mises n'est pas égale à la déformation classique 1D, tout comme la def cummulée n'est pas égale en général à la déformation 1D.
En fait la grosse embrouille c'est que sigma_mises = sigma en 1D. Or bien que numériquement il y a égalité, cela représente deux grandeurs différentes: sigma_mises représente l'intensité de l'effort qui en général tend à changer la forme de l'objet (même en 1D) alors que sigma c'est la contrainte de traction sans plus.
"Ce qui est vrai dans le cas incompressible, mais discutable si NU s'écarte de 0.5"
oui, def duale de Mises n'est égale à la déformation classique que dans le cas incompressible et en 1D.
"
Déjà que ce n'est pas tout le temps vrai pour la déformation, est-ce qu'il faut quand même faire de même avec la vitesse :
vitesse de déf totale en traction = sqrt(2/3 D barre : D barre) ???
"
a- d'un côté on a un tenseur : D barre, de l'autre un scalaire sqrt(2/3 D barre : D barre) donc cela ne peut pas être équivalent.
b- D_barre représente la variation de changement de forme de la pièce et sqrt(2/3 D barre : D barre) représente à un facteur près l'intensité de cette variation de changement de forme. Ensuite, comme pour la contrainte de Mises, l'appareillement entre ce qui se passe en 1D et la variation de forme est à considérer avec pincette, car ça ne représente pas la même chose, et d'où l'influence de nu si l'on veut essayer de relier les deux ...
D'où en résumé, le 1D et le 3D c'est différent (idem 2D 3D). Si on veut faire des pontages, en général cela se fait via des choix : ex isovolume, ou encore nu = 0 ... et le pontage n'est valide que dans le contexte de ce choix qu'il faut garder à l'esprit.
3) concernant la non-convergence:
merci pour le test. Je m'en occupe dès que possible. Pour l'instant je suis sur du contact qu'il faut que je finisse pour rendre Herezh operationnel.
Bon... a suivre
Mis à jour par Julien Troufflard il y a plus de 6 ans
ok. Je suis bien d'accord avec tout ce que tu as écrit sur la correspondance 1D 3D.
concernant ta réponse suivante :
"""
"
Julien : dans le cas de la déformation, on dit que (def mise) = sqrt(2/3 e:e) est égale à la déformation totale 1D en traction uniaxiale.
"
Gérard : Je ne sais pas où j'ai écrit cela ?
"""
pas de souci, ce n'est pas écrit dans la doc Herezh. C'est juste que par le calcul, en traction uniaxiale, la contrainte de Mises est exactement égale à la contrainte de traction dans le cas d'un matériau incompressible. Et je me posais la question d'un raisonnement équivalent pour la vitesse. Et a priori oui, c'est la cas (en incompressible). La généralisation du 1D au 3D en passant par ces invariants me parait le plus simple. A noter qu'on a la chance que le PEL soit plutôt incompressible, donc autant se servir de cette hypothèse.
Merci d'avance pour le debuggage de la non-convergence. Je vais tester dès que possible sur un cube 3D. Peut-être que cette non convergence en 3D contrainte plane est révélatrice d'un pb de matrice tangente en (d sigma / d epsilon)
Mis à jour par Gérard Rio il y a plus de 6 ans
- Fichier charge_relax_Veps_constante.log charge_relax_Veps_constante.log ajouté
Julien,
Je viens de faire le calcul et je ne trouve pas de pb de convergence ??
J'ai mis en attaché le fichier log généré. Est-ce que c'est un pb de version ?
Mis à jour par Julien Troufflard il y a plus de 6 ans
effectivement. Dans ton fichier .log, c'est la version 6.833. Mais sur le site d'Herezh, la dernière version de test est la 6.832 avec la mention suivante :
V 6.832 : modification de la loi Maxwell, première mise en place du contact collant complet ou glissant
Mis à jour par Gérard Rio il y a plus de 6 ans
je vais mettre prochainement la nouvelle version sur le site, mais j'ai fait beaucoup de modifications et il me faut un minimum de validation avant cela. Mais cela ne devrait pas tarder...
Mis à jour par Julien Troufflard il y a plus de 6 ans
- Fichier charge_Veps_constante.tar charge_Veps_constante.tar ajouté
Je viens de m'apercevoir que tu as testé le calcul "charge_relax_Veps_constante.info". Ce test-là fonctionne très bien. Le test qui ne tourne pas est celui appelé "charge_Veps_constante.info" (remis en pièce dans ce message).
Ce test ne fonctionne toujours pas avec la version 6.833.
Mis à jour par Julien Troufflard il y a plus de 6 ans
- Fichier fct_DD_seule.log fct_DD_seule.log ajouté
- Fichier fct_Mises_et_DD.log fct_Mises_et_DD.log ajouté
- Fichier fct_Mises_seule.log fct_Mises_seule.log ajouté
ATTENTION :
je viens de trouver l'erreur qui posait problème. Rien à voir avec la loi de comportement. C'était une erreur silencieuse dans la fonction qui gère le déplacement imposé (evol_dpi_Veps_cte COURBE_RELAX_EXPO). Le paramètre xc avait la valeur 3.9.e-4 (le 2eme "." !!!!).
Une fois cette boulette réparée, j'obtiens une convergence très rapide dans le cas d'une fonction de Mises (cf fichier fct_Mises_seule.log => temps CPU : 1.274s). Par contre, il semble pédaler très fortement pour une fonction D:D. Même constat que ce soit pour une fonction D:D seule (cf fct_DD_seule.log => temps CPU : 82.15s) et que pour une combinaison Mises + D:D (cf fct_Mises_et_DD.log => temps CPU : 94.902s).
Quand une fonction D:D est présente, il y a les messages suivants :
- sur les tous premiers incréments :
" erreur de loi de comportement element= 1 point d'integration= 1 "
- au-delà de l'incrément 130, on commence à voir apparaitre des messages :
" erreur non identifiee sur l'algo de la resolution de sig33(hsurh0)=0 "
" LoiContraintesPlanes::Calcul_DsigmaHH_tdt (... "
et à noter qu'au départ (INCREMENT 1), après avoir passé les 4 premières NON CONVERGENCE, il y a de nombreuses itérations pour commencer à orienter le vecteur solution, chose qu'on ne voit pas avec seulement une fonction de Mises. Donc, a priori, c'est un pb de comportement tangent sur la fonction D:D ou bien un problème sur la valeur de D (initialisation au début de l'incrément ? valeur qui évolue très fortement au cours de l'incrément ?)
Mis à jour par Gérard Rio il y a plus de 6 ans
- Fichier charge_Veps_constante.info charge_Veps_constante.info ajouté
Effectivement, dans le cas du maxwell 3D en contraintes planes et avec l'utilisation des invariants via des fonctions d'évolutions, il manquant pour l'opérateur tangent dsigma/deps, le cas en repère curviligne. Seul était actuellement pris en compte le cas d'un repère orthonormé.
Par contre c'était ok pour l'opérateur tangent dsigma/ d_ddl, mais celui-ci n'est utilisé que pour l'utilisation directe de la loi, pas les utilisations via les composition de lois, qui reposent sur dsigma/deps ...
Donc j'ai rajouté la partie manquante... qui n'est pas vraiment simple en curviligne !
Là j'ai l'impression qu'il n'y a plus de pb, mais néanmoins, dans le test j'ai limité le nombre de cycles pour les CP à 10 au lieu de 30, sinon le démarrage est assez lent.
Je joins mon fichier de mise en données pour une comparaison éventuelle.
Je mets la nouvelle version 6.834 sur le site.
Mis à jour par Julien Troufflard il y a plus de 6 ans
Gérard,
ci-joint un test avec loi Maxwell dont le paramètre E dépend de Mises et le paramètre mu dépend de Mises et D:D. La convergence est très mauvaise bien que le calcul réussit à aller au bout.
C'est une simulation d'un cube 1x1x1 en fluage-recouvrance piloté en pression (merci Frank!) sur une face dans la direction X. Dans le fichier loi de comportement, il y a la loi avec maxwell non linéaire sur E et mu et j'ai rajouté une seconde loi avec coefficients constants en cas de besoin pour tes tests.
Il y a également le fichier gnu pour tracer : "def log-SIG11", "temps-def log" et "temps-SIG11".
merci
Mis à jour par Gérard Rio il y a plus de 6 ans
J'ai fait une nouvelle passe de plusieurs améliorations. Dans tous les cas, la convergence avec un mixte de dépendance à la vitesse et à la déformation, est moins rapide que dans les cas unitaires: en gros un facteur 2.5 sur mes tests.
A priori la version actuelle est plus rapide qu'avec les précédentes versions:
avec la version 8.843 j'ai 9629 incréments là où j'ai maintenant 1234 incréments (avec une dépendance mixte )
si j'utilise une dépendance uniquement à D -> 505 incréments
si j'utilise une dépendance uniquement à eps -> 487 incréments
Il s'agit du test simplifié, sans hystérésis et avec une précision de 5e-3
Avec la loi complète, une précision de 1.e-3 et tous les paramètres de contrôles tels que présents dans le test initial -> 1117 incréments
Ce sera disponible dans la version 6.847
Mis à jour par Julien Troufflard il y a plus de 6 ans
merci, c'est radical. Sur une simulation de traction plane avec maillage 300 éléments hexa lineaire et loi HVH complète, le temps CPU est passé de 3h20min à 9min (avec le même résultat final). Et les précisions d'équilibre sont nettement meilleures à chaque incrément (d'au moins un facteur 10).
je vais tester le même calcul en 3D contraintes planes. Je te tiens au courant.
Mis à jour par Julien Troufflard il y a plus de 6 ans
- Fichier pb_loi_HH_3D_CP.tar pb_loi_HH_3D_CP.tar ajouté
J'ai testé Maxwell en 3D CP et ça ne tourne pas. Mais avant de passer au cas Maxwell 3D contraintes planes, j'ai un premier bug sur la loi HH en 3D CP. ci-joint un test qui est le même cas de fluage vu précédemment en 3D sur cube, mais cette fois sur une plaque en 3D CP. Le calcul diverge en utilisant la loi HH.
Dans l'exemple joint, il y a le fichier gnu_3D_CP qui permet de tracer avec gnuplot la courbe contrainte-def avec une visu de la loi HH theorique, de la loi HH en traction monotone (simulation herezh++) et de la loi HH sur le test de fluage. Il y a également un affichage de l'épaisseur de la plaque. On voit un pb apparaitre avec une évolution de contrainte et d'épaisseur nulle au dernier incrément convergé.
NB : la loi HVH complète est dispo. Il suffit d'utiliser la loi de nom HVH. Donc, si le pb avec loi HH est résolu, tu peux dans la foulée faire un petit test de fonctionnement de la loi HVH complète