Table of Contents

Commit 2012-02-20

Définition d'une interaction de contact XFEM. Pour le moment c'est uniquement du contact sans frottement rigide défo

Le fonctionnement est très similaire à celui de l'interaction de forces imposées. Le contact est appliqué sous forme de pression de contact. La frontière matière est décrite par un élément 1D sur lequel sont définis des points de Gauss. Lorsque la frontière matière passe de l'autre coté de l'outil, on définit une pénétration en chaque point de Gauss de l'élement 1D. La pression à intégrer sur le point de Gauss est vue comme le produit entre la pénétration et un coefficient de pénalité “surfacique”. Puis on intègre sur les noeuds du quadrangle en utilisant les points de Gauss de l'élément 1D.

Implémentation numérique

Mise en forme du jeu de donnée

Le “XFEMContactElement” prend en propriétés XPENALITE_NORMALE (coefficient de pénalité normale) et XNPG (nombre de points de Gauss utilisés pour l'intégration des conditions limites de pression).

    
    prp2 = ElementProperties(XFEMContactElement)
    prp2.put(XPENALITE_NORMALE, 1.e18)
    prp2.put(XNPG, 2)

Le “XFEMContactInteraction” est définit comme l'interaction de contact classique de metafor (un outil, puis des lignes suceptibles de rentrer en contact) :

    load = XFEMContactInteraction(2)
    load.setTool(Cset(9))
    load.push(Cset(1))
    load.push(Cset(2))
    load.addProperty(prp2)
    domain.getInteractionSet().add(load)

Ou Cset(1) et Cset(2) sont les curves pour lesquelles le contact est recherché.

Pour le moment, le XFEMContactInteraction ne fonctionne que si un XFEMFieldApplicator avec un UserNo de 1 est utilisé

Fichiers ajoutés

[a]:oo_meta/XFEM/XFEMContactElement.h
[a]:oo_meta/XFEM/XFEMContactElement.cpp
[a]:oo_meta/XFEM/XFEM1DContactElement.h
[a]:oo_meta/XFEM/XFEM1DContactElement.cpp
[a]:oo_meta/XFEM/XFEMContactInteraction.h
[a]:oo_meta/XFEM/XFEMContactInteraction.cpp
[a]:oo_meta/XFEM/XFEMContactGpState.h
[a]:oo_meta/XFEM/XFEMContactGpState.cpp
[a]:oo_meta/apps/xfem/cont.py