commit:2016:03_23
Table of Contents
Commit 2016-03-23
Gurson version Fabulous + Visco KocksMecking 3
Gurson
- Dans le cadre du projet Fabulous, j'avais implémenté un modèle d'endo de Gurson que je n'avais jamais eut le temps de commiter (petits soucis de convergence quand plus rien ne se passait). En adaptant les paramètres de génération de la raideur matériau (matrice de raideur semi-numérique), tous les tests de base passent dorénavant …
- Le matériau est développé dans le même esprit que les autres matériaux :
- 1 matériau :
EvpGursonDamageHypoMaterial
- un ensemble de matérialLaws associé :
GursonTvergaardVIsoHCriterion
: définition de la surface de plasticité (ici GursonTwergaard)GursonTvergaardDamageEvolution
: une loi d'évolution de l'endommagementViscoKocksMecking2YieldStress
/xxxIsotropicHardening
/xxxYieldStress
: une limite d'élasticité (dynamique) : $\sigma_y(\bar{\epsilon}^{vp}, \dot{\bar{\epsilon}}^{vp})$
- Ajout de la contrainte limite visco-plastiqeu de Kocks Mecking version 3 :
ViscoKocksMecking3YieldStress
- Implémentation des fonction
YieldStress::getviscoM
etYieldStress::getSatViscoM
nécessaire au calculs Gurson (Attention fait uniquement pour les lois “Gurson” (perzina, kocksMecking)). - Avant que je ne puisse faire la doc, je joint le pdf de la présentation du modèle dans le cadre de fabulous : Presentation du modèle de Gurson dans le cadre de Fabulous
- nb : je n'ai pas supprimé l'ancienne version de Gurson implémentée en son temps par Laurent Adam si je ne me trompe …
Divers
- un booleen “verbose” est défini dans “Material” (tous les matériau ont dorénavant une variable verbose). J'ai unifié les verbose implémenté dans 80 % des matériaux… (use getVerbose())
- Le calcul de la perturbation de la matrice de raideur numérique matériau (matériau hypo uniquement) a été modifié de manière à ce que la perturbation soit continue
avant :
double pertu = 1.0e-6; if (defo1.getNorm() > 0.0) pertu *= defo1.getNorm();
après :
double pertu = 1.0e-8; if (defo1.getNorm() > 1.0e-4) pertu = 1.0e-4*defo1.getNorm()
(nb : je viens de me rendre compte que c'est pas fait sur le calcul de la part volumique de la matrice … to be done…)
- Suppression de la fonction
getEvpDerivative
des éléments (plus nécessaires depuis que la vitesse de défo plastique est stocké dans les GPStates). Le loadAdaptationManager lit directement les valeurs dans le GPState. - Suppression définitive de la symMatr3 defo de
CauchyMechanicalGpState
(couche maintenant vide ⇒ à supprimer) - CauchyMechanicalGpkState::getRefDefo() : accès par référence à la matrice de défo
StrainCalcMethodANS1Hexa
: depuis que l'incrément de défo est stoqué dans le GKState, les méthodes ANS ne devaient plus fonctionner (vu qu'elles allaient relire/réécrire les défos dans les GPStates).
Il n'y a manifestement pas de tests ANS dans la batterie vu que ma correction ne change rien. Comment puis-je vérifier que je n'ai pas cassé autre chose !!!
- battery : ajout des répertoires “fabulous/gurson3D”, “fabulous/gursonAxisym”, “fabulous/gursonEpd”, “fabulous/gursonVKM2”, “fabulous/viscoKocksMecking3” dans les tests de batterie
Fichiers ajoutés/supprimés
Adding: oo_meta\mtMaterialLaws\gursonDamage Adding: oo_meta\mtMaterialLaws\gursonDamage\GursonTvergaardDamageEvolution.h/cpp Adding: oo_meta\mtMaterialLaws\gursonDamage\GursonTvergaardIsoHCriterion.h/cpp Adding: oo_meta\mtMaterialLaws\gursonDamage\GursonTvergaardVIsoHCriterion.h/cpp Adding: oo_meta\mtMaterialLaws\yieldstress\ViscoKocksMecking3YieldStress.h/cpp Adding: oo_meta\mtMaterials\volumes\EvpGursonDamageHypoMaterial.h/cpp
Tests ajoutés/supprimés
Added: oo_meta\apps\monosMaterials2\Gurson2DamageLinearIHAdded : oo_nda\fabulous\gurson3D/GursonDamageTracDamConstant.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamConstantEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamConstantEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamGrow.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamGrowEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamGrowEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclFastEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclFastEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclFastGrowEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclFastGrowEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclSlowEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclSlowEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclSlowGrowEp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNuclSlowGrowEvp.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNucleation.py Added : oo_nda\fabulous\gurson3D/GursonDamageTracDamNucleationHigh.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamConstant.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamConstantEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamConstantEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamConstantNum.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamGrow.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamGrowEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamGrowEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclFastEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclFastEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclFastGrowEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclFastGrowEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclSlowEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclSlowEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclSlowGrowEp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNuclSlowGrowEvp.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNucleation.py Added : oo_nda\fabulous\gursonAxisym/GursonDamageTracDamNucleationHigh.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamConstantEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamConstantEvp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamGrow.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamGrowEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamGrowEvp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamGrowKM.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclFastEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclFastEvp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclFastGrowEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclFastGrowEvp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclSlowEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclSlowEvp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclSlowGrowEp.py Added : oo_nda\fabulous\gursonEpd/GursonDamageTracDamNuclSlowGrowEvp.py Added : oo_nda\fabulous\gursonVKM2/KM2TracTempV1.py Added : oo_nda\fabulous\gursonVKM2/KM2TracTempVT0_000001.py Added : oo_nda\fabulous\gursonVKM2/KM2TracTempVT0_001.py Added : oo_nda\fabulous\gursonVKM2/KM2TracTempVT1.py Added : oo_nda\fabulous\gursonVKM2/KM2TracTempVT1000.py Added : oo_nda\fabulous\gursonVKM2/KM2TracVitesseDefo293K.py Added : oo_nda\fabulous\gursonVKM2/KM2TracVitesseDefo350K.py Added : oo_nda\fabulous\gursonVKM2/KM2TracVitesseDefo400K.py Added : oo_nda\fabulous\gursonVKM2/KM2TracVitesseDefo450K.py Added : oo_nda\fabulous\gursonVKM2/KM2TracVitesseDefo500K.py Added : oo_nda\fabulous\tools\GursonDamageTrac.py Added : oo_nda\fabulous\tools\GursonKM2TracTemp.py Added : oo_nda\fabulous\tools\KM2Material.py Added : oo_nda\fabulous\tools\KM3TracEpdTemp.py Added : oo_nda\fabulous\tools\KM3TracVitesseDefo.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracTempV1.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracTempVT0_000001.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracTempVT0_001.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracTempVT1.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracTempVT1000.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracVitesseDefo293K.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracVitesseDefo350K.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracVitesseDefo400K.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracVitesseDefo450K.py Added : oo_nda/fabulous/viscoKocksMecking3/KM3TracVitesseDefo500K.py
— Luc Papeleux 2016/03/23
commit/2016/03_23.txt · Last modified: 2018/05/04 15:46 by boman