commit:2006:11_24
Table of Contents
Commit 2006-11-24
Modifs
- Nettoyage de
appspour introduire la nouvelle formulation de la géométrie (voir précédent commit Robo). - Correction dans
apps.stp.cont2, seule la partie inférieure de la matrice se déplaçait (pas très joli). - Nettoyage des cas tests utilisant
tpoi.define(par exempleapps.qs.elbowModif4b) quand c'était possible. Les fichiers de données sont à présent lisibles et beaucoup plus petits! - Nettoyage de
toolbox.createMaterial(uniformisation des noms des fonctions) - Ajout d'un outil de sélection de noeuds selon un anneau circulaire :
AnnealedSelector(j'ai hésité à appeler la classeAnalSelector). Ce n'est encore possible que selon un cylindre orienté selonx,youz.
Utilisation (voir aussi apps.qs.sph3d) :
groupset.copy(Group(numero)) groupset(numero).addMeshPointsFromObject(nobj, type_id, AnnealedSelector(lock, cx, cy, cx, Rmin, Rmax))
où
numero | numéro du groupe |
nobj | numéro de l'entité |
type_id | identificateur de l'entité (CURVE_ID, SIDE_ID, GROUP_ID, etc) - voir PhySet |
lock | TX, TY ou TZ : direction de l'axe du cylindre |
cx, cy, cz | coordonnées du centre du cercle générant l'anneau |
Rmin, Rmax | rayon minimum et maximum de l'anneau |
- Regroupement des paramètres de l'algorithme d'adaptation de pression (
loadAdaptationManager). Il y en avait dans leloadAdaptationManager(LAM_METHOD), dans le matériau (DEVP_OPTpour la vitesse de déformation optimale) et dans l'élément de traction (POPT_MATpour le numéro du matériau où on appliquait la pression et qui déterminait aussi si laLoadingInteractionétait à prendre en compte dans l'adaptation de pression!!). A présent, tout est stocké dans leloadAdaptationManager.
Par exemple :
lam = metafor.getLoadAdaptationManager() lam.setMethod(LAM_METHOD2) # Methode de calcul de l'adaptation de pression lam.setOptimalStrainRate(3.0E-4) # Vitesse de defo optimale (ancien DEVP_OPT) lam.setOptimalPressureMaterial(3) # Numero du materiau ou s'applique l'adaptation de pression (ancien POPT_MAT) lam.setOptimalPressureProperty(1) # Numero du property ou s'applique l'adaptation de pression
- Endommagement :
- Réécriture des lois de Laurent Adam (et corrections diverses) selon la formulation utilisant les materialLaws.
- Outre l'aspect esthétique des routines (ce n'était pas toujours du luxe), cela permet de n'avoir plus qu'une seule formulation des matériaux dans Metafor.
- C'est maintenant possible aussi (en théorie) de rajouter des lois d'endommagement sans y passer 6 mois.
- En pratique, sur le même modèle que
IsotropicHardening, une classe mèreDamagea été créée pour rentrer une nouvelle loi d'endommagement. Le matériau d'endommagement ne fait qu'appeler les objets de cette classe pour l'intégration de la loi constitutive. Ainsi, les 3 matériauxevpdHypoMaterial,spfHypoMaterial(qui comprend 2 lois) sont regroupés en un seul matériauEvpIsoHDamageHypoMaterialet 3 lois d'endommagement sont à présent dans Metafor : Gurson-Tvergaard, Khaleel et celle que j'ai appelée “Adam-Khaleel” qui est le modèle de Khaleel modifié par Laurent Adam dans sa thèse (ancienspfHypoMaterial). - Tout n'est pas encore parfait : pas d'écrouissage mixte, pas de thermomec, pas de choix du critère de plasticité (seul Von-Mises existe) et pas encore non plus de matrice de raideur tangente analytique (qui n'a jamais existé pour ce matériau d'ailleurs)
- Doc :
- Mise en format Dokuwiki des petits mémos.
- Mise à jour de la doc du mailleur d'extrusion.
- Mise à jour de la doc des matériaux.
- Doc sur les lois d'endommagement.
Fichiers ajoutés/supprimés
A apps/monosMaterials/evpIsoDamage2dAxiCis.py A apps/monosMaterials/evpIsoDamage2dAxiCis2.py A apps/monosMaterials/evpIsoDamage2dAxiComp2.py A apps/monosMaterials/evpIsoDamage2dAxiComp2Visco.py A apps/monosMaterials/evpIsoDamage2dAxiTrac.py A apps/monosMaterials/evpIsoDamage2dEpeCis.py A apps/monosMaterials/evpIsoDamage2dEpeCis2.py A apps/monosMaterials/evpIsoDamage2dEpeCis2Visco.py A apps/monosMaterials/evpIsoDamage2dEpeTrac.py A apps/monosMaterials/evpIsoDamage2dEpeTrac2.py A apps/monosMaterials/evpIsoDamage3dCis.py A apps/monosMaterials/evpIsoDamage3dTrac.py R apps/monosMaterials/evpdHypo2dAxiCis.py R apps/monosMaterials/evpdHypo2dAxiComp2.py R apps/monosMaterials/evpdHypo2dAxiComp2Visco.py R apps/monosMaterials/evpdHypo2dAxiTrac.py R apps/monosMaterials/evpdHypo2dEpeCis.py R apps/monosMaterials/evpdHypo2dEpeCis2.py R apps/monosMaterials/evpdHypo2dEpeCis2Visco.py R apps/monosMaterials/evpdHypo2dEpeTrac.py R apps/monosMaterials/evpdHypo2dEpeTrac2.py R apps/monosMaterials/evpdHypo3dCis.py R apps/monosMaterials/evpdHypo3dTrac.py A mtMaterialLaws/damage A mtMaterialLaws/damage/AdamKhaleelDamage.cpp A mtMaterialLaws/damage/AdamKhaleelDamage.h A mtMaterialLaws/damage/AdamKhaleelDamageShcuts.h A mtMaterialLaws/damage/AdamKhaleelDamageShcuts.inl A mtMaterialLaws/damage/Damage.cpp A mtMaterialLaws/damage/Damage.h A mtMaterialLaws/damage/DamageShcuts.h A mtMaterialLaws/damage/DamageShcuts.inl A mtMaterialLaws/damage/GursonTvergaardDamage.cpp A mtMaterialLaws/damage/GursonTvergaardDamage.h A mtMaterialLaws/damage/GursonTvergaardDamageShcuts.h A mtMaterialLaws/damage/GursonTvergaardDamageShcuts.inl A mtMaterialLaws/damage/KhaleelDamage.cpp A mtMaterialLaws/damage/KhaleelDamage.h A mtMaterialLaws/damage/KhaleelDamageShcuts.h A mtMaterialLaws/damage/KhaleelDamageShcuts.inl A mtMaterials/volumes/EvpIsoHDamageHypoGpState.cpp A mtMaterials/volumes/EvpIsoHDamageHypoGpState.h A mtMaterials/volumes/EvpIsoHDamageHypoMatShcuts.cpp A mtMaterials/volumes/EvpIsoHDamageHypoMatShcuts.h A mtMaterials/volumes/EvpIsoHDamageHypoMaterial.cpp A mtMaterials/volumes/EvpIsoHDamageHypoMaterial.h R mtMaterials/volumes/EvpdHypoGpState.cpp R mtMaterials/volumes/EvpdHypoGpState.h R mtMaterials/volumes/EvpdHypoGpkState.cpp R mtMaterials/volumes/EvpdHypoGpkState.h R mtMaterials/volumes/EvpdHypoMatShcuts.cpp R mtMaterials/volumes/EvpdHypoMatShcuts.h R mtMaterials/volumes/EvpdHypoMaterial.cpp R mtMaterials/volumes/EvpdHypoMaterial.h R mtMaterials/volumes/SpfEvpdHypoGpState.cpp R mtMaterials/volumes/SpfEvpdHypoGpState.h R mtMaterials/volumes/SpfEvpdHypoMaterial.cpp R mtMaterials/volumes/SpfEvpdHypoMaterial.h
— Pierre-Paul Jeunechamps 2006/11/24 11:42
commit/2006/11_24.txt · Last modified: by 127.0.0.1
