Table of Contents

Commit 2014-07-11

Composites UD, test d'indentation

Composites

Un modèle de pli composite unidirectionnel de type Cachan a été implanté à l'occasion du TFE de Pierre Joris. Le modèle utilise la classe de base DamageEpIsoHOrthoHypoMaterial combinée avec le nouveau modèle d'endommagement UDCompositeDamage, qui fonctionne de la même façon que WovenCompositeDamage. Les classes relatives à l'endommagement des composites ont été un peu remaniées. Un bug détecté par Pierre dans le calcul des variables d'endo a été corrigé.

Test d'indentation

Un test 2D de nano-indentation réalisé dans le cadre d'ABRAWAL a été ajouté dans apps/rupture. Un poinçon descend dans un matériau polyester endommageable contenant une inclusion en aluminium-silicium. Le maillage a été réalisé avec Gmsh en utilisant le nouveau mailleur quadrangulaire, avec la définition d'une carte de taille du maillage au moyen de boîtes.

Ce test a nécessité des modifications mineures au code :

  1. introduction d'un critère de rupture asymétrique, IFAsymRuptureCriterion, qui ne rompt l'élément que si ce dernier n'est pas sollicité en compression. Ca évite les situations où un outil en contact avec un matériau endommageable détruit successivement tous les éléments, alors que ceux-ci devraient conserver une certaine résistance en compression.
  2. changements dans gmsh.py pour résoudre un problème posé par Gmsh lorsqu'on crée des maillages 2D. L'orientation des éléments est en effet arbitraire (normale orientée vers les Z positifs ou négatifs au petit bonheur). J'ai introduit la possibilité de vérifier l'orientation et de retourner l'élément si nécessaire :
    from toolbox.gmsh import GmshImport
    GmshImport( 'geometry.geo', domain ).execute2D()

J'en ai profité pour réécrire une partie du fichier afin de le rendre plus lisible.

Remarques

Les temps CPU sur Thorgal diffèrent fortement pour certains cas-tests, sans que ce soit le cas sur les autres machines.

Fichiers ajoutés/supprimés

 
A       oo_meta/apps/rupture/html
A       oo_meta/apps/rupture/html/indentation.png
A       oo_meta/apps/rupture/html/index.html
A       oo_meta/apps/rupture/indentation.geo
A       oo_meta/apps/rupture/indentation.py
A       oo_meta/mtElements/rupture/IFAsymRuptureCriterion.cpp
A       oo_meta/mtElements/rupture/IFAsymRuptureCriterion.h
A  +    oo_meta/mtMaterialLaws/damage/CompositeDamageGpState.cpp
A  +    oo_meta/mtMaterialLaws/damage/CompositeDamageGpState.h
A       oo_meta/mtMaterialLaws/damage/UDCompositeDamage.cpp
A       oo_meta/mtMaterialLaws/damage/UDCompositeDamage.h
D       oo_meta/mtMaterialLaws/damage/WovenCompDamageGpState.cpp
D       oo_meta/mtMaterialLaws/damage/WovenCompDamageGpState.h

Geoffrey Deliége 2014/07/11