Importing Exodus II Files

ExodusII finite element data files can be imported into CUBIT. Several options for importing the mesh are available, (including mesh transformations):

1. Importing a free mesh without geometry.

2. Importing a free mesh and associating the mesh with ACIS-based geometry currently residing in CUBIT.

3. Importing a 2D mesh and constructing ACIS-based Geometry

4. Importing a mesh and constructing Mesh-Based Geometry from dihedral angles and boundary conditions.

The first two options listed above are described in detail in Mesh Importing and Duplicating. The third option, discussed in Importing 2D Exodus II Files, is a limited capability for constructing ACIS geometry from a 2D mesh. This section describes the fourth option of creating Mesh-Based Geometry [Owen,2001] from the nodes, elements and boundary conditions of a finite element mesh.

Mesh-Based Geometry

CUBIT's mesh generation tools require an underlying geometry representation. In most cases, the ACIS solid modeling engine, compiled with CUBIT, is used to represent the geometry. However, in some cases, an ACIS representation is not available, and a previously developed finite element mesh is the only available representation of the model. In order to utilize CUBIT's mesh generation tools, the import mesh geometry command provides an option for creating geometry directly from the finite element mesh.

The import mesh geometry command will create a new volume for every block defined in the Exodus II file. It will also create curves, surfaces and vertices at appropriate locations on the model based on dihedral angles (also called feature angles) and assigned nodesets and/or sidesets. The mesh used to construct the geometry will be owned by the new geometric entities. This means that the mesh can be deleted, remeshed, or smoothed using any of CUBIT's meshing tools by simply using the new geometry definition. CUBIT will assign appropriate intervals to the new curves as well as determine an acceptable meshing scheme for surfaces and volumes.

The command to import a finite element mesh from an ExodusII format file and generate geometry from the mesh is:

Import Mesh Geometry '<exodusII_filename>'
[Block <id_range>|ALL]

[Use [NODESET|no_nodeset]
[SIDESET|no_sideset]
[Feature_Angle <angle>] [LINEAR|Gradient|Quadratic|Spline]
[Deformed {Time <time>|Step <step>|Last} [Scale <value>] ]

[MERGE|No_Merge]

[export_facets <1|2|3>]

[merge_nodes <tolerance>]

File Name

Type the name of file to import in single quotation marks. The file must reside in the current directory. For information on changing the current directory, see CUBIT environment commands . To list all the files in the current directory, type ls at the command prompt.

Blocks

Use this option to select the specific blocks to be imported from the Exodus II file. If no blocks are entered, then all blocks will be read and imported from the file. Standard ID parsing can also be used in this argument to select a range of blocks. For example "1 to 5" or "1, 5 to 10 except 6".

Each unique block selected to be imported will define a new body in the geometric model. Figure 2 shows a simple example of the geometry generated from the 3D finite element mesh.

Figure 2. Example of mesh based geometry (right) created from a finite element mesh (left)

Blocks may be composed of 1D, 2D or 3D elements. For blocks composed of 2D elements (ie QUAD4, SHELL etc.), a sheet body will be created. One dimensional elements (ie. BEAM, TRUSS, etc.) will define curves. Where a block may be composed of more than one disconnected sets of elements, one body will be created for each continuous region of elements assigned to the same block. Where possible, the ID of the new body will be the same as the block ID. Since IDs must be unique, if a body ID is already in use, the next available ID will automatically assigned by the program.

Nodesets/Sidesets

Use the nodeset and sideset options to use any nodeset and sideset information in the Exodus II file in constructing geometry. Recall that nodesets and sidesets are generic boundary condition data assigned to nodes, edges or faces of the finite elements. It is useful to group mesh entities belonging to unique boundary conditions into geometric entities. This permits the user to remesh a particular region of the model without having to reassign boundary conditions.

If the nodeset and sideset arguments are given, geometric entities will be generated for each unique set of nodes, edges or element faces assigned to a nodeset or sideset. The default is to use any nodeset and sideset information available in the file. Figure 3 shows an example of how nodeset and sideset information might be used to generate geometry.

Figure 3. Example of geometry created from mesh entities assigned to nodesets (3) and sidesets (1 and 2).

Upon import, nodesets and sidesets are automatically created with the appropriate geometric entities assigned to them. The IDs of the new geometric entities, if generated from boundary condition data, will be the same as the nodeset and sideset IDs. Where doing so would conflict with existing geometric IDs, the program will automatically select the next available ID.

Feature Angle

Use this option to specify the angle at which surfaces will be split by a curve or where curves will be split by a vertex. 180 degrees will generate a surface for every element face, while 0 degrees will define a single, unbroken surface from the shell of the mesh. The default angle is 135 degrees.

Figure 4. Example use of Feature Angle

Figure 4 shows an example of the use of different feature angles. On the left is a simple two-element hex mesh. Specifying a feature angle greater than 120 degrees would create the geometry in the center image. Using a feature angle less than 120 degrees and greater than 90 degrees would define the geometry on the right.

Smooth Curves and Surfaces

This argument allows the option of using a higher-order approximation of the surface when remeshing/refining the resulting geometry. Default is to use the original mesh faces themselves as the curve and surface geometry representation. If the finite element model to be imported is to represent geometry with curved surfaces, it may be useful to select this option. If selected, it will use a 4th order B-Spline approximation to the surface [Walton,96]. Figure 5 shows the effect of the smooth curve and surface option.

Figure 5. Effect of Smooth Curve and Surface Option for remeshing of mesh-based geometry

In this figure the top image is the original finite element mesh imported into CUBIT. In this example both models have been remeshed with the same element size. The difference is that the figure on the right use the smooth curve and surface option. While this option can improve the surface representation, it should be noted that memory requirements and meshing times can sometimes be affected.

If importing the Exodus II file using the command line, other options for surface representations are also available.

[LINEAR|Gradient|Quadratic|Spline]

The method used from the GUI is either Linear or Spline. The Gradient and Quadratic methods are still somewhat experimental and may not be as general purpose as the Spline representation.

Apply Deformations

This option permits the user to import time-dependant deformation information from the Exodus file. For this option, any vector data in the Exodus II file is assumed to be deformation information. If selected, deformations will be applied to the nodes upon import. Enter a specific time step value, integer step, or the last time available in the file. If time-dependant data is available in the Exodus II file, selecting the down arrow in the edit field will display the available time steps in the file. Default time is the last time step.

Figure 6. Example of remeshing of a deformed finite element mesh

Figure 6 shows an example of using Mesh-Based Geometry for a large deformation analysis. In this case, the analysis [Attaway et. al.,98] began and continued until mesh quality became unacceptable. At that point, the mesh was imported into CUBIT and geometry re-created from the computed deformations. The finite element mesh could then be removed, remeshed or improved and written back to an Exodus II file. After remapping [Wellman,99] the appropriate analysis variables back to the mesh, the analysis could then be restarted. This process was repeated multiple times until the desired results were achieved.

Note: Care should be taken when using large deformations, as inverted elements (negative Jacobians) may produce unpredictable results with the resulting geometric representation.

Also available is an optional scale factor. This applies the indicated scale to all deformations. Default is 1.0.

Merge

This option allows the user to either merge or not merge the resulting volumes. The default option is to merge adjacent volumes. This results in non-manifold topology, where neighboring volumes share common surfaces. Using the no_merge option, adjacent volumes will generate distinct/separate surfaces.

Merge Nodes

The merge_nodes option will allow the user to specify a different tolerance for merging nodes on import.  The default value is 1e-6.  

Note: Care should be taken when setting import merge tolerances.  Setting a tolerance too low will not merge adjacent nodes.  Setting the tolerance too high can produce undesirable results, and severely tangle the mesh.

Export Facets

[export_facets <1|2|3>]

This is primarily a debug option available only from the command line. This option will export the shell of the Exodus mesh to an ASCII file in the form of facets. The resulting file can be imported to Cubit using the "Import Facets" command. Export options: 1 = export only the exterior facets to file "facets.shell"; 2 = export only the interior facets between element blocks to file "facets.inter"; 3 = export all boundary facets to file "facets.all".