Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2006:10_10

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

Pierre-Paul Jeunechamps 2006/10/10 16:13

commit/2006/10_10.txt · Last modified: 2016/03/30 15:23 (external edit)