Cubit 16.14 User Documentation
This page describes the Sculpt application, a separate companion application to Cubit designed to run in parallel for generating all-hex meshes of complex geometry. Sculpt was developed as a separate application so that it can be run independently from Cubit on high performance computing platforms. It was also designed as a separable software library so it can be easily integrated as an in-situ meshing solution within other codes. As installed with Cubit, Sculpt can be set up and run directly from Cubit, in a batch process from the unix command line or from a user-defined input file. This documentation describes the input file and command line syntax for the Sculpt Application when running in batch mode. See this page for using Cubit to set up input for Sculpt. A brief technical description of Sculpt may also be found here.
Sculpt is currently built for windows, linux and mac operating systems. Current supported OS versions should be the same as those supported by Cubit. It is designed to take advantage of 64 bit multicore and distributed memory computers, using open-mpi as the basis for parallel communications.
Sculpt can be run using one of two excutables:
psculpt
mpiexec -np 8 psculpt -stl myfile.stl -cs 0.5
If appropriate system paths have not been set, you may need to use full paths when referring to mpiexec and psculpt.
sculpt
sculpt -j 8 -stl myfile.stl -cs 0.5If the -j option is not used, sculpt will default to a single processor for execution. The -mpi option can also be used with the sculpt application to indicate a specific mpi installation that is not included with CUBIT. For example:
sculpt -j 8 -mpi /path/to/mpiexec -stl myfile.stl -cs 0.5If the path specified by the -mpi option does not exist or the mpi version is incompatible, sculpt will attempt to use the local CUBIT-installed mpiexec or else the system mpiexec in the PATH environment.
The following illustrate simple use cases of the Sculpt application. To use these examples, copy the following stl and diatom files to your working directory
brick1.stl brick2.stl bricks.diatom
sculpt -j 4 -stl brick1.stl -cs 0.5
Runs sculpt with 4 processors with geometry input from brick1.stl. Uses a base Cartesian cell size of 0.5. The bounding box and all other parameters will be defaulted. The result should be the 4 exodus files:
brick1.stl_results.e.4.0 brick1.stl_results.e.4.1 brick1.stl_results.e.4.2 brick1.stl_results.e.4.3
These files can be combined into a single file using the SEACAS tool epu
epu -p 4 brick1.stl_results
The result of this operation should be a single file:
brick1.stl_results.e
To view the resulting mesh in Cubit, use the import free mesh command. For example:
Figure 1. Example 1 mesh
mpiexec -np 4 psculpt -x 46 -y 26 -z 26 -t -6.5 -u -6.5 -v -6.5 -q 16.5 -r 6.5 -s 6.50 -d bricks.diatom
In this case we use mpiexec to start 4 processes of psculpt. We explicitly define the number of Cartesian intervals and the dimensions of the grid. Rather than using the -stl option, we use the -d option which allows us to specify the diatom file, bricks.diatom. This file allows us to specify multiple stl files, where each one represents a different material. In this case we use both brick1.stl and brick2.stl, which are called out in bricks.diatom.
We can use similar commands as used in Example 1 to combine and import the free mesh into Cubit for display.
Figure 2. Example 2 mesh