Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:contact:def

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
doc:user:elements:contact:def [2013/07/10 17:12] – created jorisdoc:user:elements:contact:def [2013/07/12 19:27] – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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 [[doc:user:elements:contact:laws]] |
 +|''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'' | [[doc:user:general:locks|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 [[doc:user:elements:contact:laws]].
 +===== 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
 +  ...
 +    
 +
 +
 +|''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 [[doc:user:general:fonctions|fonction]] dont la propriété dépend (facultatif: si aucune dépendance pas de ''fct'') |
 +|''Lock1''| [[doc:user:general:locks|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 [[doc:user:elements: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 [[doc:user:elements: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) 
 +
 +
 +
 +| ''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'' | [[doc:user:elements:general:def_element_properties|Propriétés]] des [[doc:user:elements:contact:elements|é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 ''[[doc:user:geometry:user:contours#remarques|MultiProjWire]]'' ou ''[[doc:user:geometry:user:peaux#remarques|MultiprojSkin]]''\\ = False : normale à l'outil discontinue -  projection sur ''[[doc:user:geometry:user:contours|Wire]]'' ou  ''[[doc:user:geometry:user:peaux|Skin]]''|
doc/user/elements/contact/def.txt · Last modified: 2016/03/30 15:23 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki