Anomalie #209
problème loi pli et loi POLY_HYPER3D
Description
Gérard,
je ne parviens pas à faire converger un calcul avec loi pli et loi polynomiale. La loi a l'air de fonctionner en 3D contrainte plane sans pli. C'est bien la loi pli qui est en cause.
Je t'ai joint un répertoire avec :
- exemple_bulge_test_NON_DYNAMIQUE/ et exemple_bulge_test_RELAXATION_DYNAMIQUE/
=> ça se sont des répertoires qui permettent de faire un calcul en bulge test (donc sans pli). Ces calculs convergent facilement que ce soit en implicite (NON_DYNAMIQUE) ou relaxation dynamique. Ces deux calculs produisent le même résultat final. C'était juste pour montrer que la loi 3D contrainte plane fonctionne. Normalement, tu n'as pas à aller voir ces répertoires.
- exemple_coussin_carre/ :
=> c'est le cas qui m'intéresse et qui ne converge pas. C'est un coussin carré sous pression. Au bout d'environ 400 itérations, ça commence à flancher. Mais ça ne plante pas. Il y a des amortissements intempestifs. Globalement le critère d'arrêt est instable.
J'ai tenté les choses suivantes sans succès :
- gestion de masses nulles (choix_mini_masse_nul= 1)
- pilotageAutolambda_
le pilotage de lambda s'enclenche mais ne calme jamais les amortissements cinétiques. J'ai pourtant autorisé de très gros lambda.
Pour ce qui est de la loi pli, j'utilise une fonction autorisant une petite compression de 1.e-5 MPa (fonction f_critere2 qui est juste une constante). J'ai testé d'autres solutions mais c'est celle qui marchait le mieux en élasticité. C'est celle qui marchait tout court en fait... Par exemple, mes tentatives ne fonctionnaient pas avec une loi de mélange avec une fonction qui permet de démarrer en élasticité classique en dessous d'une certaine norme de convergence, puis s'enclenche tout en gardant une petite élasticité classique de pénalisation. J'ai trouvé qu'il valait mieux permettre la loi pli dès le début plutôt que de permettre au coussin d'épouser une certaine forme en élasticité classique, puis enclencher la loi pli qui finalement conduit à aller chercher une autre forme assez éloignée (pour au final bugger sans y parvenir).
Si tu as une idée de ce qui pose problème...
Fichiers
Mis à jour par Julien Troufflard il y a environ 5 ans
j'ai fait un test avec une loi Favier (c'était pour voir si le type de déformation de la loi avait une influence). ça ne marchait pas mieux.
J'ai ensuite testé le type 2 pour le calcul de la loi pli (choix_methode_cal_plis_memb_ 2). Et là ça marche très bien sur mon cas Favier. Je n'y croyais pas car la doc indique que ce type 2 est mieux pour les lois anisotrope et incrémentale. Mais au final, pour de l'hyperélastique, ça favorise la convergence. La doc est un peu compliqué pour comprendre la différence entre le type 1 et 2. Néanmoins, je me demande s'il ne faudrait pas mettre le type 2 par défaut.
Je te tiens au courant pour le cas d'une loi polynomiale.
Mis à jour par Julien Troufflard il y a environ 5 ans
avec une loi polynomiale, je tombe sur un pb que je n'ai pas avec Favier. Dans le calcul ci-joint (toujours un coussin carré sous pression), je commence par un premier incrément en élasticité linéaire + loi pli. Ensuite, au second incrément, la loi passe en POLY_HYPER3D + loi pli. Au début de cet incrément, j'ai des masses nulles et tout un tas de message d'erreur en lien avec la procédure de contrainte doublement plane.
Je n'ai pas ces problèmes avec Favier. J'ai ce problème avec POLY_HYPER3D et MOONEY_RIVLIN_3D. J'en conclus qu'il y a un souci avec les lois en invariant de B.
Dans le répertoire joint, il y a de quoi tester le calcul (j'ai mis volontairement une précision de 0.1 pour que le premier incrément converge rapidement). J'ai également mis le fichier .log que j'obtiens avec les 3 lois, avec dans le cas MOONEY et POLY :
- par exemple :
*** attention : le noeud 93 a une masse nulle en coordonnee 3
- autre exemple :
LoiContraintesPlanesDouble::Calcul_et_Limitation2_h_b(..
**erreur: la deformation eps'_I 1.18742) est superieur a 0.5, on ne peut pas s'en servir pour mettre a jour la variation de volume
Mis à jour par Gérard Rio il y a environ 5 ans
- % réalisé changé de 0 à 20
Concernant le pb #2 du message i.e. Concernant pb masse nulle loi invariant B
-----------------------------------------
- au niveau des paramètres de convergence de la ralaxation dynamique il ne faut pas mettre :
max_deltaX_pourRelaxDyn_ 0
car dans ce cas on n'aura jamais de convergence (cf. wiki V 6.908)
Par exemple j'ai mis :
max_deltaX_pourRelaxDyn_ 0.001
- au niveau de la vitesse de calcul: l'affichage de tous les itérations prend un temps cpu non négligeable ... Mais par contre en debug c'est effectivement intéressant d'avoir toutes les itérations.
- changement d'une initialisation qui avait pour conséquence de calculer le pas de temps critique, qui en RD ne sert à rien.
- modif bug sur calcul d'un module d'Young équivalent dans le cas d'une loi poly_hyper3D
- amélioration de l'écriture des infos relatives aux lois critère et mélange, dans le . BI
résultats:
- il n'y a plus de masse nulle par contre il n'y a toujours pas de convergence lorsque l'on passe en loi polynomiale
Du coup, j'ai retesté l'opérateur tangent dsig/deps pour Mooney Rivlin: dans le cas d'une traction et d'un cisaillement sur un cube de 3x3x3elements cf. table 171 p. 248 de la doc V 6.908
==> ça marche sans pb, et de plus exactement comme dans le cas de dsig/d_ddl
du coup un pb sur l'opérateur tangent me paraît moins crédible
- j'ai aussi fait varier les paramètres matériaux ... avec Mooney Rivlin... toujours pas de convergence, ou plutôt une divergence systématique, lorsque l'on passe en CP2
En CP c'est ok avec polynomiale et Mooney Rivlin, donc sans plis, mais dès que l'on a un plis --> CP2 et là l'algo ne Newton diverge systématiquement: avec des déformations qui s'amplifient dans la direction de l'épaisseur jusqu'à un message d'erreur car on dépasse les limites imposées. Les différents algos fonctionnent a priori normalement, mais... ça diverge !
Bilan : je n'ai pas vraiment d'explication ni de pistes ...
Mis à jour par Julien Troufflard il y a environ 5 ans
c'est bien embêtant tout ça. Je n'ai pas d'alternative en choix de loi de comportement.
Concernant les coefs matériau de la loi polyhyper, je me suis trompé de coefficients. C'est ceux-là qui m'intéressent :
--------------------
POLY_HYPER3D
degre_maxi= 3 C01= 8.465227594 C10= 0.2011036940 C02= -2.930106303 C11= 2.935470006 C20= -5.093405144 C03= 0.000000000 C12= 0.000000000 C21= 0.000000000 C30= 2.150581267 K= 1000 type_potvol_ 4
-------------------
mais ça ne converge pas mieux avec ces valeurs (que l'on active la loi pli dès le début ou via un mélange). Si ça marche en CP, il ne devrait effectivement pas y avoir de pb dSig/deps. Le cas CP2, je le comprends moins. Je vais avoir du mal à aider pour chercher des pistes.
Que dire :
1) La loi polyhyper fournie est un peu bizarre (il y a des coefs négatifs). Mais le problème ne vient pas de là puisqu'en Mooney-Rivlin il y a le cas également (je suppose que tu as mis des coefs positifs dans tes tests)
2) j'ai testé avec un module de compressibilité 10 fois moins grand. Pas d'amélioration. Je me posais des questions à propos de la quasi-incompressibilité mais c'est pas ça.
3) ça marche en CP. ça marche en CP2 avec loi Favier. Le bug est bien spécifique au cas "CP2 + loi en invariants de B". C'est vraiment là-dessus qu'il faut creuser. Qu'est-ce qui change par rapport au cas CP ? Il y a forcément un truc quelque part. Une hypothèse quelconque basée sur Almansi qui ne marche pas dans le cas B ? Un pb dans une subroutine commune à toutes les lois en invariants de B ?
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier pb_loi_CP.tar pb_loi_CP.tar ajouté
je suis tombé sur un cas où ça diverge en loi CP (pas de pli). ci-joint un cas mooney-rivlin sur un fuseau. Les paramètres de loi conduisent à un module d'Young cohérent avec la loi HH 20°C de notre film préféré. Donc je ne pense pas que les paramètres de la loi sont en cause.
ça veut dire que ce n'est pas forcément la loi pli qui est en cause. ça resserre les pistes vers les lois en invariants de B uniquement. Parfois ça converge, parfois non.
Il faut peut-être regarder les matrices masses. Sur le cas ci-joint, le calcul diverge. Mais pour d'autres coef (loi polyhyper), j'ai vu également des amortissements intempestifs. Et si problème de masse, alors ça veut sans doute dire problème de matrice de raideur, donc de loi de comportement.
Mis à jour par Gérard Rio il y a environ 5 ans
- % réalisé changé de 20 à 30
Concernant le fait qu'une loi cp peut certaine fois diverger: en fait en augmentant le lambda (j'ai mis arbitrairement 5), cela converge bien jusqu'à la précision demandée de 1.e-4, donc je pense que ce n'est pas lié directement aux algos critère et CP2, c'est plutôt à mon sens que la loi entraîne une stabilité moindre d'où un lambda plus grand.
J'ai refait un calcul avec l'hyper-élasticité de Favier et j'ai comparé l'opérateur tangent du Newton local permettant d'imposer CP2 : on a des valeurs du même ordre de grandeur que dans le cas de Mooney Rivlin, avec les mêmes signes ... bref quelque chose de tout à fait cohérent.
J'ai refait un calcul sans loi des mélanges et dès le début avec Mooney Rivlin on a une divergence en CP2 quelque soit le lambda...
bon ... à suivre
Mis à jour par Julien Troufflard il y a environ 5 ans
- % réalisé changé de 30 à 20
oui le lambda peut améliorer le coup parfois. J'ai intégré un pilotage automatique du lambda. ça va plus loin mais pas suffisamment.
Si tu veux dans tes tests, tu peux utiliser cette loi. C'est celle-là qui va m'intéresser finalement :
MOONEY_RIVLIN_3D
C01= 10. C10= 0.1 K= 1000 type_potvol_ 4
j'espère que tu vas trouver le pb. C'est un verrou pour mon étude.
Dans la comparaison Favier/mooney-rivlin, as-tu comparé les masses ? Il y en a peut-être certaines qui deviennent anormalement faible.
Mis à jour par Gérard Rio il y a environ 5 ans
- Fichier calcul.info calcul.info ajouté
- % réalisé changé de 20 à 90
Après pas mal de tests, de modifs ... je suis arrivé à une convergence avec des choix arbitraires. Voici une tentative de résumé:
1) j'ai regardé l'influence du type de potentiel sphérique utilisé dans Mooney-Rivlin (et lois associées). Je me suis aperçu qu'il était possible d'obtenir des épaisseurs négatives ... du coup j'ai mis des garde-fous supplémentaires dans Herezh pour prévenir ces cas particuliers (qui survenaient avec le type 3 de potentiels), ceci pour les membranes et les coques. La doc théorique est également complété pour expliquer la méthodologie (cf. chap. 13.1, limitations numériques).
Bon... ceci étant, cela ne résolvait pas le pb !
2) J'ai essayé d'utiliser le calcul de plis type 1. Là on a plus de variation d'épaisseur incohérente, donc c'est mieux mais ... pas de convergence.
3) j'ai fait des simul en mixte en me disant que la partie visqueuse était plus stable en fin de calcul. Bon... effectivement j'obtiens une forme parfaitement stabilisé mais pas de convergence, et même une divergence à la fin.
En fait, après réflexion, je pense que cela provient du manque de stabilité introduit par la présence de plis. Une manière de palier à ce pb est d'introduire une proportion de loi sans plis.
Avec cette introduction via une loi de mélange avec 5% de sans plis et donc 95 avec plis, là je n'ai plus de divergence ... donc c'est mieux mais .... toujours pas de convergence, on reste stabilisé sur une norme qui oscille entre 0.03 et 0.7
4) J'ai regardé l'évolution de la forme et celle de la direction, et de la présence de plis. On voit qu'une fois que la forme est stabilisé (environ à partir de 700 itérations), la localisation et la direction des plis continue de varier. Du coup, j'ai arbitrairement figé les plis à partir de 1100 itérations, et là ... en visqueux on obtient une convergence monotone jusqu'à une norme < 1.e-3 pour environ 1700 itérations.
Par contre avec la loi plis 2 -> pas de convergence au niveau de la loi plis...
Pourquoi c'est différent de la loi Favier ... ? qui elle fonctionne directement ???
Je joins ma mise en données, testée avec la version 6.912
Mis à jour par Julien Troufflard il y a environ 5 ans
merci Gérard pour ces investigations. En tout cas, c'est intéressant de voir d'autres options (blocage des directions de pli). Je ne connais pas bien toutes les possibilités.
Je te tiens au courant si ça fonctionne de mon côté. Je vais tenter ce que je peux aujourd'hui et mon plan B sera d'utiliser de l'élasto-plasticité (loi d'hystérésis).
Mis à jour par Julien Troufflard il y a environ 5 ans
j'ai eu des messages à propos d'un module de compressibilité négatif. Je me posais juste la question de comment était calculé le module de compressibilité (tangent ?). J'ai toujours en tête de vérifier que ce n'est pas dû à Almansi, mais c'est peut-être encore hors-sujet. Sur un essai de traction, je constate que ma loi de mooney-rivlin donne une trace du tenseur de déformation almansi négative (en déformation log, elle est bien positive => le volume augmente un peu en traction). Attention si la trace du tenseur d'almansi est utilisé quelque part. Par exemple, une formule du genre : K proportionnel à d (Sigma)/d (trace eps almansi) donnera un K négatif.
Mis à jour par Gérard Rio il y a environ 5 ans
- Statut changé de Nouveau à En cours
peux-tu préciser quand tu as le module de compressibilité négatif ? Normalement ce test est effectué avec les contraintes planes, au moment ou on met à jour l'épaisseur...
Pour l'instant, il n'y a pas de différence dans Herezh entre le module tangent et le module sécant, ce qui me pose un problème qu'il faudra que je règle... mais c'est ce qui est implanté ! donc on peut imaginer que cela entraîne des imprécisions (voir des erreurs) dans certains cas
Le module de compressibilité est calculé dans la loi de comportement. Le calcul dépend du type de loi. Dans le cas de Mooney-Rivlin, il faut regardé la documentation théorique sur les loi hyperélastique (hyper-elasticite.pdf) page 61,62, formules 189, 190. On voit qu'il s'agit ici du module sécant.
C'est aussi le cas pour la loi élastique.
C'est aussi le cas pour les lois Favier, Orgéas par exemple (formules 110 page 38)
J'utilise V = vol/vol_0 qui est -> V= jacobien/jacobien_0; Il s'agit ici des jacobien 3D, donc sauf erreur, le résultat est relatif à la métrique et n'est lié à aucune mesure de def
Ceci étant il n'a aucune raison d'être négatif.
Avec la loi critère, on pourrait avoir un module nul dans le cas où tout est détendu...
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier pb_K_negatif.tar pb_K_negatif.tar ajouté
- Assigné à changé de gerard rio à Anonyme
rectificatif (je m'y perds dans mes diverses tentatives)
Un K négatif, ce n'est pas dans le cas de la loi mooney-rivlin. J'ai testé hier une loi additive ISOHYPERBULK3 + hystérésis + hypoélastique (je t'ai joint le calcul : toujours un coussin sous pression avec loi pli). J'obtiens un message de ce genre :
erreur*** on a trouve une compressibilite moyenne negative = -33628.6
QuadraMemb::CalEpaisseurMoyenne_et_transfert_pti(...
*** pb dans le calcul de la nouvelle epaisseur: coef de compressibilite = -33628.6 est inferieur a delta la trace de sigma = 0.0169849 ce qui va donner une epaisseur finale negative !! on continue sans changer l'epaisseur ...
QuadraMemb::CalEpaisseurMoyenne_et_vol_pti(...)
La partie hypo a un module Kc quasi-nul. Mais j'obtiens le message quand même si je transfère la moitié de ISOHYPERBULK3 vers le Kc de la loi hypo.
Mis à jour par Anonyme il y a environ 5 ans
Je me permets d'ajouter quelques choses:
je fais une simulation avec une loi orthotrope (équivalente à une loi isotrope) et j'ai le même message : on a trouve une compressibilite moyenne negative
pas de problème avec une loi élastique isotrope 3D +CP.
J'ai essayé de commencer le calcul avec une loi élastique isotrope 3D + CP (aucun message) et quand je bascule avec la loi orthotrope (équivalente à la loi isotrope) ==> on a trouve une compressibilite moyenne negative .. Dans ce dernier cas, cela n'empêche pas la convergence et les isolateurs de DEF_EPAISSEUR sont les mêmes !
Ces calculs sont réalisés avec la dernière version (6.912)
En revanche quand je passe à la version 6.900 je n'ai plus le message et la convergence reste la même que précédemment.
Mis à jour par Gérard Rio il y a environ 5 ans
- Fichier calcul.info calcul.info ajouté
- Fichier calcul.CVisu calcul.CVisu ajouté
- Assigné à changé de Anonyme à gerard rio
oui, il s'agit des nouveaux garde-fous que j'ai mis dans la version 6.912 et ce n'est pas normal d'avoir des compressibilités négatives !!
Du coup, dans le cas des fichiers de julien, j'ai repéré une erreur au niveau du calcul du module de compressibilité à l'origine. Sans doute que cela ne modifiait pas le calcul après le début du chargement par contre pour des variations de volume quasi-nulles il y avait un pb pour les lois IsoHyperBulk3 et IsoHyperBulk_gene
S'il y a d'autres lois qui posent pb il faudra me le dire. Hugo, dans ton cas il s'agit de quelle lois ?
Je mets à jour la version modifiée
NB: avec le cas test de julien j'ai un pb de non convergence de la loi dans le coin ?? du coup j'ai modifié la mise en données en intégrant ce que j'avais fait sur la précédente étude, mais j'ai toujours une erreur qui fait que le calcul reboucle avec un pas plus petit mais en fin de convergence il y a toujours un pb.
erreur de loi de comportement element= 100 point d'integration= 4
bon... peut-être due à l'hystérésis ??
J'attache mon fichier de mise en données au cas où
Mis à jour par Julien Troufflard il y a environ 5 ans
"il y avait un pb pour les lois IsoHyperBulk3"
=> du coup, il faut peut-être vérifier Favier aussi ?
Mis à jour par Gérard Rio il y a environ 5 ans
j'ai vérifié, pas de pb avec orgeas et favier, ce n'est pas la même méthodologie pour le calcul des valeurs près de 0.
Mis à jour par Julien Troufflard il y a environ 5 ans
- Fichier doc_theorique_compressibilite_constante.jpg doc_theorique_compressibilite_constante.jpg ajouté
- Fichier doc_theorique_compressibilite_non_constante.jpg doc_theorique_compressibilite_non_constante.jpg ajouté
- Fichier pb_K_900_au_lieu_de_300.tar pb_K_900_au_lieu_de_300.tar ajouté
Je reviens cette fois sur le module de compressibilité dans Mooney-Rivlin. cf le calcul pièce jointe. J'ai retenté un calcul de coussin avec un maillage triangle et surtout en appliquant progressivement les choses :
-step 1) d'abord une loi élastique
-step 2) une loi mooney-rivlin avec pli mais pour laquelle j'autorise un avecNiveauSigmaI_mini_pour_plis_ très grand (donc pas de pli)
-step 3) je diminue avecNiveauSigmaI_mini_pour_plis_ progressivement
Le maillage triangle n'arrange rien.
Le pilotage de sigmaI_mini est une piste mais n'arrive pas à dépasser -1.5. Pour un avecNiveauSigmaI_mini_pour_plis_ de -1.5 (temps=2.8), ça ne converge plus et j'ai fini par obtenir un message d'erreur de ce type :
*** pb dans le calcul de la nouvelle epaisseur: le coef de compressibilite = 900 et delta la trace de sigma = 169698 sont d'un ordre de grandeur trop voisin on continue sans changer l'epaisseur ...
TriaMemb::CalEpaisseurMoyenne_et_vol_pti(...)
ce qui m'interpelle dans ce message, c'est que ma loi est annoncée comme ayant un coefficient de compressibilité de 900. Or j'ai mis K=300 dans la loi. Et dans le cas de Mooney-Rivlin, on définit bien K et non 3K comme pour certaines lois (ISOHYPERBULK3, Favier, hypo-élastique).
Si je regarde la doc, c'est bien K et non 3K qui apparait dans les formules de variation d'épaisseur, que ce soit Ks, Kt et que ce soit une compressibilité constante ou non constante. Je t'ai mis en pièce jointe 2 imprim écran de la doc. Est-ce qu'il y aurait pas une erreur à ce niveau ?
Mis à jour par Gérard Rio il y a environ 5 ans
Effectivement le message d'erreur n'est pas bon ! c'est 3K qui est affiché. Désolé, je vais modifier. J'en ai profité pour indiquer qu'il s'agit d'un module de compressibilité "moyen" (calculé sur tous le pti de l'élément).
J'ai introduit un nouveau paramètre dans la méthode de Newton à l'image de ce qui est fait sur l'algo général implicite d'équilibre. Il s'agit de limiter la valeur de ||delta x|| sur une itération.
Le paramètre est adressable selon, ex:
maxi_delta_var_sig_sur_iter_pour_Newton_ 2 # donc 2 MPa a chaque iter
pour les algos utilisés pour la résolution d'une équation constitutive en sigma: c-a-d: les lois d'hystérésis lorsqu'on linéarise l'équation différentielle
et
maxi_delta_var_eps_sur_iter_pour_Newton_ 0.2 # maxi 20% à chaque iter
pour les algos utilisés pour une équation en epsilon: c-a-d les lois contraintes planes et contraintes planes doubles.
Dans le cas de l'hystérésis le paramètre est négatif par défaut, du coup il n'y a pas de limitation sur l'incrément. Pour CP et CP2, par défaut le paramètre vaut 0.1 c-a-d 10%
La doc dans Herezh est à jour.
J'ai remarqué sur qq essais que cela permettait de ne plus avoir d'erreur sur la mise à jour de l'épaisseur (qui était souvent > 0.5 avec plis 2 par ex et Mooney-Rivlin) mais je n'ai fait les tests qu'avec le dernier jeux de données (sans M-R) donc à vérifier avec Mooney-Rivlin.
En espérant que cela puisse améliorer le pilotage des résolutions ...
Bon je mets à jour la version.
Mis à jour par Julien Troufflard il y a environ 5 ans
pas d'amélioration pour la loi mooney-rivlin. Le paramètre de limitation du delta eps entraine notamment une très grande lenteur de convergence. Par contre, c'est vrai qu'on a moins de dépassement de 0.5. Travailler avec une mesure de déf qui sature à 0.5 est a priori un problème dans le processus Newton. Une piste serait peut-être régulariser la projection Newton pour qu'elle sature à 0.5 (via une tangente hyperbolique par exemple).
ça converge tellement mieux avec Favier. Je n'ai pas le temps d'en faire la preuve, mais je suis d'accord avec toi sur le fait qu'il y a très très probablement un problème sur le potentiel de type mooney-r ou polynomial. C'est pas possible autrement. Surtout si tu me dis que les directions de plis oscillent, ça ressemble bien à un flip-flop.
Concernant la possibilité dans polynomiale de ne prendre que les termes en puissance paire (2 par exemple), cela conduit à des comportements trop peu raide. Sur des cas coussins, je n'ai même plus de pli tellement le matériau est mou. Du coup ça converge, c'est sûr que sans pli, la loi pli fonctionne :). Donc pas une bonne piste pour mon étude...
Concernant l'hystérésis, le problème doit être autre. C'est déjà à la base une loi compliquée à faire converger, alors dans le cas pli, je n'ose pas imaginer ce qu'elle subit. Je n'ai pas le temps de creuser et traiter au cas par cas (j'ai plusieurs finesses de maillage, plusieurs problèmes assez différents à faire converger, etc...).
j'essaye donc de finaliser mon pb avec Favier. ça a l'air de tourner pour le coussin. Je viens de réussir un BSO grossier. Verdict final pour un BSO un peu plus fin. Tu transmettras mes amitiés à Favier pour son potentiel :).
Mis à jour par Frank Petitjean il y a environ 5 ans
Je confirme les difficultés relevés par Julien d'associer une loi d’hystérésis avec le critère plis ! Depuis 2 jours j'essaye une loi HH sur un BSO et à part un avec un maillage élémentaire (20x1) et avec un temps de calcul montre, je n'arrive pas à faire converger les calculs...
Moi aussi je vais devoir réviser mes ambitions à la baisse pour le lot3 de l'avenant :-(
Frank
Mis à jour par Gérard Rio il y a environ 5 ans
La loi d'élasto-hytérésis est très sensible à l'amplitude de déformation que l'on impose sur le pas de temps. Du coup, je pense que le recours à une relaxation visqueuse est sans doute nécessaire avec cette loi. Donc l'utilisation d'un amortissement mixte est à mon sens préférable que de l'amortissement cinétique seul, avec une activation de la partie hystérétique uniquement en visqueux après une certaine stabilisation.
De plus, il faut sans doute utiliser des paramètres particuliers dans la loi d'hystérésis. Car par défaut si un seul pti bug, la loi émet un message d'erreur fatale et l'incrément est considéré non convergent. Le pas de temps est diminué et on recommence !! ce qui peut-être abominable si cela arrive après n itérations (n très grand) !!
Il existe un fct particulier, avec le paramètre :
type_de_resolution_ 5
Si pb, il y a un relachement de la précision, jusqu'à qu'une solution est trouvée (qui peut-être mauvaise). En général, ce n'est pas problématique, car c'est a priori un comportement transitoire. Peut-être qu'il faudrait utiliser ce type de résolution (cf. Doc d'utilisateur) ???
Ceci étant, même avec le type 5 on peut peut-être avoir des erreurs fatales ...
Enfin, concernant la direction des plis, comme il n'y a pas d'opérateur tangent concernant cette direction, on peut très bien avoir à un certain moment des directions qui n'arrivent pas à se stabiliser.
Une solution serait peut-être, lorsque par exemple le volume ne bouge plus, de figer la direction des plis. Dans les cas que j'ai testé, cela a beaucoup d'impact sur la convergence. Évidemment c'est arbitraire, mais c'est peut-être cohérent avec l'instabilité locale ??
Si vous avez d'autres idées ne pas hésiter à en parler !! car ce n'est pas évident de trouver une stratégie ad hoc. En regardant le déroulement de calculs, cela peut donner des idées...