Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:geometry:import:tuto2

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:geometry:import:tuto2 [2013/07/12 15:42] – external edit 127.0.0.1doc:user:geometry:import:tuto2 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Metafor pour les nuls (partie #2) ======+====== Reading SAMCEF files ======
  
 ===== Introduction ===== ===== Introduction =====
  
-Ici nous utilisons la méthode de préprocessing la plus longue et la plus tordue:+{{:doc:user:ico-advanced.png?40 |Advanced}} 
 +Due to historical reasons, the preprocessor of [[http://www.plm.automation.siemens.com/fr_be/products/lms/samtech/|SAMCEF]] (called BACON) can be used to generate a mesh and geometrical entities. The module ''toolbox.samcef'' defines functions that convert a ''.fdb'' file (''fdb'' stands for "formatted database") to commands that Metafor understands. If a ''.dat'' file (i.e. a BACON script file) is provided, Metafor automatically runs BACON first as a background process in order to create the missing ''.fdb'' file. In this case, a SAMCEF license is required.
  
-    * création d'une géométrie et d'un maillage par [[doc:user:general:glossaire#Bacon]], le prépro de [[doc:user:general:glossaire#Samcef]], +<note important>Using BACON is not recommended! The user who wants to use a another preprocessor should have a look at [[:doc:user:geometry:import:importgmsh|gmsh]] which is modernfreeand sometimes more robust than BACON.</note>
-    * création des paramètres et conditions aux limites par [[doc:user:general:glossaire#Python]], +
-    * calcul par Metafor.+
  
-Cette méthode  **n'est PAS recommandée** pour les tests simples (pouvant être maillés par les mailleurs inclus dans Metafor)Elle fait intervenir [[doc:user:general:glossaire#Samcef]] qui nécessite une licence. En bref, si on n'a plus de licence [[doc:user:general:glossaire#Samcef]], on ne peut plus faire tourner le modèle créé sur cette page. Cette méthode est donc de moins en moins utilisée en pratique.+===== BACON ''.dat'' file =====
  
-===== Partie Bacon =====+The example simulation consists of a sheared cube (lower and upper faces and fixed and moved one with respect to another). The figure below shows the geometry:
  
-==== Présentation du cas-test ====+{{ doc:user:cube_geo.png?400 |Geometry of the model}}
  
-Le but de cet exercice est de créer un [[doc:user:general:glossaire#cas-test]] assez basique en passant par les 3 étapes: [[doc:user:general:glossaire#Bacon]], [[doc:user:general:glossaire#Python]] et [[doc:user:general:glossaire#Metafor]]Le calcul consiste en un cisaillement d'un cube (les faces supérieures et inférieures sont fixées et déplacées l'une par rapport à l'autre). La figure suivante montre la géométrie :+The BACON input file named ''cubeCG.dat'' (located in ''apps/ale'') contains the commands used to create the geometry, the mesh and node groups (selections). 
  
-{{ doc:user:cube_geo.png?400 |Géométrie du test}}+__Geometry__
  
-Le fichier ''aleCubeCg.dat'' (dans ''apps/bQs'' pour une version à jour) montre les commandes utilisées pour créer la géométrieles maillages et les sélectionsVoir le manuel [[doc:user:general:glossaire#Bacon]] pour le détail des commandes.+The geometry is created with the following BACON commands (see BACON manual for details): 
 +    * ''.3POI'' for the 8 points. 
 +    * ''.3DRO'' for the 12 edges. 
 +    * ''.CON'' for the 6 wires. 
 +    * ''.FACE'' for the 6 sides. 
 +    * ''.PLAN'' to create a surface (required for the 2D domainsee below). 
 +    * ''.VPEAU'' for the skin. 
 +    * ''.DOM'' for the domain (one 3D domain - the cube - and one 2D domain - the lower side which will be meshed and extruded).
  
-==== Géométrie ====+__Mesh Generation__
  
-    * Commande ''.3poi'' pour les 8 points+    * Performed with ''.GEN''
-    * Commande ''.3dro'' pour les 12 arêtes+    * Lines are meshed with the command "''MODIFIE LIGNE''"
-    * Commande ''.con'' pour les 6 contours. +    * The lower side is meshed with a transfinite mapping (command "''transfini''"and extruded with the command "''EXTRUSION''"
-    * Commande ''.face'' pour les 6 faces. +    * An attribute number must then be defined.
-    * Commande ''.plan'' pour créer une surface (nécessaire pour le domaine 2D - voir + loin)+
-    * Commande ''.vpeau'' pour faire la peau (''Skin'' dans Metafor)+
-    * Commande ''.dom'' pour le domaine (1 domaine 3D - le cube - et 1 domaine 2D - la face inf qui va être maillée et extrudée).+
  
-==== Maillage ====+__Choice of Element Type__
  
-    * Il s'effectue avec ''.gen''+    * The command ''.HYP VOLUME'' is used (in 2D and 3D).
-    * Les lignes sont maillées avec la commande "''modifie ligne''"+
-    * On maille la face inférieure en transfini (commande "''transfini''"et on l'extrude avec la commande "''extrusion''"+
-    * Ne pas oublier de définir un numéro d'attribut.+
  
-==== Déclaration du type d'éléments ====+__Definition of node/element groups (selections)__
  
-    * utiliser la commande ''.hyp volume'' (en 2D et 3D).+    * The command ''.SEL'' is used 
 +    * If ''.REN'' is used to change the numbering of nodes and mesh elements, it should be done before the ''.SEL''
 +    * Node selections will be used to define boundary conditions (fixations, contact, ...in the Metafor model.
  
-==== Définition des sélections ====+__Manual Creation of the ''.fdb'' file__
  
-    * Utiliser la commande ''.sel'' +BACON can be started manually with the command:
-    * Si on utilise ''.ren'' pour renuméroter les noeuds et mailles, vérifier de le faire avant le ''.sel''+
-    * Les sélections de noeuds seront utilisées pour la définition de conditions aux limites (fixations, contact, etc) dans le fichier python.+
  
-===== Création du fichier .fdb Bacon =====+  samcef ba aleCubeCg n 1
  
-A partir du fichier ''.dat'', on crée un ''.fdb'' en le moulinant dans [[doc:user:general:glossaire#Bacon]]Pour ce faire, en ligne de commande :+From the ''.dat'' file''.fdb'' is created with BACON with the commands: 
 +  INPUT 
 +  .SAUVE DB FORMAT 
 +  .STO
  
-    samcef ba aleCubeCg n 1 +__Summary:__ What can be imported from BACON?
-    input +
-    .sauve db format +
-    .sto+
  
-===== Traduction des données vers un script Python =====+    * Points 
 +    * Curves: ''Line'' - ''Arc'' (points generated automatically with a negative numbed in Metafor are shifted (''numPoint numMaxPoints-numPoint''
 +    * Surface: ''Plan'' - ''Ruled'' - ''Coons'' (Only planes defined using three numbers are imported (other planes generate cpoints outside db) ). 
 +    * Wire 
 +    * Sides: Imported (even if not treated by Bacon) 
 +    * Skins: If ''MultiProjSkin'' objects are created, it is best to create them in the Python data set. 
 +    * Nodes: (imported as ''MeshedPoints''
 +    * Mesh elements: Triangle - Quad - Tetra - Hexa (with recovery in Metafor) 
 +    * Selections: only groups of nodes are imported (other have no use in Metafor) 
 +    * "DAO -- Mesh" relations are not read again (''nodeOnLine'', ...)
  
 +===== Metafor input file =====
  
-Dans [[doc:user:general:glossaire#Metafor]], on traduit le fichier ''.dat'' grâce à un [[doc:user:general:glossaire#module]] de traduction nommé ''importFdb''. Ca donne, en ligne de commande sous +__Reading the BACON file from Metafor__
  
-    import toolbox.importFdb +In Metafor, the file ''.dat'' is converted thanks to a conversion module named ''toolbox.samcef'' (see ''apps.ale.cubeCG''):
-    toolbox.importFdb.bacon2PyMeta('apps/bQs/aleCubeCg')+
  
-Normalementun fichier ''aleCubeCgBacon.py''été créé dans le répertoire ''apps.bQs''+  import toolbox.samcef 
 +  bi = toolbox.samcef.BaconImporter(domainos.path.splitext(__file__)[0]+'.dat
 +  bi.execute() 
 +   
 +where ''domain'' is the domain that should be filled with the converted mesh and geometry. The second argument corresponds to the full path to the file ''cubeCG.dat'' (it is computed from the full path of the python input file). 
 +  
 +If all goes well, file  ''cubeCG.fdb'' is then created in the folder ''workspace/apps_ale_cubeCG''
  
-===== Création du fichiers "paramètres" dans Python =====+__Element Generation in Metafor__
  
-Le fichier de paramètres et conditions aux limites se crée dans PythonLa liste des commandes est similaire aux [[doc:user:tutorials:tuto1]].+The BACON attributes are converted to ''Groups'' in MetaforFor example, if attribute #99 has been used when generating mesh in BACON, all the elements are stored in ''groupset(99)'' in Metafor 
 +  app = FieldApplicator(1) 
 +  app.push(groupset(99)) 
 +  interactionset.add(app) 
 +   
 +__Boundary conditions in Metafor__
  
-Le fichier "paramètres" utile est nommé ''aleCubeCg.py''.+Selections in BACON are translated into ''Groups'' with the same number. Boundary conditions such as prescribed displacements or contact can be thus defined easily in Metafor. For example, a selection such as ''.SEL GROUPE 4 NOEUDS'' can lead to the following command in the input file:  
 +  loadingset.define(groupset(4), Field1D(TX,RE))
  
-On peut récupérer les données venant de Bacon en important le module python créé par le traducteur ''importFdb'': +<note important>ConsequenceGroups should be defined with different number from attributes</note>
- +
-    import apps.bQs.aleCubeCgBacon  +
-    apps.bQs.aleCubeCgBacon.fillImportedFdb(dom) +
- +
-Le reste des paramètres se définissent comme d'habitude. Pour distinguer les différents groupes de mailles (attributs Bacon), des [[doc:user:geometry:user:selections|groupes Metafor]] (classe ''Group'') ont été créés. Ils peuvent être utilisés pour appliquer des conditions aux limites et définir des propriétés élémentaires. Par exemple: +
- +
-    # ATTRIBUTS         +
-    prp99 = ElementProperties(Volume3DElement) +
-    prp99.put(MATERIAL,1) +
-    prp99.put(CAUCHYMECHVOLINTMETH,VES_CMVIM_SRI) +
-    prp99.put(STIFFMETHOD,MES_STIFFANALYTIC) +
-     +
-    intset = dom.getInteractionSet() +
-    app99 = FieldApplicator(99) +
-    app99.push(99,GROUP_ID) +
-    intset.copy(app99) +
-    intset(99).addProperty(prp99) +
-===== Calcul Metafor ===== +
- +
- +
-Le calcul se lance par la commande ''meta('apps.bQs.aleCubeCg')''+
- +
-{{ doc:user:cube_result.png?400 |résultat du test aleCubeCg}} +
- +
-===== Conseils ===== +
- +
- +
-    * Ne pas définir de groupes ayant le même numéro que les numéros d'attribut (le père etant mis sur un groupe fictif du numéro d'attribut) sauf si il contient les noeuds du maillage de numéro d'attribut correspondant. +
-    * Si l'on généré des éléments [[doc:user:general:glossaire#CAO|DAO]] non importés dans Metafor, utiliser la commande ''.del.dao'' pour la supprimer (une [[doc:user:general:glossaire#CAO|DAO]] incomplète risque de faire planter Metafor) +
-    * Plus besoin de renuméroter les noeuds et mailles +
- +
- +
-===== Limites de l'import BACON ===== +
- +
-    * Points +
-    * Courbes : ''Line'' - ''Arc'' (les points autogénérés de numérotation négatifs dans Bacon sont décalés (''numPoint = numMaxPoints-numPoint''+
-    * Surface : ''Plan'' - ''Ruled'' - ''Coons'' (Seuls les plans définis par 3 points sont importés (les autres génères des cpoints hors db) ) +
-    * Wire +
-    * Sides : Importées (même si pas traitées par Bacon) +
-    * Skins: Attention si on créé des objets ''MultiProjSkin'', il vaut mieux les créer dans le jeux de données python... +
-    * Nodes :(importés en tant que ''MeshedPoint''s) +
-    * Mailles : Triangle - Quad - Tetra - Hexa (avec redressement dans Metafor) +
-    * Selections : seuls les groupes de noeuds sont importés (les autres n'ont pas d'usage dans Metafor) +
-    * Les relations "DAO -- Maillages" ne sont pas relues (''nodeOnLine'', ...)+
doc/user/geometry/import/tuto2.1373636557.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki