[MOAB-dev] r3386 - MOAB/trunk

wilsonp at engr.wisc.edu wilsonp at engr.wisc.edu
Wed Nov 25 08:59:22 CST 2009


Author: wilsonp
Date: 2009-11-25 08:59:22 -0600 (Wed, 25 Nov 2009)
New Revision: 3386

Modified:
   MOAB/trunk/ReadABAQUS.hpp
Log:
Add documentation for meta-data of ABAQUS mesh.

Modified: MOAB/trunk/ReadABAQUS.hpp
===================================================================
--- MOAB/trunk/ReadABAQUS.hpp	2009-11-25 14:15:47 UTC (rev 3385)
+++ MOAB/trunk/ReadABAQUS.hpp	2009-11-25 14:59:22 UTC (rev 3386)
@@ -27,6 +27,154 @@
 // Owner         : Paul Wilson
 //-------------------------------------------------------------------------
 
+/** Implementation of ABAQUS mesh hierarchy and meta-data on MOAB
+
+
+This reader processes data written by the ABAQUS computer-aided engineering
+front-end.  While that tool writes binary files in its own proprietary format,
+it also writes an ASCII input file that is the fundamental input to the
+ABAQUS solver itself.  A published syntax for this format is available from Simulia.
+
+This reader only supports a subset of the mesh syntax necessary to support 
+a basic thermal analysis of solid systems.
+
+An ABAQUS mesh makes use of the common paradigms of building a
+geometry as an "assembly" of "instances" of "parts".
+
+A "part" is defined as a set of "nodes" and "elements" connecting
+those nodes. The nodes and elements can be arranged in "node sets" and
+"element sets" and specific "materials" can be assigned to "element
+sets" other features of parts are not currently used by applications
+and are not implemented.
+
+
+Overview of supported sructure
+
+* File:
+   * Heading
+   * Part
+      * Nodes
+      * Elements
+      * Node Sets
+      * Element Sets
+      * Solid Sections
+   * Assembly
+      * Instance
+      * Node Sets
+
+
+An "instance" is a full copy of a "part" with a linear geometric
+transformation. To create a full copy:
+• a duplicate set of nodes is created by copying the coordinates of
+  the part nodes and applying a linear geometric transformation - the
+  new coords are used to define the new nodes
+• a new node set is created for each node set in the part and the set
+  of nodes among the duplicates are assigned to the new node set
+• a duplicate set of elements is defined by creating a new element
+  with a connectivity made up of the duplicate nodes that correspond
+  to the appropriate original element
+• a new element set is created for each element set in the part and
+  the set of elements among the duplicates are assigned to the new
+  element set; the corresponding material is also assigned go the new
+  element sets
+
+In order to provide convenient access to the data and mesh structures
+the following data model is used:
+
+• MBEntitySet file_set
+   • tags
+       • NONE
+   • members
+       • all nodes of all parts and all instances
+       • all elements of all parts and all instances
+       • all assembly_sets
+       • all part_sets
+• MBEntitySet part_set
+   • tags
+       • mSetNameTag (opaque=char*)
+         name of entitity set
+   • members
+       • part nodes
+       • part elements
+       • part node sets
+       • part element sets
+• MBEntitySet assembly_set
+   • tags
+       • mSetNameTag (opaque=char*)
+         name of entitity set
+   • members
+      • instance_sets
+      • instanec element_sets
+      • instance node_sets  
+      • instance nodes
+      • instance elements
+• MBEntitySet instance_set
+   • tags
+       • mSetNameTag (opaque=char*)
+         name of entitity set
+       • mPartHandleTag (handle)
+         pointer to part from which this instance was generated
+       • mAssemblyHandleTag (handle)
+         pointer to assembly in which this instance exists
+       • mInstancePIDTag (int)
+         ordinal number indicating which instance of this part
+       • mInstanceGIDTag (int)
+         ordinal number indicating which instance in this assembly
+   • members
+      • instance nodes
+      • instance elements
+      • instance node_sets  
+      • instanec element_sets
+• MBEntitySet node_set
+   • tags
+       • mSetNameTag (opaque=char*)
+         name of entitity set
+       • mPartHandleTag (handle)
+         pointer to part in which this node set exists
+       • mInstanceHandleTag (handle)
+         pointer back to instance set in which this node set exists
+         (NULL if this node_set is not in an instance)
+       • mAssemblyHandleTag (handle)
+         pointer to assembly in which this node set exists
+         (NULL if this node_set is not in an assembly)
+   • members
+      • nodes
+• MBEntitySet element_set
+   • tags
+       • mSetNameTag (opaque=char*)
+         name of entitity set
+       • mPartHandleTag (handle)
+         pointer to part in which this element set exists
+       • mInstanceHandleTag (handle)
+         pointer back to instance set in which this element set exists
+         (NULL if this node_set is not in an instance)
+       • mAssemblyHandleTag (handle)
+         pointer to assembly in which this element set exists
+         (NULL if this node_set is not in an assembly)
+       • mMatNameTag (opaque=char*)
+         name of material in these elements
+       • mMaterialSetTag (integer)
+         material id in these elements
+   • members
+      • elements
+• MBEntity node
+   • tags
+       • mLocalIDTag (int)
+         numerical ID of node in local scope (part, instance)
+       • mInstanceHandleTag (handle)
+         pointer back to instance set in which this node exists
+         (NULL if this node is not in an instance)
+• MBEntity element
+   • tags
+       • mLocalIDTag (int)
+         numerical ID of element in local scope (part, instance)
+       • mInstanceHandleTag (handle)
+         pointer back to instance set in which this element exists
+         (NULL if this element is not in an instance)
+
+
+ **/
+
 #ifndef READABAQUS_HPP
 #define READABAQUS_HPP
 



More information about the moab-dev mailing list