skip to: onlinetools | mainnavigation | content | footer

CUBIT Toolkit

Cubit 15.3 Release Notes

Cubit 15.3 Logo

Product Description

New Features Cubit 15.3

Cubit 15.3 Documentation

Product Highlights

Limitations Cubit 15.3

Cubit 15.3 Contents of Release

Contact Information

Defects Fixed Cubit 15.3

Platforms Supported


Known Defects Cubit 15.3


Product Description

Cubit is a full-featured software toolkit for robust generation of two- and three-dimensional finite element meshes (grids) and geometry preparation. Its main goal is to reduce the time to generate meshes, particularly large hex meshes of complicated, interlocking assemblies.


Product Highlights

Meshing: Cubit is a solid-modeler based preprocessor that meshes volumes and surfaces for finite element analysis. Mesh generation algorithms include quadrilateral and triangular paving, 2D and 3D mapping, hex sweeping and multi-sweeping, tet meshing, and various special purpose primitives. Cubit also contains Sculpt, a massively parallel all-hexahedral mesh generator, which uses an overlay grid algorithm. Cubit contains many algorithms for controlling and automating much of the meshing process, such as automatic scheme selection, interval matching, sweep grouping and sweep verification, and also includes state-of-the-art smoothing algorithms.

Geometry Preparation: One of Cubit's strengths is its ability to import and mesh geometry from a variety of CAD packages. Cubit currently integrates the ACIS and Catia geometry kernels directly within its code base, allowing direct manipulation of the native CAD geometry format within Cubit. This reduces the errors and anomalies so often associated with geometry translation. CGM (Common Geometry Module) also boasts a facet-based geometry kernel developed at Sandia that can be used for remeshing or editing old mesh files or models defined by triangle facets. In addition, Cubit has developed a comprehensive virtual geometry capability that permits local composites and partitions to geometry without modifying the underlying native geometry representation. The user can choose to ignore, clean-up or add features to the model allowing greater flexibility to meshing algorithms to generate better quality elements.

Cubit Environment: Cubit has developed both a convenient command line interface with an extensive command language as well as a polished graphical user interface environment. The GUI is based upon the cross-platform standard QT, which allows the same look and feel on all supported platforms. Also included is a graphical environment based upon the VTK graphics standard which has been optimized for display and manipulation of finite element data and geometry. Fast, interactive manipulation of the model is a tremendous advantage for models with thousands of parts or millions of elements. Cubit also contains an extensive Python interface allowing Cubit to be integrated directly into python scripts with access to full Cubit functionality.

For more information on Cubit, including licensing arrangements and terms see the Cubit website


New Features in Cubit 15.3

Index of New Features




Sculpt Enhancements

Mesh Scaling - Memory Requirements Reduced

Mesh Scaling - New Maintain_structure Method

New copy mesh capability

Revolve mesh with higher order elements

Higher order element quality

Spider blocks creation enhancements




No new Geometry Features in Cubit 15.3.




Lite Mesh Import/Export

New Id/Collision Options for Mesh Import

High-order tet and wedge support

Nastran Export Ids

Export M2G Support OpenNurbs & MBG Files


Graphics, Utilities, etc.


Command Line Help Wildcards

Higher Resolution Graphics for Quality Commands

Circle Selection



Sculpt Enhancements

Sculpt is a companion application to Cubit that provides a scalable all-hex meshing solution for many types of geometries. It can be invoked directly from Cubit, or as a stand-alone application. The following outlines Sculpt's new capabilities in version 15.3. The first category are capabilities that can be accessed directly from Cubit's interface, while the second includes new commands that are available as direct input to Sculpt from the command line or from a Scultp input file

New Sculpt Capabilities available in Cubit

Extended Sculpt Documentation: Detailed documentation on Sculpt options has been included in 15.3. This includes a quick reference table showing correlation between Cubit Sculpt command options and options available for direct input to the Sculpt application. The Sculpt command documentation has also been updated to be the same as the online help from the terminal window using the sculpt -h <command>

Sculpt command defaults: The sculpt parallel command has been simplified so that only options that are not default will be included in the command as it is constructed in the Sculpt GUI panel.

New default options: Several new defaults for common options have been changed including show, import, clean, etc. For a complete list of Sculpt options and their defaults see the Sculpt parallel command documentation.

box expand <value>: Available from the size tab of the Sculpt GUI panel, this option is an alternative way of defining the Cartesian bounding box. It defines the percent expansion from a tight bounding box from the input geometry. This is useful for capturing features conforming to the six faces of the bounding box.

void_block New option to define the block ID of the hex elements generated in the void region if void option is used. Default is the next available block ID.

adapt_type: The adapt_type option defines the geometry criteria for when to split hex elements. Previously only the default option (1) was available from the GUI. The GUI panel now provides a drop-down list of 4 different options for adaptive criteria. See adapt_type in the Sculpt documentation for a description of each criteria.

xtranslate, ytranslate, ztranslate, scale : Applies transformations to the mesh coordinates after the mesh has been generated.

New Command Line Options available in Sculpt

sculpt -h: The online help option acccessed through -h or --help has been enhanced. Commands are now grouped into categories and listed together. Help on each category is also available. For example sculpt -h input will print text help on all sculpt input options.

Text input option: Several of the sculpt command options will accept a range of integers. These options will now accept a text string as input in addition to the integer. See help on the following options for a list of available text options: smooth, csmooth, adapt_type, defeature, pillow, gen_sidesets and stair.

trimesh : Generate a triangle mesh at the interfaces of the input geometry. This option can be used with microstructure input files to generate a facetted Geometry representation. The resulting exodus file contains only triangles which an be imported into Cubit as mesh-based geometry for Tetrahedral meshing.

Trimesh generated from voxel microstructure data.

write_geom: Normally used with the new trimesh command, will dump a file with an extension ".s2g". This describes the geometry associativity for the triangles in the Exodus file and is used to help construct mesh-based geometry in Cubit. Use the new Cubit command import s2g to import both an exodus and s2g file to create mesh-based geometry.

defeature: For noisy input data, often a part of microstructures models, the defeature option automatically removes small volumes and protrusions where it would otherwise be impossible for good quality elements to be generated.

Example grid cells before and after defeaturing has been applied

Final mesh after using defeaturing.

min_vol_cells: When used with defeature defines the fewest number of grid cells that will comprise a volume. Volumes smaller than this value will be merged with their predominant neighbor material.

defeature_bbox: Used with the defeature option, applies more aggressive defeaturing to cells at the domain boundaries.

remove_bad: Removes elements falling below a designated Scaled Jacobian metric.

Boundary Layers: A capability for defining thin boundary layers at material interfaces has been added to Sculpt in this version. It provides the ability to define a series of hex layers exending orthogonally from the interface with specific widths and biases and defined as a different material.

Example of boundary layers at interface boundary

Mesh Scaling - Memory Requirements Reduced

The storage of data during the scale mesh command has been refactored allowing significantly larger meshes to be produced by mesh scaling. Scaled meshes will require roughly half the memory required in earlier versions of Cubit.

Mesh Scaling - New Maintain_structure Method

A new algorithm for scaling degrees of freedom in all-hexahedral meshes has been added to the scale mesh command. The modified or new command keyword syntax is:

scale mesh [volume <ids>] [multiplier <value, default=2.0>] [minimum <value, default=1>] [{SWEPT_BLOCKS|legacy|maintain_structure}] [thin_gap_intervals <value, default=2>] [fix_all_gaps] [max_feature_length <value, default=30>] [smooth_volume {on|off}]

New to mesh scaling is the maintain_structure keyword which introduces a new overall algorithm to the scale mesh command. Also, the previously released structure_blocks keyword was replaced with the new legacy keyword. The SWEPT_BLOCKS algorithm remains the default if no scaling method is specified on the scale mesh command.

The figure below illustrates the different algorithms. Using the legacy keyword causes mesh scaling to maintain all irregular nodes, thus the overall structure of the mesh, but will often leave some portions of the mesh unchanged, resulting in a streaky scaled mesh, as illustrated in the top right of image below. The swept keyword ensures that the mesh changes everywhere, but introduces a different set of irregular nodes in the mesh, as illustrated in the bottom left of the image below. The new maintain_strucure keyword maintains all of the irregular nodes in the mesh, scales the mesh everywhere, and produces a smoother, streak-free scaled mesh, as illustrated in the bottom right of the image below.

Graphics Quality Image

The new thin_gap_intervals, fix_all_gaps, and max_feature_length are advanced parameters that control only the maintain_structure algorithm. thin_gap_intervals is used to detect thin regions of the mesh. The specified integer value represents the number of mesh intervals across a gap in the initial mesh to identify thin gaps that should be handled with care to avoid introducing skew. Gaps with more intervals than the specified thin_gap_intervals are treated as the general case with no special processing. The fix_all_gaps parameter tells mesh scaling to fix the location of all nodes in thin gaps to avoid introducing skew. If fix_all_gaps is not specified, Cubit uses logic to fix only a sub-set of nodes in thin gaps to allow for a smoother mesh. The max_feature_length parameter specifies a number of intervals defining the longest feature to be allowed in the resulting block decomposition used during mesh scaling. Features larger than this number of intervals will be split into multiple smaller features.

In general, maintain_structure should result in a smoother scaled mesh. If skewing is introduced by scaling using maintain_structure, try either increasing the thin_gap_intervals parameters, specifying fix_all_gaps, decreasing the max_feature_length parameter, or all three.

If smooth_volume is on, then the volume mesh is smoothed as a post-process if it has poor quality elements, and smaller minimum quality than the original mesh. By default, smooth_volume is on.

New copy mesh capability

The copy mesh capability has been enhanced to better handle surfaces with multiple holes. The command syntax for surface mesh duplication has been modified and may require journal files to be updated. A common change is to supply additional input which were previously optional. Also, the transformation method used to duplicate a surface mesh onto a target surface has been changed. The transformation is now similar to what is used for sweeping volumes to create hexahedral meshes.

Copy Mesh Image

Revolve mesh with higher order elements

The revolve mesh capability has been enhanced to support the creation of higher order elements. Users specify the block to add the elements to and the desired block element type. If the topology doesn't allow for the desired element type to be created, elements of the same order as the desired type will be created.

Create element revolve [edge|face|tri] <id_range> axis <options> angle <val> layers <num_layers> [block <id> [element type {SPHERE | BAR | BAR2 | BAR3 | BEAM | BEAM2 | BEAM3 | TRUSS | TRUSS2 | TRUSS3 | SPRING | TRI | TRI3 | TRI6 | TRI7 | TRISHELL | TRISHELL3 | TRISHELL6 | TRISHELL7 | SHELL | SHELL4 | SHELL8 | SHELL9 | QUAD | QUAD4 | QUAD5 | QUAD8 | QUAD9 | TETRA | TETRA4 | TETRA8 | TETRA10 | TETRA14 | PYRAMID | PYRAMID5 | PYRAMID8 | PYRAMID13 | PYRAMID18 | HEX | HEX8 | HEX9 | HEX20 | HEX27 | HEXSHELL | FLATQUAD | FLATWEDGE | FLATHEX | WEDGE | WEDGE6 | WEDGE15 | WEDGE16 | WEDGE20 | WEDGE21 | TETRA15}]]

Revolve Mesh Image

In this example two quads were rotated with the HEX27 element type specified. Because an edge of one quad was aligned with the axis of rotation, both HEX27 and WEDGE21 elements were created.

Higher order element quality

The Jacobian quality metric has been enhanced to support TETRA15, WEDGE21 and HEX27. The shape function for higher order elements is used when calculating the jacobian matrix and then the determinant. The jacobian determinant is evaluated at each of the nodes, including higher order nodes, and the minimum jacobian determinant is returned. Other quality metrics do not consider higher order elements.

Spider blocks creation enhancements

The syntax for the creation of spider blocks has been enhanced. The new syntax is:

Block <id> Joint [Vertex <id>|Node <id>] Spider {Surface|Curve|Vertex|Face|Tri|Node} <range> [preview] [Element Type {bar|bar2|bar3|BEAM|beam2|beam3|truss|truss2|truss3}]

The change is that the Joint vertex or node is now optional. If specified, the command will behave as before. If not specified, a new node will be created automatically and placed at the centroid of the nodes specified on the spider entities.


Lite Mesh Import/Export

Cubit has the ability to represent mesh using either a lightweight or heavy representation. The lightweight representation option is new for Cubit 15.3, and can be referred to as lite. The heavy representation is useful for supporting all the various mesh manipulation operations available in Cubit. While still under development, the lite representation option is intended to be a quick way to display larger meshes while supporting a smaller subset of mesh manipulation operations.

The following are supported operations with lite mesh:

Creating a lite mesh: In Cubit 15.3, the Cubit lightweight mesh representation is populated by importing an exodus file using the command:

Import Mesh <filename> lite

Importing an exodus file with the lite keyword instructs Cubit to import the mesh into the lightweight data structures, rather than the heavyweight datastructures used by the other mesh import options. Similar to the previously released no_geom mesh import, no geometry is created or associated to the imported mesh.

The import of meshes into Lite mode is signficantly faster, especially on large meshes, compared to the other mesh import options. The image chart below compares the mesh import times using the commands: import mesh geometry "file.exo", import mesh "file.exo" no_geom, and import mesh "file.exo" lite

Mesh Import Times


Generally, the graphical features for lite meshes is supported at the same level as for heavy meshes, including the ability to draw, pick, zoom among other operations. The coloring of the mesh is based on blocks, and may be adjusted by the user. Toggling visibility of all sidesets and nodesets can be done by clicking the Display Boundary Conditions toolbar button or with the bc visibility {on|off} command. Toggling visibilty of all blocks can be done by clicking the Display Mesh toolbar button or with the mesh visibility {on|off} command.

The draw, zoom and select commands work on blocks, sidesets and nodesets. Also, selecting those genesis entities in the graphics window will result in them being highlighted in both the graphics window and in the tree. Selecting of nodes and elements has not yet been implemented for meshes imported in lite mode.


There are several ways to view information about the lite mesh. The tree and the property page can show information about the blocks, sidesets and nodesets. Also, the list command can print information about individual blocks, sidesets, and nodesets. The list element command will print out the ID space used by elements. The list node command will show the ID space used by nodes. Listing of individual elements and nodes is not yet supported.

Modifications to lite mesh:

Some modifications to genesis entities are supported. Blocks, sidesets and nodesets may have names assigned to them. Blocks may have their attributes modified, and materials may be assigned to blocks. Not supported is the ability to modify the contents of blocks, nodesets and sidesets.

Exporting a lite mesh:

Exporting a lightweight mesh to an Exodus file is supported. This includes writing out blocks, nodesets, sidesets, element IDs, node IDs, etc... Not all Exodus data is read in, and if there is some data not recognized by Cubit, it will not be exported. Field data is an example of Exodus data not currently recognized by Cubit, nor exported. Importing multiple Exodus files and exporting a single file is supported. Importing a single Exodus files and exporting a portion of it is also supported.

New Id/Collision Options for Mesh Import

As part of the work to add the import mesh lite command, import options to offset block, sideset, nodeset, node, and element IDs as well as combination of blocks, sidesets, and nodesets with existing entities in the session were refactored and made consistent across all mesh import options. The new command syntax is:

Import Mesh <filename> lite [{genesis_collision_fail|COMBINE_GENESIS_IDS|combine_genesis_names|unique_genesis_ids}] [block_offset <value>] [sideset_offset <value>] [nodeset_offset <value>] [{mesh_id_collision_fail|UNIQUE_MESH_IDS}] [node_offset <value>] [element_offset <value>]]

Import Mesh <filename> no_geom [{genesis_collision_fail|COMBINE_GENESIS_IDS|combine_genesis_names|unique_genesis_ids}] [block_offset <value>] [sideset_offset <value>] [nodeset_offset <value>] [{mesh_id_collision_fail|UNIQUE_MESH_IDS}] [node_offset <value>] [element_offset <value>]]

Import Mesh geometry <filename> [{genesis_collision_fail|COMBINE_GENESIS_IDS|combine_genesis_names|unique_genesis_ids}] [block_offset <value>] [sideset_offset <value>] [nodeset_offset <value>] [{mesh_id_collision_fail|UNIQUE_MESH_IDS}] [node_offset <value>] [element_offset <value>]]

The Block option in the Import Mesh command indicates that only the specified element block should be imported from the Exodus II file. If the block option is not specified, then the entire mesh file is read. The Block is not yet supported for lite imports, which currently imports the entire mesh.

The combine_genesis_ids option, is used to combine blocks where the IDs in the session and the file being imported are identical. This can occur when importing into an active session where Cubit IDs have already been assigned. The default behavior is to combine genesis entities based on IDs. If two entities have differnet IDs, but the same names, they will not be combined, and the import will fail.

The combine_genesis_names option, is used to combine blocks where the names in the session and the file being imported are identical. This can occur when importing into an active session where names have already been assigned. If two entities have different names, but identical IDs, they will not be combined, and the import will fail.

The unique_genesis_ids option is used to renumber genesis entities from the genesis file in the case that ID overlap exists when importing into Cubit. The incoming genesis entities are kept unique and are not combined with genesis entities already in the session. In case of colliding IDs, a report displayed in the command window showing the original and new IDs. This renumbering can occur when importing into an active session where Cubit IDs have already been assigned. If an entity being imported has the same name as one already in the session, the entity being imported will be renamed with a number suffix '_N'.

The genesis_collision_fail option allows the user to prevent the genesis file import if any incoming genesis entity IDs or names are already used by genesis entities in the session. This can occur when importing into an active session where Cubit IDs have already been assigned.

The block_offset, sideset_offset, and nodeset_offset options may be used to modify the IDs of genesis entities being imported. The provided value will be added to the ID in the file.

The unique_node_ids, and unique_element_ids options are used to automatically renumber nodes and elements from the genesis file in the case that ID overlap exists when importing into Cubit. If there are no overlaps, the IDs in the file will be preserved. This can occur when importing into an active session where Cubit IDs have already been assigned.

The node_id_collision_fail, and element_id_collision_fail options allows one to prevent the genesis file import if any incoming node or element IDs are already used by mesh entities in the session. This can occur when importing into an active session where Cubit IDs have already been assigned.

The node_offset, and element_offset options may be used to modify the IDs of nodes and elements being imported. The provided value will be added to the ID in the file.

High-Order Tet and Wedge Support

Cubit now supports TETRA15, WEDGE20 and WEDGE21 element types in the cub and ExodusII file formats. These new element types are in addition to the existing TETRA10, TETRA14 and WEDGE15 element types

A TETRA15 element has nodes at its vertices and at the center of all of its edges, faces and element center.

A WEDGE20 element has nodes at its vertices and at the center of all its edges and faces.

A WEDGE21 element adds a node a the element center to the WEDGE20 element.

Nastran Export Ids

When exporting mesh to a Nastran file, the global element IDs are now written to the file. This makes the Nastran export consistent with other file formats. If the 'cubitids' option is used in a journal file while exporting a mesh, it may need to be removed.

Export M2G Support OpenNurbs & MBG Files

The export m2g command has been enhanced to support opennurbs (*.3dm) files. The new command syntax is:

export m2g "<fileroot>" [block <ids>] [{opennurbs|ACIS}] [overwrite]

The export m2g command exports an exodus file, a geometry file, and an m2g file. The m2g file specifies which nodes and elements in the exodus file are associated to each geometry entity in the exported geometry file. The exodus file, geometry file, and m2g can be imported into other programs, while maintaining the geometry association of the mesh, allowing for projection of new node locations if the mesh is modified. The previously released ACIS option is the default option.

Graphics, Utilities, etc.

Command Line Help Wildcards

The command:

help <string>

has been enhanced to support wildcards to make it easier to find command syntax based on only a partial spelling of a keyword. For example, if you are looking for commands to help you with degenerate elements, you can issue the command:

help degen*

which will bring up the following output to the cubit command prompt:

CUBIT> help degen*

Help for words: degen*.

set Block Mixed Element Output { OFFSET | Degenerate }

Degenerates [on|off]

which lists help for the keywords degenerate and degenerates. Previous to this release, the entire spelling of a keyword was required, rather than partial spellings with a trailing wildcard.

Higher Resolution Graphics for Quality Commands

Higher resolution graphics are now used by default for the quality commands. In previous releases, a color band of 7 colors was used by default, assigning each element to one of these 7 bands. Now a unique dynamic color is computed for every element based on the quality of each element.

The graphic below illustrates a quality plot from Cubit 15.2 and 15.3.

Graphics Quality Image
Circle Selection

A new circle selection mode has been added. This can be activated by toggling the rubber band selection type to circle.

An example is shown here.
Circle Selection Image


Known Defects in Cubit 15.3

No known defects.


Documentation Updates

The Cubit 15.3 online documentation may be found here. Both a PDF version and a Microsoft Word version are also available for download. The Cubit GUI installation also includes the full user documentation included with the program. The user's manual may be accessed from the Help menu.

Cubit 15.3 Contents of Release

Cubit Program
: The installation package includes executables and libraries, packaged in tar.gz files for Linux machines. For Windows, the package is in a self-installing executable, and for Mac OS X a .dmg file is provided. Both a command line and GUI version of Cubit are included with the installation package for all platforms.

Documentation: Linux, Windows and Mac versions include full online documentation. Windows also includes .chm (Windows Help File), of the complete documentation that can be run separately from Cubit.


Platforms Supported

Cubit 15.3 supports the following Platforms:

  • Linux RedHat Enterprise 6, 64-bit

  • Windows 7/8/8.1/10 - 64 bit

  • Mac OS X Intel based (10.9)

Non-Sandia Users

Cubit is freely available for United States government use. For more information on licensing Cubit, including academic, commercial, and all other use, go to our licensing page. For current Cubit users, Cubit 15.3 may be downloaded from the Cubit download page.

Sandia Personnel Only

Cubit 15.3 may be downloaded from the Cubit download page.
Download a Windows installation file and double-click to install.
Download a Mac OS X disk image file. After the disk image is opened, click and drag the Cubit folder to /Applications.
Check with your local LAN administrator for instructions on how to access Cubit on your local LAN. In most cases typing one of the following commands at the UNIX prompt should allow you to execute Cubit.  In some cases, the full path will need to be specified:


The latest released 64-bit version (XX.x) of Cubit deployed to the LAN.

cubit -nogui

The latest released 64-bit version (15.3) with just the Command Line and graphics window

cubit -nogui -nographics

The latest released 64-bit version (15.3) with just the Command Line


64-bit Version 15.3 with GUI


The latest beta version still in development


Contact Information

Cubit Help

For general technical questions including download, installation and Cubit technical assistance.

Cubit Licensing and Passwords


Cubit Support Lead

Trevor Hensley
Cubit Support Lead
Phone: 505-284-7756

Cubit Project Lead

Matt Staten
Sandia National Laboratories
Computational Simulation Infrastructure (org. 1543)
Phone: 505-284-6544

Sandia National Laboratories is a multi-mission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC., a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525. SAND2017-6996 W

Web site contact: Cubit Support