Trelis 16.3 User Documentation
The ability to specify the size of elements based on a general field function is also available in Trelis. 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 Trelis in several steps:
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 Trelis.
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.
To use the exodus II-based field function
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 Trelis, 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.
In addition to the capability to adaptively mesh surface using a field function, curves may also be meshed separately using the Exodus II information. The Stride scheme for meshing curves is used for this purpose. If the user does not specify a mesh scheme for the curve, Trelis will default to scheme Stride when the Exodus sizing function is used for surfaces and volumes defined by that curve.