Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:general:start

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:elements:general:start [2013/07/12 15:42] – external edit 127.0.0.1doc:user:elements:general:start [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 4: Line 4:
 ===== ElementProperties ===== ===== ElementProperties =====
  
-Les ''ElementProperties'' de Metafor permettent de lier la physique du problème au maillage de la structure (éléments de volume ou de coque). Les ''ElementProperties'' permettent donc d'associer les propriétés d'éléments à ceux-ci. Chaque ''ElementProperties'' regroupe un ensemble de propriétés relatives à un groupe d'éléments (voir [[doc:user:elements:general:def_element_properties|définition d'ElementProperties]]). Par exempleon trouve le [[doc:user:elements:general:materials|numéro du matériau]] associé à l'élémentdes choix concernant les méthodes d'intégration utilisée (SRI/EAS), etcIls permettent aussi d'appliquer des conditions aux limites (par exemple de pressionde flux thermique...) ou d'imposer un contact entre deux structures.  +Metafor ''ElementProperties'' are used to associate physical properties to the meshed structure (whether with volume or shell elements). Each ''ElementProperties'' has a few properties which are associated to the corresponding type of element (see [[doc:user:elements:general:def_element_properties|ElementProperties definition]]). for examplethe associated [[doc:user:elements:general:materials|material number]], the integration method chosen ((SRI/EAS)), ... They are also used to apply boundary conditions (pressurethermal flux...) or to impose contact between two parts.
- +
- +
-=== Remarques === +
- +
-  * Dans [[doc:user:geometry:import:tuto2|Bacon]], un numéro de ''ElementProperties'' est similaire à un numéro d'attribut. +
-  * L'utilisation d'un ''ElementProperties'' est très similaire à celle d'un [[doc:user:elements:general:materials|matériau]] (En interne dans Metafor un matériau est un "adapter" vers ''MaterialProperties'') ou une [[doc:user:elements:volumes:start|loi matérielle]] (''MaterialLawProperties''). Pour les connaisseurs du [[doc:user:general:glossaire#C++]], ces trois classes sont, en fait, 3 instanciations d'un même template. Ils possèdent donc les mêmes fonctions : un ''put()'' pour définir une nouvelle entrée et un ''depend()'' pour faire évoluer cette valeur en fonction de divers paramètres.+
  
 +=== Notes ===
  
 +  * In [[doc:user:geometry:import:tuto2|Bacon]], an ''ElementProperties'' number is similar to an attribute number.
 +  * The use of an ''ElementProperties'' is really similar to the use of a [[doc:user:elements:general:materials|material]] (internally, in Metafor, a material is an adapter towards a ''MaterialProperties'') or a [[doc:user:elements:volumes:start|material law]] (''MaterialLawProperties''). For those who know about [[doc:user:general:glossaire#C++]], these three classes are instances of a single template. They have the same member functions: a ''put()'' to define a new entry, and a ''depend()'' to associate this value to some parameters
  
  
 ===== Interaction ===== ===== Interaction =====
  
 +Initially, in Metafor, “''[[doc:user:start#interactions|Interaction]]''” were objects managing boundary conditions are contact only. The concept was extended to the generation of any type of element, including volume elements. They respect the following scheme:
  
-Initialement dans Metafor, on appelait “''[[doc:user:start#interactions|Interaction]]''” l'objet qui générait les éléments de condition aux limites et de contact. Actuellement, le concept a été étendu à la génération de n'importe quel type d'élément, y compris les éléments de volumes. On a le schéma suivant: 
 {{ doc:user:interact.gif |Interactions}} {{ doc:user:interact.gif |Interactions}}
  
-__Attention:__+__Careful__: 
 + 
 +Two ''Interactions'' cannot have the same user number, even if they are associated to different types of elements. For example, a ''FieldApplicator'' (volume interaction) cannot have the same number as a ''ContactInteraction''.
  
-Le numéro de chaque ''Interaction'' doit être unique! Un ''FieldApplicator'' (interaction de volume) ne peut donc pas avoir le même numéro qu'un ''ContactInteraction'' (interaction de contact). 
  
  
 +===== Links between Interaction and ElementProperties =====
  
-===== Lien entre interaction et ElementProperties =====+In practice, an ''ElementProperties'' must be associated to each ''[[doc:user:start#interactions|Interaction]]''. Then, Metafor transmits internally the ''ElementProperties'' of each element created by this ''Interaction''. In addition, the ''Interaction'' reads the type of element to generate from the associated ''ElementProperties''. Interactions are different depending on this type of element, leading to volume interactions, contact interactions, boundary conditions interactions... 
  
-En pratique, il faut associer un ''ElementProperties'' à chaque ''[[doc:user:start#interactions|Interaction]]''. Metafor se chargera alors de transmettre l' ''ElementProperties'' à chaque élément qui sera créé par cette ''Interaction''. De plus, l' ''Interaction'' lit le type d'élément à générer à partir du ''ElementProperties'' qu'on lui associe. Les interactions sont spécifiques au type d'éléments créés, on retrouve donc des interactions de volume, de contact, de conditions aux limites... La liaison entre l'''Interaction'' et l'''ElementProperties'' se fait par la commande ''addProperty'':+This association of an ''ElementProperties'' and an ''Interaction'' is done by the command ''addProperty'':
  
   interactionset(no).addProperty(prp)   interactionset(no).addProperty(prp)
  
-qui ajoute à l'''Interaction'' numéro ''no'' l'''ElementProperties'' ''prp''.+which adds the ''ElementProperties'' ''prp'' to the ''interaction'' number ''no''.
  
-Dans le jeu de donnéesla manière la plus "propre" d'écrire est la suivante (exemple pour les éléments de volume):+In the data setthe best way to write this is a follow (example given for volume elements):
  
-    #1. Definition des proprietes des elements finis volumiques+    #1. Definition of the properties of finite volume element
     #----------------------------------------------------------     #----------------------------------------------------------
-    prp1 = ElementProperties (Volume2DElement)    #Creer une propriete prp1 pour les elements finis volumiques +    prp1 = ElementProperties (Volume2DElement)    #Creates a property prp1 for finite volume elements 
-                                                  #et definir le type d elements  +                                                  #and defines the type of element ''Volume2DElement''  
-    prp1.put (MATERIAL, 1)                        #Numero du materiau associe +    prp1.put (MATERIAL, 1)                        #Number of the associated material 
-    prp1.put (OMEGA_PT1, 101)                     #Numero du 1er point definissant l axe de rotation +    prp1.put (OMEGA_PT1, 101)                     #Number of the first point which defines the rotation axis 
-    prp1.put (OMEGA_PT2, 102)                     #Numero du 2e point definissant l axe de rotation +    prp1.put (OMEGA_PT2, 102)                     #Number of the second point which defines the rotation axis 
-    prp1.put (OMEGA, Omega)                       #Valeur de la vitesse de rotation (en degre/s)+    prp1.put (OMEGA, Omega)                       #Sets a value to the rotational speed (in degree/s)
          
-    fct1 = PieceWiseLinearFunction()              #Definition d une fct rampe pour l evolution  +    fct1 = PieceWiseLinearFunction()              #Defines a ramp function for the evolution  
-    fct1.setData(0.,0.)                           #de la vitesse de rotation+    fct1.setData(0.,0.)                           #of the rotational speed
     fct1.setData(1.,1.)      fct1.setData(1.,1.) 
          
-    prp1.depend (OMEGA, fct1, Field1D(TM,RE))     #La vitesse de rotation effective vaut Omega*fct1  +    prp1.depend (OMEGA, fct1, Field1D(TM,RE))     #The effective rotational speed is equal to Omega*fct1  
-                                                  #(elle depend donc du temps+                                                  #(and depends on the time
-    prp1.put (STIFFMETHOD,STIFF_ANALYTIC)         #Methode de calcul de la matrice de raideur analytique+    prp1.put (STIFFMETHOD,STIFF_ANALYTIC)         #Sets the calculation method of the stiffness matrix to analytic
                                                            
-    prp1.put (CAUCHYMECHVOLINTMETH,VES_CMVIM_STD) #Methode d'integration des contraintes sur l'element  +    prp1.put (CAUCHYMECHVOLINTMETH,VES_CMVIM_STD) #Sets the method of integration of stresses in the element  
-                                                  #standard (integrer les contraintes deviatoriques et  +                                                  #to standard (integrate deviatoric stresses and  
-                                                  #pression a chaque point d'intégrationattention au locking!)+                                                  #pressure for each integration point, careful to locking!)
          
-    #2. Generation des elements finis volumiques sur le maillage+    #2. Generation of volume finite elements on the mesh
     #-----------------------------------------------------------     #-----------------------------------------------------------
-    app = FieldApplicator(1)                      #Creation d un generateur (numero 1) elements volumiques (interaction)   +    app = FieldApplicator(1)                      #Creates a generator (number 1) of volume elements (interaction)   
-    app.push(sideset(1))                          #Support = face 1 (supposee maillee+    app.push(sideset(1))                          #Sets the side 1 (supposed meshedas support 
-    app.addProperty(prp1)                         #Assigner la propriete prp1 aux futurs elements volumiques de la face 1  +    app.addProperty(prp1)                         #Assign the property prp1 to the future volume elements of the side 1  
-    interactionset.add(app)                       #Ajouter le generateur 1 (interaction) a la liste des interactions+    interactionset.add(app)                       #Adds the generator number 1 (interaction) to the interaction set
  
  
-__Attention:__ la commande ''addProperty'' ajoute une référence à l' ''ElementProperties'' dans l' ''Interaction'' et incrémente son nombre de référencesEn conséquencemodifier ''prp'après cette commande modifiera le comportement de l' ''Interaction''+__Careful:__ the command ''addProperty'' adds a reference to the ''ElementProperties'' in the ''Interaction'' and increments its number of referencesconsequentlymodifying the 'pafter using this command will also modify the behavior of the ''Interaction''
  
-On peut également écrire +Another way to do this is with the commands:
  
   prp = ElementProperties(typeEl)   prp = ElementProperties(typeEl)
   interactionset(no).addProperty(prp)   interactionset(no).addProperty(prp)
   prp.put(param1, valeur1)   prp.put(param1, valeur1)
-  prp.depend(param1, fct1, lock1) facultatif+  prp.depend(param1, fct1, lock1) optional
   prp.put(param2, valeur2)   prp.put(param2, valeur2)
-  prp.depend(param2, fct2, lock2) facultatif+  prp.depend(param2, fct2, lock2) optional
   ...   ...
  
-A ce jour, ''addProperty'' ne renvoie pas de référence vers l'objetOn ne peut donc PAS écrire +Howeverto this day ''addProperty'' does not return a reference toward the objectThe following line is therefore NOT valid:
  
   prp = interactionset(no).addProperty( ElementProperties(typeEl) )   prp = interactionset(no).addProperty( ElementProperties(typeEl) )
doc/user/elements/general/start.1373636557.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki