Cubit® 16.14 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.14

Index of New Features





New Mesh Intersection Removal

Cubit® now has the ability to reposition nodes of 3D elements to remove intersection. Where intersecting elements have nodes on a volume boundary (vertices, curves, and surfaces), intersection removal moves those nodes slightly off geometry, along surface normals, to remove intersection. The capability is only meant for slight intersection (less than 50% of element volumes), as removing large intersection can significantly compromises element quality. The ‘detail’ option displays the ten nodes most moved, giving the user an idea of the maximum movement.

Image of mesh_intersection_removal
Before (left) and after (right) mesh intersection removal.

For more information see: Removing Intersecting Mesh

Mesh Intersection Detection Improvements

Performance improvements have been to the mesh intersection detection. On large meshes (2 million elements), users can see up to a 4X speed improvement. Additionally, bugs have been fixed in the routine, allowing for more consistent and accurate results.

For more information see: Finding Intersecting Mesh

Node equivalencing defect corrected

When equivalencing a node on geometry with a node not on geometry, elements were incorrectly deleted. A correction was made to preserve the elements during the equivalencing operation.

For more information see: Equivalence Node

Default sizing function adjustment for curves

The default sizing function for curves when triangle meshing gives better size transition along curves while taking into account sizing on the adjacent surfaces. The following image illustrates an example where a spherical surface is given a small size and 2 flat surfaces are given larger sizes. With the improved sizing function, the straight curve will have size transitions to match adjacent surfaces.

Image of curve_sizing
Corrected sizing on straight edge shown on the right

New surface proximity option for triangle meshing

Mesh refinement on thin surfaces while triangle meshing is now possible with a new surface proximity option. Also available is a ‘ratio‘ option to scale mesh sizes after proximity calculations. The following image illustrates a mesh without surface proximity enabled, and another mesh with surface proximity enabled and a ratio of 2. In both cases, the constraining geometry is highlighted.

Image of surface_proximity
Left: triangle mesh without surface proximity. Right: triangle mesh with surface proximity


Enhanced reduce bolt patch command

The Reduce Bolt Patch Command, initially introduced in Cubit® 16.12, aids in the structural dynamics idealization of fasteners for simulation. It converts fasteners into circular patches and corresponding sidesets centered on the bolt axis. In the 16.14 release, the command includes several enhancements:

  • Hole Specification: You can now specify hole surfaces if a bolt is not present.
  • Explicit Surface Identification: If Cubit® can’t auto-detect contact surfaces, you can specify them manually.
  • Radius Factor: New option to set the radius as a factor multiplied by the bolt shaft radius, or the hole radius if a bolt isn’t present.
  • Surface Patch Naming: The resulting circular surface patches can be named for easier referencing in later scripts or journal commands.
  • Incremental ID with Start ID: The increment ID feature now allows a separate starting ID, enabling the same patch to be added to multiple sidesets.
  • Robustness Improvements: Enhancements to handle cases where up to three volumes are fastened by the same fastener.

These updates make the Reduce Bolt Patch Command more versatile and user-friendly, allowing for greater customization and more complex simulations.

For more information see: Reduce Bolt Patch

J2G Bolt reduction more robust

Several enhancements have been added to make J2G bolt reduction more robust, including:

  • handling through-holes in the lower bolt hole volume (previously the lower hole had to be a blind hole)
  • curves of bolt holes can splines (previously curves could only be arcs)
  • bolt hole loops can now have multiple curves (previously loops could only contain one curve)

For more information see: Reduce Bolt Spider

Ability to aggregate machine learning classification training data

User-defined/created classification data can be merged into Cubit®’s existing data with the command:

Classify aggregate [model  category ]

For more information see: Part Classification with Machine Learning

Validate command accepts SGM geometry

Geometry that has been imported to Cubit® with the SGM geometry libararies can now be checked using the validate command:

Validate {Body|Volume|Surface|Curve|Vertex|Group} <id_range>

This is the same command used for checking ACIS geometry. Any errors found validating the geometry will be printed to the command window.

Remove surface consistency

The ‘remove surface‘ command now gives consistent results when the connected_sets options is used. Previously, curves resulting from the remove operation would have inconsistent ids. Now, if a journal file containing this command is replayed, resulting ids will be consistent.

For more information see: Removing Surfaces

Improved hole feature identification

Hole feature recognition is improved to find more cases such as the one illustrated in this image. More accurate identification will assist in rapidly finding holes and removing them.

Image of hole_identification

For more information see: Geometry Power Tool Traits

New Python API for hole, chamfer, blend feature identification

Finding hole, chamfer and blend features is now possible using a Python script. The new APIs are: get_surface_hole_collections, get_chamfer_chain_collections, get_blend_chain_collections. Each of these APIs will accept a radius or thickness threshold value. These functions may be useful if wanting to find features and remove them in a script.

For more information see: Python APIs


Scripting now supports Python statements and Cubit® commands at the same time

A single script file can now support both Python statements and Cubit® commands. Additionally, the script windows in the user interface are consolidated into one, and the console version of Cubit® now supports Python. Batch processing with scripts can now be done using Python syntax, Cubit® syntax, or both. The command window in Cubit® can be switched between a Python or Cubit® mode by pushing a button, or by issuing #!python or #!cubit statements. Using the console version of Cubit® is now recommended when running scripts in non-interactive batch processes. The following image illustrates the new Command window containing both Python and Cubit® syntax.

Image of script_window

For more information see: Command Line Workspace Journal File Editor Command Syntax Execution Command Syntax History Preferences

Automated transfer of boundary conditions accelerates design workflows

The new capability shown in the below figure automates the transfer of sidesets and nodesets from the source mesh (e.g. design domain model) to the target mesh (e.g. topology optimized shape). Transfer of sidesets and nodesets was a major user-intensive, error-prone, bottleneck in the topology optimization design workflow. Users were required to go through the painful step of manually selecting elements to define equivalent sidesets on the topology optimized shape. The command given below streamlines running physics codes on the topology optimized shapes with model attribution.

transfer sideset onto {tri |face |tet |hex } [tolerance ] [log] transfer nodeset onto {tri |face |tet |hex } [tolerance ]
Image of source_mesh_with_bc
Image of target_mesh_with_bc

Cubit®’s Python Interface Enhancements

  • get_blend_chain_collections – Returns the collections of surfaces that comprise blend chains in the specified volumes.
  • get_chamfer_chain_collections – Returns the collections of surfaces that comprise chamfer chains in the specified volumes.
  • get_surface_hole_collections – Returns the collections of surfaces that comprise holes in the specified volumes.

Defects Fixed in Cubit® 16.14

  • Fix memory errors when importing multiple lite mesh files with nodesets
  • Removal of python tab
  • Enable Python in cubit_server
  • Sped up right-click ‘select chamfer chains’
  • Webcut with general plane case fixed
  • Diagnose Geometry tab now correctly considers sheet bodies
  • Prevent sliver mesh edges when fixing skew with ‘adjust boundary’ command
  • Better sweeping with reversals
  • Deletion of orphaned nodes
  • Improved logic for sizing of curves when triangle meshing. The auto bias sizing function now better matches the meshgems behavior
  • Better handling of equivalence node when lower id nodes are not owned by geometry
  • Python version option fixed
  • Python script execution fixes
  • Fixed hang in skeleton sizing
  • Add ‘target’ word in the command for sweep surface target
  • On cub file open/import, Cubit® no longer modifies locations of higher-order mid-edge nodes
  • Fixed failure in undo because of block name collision
  • Fixed failure to import cub file due to extraneous error
  • Fixed holes not being completely identified

Documentation Updates

The Cubit® 16.14 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.14 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.14 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.14 may be downloaded from the Cubit® download page.

Sandia Personnel Only

Cubit® 16.14 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.14) of Cubit® deployed to the LAN.
cubit -noguiThe latest released version (16.14) with just the Command Line and graphics window
cubit -nogui -nographicsThe latest released version (16.14) with just the Command Line
cubit-16.14Version 16.14 with GUI
cubit-betaThe 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
Phone: 505-844-3304

Cubit® Project Lead

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