CUBIT™ 16.12 Release Notes

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™ 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.

For more information on CUBIT™, including licensing arrangements and terms see the CUBIT™ website.

New Features in CUBIT™ 16.12

Index of New Features



Graphical User Interface




Improved robustness of triangle meshing

Triangle meshing robustness is improved and a correct mesh can now be produced in a few specific combinations of compositing and merging surfaces. Additionally, on some CAD models, triangle meshing would fail due to low precision geometric evaluations. These failures were a regression introduced in a previous version of CUBIT™ from improving performance. Geometric evaluations were enhanced to retain some performance and re-establish robustness.

Improved robustness of node equivalencing

Equivalencing nodes is now more robust after importing multiple mesh files as free mesh. Additionally, higher order nodes are now equivalenced when they exist. Performance has been improved allowing the equivalence operation to complete quicker on larger models.

For more information see: Merging a Free Mesh

Updated Sculpt Command Syntax

Previously, the sculpt command could be executed without arguments, utilizing the current volumes as the default target geometry for meshing. However, to accommodate various file types (e.g., STL, diatom, microstructures) containing geometry, the sculpt command now requires the designation of the target geometry as the first argument when invoking the command.

For more information see: Sculpt

Midnode correction on mesh-based geometry

CUBIT™ previously performed automatic midnode correction during the import mesh geometry command, enhancing the quality of high-order tetrahedral elements (TET10) by straightening edges when quality was below a designated threshold. Users can now toggle the midnode_correction option during import, allowing control over this capability. By default, midnodes will not be corrected based on quality.

For more information see: Midnode Correction


Simplification of merged surfaces now supported

The simplify command for compositing surfaces now supports merged surfaces in addition to external surfaces.

For more information see: Simplify Geometry

Improved behavior for splitting surfaces

CUBIT™’s previous ability to split fillet surfaces was not ideal, creating a split that looked like a projection of a linear curve. The splitting routine was fixed so that the split follows the curvature of the surface, creating a more expected and ideal result.

Image of surface_splitting-1
(a) previous split, (b) new, improved split

For more information see: Split Surface

New Reduce Bolt Patch command

The new Reduce Bolt Patch command in CUBIT™ offers an alternative method for representing bolts in simulations. It replaces bolt geometry with concentric circular surfaces imprinted on the model, centered on the bolt axis. Sidesets are automatically applied to these surfaces, representing preload forces for analysis purposes. By default, the command utilizes the Shigley frustum to determine the radius of the sideset patches, but the desired radii can also be directly designated. Additionally, the resulting patches can be meshed using this command, and sidesets can be customized with incremental IDs and names.

Image of reduce-bolt-patch-1
Two bolts showing before and after the reduce bolt patch command was applied.

The reduce bolt patch command is one of several options for reducing fastener geometry for use in analysis. This option has also been added to the geometry power tool machine learning tools for classifying geometry. When designated as a bolt, additional solution options are presented that now include the reduce bolt patch command.

A new command panel for setting up and previewing options for the reduce bolt patch comand can be accessed from Geometry->Modify->Volume->Reduce->Bolt Patch

Image of reduce-bolt-patch-gui
(a) New Reduce Bolt Patch GUI panel (b) Geometry Power Tool, machine learning Classify Parts diagnostic used to identify bolts. New power tool solutions for bolts include reduce bolt patch command.

For more information see: Reduce Bolt Patch

Graphical User Interface

New right-click automatic surface selection options

After selecting two surfaces (or collections of surfaces), a new right-click select between option selects all surfaces between the two already selected surfaces, given there is only a single path of surfaces between them. Merged surfaces are skipped over.

If a single surface is selected, the new select enclosure option will select all connected surfaces, forming a water-tight enclosure.

For more information see: Right Click Commands for the GUI Graphics Window


Improved assembly support when exporting to ABAQUS

Various improvements were made to exporting ABAQUS files:

  • Write additional element sets and node sets based on groups
  • Documentation improved for specifying coordinate frames
  • A new ‘instance_per_block‘ option was added for automatic part instancing based on defined blocks

For more information see: Exporting ABAQUS


Improved OpenMPI version compatibility

When running Sculpt on Linux and macOS, the version of OpenMPI used is no longer restricted to version 4.0. One may use any version of OpenMPI which is ABI compatible with version 4.0. This includes 3.0, 3.1, 4.1 and 5.0. Running Sculpt with other versions of OpenMPI may be useful if targeting a specific hardware which the distribution-included OpenMPI doesn’t support.

New extended parsing options with blocks, nodesets and sidesets

Extended parsing of blocks, nodesets and sidesets in mesh is now fully supported. For example, one can get sidesets using a ‘sideset in face 40‘ syntax or get blocks using a ‘block in hex 32‘ syntax. This feature now works whether the blocks, sidesets or nodesets are defined by geometry or mesh. This may be useful when writing general commands to work on both types of definitions.

Generalized coordinate frame commands

The syntax for creating coordinate frames has been updated to no longer include the word ‘exodus.’ The is change is to emphasize that coordinate frames are available for use with ABAQUS as well as EXODUS. Old journal files will continue to work when using the word ‘exodus.’

For more information see: Coordinate Frames

New string option in locate command

The following locate commands now support an optional string parameter allowing customization of the displayed label. The supplied string is used as the label instead of the default xyz position or name of the entity, as shown below.

locate location [<string>]

locate [geometry] [genesis_entity] [bc_entity] [contact pair] [node] [element] [<string>]

Image of locate_with_string-1
Location using: “locate vertex 1 ‘my_text_here’ ” and “locate vertex 5”

For more infomation see: Drawing, Locating, and Highlighting Entities

CUBIT™’s Python Interface Enhancements

  • get_connected_surfaces – Given a surface, returns all connected, unmerged surfaces.
  • get_bolt_shigley_radius – Determines the effective load radius surrounding a bolt based on the diameter of the head and the upper and lower volume thicknesses based on Shigley.
  • deprecated get_displacement_coord_system

Defects Fixed in CUBIT™ 16.12

MESH-4178SHOW option in GUI not echoing info to command line
MESH-5135Refine in Sculpt based on geometry id
MESH-5465Review and add unsupported sculpt options to the GUI
MESH-5539CUBIT™ export to MCNP (ABAQUS)
MESH-5630Equation-Controlled Distribution Factors broken since 15.0
MESH-5642Deploy the latest version of Verdict on
MESH-6328Change package layout to comply with mac format
MESH-6585Failure in blunt tangency operation
MESH-6740Long term support of SGM python scripts
MESH-6934Upgrade gtest for SGM, UMR and CUBIT™
MESH-6957Align command doesn’t work with “surf”
MESH-6961Graphics curves bleed through solid
MESH-6971Mpiexec issue with sculpt
MESH-7102Sideset X add – weird ERROR message
MESH-7104Align not working
MESH-7124Update abaqus export to support mcnp
MESH-7126Why is sculpt getting called in my CUBIT™ journal workflow
MESH-7128Support “sideset in face”
MESH-7132Better cavity selection
MESH-7133View in True hidden line mode and view in hidden line mode are the same?
MESH-7140Sculpt meshing from SPN file
MESH-7252Volume Id not being honored in individual .cub files with multiple import CUBIT™ commands
MESH-7254Sculpt to output memory usage between refinement
MESH-7271Buggy ‘connected_sets’ option in ‘remove surface’ command
MESH-7276Listing Error in Aprepro Loop
MESH-7307Webcut with general plane case not working
MESH-7310Meshing “simple” domain
MESH-7313Split surface not working
MESH-7314Higher order nodes not equivalenced
MESH-7315Surface normal inconsistent through merge operation & trimeshing
MESH-7320Import SGM moves part
MESH-7321Split surface not working great

Documentation Updates

The CUBIT™ 16.12 online documentation may be found here. A PDF version is 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™ 16.12 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.

Platforms Supported

CUBIT™ 16.12 supports the following Platforms:

  • Linux RedHat Enterprise 7 and 8
  • Windows 10
  • macOS 10.14+

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™ 16.12 may be downloaded from the CUBIT™ download page.

Sandia Personnel Only

CUBIT™ 16.12 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:

cubitThe latest released version (16.12) of CUBIT™ deployed to the LAN.
cubit -noguiThe latest released version (16.12) with just the Command Line and graphics window
cubit -nogui -nographicsThe latest released version (16.12) with just the Command Line
cubit-16.12Version 16.12 with GUI
cubit-betaThe latest beta version still in development

Contact Information


For general technical questions including download, installation and CUBIT™ technical assistance.

CUBIT™ Licensing and Passwords


CUBIT™ Support Lead

Trevor Hensley
Phone: 505-284-7756

CUBIT™ Project Lead

Ryan Viertel
Sandia National Laboratories
Computational Simulation Infrastructure (org. 1543)