commit:2006:11_24
Table of Contents
Commit 2006-11-24
Modifs
- Nettoyage de
apps
pour 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
,y
ouz
.
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_OPT
pour la vitesse de déformation optimale) et dans l'élément de traction (POPT_MAT
pour 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èreDamage
a é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ériauEvpIsoHDamageHypoMaterial
et 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: 2016/03/30 15:23 by 127.0.0.1