Exodus II-based Field Function

The ability to specify the size of elements based on a general field function is also available in CUBIT. With this capability, the desired element size can be determined using a field variable read from a time-dependent variable in an Exodus II file. Both quadrilateral and triangle elements are supported for surfaces, but only tetrahedral elements are supported for volumes at this time.

A field function is a time-dependent variable in an Exodus II file. Either node-based or element-based variables may be used. Currently, field functions are imported from element and node-based Exodus II data. The mesh block containing the corresponding elements must be imported along with the field function data.

Exodus variable-based adaptive meshing is accomplished in CUBIT in several steps:

  1. Surface mesh scheme set to Pave or TriMesh, and/or volume mesh scheme set to Tetmesh.
  2. An Exodus mesh and time-dependent variable for that mesh is read into CUBIT.
  3. The mesh and variable data are associated to geometry.
  4. The Exodus variable is normalized to give localized size measures, and the surface/volume sizing function type is designated.
  5. Geometry is meshed

Importing a field function and associating it with its geometry, and normalizing that function are done in two separate steps to allow renormalization. The following command is used to read in a field function and its associated mesh:

Import Sizing Function '<exodusII_filename>' Block <block_id> Variable `<variable_name>' Time <time_val> [Deformed]

where block_id is the element block to be read, variable_name is the Exodus time-dependent variable name (either element-based or nodal-based),and time_val is the problem time at which the data is to be read. The Deformed keyword indicates whether deformation has been accounted for on the new model (for information on creating deformed 2D geometry from EXODUSII data, see Importing 2D EXODUSII Files) and needs to be accounted for in the sizing function data. When this command is given, the nodes and elements for that element block are read in and associated to geometry already initialized in CUBIT.

Note that when a sizing function is read in, the mesh is stored in an ExodusMesh object for the corresponding geometry, and therefore the geometry is not considered meshed. Also note that if deformation is not being modeled, the geometry to which the mesh is being associated must be in the same state as it was when that mesh was written (see Importing a Mesh for more details on importing meshes).

Once the field function has been read in and assigned to geometry, it can be normalized before being used to generate a mesh. The normalization parameters are specified in the same command that is used to specify the sizing function type for the surface or volume. The syntax of this command is:

Surface <id> Sizing Function Type Exodus [Min <min_val> Max <max_val>]

Volume <id> Sizing Function Type Exodus [Min <min_val> Max <max_val>]

If normalization parameters are specified, the field function will be normalized so that its range falls between the minimum and maximum values input. Subsequent normalizations operate on the normalized data and not on the original data. If an element-based variable is used for the sizing function, each node is assigned a sizing function that is the average of variables on all elements connected to that node. Nodal variables are used directly.

After the sizing function normalization, the geometry may be meshed using the normal meshing command.

For example, the left image in Figure 1 depicts a plastic strain metric which was generated by PRONTO-3D [Taylor, 89] a transient solid dynamics solver, and recorded into an ExodusII data file. When the file is read back into CUBIT, the paving algorithm is driven by the function values at the original node locations, resulting in an adaptively generated mesh [Attaway, 93]. The right image in Figure 1 depicts the resulting mesh from this plastic strain objective function.

Figure 1. Plastic strain metric and the adaptively generated mesh

Surface/Curve Meshing with Exodus II - based Field Functions

While adaptively meshing a surface using a field function, the curves will be meshed using the Exodus II information. To override this, curves may have their meshing scheme set to equal or some other desired scheme. While adaptively meshing a volume using a field function, the surfaces and curves will be meshed using the Exodus II information. To override this for a surface, one can set the sizing function to "none" for that surface.