Sculpt Application

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 System Requirements

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.

Running Sculpt

Sculpt can be run using one of two excutables:

  1. psculpt

    1. requires the use of mpiexec to start the process. Number of processors to use is specified by the -np argument to mpiexec. psculpt and its input parameters are also used as input to mpiexec. For example:
      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

    1. This application assumes that mpiexec is included in the standard CUBIT installation directory. The number of processors to use is specified by the -j option. For example:
      sculpt -j 8 -stl myfile.stl -cs 0.5
      If 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.5 
      If 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.

Sculpt Examples

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

  1. brick1.stl
    brick2.stl
    bricks.diatom

Example 1

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:

  1.  import mesh "brick1.stl_results.e" no_geom

Meshed example

Figure 1. Example 1 mesh

Example 2

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.

Meshed example 2

Figure 2. Example 2 mesh