====== 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''. LOL * :!: 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 --- //[[ppjeunechamps@ulg.ac.be|Pierre-Paul Jeunechamps]] 2006/10/10 16:13//