CUBIT™ 16.06 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.06

Index of New Features





Superelement support

CUBIT™ now allows importing element blocks of type ‘superelement’ from an exodus file. Visualization, picking, and listing of superelement blocks is supported. When visualizing superelements, they appear as a collection of nodes. CUBIT™ GUI also supports them as shown in the image below. CUBIT™ can also export superelement blocks, writing the data just as it was imported. For more information see: Superelement Support

Image of superelements_gui

Improvements to Exodus sizing

Exodus sizing now has higher accuracy when computing a size from a location. It also has better performance by using an element based search tree. For more information see: Exodus sizing

Select blocks by element type

Element blocks can now be specified by element type using the command below. The type needs to be in quotes. Using ‘hex’ will get higher order hex types: ‘hex8’, ‘hex20’, etc. For more information see: Extended Parsing

Block with type <string=element_type>

Enhanced ability to obtain mesh in blocks, sidesets, and nodesets

Mesh in blocks can be specified directly now, instead of needing to identify the geometry in the block. For example, if a block contains a volume, to get the hexes it used to be necessary to type ‘hex in volume in block 1’. Now CUBIT™ can get the hexes with ‘hex in block 1’.

{Node|Edge|Element|Face|Tri|Hex|Tet|Wedge|Pyramid} in {Block|Sideset|Nodeset} <ids>


Changing the taper (draft angle) of a surface

The taper or draft angle of a surface can be made shallower or steeper using the taper surface command. Several surfaces can be tapered at once to get a smooth transition. The command syntax is:

Taper Surface <id_list> angle <val> {from plane <options> | about curve <id> | about vertex <id_1><id_2>} [keep] [preview]

For more information see: Changing the Taper of Surfaces

Image of taper_surface

Specify surfaces by normal

Surfaces can now be specified by a normal at the surface’s center point with the command below. The tolerance is the maximum distance between the tips of the two normalized vectors: user input vector and actual surface’s normal. For more information see: Extended Parsing

Surface with normal <x> <y> <z> [tolerance <value>]

Specify surfaces by location with tolerance

A tolerance option has been added to specifying surfaces at a location. Surfaces with a centroid within tolerance to the input location will be selected.

Surface at <x> <y> <z> [tolerance <value>]

For more information see: Extended Parsing


Body Transparency Toggle

Bodies can be individually set to transparent mode.

Body <body_id_range> Transparency [on|off]

Better error diagnostics in Cubit python module

If an error is printed from within Cubit when calling cubit.cmd, the filename and line numbers in the python file are now printed, allowing users to locate where the problem occurred.
For example, if line 2 has "cubit.cmd(‘asdf’)" The error printed out is now: ERROR: Unrecognized Keyword: ‘asdf’

Improved error handling in cubit.parse_cubit_list

When any command or parse_cubit_list() cannot find an entity by ID, the type name is now included in the message instead of just ‘entity’. Also, when parse_cubit_list encounters a string it cannot parse, an error is printed.

CUBIT™’s python interface enhancements

  • get_entity_color – A replacement for CubitInterface::get_entity_color_index
  • get_wedge_count – Returns the number of wedges in the model
  • get_block_count – Returns the number of blocks in the model
  • get_sideset_count – Returns the number of sidesets in the model
  • get_nodeset_count – Returns the number of nodesets in the model
  • get_volume_wedges – Returns a list (python tuple) of the wedge ids in a volume
  • get_volume_pyramids – Returns a list (python tuple) of the pyramid ids in a volume
  • get_sideset_edges – Returns a list (python tuple) of the edges in the sideset
  • get_node_edges – Returns a list (python tuple) of edge ids adjacent to the node

Defects Fixed in CUBIT™ 16.06

MESH-1637Trimesh – slow mesh creation
MESH-1672Sculpting a thing that isn’t a cube
MESH-3041Tetmesh scheme volume switches to hex after modification
MESH-3164Cubit performance on SCN CEE Linux Engineering Workspaces
MESH-3433Super elements working with no_geom
MESH-3508Selection by Block Element Type
MESH-3862Equivalencing nodes owned by volumes
MESH-4121Selective Transparency for Blocks in CUBIT
MESH-4179User Support: Auto-pillowing – Default Number of Layers should be 2
MESH-4342Number of tets in proximity = 2, hangs
MESH-4435Alignment command fails to transform mesh
MESH-4520Sweeping in Cubit when there are holes
MESH-5061Edges not displayed in wireframe with free_mesh
MESH-5364Hardcopy with clarox
MESH-5504Easier hardcopy in both interactive and from workflows
MESH-5509Importing big step files sometimes doesn’t even work at all
MESH-5566Sculpt build error
MESH-5592Cubit.init not accepting -log command
MESH-5608Tetmesh scheme volume switches to hex after modification
MESH-5644Select surfaces by normal
MESH-5897Right click, select face > Draw Normal does nothing
MESH-5929Cubit beta graphics not working on ECW machine
MESH-5949Unexpected behavior – webcut volume in curve x with plane
normal to curve x fraction 1 from start
MESH-5978Setting visibility of volumes off
MESH-6300Make Tetra-HPC work with sizing functions
MESH-6336Enable sculpt on multiple nodes using bundled OpenMPI
MESH-6357Revise Cubit tutorials for Sierra 100 training
MESH-6473Set logging issue
MESH-6485Paver problem #1 on OUO model
MESH-6486Two complex holes a problem for sweeping
MESH-6488Inconsistent sweeping results
MESH-6491Specifying sweep w/ target vector is order-dependent
MESH-6533Mesh files not closed by lite import
MESH-6545Flush event queue when creating graphics window on macOS
MESH-6547CRASH – interval matching
MESH-6551Request to make entity selection more robust
MESH-6569Combine_by_id documentation for import mesh lite mode
MESH-6570Import Option > Free Mesh > advanced switches back to Mesh_Geometry
MESH-6571Enable highlighting of superelement blocks
MESH-6572Superelement list block
MESH-6582Fix Slow Paver Issues in dimples model

Documentation Updates

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

Sandia Personnel Only

CUBIT™ 16.06 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.06) of CUBIT™ deployed to the LAN.
cubit -noguiThe latest released version (16.06) with just the Command Line and graphics window
cubit -nogui -nographicsThe latest released version (16.06) with just the Command Line
cubit-16.06Version 16.06 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

Roshan Quadros
Sandia National Laboratories
Computational Simulation Infrastructure (org. 1543)
Phone: 505-220-9458