Coreform Cubit 2024.8 User Documentation

Sculpt Output

Sculpt options for specifying output. The primary format for the hex meshes produced from Sculpt is Exodus II. One exodus file will be produced for each processor based upon the -j or num_procs argument. If required, the exodus files can be joined using the epu utility.

Other options for export include the ability to dump the volume fraction representation of the input geometry as well as the ability to write geometry files for use in Coreform Cubit.

Output                       -out     --output
  --exodus_file              -e    <arg> Output Exodus file base name                        
  --large_exodus             -le   <arg> Output large Exodus file(s)                         
  --volfrac_file             -vf   <arg> Output Volume Fraction file base name               
  --quality                  -Q    <arg> Dump quality metrics to file                        
  --export_comm_maps         -C          Export parallel comm maps to debug exo files        
  --write_geom               -G          Write geometry associativity file                   
  --write_mbg                -M          Write mesh based geometry file <beta>         
  --compare_volume           -cv         Report vfrac and mesh volume comparison             
  --compute_ss_stats         -css        Report sideset statistics                           

Sculpt Command Summary

Exodus File

Command: exodus_file     Output Exodus file base name

Input file command:   exodus_file <arg>
Command line options: -e <arg>
Argument Type:        character string 
Command Description:

The base file name of the resulting exodus mesh. Exodus files will be in the form <exodus_file>.e.<nproc>.<iproc>. For example, if the number of processors used is 3 and the exodus_file argument is "model" the following files would be written:

    model.e.3.0
    model.e.3.1
    model.e.3.2

If no exodus_file argument is used, output files will be in the form <stl_file>_diatom_results.e.<nprocs>.<iproc>. For example, if the number of processors used is 3 and the stl_file (or diatom_file) is "model.stl", the following files would be written:

    model_diatom_results.e.3.0
    model_diatom_results.e.3.1
    model_diatom_results.e.3.2

A full path may be used when specifying the base exodus file name, otherwise files will be placed in the current working directory. If the exodus_file option is not used, exodus files will be placed in the same directory as the input diatom or stl file.


Large Exodus Output

Command: large_exodus     Output large Exodus file(s)

Input file command:   large_exodus <arg>
Command line options: -le <arg>
Argument Type:        no argument 
Input arguments: off (0)
                 false (0)
                 on (1)
                 true (1)
Command Description:

Generate output Exodus file(s) to allow IDs greater than 2^31 (2.14 Billion). This option should be used if the intent is to generate billions of elements in parallel on HPC platforms. This option will approximately double the size of output exodus files, so is normally only used for very large parallel applications.


Volume Fraction File

Command: volfrac_file     Output Volume Fraction file base name

Input file command:   volfrac_file <arg>
Command line options: -vf <arg>
Argument Type:        character string 
Command Description:

Optionally generate exodus files containing a hex mesh of the Cartesian grid containing volume fraction data as element variables. This series of parallel exodus files can later be used as direct input to sculpt using the --input_vfrac (-ivf) command. If not specified, no volume fraction data files will be generated.


Quality

Command: quality     Dump quality metrics to file

Input file command:   quality <arg>
Command line options: -Q <arg>
Argument Type:        file name with path 
Command Description:

Specify a filename to write mesh quality metrics. If the file already exists, metrics will be appended. Quality metrics and other details of the run will be written to this file. This option is currently off by default.


Export Communication Maps

Command: export_comm_maps     Export parallel comm maps to debug exo files

Input file command:   export_comm_maps
Command line options: -C
Command Description:

Used for debugging and verification. Exodus files of the mesh containing the communication nodes and faces at processor boundaries will be written as nodes and side sets. This provides a way to visually check the validity of the parallel communication maps.


Write S2G Geometry File

Command: write_geom     Write geometry associativity file

Input file command:   write_geom
Command line options: -G
Command Description:

An s2g (Sculpt to Geometry) file, with the pattern <fileroot>.s2g, will be produced when this argument is used where fileroot is the string specified by the --exodus_file or -e option. An s2g file includes geometry associativity for the exodus file that is written. If used with Coreform Cubit's "import s2g <fileroot>" a mesh-based geometry will be generated in Cubit with geometric entities prescribed by Sculpt through the s2g file.

When used with the --trimesh option, the s2g file can provide information to Cubit to build a set of mesh-based geometry volumes where only the surfaces are meshed. This is useful for using the tet meshing capabilities in Cubit to mesh the discrete geometry that was generated in Sculpt. For example, a tet mesh may be constructed from microstructures spn data (see import_spn) with the following workflow:

  1. Run Sculpt to generate an exodus and s2g file. An example input file may look like the following:
         begin sculpt
           import_spn = myfile.spn
           trimesh = true
           write_geom = true
           pillow = 1
         end sculpt
    
  2. Import the file into Coreform Cubit to generate a mesh based geometry:
         import s2g myfile
    
  3. Delete the triangle mesh, set sizes and mesh:
         delete mesh
         vol all scheme tetmesh
         vol all size 2.0
         mesh vol all
    

Note that the write_geom and trimesh options are still in development and will currently only work with a single processor (-j 1).


Write Mesh Based Geometry

Command: write_mbg     Write mesh based geometry file <beta>

Input file command:   write_mbg
Command line options: -M
Command Description:

An MBG (Mesh Based Geometry) file will be produced when this argument is used with the pattern <fileroot>.mbg, where fileroot is the string specified by the --exodus_file or -e option. An MBG file includes the surface and topology definition defined by sculpt as a result of the interface reconstruction process. It will correspond to the boundary of the 3D elements that are generated in the exodus file, or the surface elements generated with the --trimesh option.

An MBG file can be be imported into Coreform Cubit using the following Cubit command line options:

  import mbg "<fileroot>.mbg"

Report VFrac to Mesh Volume Comparison

Command: compare_volume     Report vfrac and mesh volume comparison

Input file command:   compare_volume
Command line options: -cv
Command Description:

A report will be generated and printed to the terminal following the mesh summary that compares the input volume fraction of the geometry with that of the final finite element mesh. If a volume fraction format is not used as input, the volume fractions will be computed on the refined base grid and used as comparison. Note that exact geometric volumes of the STL or analytic geometry are not used for comparison, rather the volume fraction approximation of the geometry on the refined Cartesian grid.

compare_volume

Example output from the compare_volume command.

The following is a brief description of each column:


Report Sideset Statistics

Command: compute_ss_stats     Report sideset statistics

Input file command:   compute_ss_stats
Command line options: -css
Command Description:

A report will be generated and printed to the terminal following the mesh summary that displays the statitics for the surface areas of the sidesets in the final FEA mesh. This is often useful for microstructures use cases where it may be important to know the interface area between materials. This should be used with the gen_sidesets option to be effective.