===== Commit - LPx - 25 Mai 2018 =====
Materiaux Thixo - Divers
===== Materiaux Thixo =====
* Preparant la nouvelle structure des paramètres matériaux pour les matériaux Thixotropes, je me suis rendu compte que leur implémentation n'était absolument pas threadSafe (même en mécanique).
* Pour limiter le passage de variables d'évolution du matériau à travers les fonctions du matériau, j'avais à l'époque (Sabca) utilisé des variables locales dans les matérialLaws. Méthode, absolument pas ThreadSafe, reprise ici.
* Il est indispensable de supprimer ces variables locales (Fraction Liquide, Fraction Liquide Effective, Lambda, ...) dans les matérialLaws, de faire remonter les valeurs dans le matériau et de les repasser au MaterialLaw. Chose faite ...
* J'en ai profité pour ajouter des gardiens à chaque division par "dt" (car parfois dt == 0), ainsi que des gardiens "dEvpl>0" pour éviter des exposants négatifs de valeurs nulles => plus de FPE dans la batterie Thixo...
* Remplacement de la classe ''ShimaOyaneMaterialIsotropicHardening'' par ''ShimaOyaneMaterialLaw'' : c'est un effet de modification de l'écrouissage isotrope en fonction de l'évolution metallurgique, pas un écrouissage isotrope. Les interfaces ne correspondaient pas ... Vu la manière dont c'est implémenté, ca pourrait à mon avis, directement rentrer dans la ThixoYieldStress. A voir en fonction de la théorie...
* Utilisation des fonctions (computeStress, computePlasticCorrection) de ''ThixoEvpIsoHHypoMaterial'' dans ''ThixoTmEvpIsoHHypoMaterial'' : pour éviter les copier/coller qui dérivent dans le temps!!!
* Ajout du transfert de champ de la FractionLiquide en ALE en MecaniquePure (c'était fait en TM => comme j'ai unifié. Sur le fond, je ne crois pas que cette variable doive être transféré)
* Il faut encore renommer ''ThixoTmEvpIsoHHypoMaterial'' en ''TmThixoEvpIsoHHypoMaterial''
* J'ai aussi ajouté quelques TSC dans les tests pour être mieux à même de les débugger !!!
ATTENTION : il est fondamental si quelqu'un veut réutiliser ces matériaux de faire au préalable une VRAIE batterie de tests DISCRIMINANTS sur TOUTES les lois matérielles et dans TOUTES les configurations (meca, TM, ALE, ...). Il est aussi fondamental de faire des MESURES qui ont du sens dans tous ces tests ...
===== Divers : =====
* correction de la commande diffPart de battery.py. Il est désormais possible de faire un diffPart (en lui passant un module) et de n'afficher dans le fichier "$OS-diffsPart.html" ("Part" ajouté au num de fichier) que les diffs sur la partie de batterie que l'on veut analyser plus en détail (et aussi avec un précieux gain de temps).
* Suppression de la fonction ''IsotropicHardening::getPotential'' qui n'était qu'un appel à la fonction ''IsotropicHardening::computePotential''
* Plastic Criterion : ajouts de gardiens dans la normalisation du tenseur Normal à la surface de plasticité (quand le tenseur est nul!!!)
* ContinuousAnisoDamageEvpIsoHHypoMaterial : suppression de quelques initialisation à 0 faisant double emploi (une SymMatr3 est toujours initialisée à 0, idem pou un FourthOrderTensor3D, ...)
Attention : Il y a des questions de fond à se poser sur le calcul des énergies dissipées dans les cas de matériaux Visco-plastiques :
* en thixo, la yieldStress conservée pour calculer la dissipation est statique (pas d'effets visqueux)
* pour les matériaux "classiques", on se base sur l'état de contrainte (donc avec prise en compte des effets visqueux)
* rien n'est fait sur les Visco-élastiques
* pas de visco prévu dans les matériaux ''EvpIsoHLogarithmicHyperPk2Material''. Pas de potentiel calculables dans les ''YieldStress''
===== Fichiers ajoutés/supprimés : =====
Added : oo_meta\mtThixo\src\ShimaOyaneMaterialLaw.h/cpp
Deleted : oo_meta\mtThixo\src\ShimaOyaneIsotropicHardening.h/cpp
Moved :
===== Tests ajoutés/supprimés =====
Adding:
Deleted :
Moved :
--- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2018/05/22 //