Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2013:12_09

This is an old revision of the document!


Commit 2013-12-09

Assumed Natural Strains (ANS)

  • En bref, les éléments ANS ont été développés pour améliorer la précision d'éléments aplatis, avec un mauvais aspect ratio, dans les simulations de structures minces. On les combine avec les EAS (Enhanced Assumed Strains) pour obtenir des coques solides (solid shell). Le principe des ANS est de calculer certaines composantes des déformations dans l'élément en interpolant les valeurs des déformations calculées de façon classique en différents points, situés généralement sur les frontières avec les voisins. La méthode se décline en différentes variantes selon le nombre et la position des points d'interpolation.
  • Dans Metafor, les modifications apparaissent principalement au niveau des méthodes d'intégration (classes […]MechVolIntegMeth).
    • Le calcul des défos ne se fait plus directement par appel au matériau mais via un objet de type StrainCalcMethod, stocké dans VolumeElement, qui définit la méthode de calcul.
    • C'est la classe StrainCalcMethodBuilder qui crée cet objet en fonction des paramètres utilisateur. Par défaut, c'est un objet de type StrainCalcMethodNormal qui est créé et rien ne change par rapport à l'approche normale. Pour utiliser les ANS, on joue sur un paramètre de ElementProperties : par exemple, prp.put( STRAINCALCMETH, SCM_ANS1 ).
    • La seule méthode ANS implantée pour l'instant est celle de Dvorkin-Bathe, disponible dans la classe StrainCalcMethodANS1Hexa.
    • La structure est conçue pour permettre facilement la définition d'autres éléments ANS, en dérivant StrainCalcMethod.
    • Par souci de cohérence, le calcul des défos nécessaires aux méthodes conservatives (barStrain, midConfigurationStrain) passe aussi par StrainCalcMethod.
    • Par effet de bord, dans les fonctions de forme, les fonctions getCellType() sont devenues const.
  • Il y a des limitations aux ANS qui ne peuvent être appliqués qu'aux hexaèdres. Normalement, un message d'erreur explicite sanctionne toute tentative d'utilisation illicite. La combinaison des ANS avec les XFEM reste également une question ouverte.
  • La structure est en place mais pour l'instant, les ANS ne sont pas fonctionnels: ça compile, ça tourne mais les résultats ne sont pas ceux que j'attendais. Il reste des choses à régler, c'est d'ailleurs pour ça qu'il n'y a pas de cas-test dédié. J'y travaille.

Lois de comportement composites

  • Des lois d'écrouissage et d'endommagement particulières pour les plis composites ont été introduites. Elles permettent une bonne représentation du comportement en cisaillement des différents stratifiés à fibres tissées étudiés dans le projet E_COM.
    • PowTanhIsotropicHardening : loi d'écrouissage, R=R0+K1*evpl^gamma+K2*tanh(alpha*(evpl-evpl0))
    • WovenCompositeDamagePow2 : loi d'endommagement, K0+K1*pow(YeqT0,gamma1)+K2*pow(YeqT0,gamma2)
  • Correction d'erreurs dans les lois d'endommagement composites.
  • Modification de la boucle de calcul de la plasticité dans EpIsoHOrthoHypoMaterial, pour améliorer la convergence.

Divers

  • Création de ShapeFunctionTemplate.hpp et de ShapeFunctionTemplate.cpp, pour instancier correctement les fonctions de la classe et éviter les problèmes de compilation sous Windows.
  • Modification par Philippe des fichiers de cas-tests suivants, qui plantaient sous Windows :
  apps/ale/forge.py
  apps/remeshing/forge_1.py
  apps/remeshing/forge_2.py

Fichiers ajoutés/supprimés

 
A     oo_meta/CMake/lanfeust.cmake
A     oo_meta/mtElements/volumes/methods/StrainCalcMethod.cpp
A     oo_meta/mtElements/volumes/methods/StrainCalcMethod.h
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodANS1Hexa.cpp
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodANS1Hexa.h
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodBuilder.cpp
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodBuilder.h
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodNormal.cpp
A     oo_meta/mtElements/volumes/methods/StrainCalcMethodNormal.h
A     oo_meta/mtMaterialLaws/damage/WovenCompositeDamagePow2.cpp
A     oo_meta/mtMaterialLaws/damage/WovenCompositeDamagePow2.h
A     oo_meta/mtMaterialLaws/isohard/PowTanhIsotropicHardening.cpp
A     oo_meta/mtMaterialLaws/isohard/PowTanhIsotropicHardening.h
A     oo_meta/mtShapeFunctions/ShapeFunctionTemplate.cpp
A     oo_meta/mtShapeFunctions/ShapeFunctionTemplate.hpp
A     oo_meta/mtShapeFunctions/StrainCalcMethodEnums.h
D     oo_meta/mtShapeFunctions/ShapeFunctionTemplate.inl
commit/2013/12_09.1386574317.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki