Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2006:11_24

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:2006:11_24 [2013/07/11 15:56] – [Modifs] joriscommit:2006:11_24 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Commit 2006-11-24 ======
  
 +===== Modifs =====
 +
 +  * Nettoyage de ''apps'' pour introduire la nouvelle formulation de la géométrie (voir précédent [[10_23|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 exemple ''apps.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 classe ''AnalSelector''). Ce n'est encore possible que selon un cylindre orienté selon ''x'', ''y'' ou ''z''.
 +
 +Utilisation (voir aussi ''apps.qs.sph3d'') :
 +<code>
 +groupset.copy(Group(numero))
 +groupset(numero).addMeshPointsFromObject(nobj, type_id, AnnealedSelector(lock, cx, cy, cx, Rmin, Rmax))
 +</code>
 +
 +
 +| ''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 le ''loadAdaptationManager'' (''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 la ''LoadingInteraction'' était à prendre en compte dans l'adaptation de pression!!). A présent, tout est stocké dans le ''loadAdaptationManager''.
 +
 +Par exemple :
 +<code>
 +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
 +</code>
 +
 +  * 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ère ''Damage'' 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ériaux ''evpdHypoMaterial'', ''spfHypoMaterial'' (qui comprend 2 lois) sont regroupés en un seul matériau ''EvpIsoHDamageHypoMaterial'' 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 (ancien ''spfHypoMaterial'').
 +    * 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 [[/doc:devel:memos|petits mémos]].
 +    * Mise à jour de la [[doc:user:geometry:mesh:3d#mailleur_par_extrusion|doc]] du mailleur d'extrusion.
 +    * Mise à jour de la doc des matériaux.
 +    * [[doc:user:elements:volumes:damage|Doc]] sur les lois d'endommagement.
 +
 +
 +===== Fichiers ajoutés/supprimés =====
 +
 +<code>
 +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
 +</code>
 +
 + --- //[[ppjeunechamps@ulg.ac.be|Pierre-Paul Jeunechamps]] 2006/11/24 11:42//

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki