This is an old revision of the document!
Table of Contents
Définition d'un élément de contact
La définition d'un élément de contact suit la même logique que celle des éléments volumiques. On commence par définir un matériau de contact (contact sans frottement, contact collant, …). Ensuite, ce matériau est intégrée dans les propriétés d'un élément de contact (Contact2DElement
ou Contact3DElement
). Enfin, ces éléments de contact sont générés sur le maillage au moyen d'interactions de contact (contact rigide-défo, contact défo-défo, …).
Matériaux
Dans un premier temps, il faut définir un matériau de contact (tout comme on définissait un matériau pour les éléments de volume). Ceci se fait de manière très similaire, selon
materialno = materialset.define (number, type) materialno = materialset(number) materialno.put(param, valeur) materialno.depend(param, fct, Key(Lock))) ...
number | numéro du matériau de contact (doit être unique, parmi tous les éléments de materialset et pas seulement parmi les matériaux de contact) |
type | type de matériau de contact (par exemple FrictionlessContactMaterial ) - voir Contact materials |
param | nom du paramètre du matériau de contact (par exemple PEN_NORMALE ) |
valeur | valeur du paramètre matériau |
fct | numéro de la fonction dont la propriété dépend (facultatif: si aucune dépendance pas de fct ) |
Lock | Lock définissant la variable de dépendance de la propriété (obligatoire si on a une dépendance) |
L'ensemble des matériaux de contact et leurs différentes paramètres se trouvent à la page Contact materials.
Eléments
Dans un deuxième temps, on définit un élément de contact, via l'objet ElementProperties
, et on intègre le matériau de contact à cet élément. Ceci est réalisé via
prp = ElementProperties(typeEl) prp.put(param1, valeur1) prp.depend(param1, fct1, Lock1)) #facultatif ...
où
typeEl | type d'éléments de contact (Contact[2|3]DElement ) |
param1 | nom de la propriété relative à l'élément de contact (par exemple MATERIAL pour y associer le matériau de contact souhaitée) |
valeur1 | “valeur” de la propriété |
fct1 | numéro de la fonction dont la propriété dépend (facultatif: si aucune dépendance pas de fct ) |
Lock1 | Lock définissant la variable de dépendance de la propriété (obligatoire si on a une dépendance) |
Les éléments de contacts et leurs paramètres se trouvent à la page Contact elements.
Interactions
Dans un troisième temps, on génère les éléments de contacts grâce à l'interaction souhaitée. Différentes interactions sont possibles, selon le type de contact souhaité (rigide-défo, défo-défo, …). Ces interactions et le code permettant de les générer se trouvent à la page Contact Interactions.
Par exemple, pour réaliser du contact rigide-défo, on utilise RdContactInteraction
selon
ci = RdContactInteraction(number) ci.setTool(gObject1) ci.push(gObject2) ci.setSmoothNormals(bool) ci.addProperty(prp) interactionset.add(ci)
où
number | Numéro utilisateur de l'interaction |
gObject1 | Référence vers un objet géométrique maillé (contact facétisé) ou non |
gObject2 | Référence vers un objet géométrique maillé |
prp | Propriétés des éléments de contact à générer |
setTool | Outils rigides |
setSmoothNormals(bool) | Outil facétisé à normale continue ou non = True (défaut) : normale à l'outil continue - projection sur MultiProjWire ou MultiprojSkin = False : normale à l'outil discontinue - projection sur Wire ou Skin |