Sculpt Mesh Type

Sculpt options for specifying the type of mesh that will be generated. The default mesh type that will be produced from Sculpt is an unstructured all-hex mesh that will attempt to conform as closely as possible to the input geometry. Sculpt will normally generate its mesh on the interior of the input geometry, however with the mesh_void option, it can also generate the mesh on the exterior of the geometry, out to the extent of the user-defined Cartesian overlay grid.

In addition to the default hex mesh, other types of meshes may be produced. This includes the stair-step mesh where the cells of the Cartesian grid inside or intersecting the geometry are used directly as the mesh without projections or smoothing. A triangle mesh may also be generated, which can be used as the basis for a facet-based geometry representation. Other methods include the capabilities to generate a hex-dominant mesh with hexes and tets as well as the ability to include degenerate elements.


Mesh Type                    -typ     --type
  --stair                    -str  <arg> Generate Stair-step mesh                       
  --mesh_void                -V    <arg> Mesh void                                      
  --trimesh                  -tri        Generate tri mesh of geometry surfaces         
  --tetmesh                  -tet  <arg> Under Development                              
  --deg_threshold            -dg   <arg> Convert hexes below threshold to degenerates   
  --max_deg_iters            -dgi  <arg> Maximum number of degenerate iterations        
  --htet                     -ht   <arg> Convert hexes below quality threshold to tets  
  --htet_method              -hti  <arg> Method used for splitting hexes to tets        
  --htet_material            -htm  <arg> Convert hexes in given materials to tets       
  --htet_transition          -htt  <arg> Transition method between hexes and tets       
  --htet_pyramid             -htp  <arg> Local transition pyramid                       
  --htet_tied_contact        -htc  <arg> Local transition tied contact                  
  --htet_no_interface        -htn  <arg> Local transition none                          

Sculpt Command Summary

Stair

Command: stair     Generate Stair-step mesh

Input file command:   stair <arg>
Command line options: -str <arg>
Argument Type:        integer (0, 1, 2, 3) 
Input arguments: none (0)
                 off (0)
                 on (1)
                 full (1)
                 interior (2)
                 fast (3)
Command Description:
stair

Example stair-step mesh on STL geometry.

The stair option generates a stair-step mesh where the cells of the Cartesian grid are used in the final mesh without projection or smoothing to the material interfaces. Cells selected from the Cartesian grid to be used in the final mesh will have volume fraction greater than 0.5. Several different options for the stair argument are available:

off (0): Stair option is off (default)

full (1): Stair-step mesh is generated, but additional processing is done to ensure material interfaces are manifold. This option may add or subtract cells from the basic mesh (where volume fraction > 0.5) to ensure no non-manifold connections between nodes and edges exist in the final mesh.

interior (2): The exterior boundary will be smooth while internal material interfaces will be stair-step. This option also ensures manifold connections between elements.

fast (3): Generates the final mesh based only on volume fraction criteria. No additional processing is done to ensure manifold connections between edges and nodes.


Mesh Void

Command: mesh_void     Mesh void

Input file command:   mesh_void <arg>
Command line options: -V <arg>
Argument Type:        true/false or only 
Input arguments: off (0)
                 false (0)
                 on (1)
                 true (1)
                 only (2)
Command Description:
mesh_void

Mesh is generated in the void region surrounding the STL geometry.

The mesh_void accepts the following parameters:

off (0): No mesh is generated in the void region

on (1): Mesh is generated in the void region

only (2): Mesh is generated only in the void region and not in the material

If mesh_void option is set to on or only, then the void space surrounding the geometry will be treated as a separate material. Elements will be generated in the void to the extent of the Cartesian grid boundaries. If void_mat option is not used, the material ID of elements in the void region will be the maximum material ID in the model + 1. See also the separate_void_blocks option to separate the void elements into contiguous blocks.


Trimesh

Command: trimesh     Generate tri mesh of geometry surfaces

Input file command:   trimesh
Command line options: -tri
Command Description:
trimesh

Trimesh generated from voxel microstructure data.

Generate a triangle mesh of the surface geometry. Surface geometry will be defined based on input grid resolution as well as user defined smoothing smoothing parameters. Resulting exodus mesh will contain only TRI elements. All TRI elements will be assigned to the same block in the exodus file.

This option is most often used in conjunction with the --write_geom option used to build a mesh-based geometry in Cubit. Use the following command in Cubit to import a Sculpt trimesh exodus file and s2g file (produced from --write_geom)

  import s2g <root filename>
See write_geom for more information on s2g files.

Tetmesh

Command: tetmesh     Under Development

Input file command:   tetmesh <arg>
Command line options: -tet <arg>
Argument Type:        none 
Input arguments: off (0)
                 on (1)
                 true (1)
                 meshgems (2)
Command Description:

Under Development - uses space-filling tets as base grid. Size and extent is defined by bounding box options.

The meshgems (2) option uses a third party tet mesher to place interior tets. Triangle mesh is defined by splitting quads on surface. Both tetmesh options are currently only implemented for serial execution.


Degenerate (Edge Collapse) Threshold

Command: deg_threshold     Convert hexes below threshold to degenerates

Input file command:   deg_threshold <arg>
Command line options: -dg <arg>
Argument Type:        floating point value (-1.0 -> 1.0) 
Command Description:
degenerate

Examples of degenerates hexes where select edges have been collpased.

Some geometries will not permit a usable mesh with a traditional all-hex mesh. Sculpt includes the option to automatically and selectively collapse element edges to improve low-quality elements. The max_deg_iters and the deg_threshold values are used to control the creation of degenerates. Degenerate elements are treated as standard hex elements, but use repeated nodes in the eight-node connectivity array.

The deg_threshold value indicates scaled Jacobian threshold for edge collapses. Nodes at hexes below this threshold will be candidates for edge collapses, provided doing so will improve the minimum scaled Jacobian at the neighboring hexes. Default is -1.0.


Maxmimum Degenerate Iterations

Command: max_deg_iters     Maximum number of degenerate iterations

Input file command:   max_deg_iters <arg>
Command line options: -dgi <arg>
Argument Type:        integer >= 0 
Command Description:

Maximum number of edge collapse iterations to perform to create degenerate hex elements. Default is 0. See also deg_threshold


HTet

Command: htet     Convert hexes below quality threshold to tets

Input file command:   htet <arg>
Command line options: -ht <arg>
Argument Type:        floating point value (-1.0 -> 1.0) 
Command Description:
htet

Tet elements generated where quality drops below threshold.

Automatically generate tets in place of poor quality elements. This option can be used to eliminate poor quality hex elements by replacing each hex that falls below the user defined Scaled Jacobian with 6 or 24 tets. The method used for splitting is controlled by the htet_method option. The default threshold value for htet is -1.0, which turns off the generation of all tets. A value of 1.0 will split all hexes into tets.

If a neighboring element is a hex, and will not be split, one may choose whether to use pyramid transitions or have hanging nodes. The default is to have hanging nodes with a tied contact condition being created. The transition type may be specified with the htet_transition command.

If tet blocks are created, their ids will be the material id plus an offset based on the maximum material id. Likewise, any pyramid blocks created will be offset as well, with their ids coming after hex block ids if there are no tets, or with their ids coming after tet blocks.


HTet Method

Command: htet_method     Method used for splitting hexes to tets

Input file command:   htet_method <arg>
Command line options: -hti <arg>
Argument Type:        integer (1, 2) 
Input arguments: none (0)
                 structured (1)
                 unstructured (2)
Command Description:

Specifies which method is used for splitting hexes into tets:

structured (0): Each hex is subdivided into 24 tets. Additional nodes are The 24 tets are formed by inserting one node at the center of each face and one on the interior.

unstructured (1): Each hex is subdivided into 6 tets. No additional nodes are inserted. Note that the unstructured method does not currently support the htet_transition options pyramid and tied_contact.

Default htet_method is structured (0).

sculpt_htet_method

Left: Structured htet_method subdivides each hex into 24 tets. Right: Unstructured htet_method subdivides each hex into 6 tets


HTet Material

Command: htet_material     Convert hexes in given materials to tets

Input file command:   htet_material <arg>
Command line options: -htm <arg>
Argument Type:        integer >= 0 
Command Description:

Generate tets in place hexes in a given material. This option can be given multiple times to specify multiple materials. Each hex in a material is replaced with 24 tets. The 24 tets are formed by inserting one node at the center of each face and one on the interior.

If an neighboring element is a hex, and will not be split, one may choose whether to use pyramid transitions or have hanging nodes. The default is to have hanging nodes with a tied contact condition being created. The transition type may be specified with the htet_transition command.

If tet blocks are created, their ids will be the material id plus an offset based on the maximum material id. Likewise, any pyramid blocks created will be offset as well, with their ids coming after hex block ids if there are no tets, or with their ids coming after tet blocks.

    htet_material = 10
    htet_material = 12
    htet_transition = pyramid
    htet_no_interface =  10 13
sculpt_htet

Simple example of the use of hybrid tet-hex capability using the above example input. Materials 10 and 12 use tet elements while 13 remains hexes. The default transition is to use pyramids, while the specific interface between 10 and 13 has no interface.


HTet Transition

Command: htet_transition     Transition method between hexes and tets

Input file command:   htet_transition <arg>
Command line options: -htt <arg>
Argument Type:        none/pyramid/tied_contact 
Input arguments: none (0)
                 pyramid (1)
                 tied_contact (2)
Command Description:

When generating tets adjacent to hexes, the transition type between the two elements can be defined. Possible options are:

If pyramid transition is specified, the hex may be split into 1 pyramids and 20 tets, 2 pyramids and 16 tets, 3 pyramids and 12 tets, and so forth. The mesh will remain conformal if pyramid transition is specified.

A tied contact condition can be defined to ensure continuity of the neighboring tets and hexes. To facilitate this, one additional nodeset and sideset will be generated and output to the exodus file if the gen_sidesets = variable (2) option is specified. The sideset and nodeset will be identified with the following IDs:

Sideset 10000 = the set of hex faces that interface a set of 4 tets.

Nodeset 1000 = the set of nodes at the interface between hexes and tets. One node per face in Sideset 10000 will be included.


Local HTet Transition Pyramid

Command: htet_pyramid     Local transition pyramid

Input file command:   htet_pyramid <arg>
Command line options: -htp <arg>
Argument Type:        integer(s) >= 0 
Command Description:

When generating tets adjacent to hexes, pyramid transitions can be specified for a given material or material interface. To specify a material interface, two material ids are given to specify pyramid transition between the two materials. To specify multiple materials or multiple material interfaces, this command may be used multiple times.


Local HTet Transition Tied Contact

Command: htet_tied_contact     Local transition tied contact

Input file command:   htet_tied_contact <arg>
Command line options: -htc <arg>
Argument Type:        integer(s) >= 0 
Command Description:

When generating tets adjacent to hexes, tied contact transitions can be specified for a given material or material interface. To specify a material interface, two material ids are given to specify tied contact transition between the two materials. To specify multiple materials or multiple material interfaces, this command may be used multiple times.


Local HTet Transition None

Command: htet_no_interface     Local transition none

Input file command:   htet_no_interface <arg>
Command line options: -htn <arg>
Argument Type:        integer(s) >= 0 
Command Description:

When generating tets adjacent to hexes, no transition can be specified for a given material or material interface. To specify a material interface, two material ids are given to specify no transition between the two materials. To specify multiple materials or multiple material interfaces, this command may be used multiple times.