Sculpt Adaptive Meshing

Sculpt options for specifying adaptive meshing. Sculpt uses an initial overlay Cartesian grid that serves as the basis for the all-hex mesh. The default mesh size will roughly follow the constant size cells of the overlay grid. The adaptivity option allows the user to automatically split cells of the Cartesian grid based on geometric criteria, resulting in smaller cells in regions with finer details. The adapted grid is then used as the basis for the Sculpt procedure.

3D-multi-level-1a 3D-multi-level-2a 3D-multi-level-smoothed

Fig 1. Adaptive mesh begins with constant size coarse Cartesian grid. Cells are recursively split based on geometry critera and transitions added between levels. Projections and smoothing are performed to improve element quality.

Three options are used for controlling the adaptivity in sculpt: adapt_type, adapt_levels and adapt_threshold. The adapt_type option controls the method and geometric critera used for deciding which cells to split in the grid, while the adapt_levels option controls the the maximum number of times any one cell can be split. Depending upon the adapt_type selected, the adapt_threshold is used as the specific geometric threshold value at which the decision is made to split any given cell.


Fig 2. Initial cut-away view of adpted grid from dragon model before performing Sculpt operations.

dragon-L4 dragon-L4-cut

Fig 3. The final mesh of the dragon model and cutaway view of the mesh is shown with up to 4 levels of adaptive refinement.

Adaptive Meshing 		--adapt 	-adp
  --adapt_type,		-A <args>	Adaptive meshing type
  --adapt_threshold,	-AT <args>	Threshold for adaptive meshing
  --adapt_levels,	-AL <args>	Number of levels of adaptive refinement
  --adapt_export,	-AE		Export exodus mesh of refined grid

Sculpt Command Summary

Adaptive Refinement Type

Command: adapt_type     Adaptive meshing type

Long Name:     --adapt_type 
Short Name:     -A 
Argument Type:   integer (0, 1, 2, 3, 4, 5) 
Input arguments: off (0)
                 facet_to_surface (1)
                 surface_to_facet (2)
                 surface_to_surface (3)
                 vfrac_average (4)
                 coarsen (5)
Command Description:

This option will automatically refine the mesh according to a user-defined criteria. Without this option, a constant cell size will be assumed everywhere in the model. To build the mesh, Sculpt uses an approximation to the exact geometry of the CAD model by interpolating mesh surfaces from volume fraction samples in each cell of the Cartesian grid. In general, the, higher the resolution of the Cartesian grid, the more sampling is done and the more accurate the mesh will represent the initial geometry. The adapt_type selected will control the criteria used for refining the mesh. If the criteria is not satisfied, the refinement will continue until a threshold indicated by the adapt_threshold parameter is satisfied everywhere, or the maximum number of levels (adapt_levels) is reached. The following criteria for refinement are available:

To maintain a conforming mesh, transition elements will be inserted to transition between smaller and larger element sizes. Default for the adapt_type option is off (0) (or that no adaptive refinement will take place).

In all cases the initial Cartesian grid defined by xint, yint and zint or the cell_size value will be used as the basis for refinement and will define the approximate largest element size in the mesh.

Adaptive Refinement Threshold

Command: adapt_threshold     Threshold for adaptive meshing

Long Name:     --adapt_threshold 
Short Name:     -AT 
Argument Type:   floating point value >= 0.0 
Command Description:

This value controls the sensitivity of of the adaptivity. The value used should be based upon the adapt_type:

Note that the user defined adapt_threshold may not be satisfied everywhere in the mesh if the value defined for adapt_levels is exceeded.

Number of Adaptive Levels

Command: adapt_levels     Number of levels of adaptive refinement

Long Name:     --adapt_levels 
Short Name:     -AL 
Argument Type:   integer >= 0 
Command Description:

The maximum number of levels of adaptive refinement to be performed. One level of refinement will split each Cartesian grid cell identified for uniform refinement into eight child cells. Two levels of refinement will split each cell again into eight, resulting in sixty-four child cells, three levels into 256, and so on. The maximum number of subdivision per cell is give as:

      number of cells = 8^adapt_levels

The minimum edge length for any cell will be given by:

      min cell edge length = cell_size / adapt_levels^2

The actual number of refinement levels used will be determined by whether all cells meet the adapt_threshold, or the adapt_levels value is exceeded. The default adapt_levels is 2. Note that setting the adapt_levels more than 4 or 5 can result in long compute times.

Export Refined Cartesian Grid

Command: adapt_export     Export exodus mesh of refined grid

Long Name:     --adapt_export 
Short Name:     -AE 
Argument Type:   none 
Command Description:

Export an exodus mesh containing the refined Cartesian grid. Interface reconstruction, boundary layer insertion and smoothing have not yet been applied to this mesh. It is the base mesh used as input to Sculpt. One file per processor will be exported in the form "vfrac_adapt.e.x.x". This option is primarily used for debugging the refinement option.