Table of Contents
Commit 2006-06-16
Modifs
Split dans les matériaux d'endommagement. Le but final (mais il y a encore du boulot) est d'avoir la même structure pour l'endommagement que pour l'écrouissage isotrope ou cinématique et la viscosité plastique, à savoir le calcul de la matrice de raideur au niveau du matériau est indépendante de la loi utilisée. Plus concrètement pour ce commit :
- Une classe de base
GrainSize
a été créée dansmtMaterialLaws/grainsize
. - De cette classe de base dérive l'expression de la taille des grains ainsi que son évolution analogue à ce qui existe dans
isohard
,kinehard
ouplastvisco
. - Un nouveau matériau
EvpIsoHGrainSizeHypoMaterial
a été créé pour calculer la matrice de raideur tenant compte de la taille des grains. On doit donc associer à ce matériau une loi d'évolution de la taille des grains comme on le fait pour l'écrouissage isotrope, cinématique ou visqueux. - Conséquences :
- L'ajout d'une nouvelle loi dépendant de la taille des grains devient beaucoup plus aisé.
- On peut utiliser toutes les lois d'écrouissage et de viscosité avec une évolution de la taille de grains, ce qui n'était pas le cas avant.
- Ajout dans
VizWin
de la visualisation de la taille des grains (Grain size
).
Deux lois de taille de grains ont été implémentées (voir thèse de Laurent Adam et Doc) :
- La loi de Perzyna couplée à une extension de la loi de Ghosh pour l'évolution de la taille des grains
- La loi de Prandtl couplée à une extension de la loi de Ghosh pour l'évolution de la taille des grains
Pour utiliser ce nouveau matériau, on déclare dans le jeu de données :
- un matériau de type
EvpIsoHGrainSizeHypoMaterial
dans leMaterialSet
et on associe dans ses propriétés un numéro de loi d'évolution des grainsGRAINSIZE_NUM
de la même façon qu'on déclare un numéro de loi d'écrouissageYIELD_NUM
. Il faut aussi déclarer une taille de grain initialeGRAINSIZE_INIT
. - une loi d'évolution de la taille des grains dans le
MaterialLawSet
.
Pour programmer une loi d'évolution de la taille des grains, on doit déclarer 2 fonctions et leur dérivée par rapport à gamma
(déformation plastique) et par rapport à grainSize
:
- Le calcul de la contrainte liée à la taille des grains
computeSigmaGrainSize
(comme on calcule la contrainte d'écrouissage et la contrainte visqueuse); - Le calcul l'incrément de la taille des grains (loi d'évolution de la taille des grains)
computeDeltaGrainSize
; - La dérivée de
sigmaGrainSize
par rapport àgamma
:computeDSigmaGrainSizeDGamma
- La dérivée de
sigmaGrainSize
par rapport àgrainSize
:computeDSigmaGrainSizeDGamma
- La dérivée de
deltaGrainSize
par rapport àgamma
:computeDSigmaGrainSizeDGamma
- La dérivée de
deltaGrainSize
par rapport àgrainSize
:computeDSigmaGrainSizeDGamma
Etapes suivantes :
- Faire la même chose pour un écrouissage mixte (pas trop compliqué ).
- Faire la même chose pour les matériaux d'endommagement de Laurent (plus compliqué ).
Une fois ces deux étapes franchies, on pourra définitivement virer la vieille loi nl8
.
cvs -d
Fichiers ajoutés/supprimés
A apps/monosMaterials/evpIsoGsHypo2dAxiCis.py A apps/monosMaterials/evpIsoGsHypo2dAxiTrac.py A apps/monosMaterials/evpIsoGsHypo2dEpeCis.py A apps/monosMaterials/evpIsoGsHypo2dEpeTrac.py A apps/monosMaterials/evpIsoGsHypo3dCis.py A apps/monosMaterials/evpIsoGsHypo3dTrac.py A mtMaterialLaws/grainsize/GrainSize.cpp A mtMaterialLaws/grainsize/GrainSize.h A mtMaterialLaws/grainsize/GrainSizeShcuts.h A mtMaterialLaws/grainsize/GrainSizeShcuts.inl A mtMaterialLaws/grainsize/PerzynaGrainSize.cpp A mtMaterialLaws/grainsize/PerzynaGrainSize.h A mtMaterialLaws/grainsize/PerzynaGrainSizeShcuts.h A mtMaterialLaws/grainsize/PerzynaGrainSizeShcuts.inl A mtMaterialLaws/grainsize/SinhGrainSize.cpp A mtMaterialLaws/grainsize/SinhGrainSize.h A mtMaterialLaws/grainsize/SinhGrainSizeShcuts.h A mtMaterialLaws/grainsize/SinhGrainSizeShcuts.inl A mtMaterials/volumes/EvpIsoHGrainSizeHypoGpState.cpp A mtMaterials/volumes/EvpIsoHGrainSizeHypoGpState.h A mtMaterials/volumes/EvpIsoHGrainSizeHypoMatShcuts.cpp A mtMaterials/volumes/EvpIsoHGrainSizeHypoMatShcuts.h A mtMaterials/volumes/EvpIsoHGrainSizeHypoMaterial.cpp A mtMaterials/volumes/EvpIsoHGrainSizeHypoMaterial.h
TAG : PP_060616
— Pierre-Paul Jeunechamps 2006/06/16 16:13