commit:2006:10_10
Table of Contents
Commit 2006-10-10
Modifs
- Deuxième étape dans la suite du split dans les matériaux d'endommagement. Pour ce commit :
- Un nouveau matériau
EvpMixtHGrainSizeHypoMaterial
a été créé pour calculer la matrice de raideur tenant compte de la taille des grains pour un matériau modélisé par une loi de comportement élasto-visco-plastique à écrouissage mixte. 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, de viscosité et d'écrouissage cinématique avec une évolution de la taille de grains, ce qui n'était pas le cas avant (seul un écrouissage cinématique d'Armstrong-Frederick était possible sans viscosité et seulement avec la bonne vieille loi
nl8
).
- Powergrepicifiage de nettoyage.
- Nettoyage divers (initialisation de variables aux bons endroits).
- Etapes suivantes :
- Faire la même chose pour les matériaux d'endommagement de Laurent (pas évident ).
- Une fois cette ultime étape franchie, on pourra définitivement virer la vieille loi
nl8
.
- Updatez oo_nda et oofelie
Exemple d'utilisation d'une telle loi
Pour utiliser ce nouveau matériau, on déclare dans le jeu de données :
- Dans le
MaterialSet
:
materSet.define(materIndex, EvpMixtHGrainSizeHypoMaterial) materSet[materIndex].put(ELASTIC_MODULUS, E) materSet[materIndex].put(POISSON_RATIO, Nu) materSet[materIndex].put(GRAINSIZE_INIT, initGs) materSet[materIndex].put(YIELD_NUM, IhIndex) materSet[materIndex].put(KH_NB, 1) materSet[materIndex].put(KH_NUM1, KhIndex) materSet[materIndex].put(GRAINSIZE_NUM, GsIndex) materSet[materIndex].put(VISCO_NUM, ViscoIndex)
- Dans le
MaterialLawSet
:- une loi d'évolution de la limite élastique. Par exemple:
materLawSet.define(IhIndex, LinearIsotropicHardening) materLawSet[IhIndex].put(IH_SIGEL, sigel) materLawSet[IhIndex].put(IH_H, h)
- une loi d'évolution des backstresses. Par exemple:
materLawSet.define(KhIndex, ArmstrongFrederickKinematicHardening) materLawSet[KhIndex].put(KH_H, h) materLawSet[KhIndex].put(KH_B, b)
- une loi d'évolution de la taille des grains. Par exemple:
materLawSet.define(GsIndex, SinhGrainSize) materLawSet[GsIndex].put(SINH_BETA, beta) materLawSet[GsIndex].put(SINH_A, a) materLawSet[GsIndex].put(SINH_P, p) materLawSet[GsIndex].put(SINH_ALPHA1, alpha1) materLawSet[GsIndex].put(SINH_ALPHA2, alpha2) materLawSet[GsIndex].put(SINH_Q, q) materLawSet[GsIndex].put(SINH_R, r)
- éventuellement une loi d'évolution de la contrainte visqueuse. Par exemple:
materLawSet.define(ViscoIndex, PerzynaPlasticViscosity) materLawSet[ViscoIndex].put(PERZYNA_K, k) materLawSet[ViscoIndex].put(PERZYNA_M, m) materLawSet[ViscoIndex].put(PERZYNA_N, n)
Fichiers ajoutés/supprimés
A apps/monosMaterials/evpCinGs2dAxiCis.py A apps/monosMaterials/evpCinGs2dAxiTrac.py A apps/monosMaterials/evpCinGs2dEpeCis.py A apps/monosMaterials/evpCinGs2dEpeTrac.py A apps/monosMaterials/evpCinGs3dCis.py A apps/monosMaterials/evpCinGs3dTrac.py A apps/monosMaterials/evpIsoGs2dAxiCis.py A apps/monosMaterials/evpIsoGs2dAxiTrac.py A apps/monosMaterials/evpIsoGs2dEpeCis.py A apps/monosMaterials/evpIsoGs2dEpeTrac.py A apps/monosMaterials/evpIsoGs3dCis.py A apps/monosMaterials/evpIsoGs3dTrac.py A mtMaterials/volumes/EvpMixtHGrainSizeHypoGpState.cpp A mtMaterials/volumes/EvpMixtHGrainSizeHypoGpState.h A mtMaterials/volumes/EvpMixtHGrainSizeHypoGpkState.cpp A mtMaterials/volumes/EvpMixtHGrainSizeHypoGpkState.h A mtMaterials/volumes/EvpMixtHGrainSizeHypoMatShcuts.cpp A mtMaterials/volumes/EvpMixtHGrainSizeHypoMatShcuts.h A mtMaterials/volumes/EvpMixtHGrainSizeHypoMaterial.cpp A mtMaterials/volumes/EvpMixtHGrainSizeHypoMaterial.h
R apps/monosMaterials/evpIsoGsHypo2dAxiCis.py R apps/monosMaterials/evpIsoGsHypo2dAxiTrac.py R apps/monosMaterials/evpIsoGsHypo2dEpeCis.py R apps/monosMaterials/evpIsoGsHypo2dEpeTrac.py R apps/monosMaterials/evpIsoGsHypo3dCis.py R apps/monosMaterials/evpIsoGsHypo3dTrac.py R apps/monosMaterials/evpdSinhHypo2dAxiCis.py R apps/monosMaterials/evpdSinhHypo2dAxiTrac.py R apps/monosMaterials/evpdSinhHypo2dEpeCis.py R apps/monosMaterials/evpdSinhHypo2dEpeTrac.py R apps/monosMaterials/evpdSinhHypo3dCis.py R apps/monosMaterials/evpdSinhHypo3dTrac.py R mtMaterials/volumes/EvpdSinhHypoGpState.cpp R mtMaterials/volumes/EvpdSinhHypoGpState.h R mtMaterials/volumes/EvpdSinhHypoMatShcuts.cpp R mtMaterials/volumes/EvpdSinhHypoMatShcuts.h R mtMaterials/volumes/EvpdSinhHypoMaterial.cpp R mtMaterials/volumes/EvpdSinhHypoMaterial.h
TAG : PP_061010
— Pierre-Paul Jeunechamps 2006/10/10 16:13
commit/2006/10_10.txt · Last modified: 2016/03/30 15:23 by 127.0.0.1