Cubit® 17.02 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.

Major Changes in Cubit® 17.02 Release

This release of Cubit® is a major release and comes with upgraded versions of ACIS and MeshGems. This necessitates some major changes to two capabilities in Cubit®:

  • The new version of ACIS will come with a new and improved healing workflow. Most commands in Cubit® 17.02 starting with the “healer” keyword are removed, and the remaining ones will work differently than before (see Geometry for more information).
  • MeshGems no longer supports macOS, so Cubit® 17.02+ by extension will no longer natively support macOS. For those who are using macOS, Cubit® 16.18 will remain available for download after the 17.02 release. We have also had success running the Windows version of Cubit® 17.02 on macOS through a virtual machine. While we don’t guarantee support on a VM we anticipate that it will work.

New Features in Cubit® 17.02

Index of New Features

Meshing

  • Triangle and Tetrahedral meshing updated to use MeshGems 2.15
  • Normalized inradius metric now gives negative values for inverted tetrahedral elements
  • Spider generation of edge elements now defaults to generating BAR elements
  • Overconstrained tets now automatically found for removal
  • New command to improve triangle quality
  • Improvement in sweeping’s redistribute nodes
  • Hyperbolic Tangent sizing function on curves for boundary layers and structured meshing
  • Match Intervals solver version changed

Geometry

  • Geometry capabilities updated to use ACIS 2023.1

Graphical User Interface

  • Border now included in preview of webcuts
  • Software renderer removed

Miscellaneous

  • Terminology change for some Cubit® commands
  • ‘Tolerance’ keyword for extended entity specification
  • Python 2.7 removed from distribution
  • Error handling improvements in Python scripts
  • New python function to find overlapping curves

Meshing

Triangle and Tetrahedral meshing updated to use MeshGems 2.15

The primary triangle and tetrahedral mesher in Cubit® has been updated to MeshGems 2.15. This upgrade comes with more robustness, better quality elements, and improved capabilities. Meshing of composite surfaces is now more robust. An experimental capability to generate quadratic tetrahedral meshes has been expanded.

For more information see: TriMesh, TetMesh

Normalized inradius metric now gives negative values for inverted tetrahedral elements

The normalized inradius metric now returns negative values for inverted elements. Though not common, robustness is gained by checking for inversion.

For more information see: Metrics for Tetrahedral Elements

Spider generation of edge elements now defaults to generating BAR elements

The block command for spider generation will now generate BAR elements by default. Previously, BEAM elements were the default. If a specific element type is preferred, the ‘element type’ option can be given to the ‘block’ command.

For more information see: Creating Spider Blocks

Overconstrained tets now automatically found for removal

The ‘remove overconstrained tet’ command now takes volume ids, automatically finding overconstrained tets and removing them. A ‘preview’ option has also been added to show which tets will be removed.

For more information see: Collapsing Mesh Edges

New command to improve triangle quality

The new ‘improve tri’ command collapses and swaps mesh edges to improve mesh quality of triangle elements. The operation that results in better quality is used.

Improve tri command automatically improves triangle mesh quality
Improve tri command automatically improves triangle mesh quality

For more information see: Collapsing Mesh Edges

Improvement in sweeping’s redistribute nodes

When generating a hex mesh with Cubit® sweep scheme, uneven node spacing on linking surfaces on four-sided surfaces is now propagated fully to the target surface, preventing skew.

Node redistribution is now fully propagated to the target surface, mitigating skew
Node redistribution is now fully propagated to the target surface, mitigating skew

For more information see: Sweep

Hyperbolic Tangent sizing function on curves for boundary layers and structured meshing

A new mesh sizing capability has been developed to improve mesh gradation control and mesh quality. This function can be specified on curves to ensure that the mesh transitions smoothly and accurately, especially in structured meshing to enhance the overall quality of the CFD simulation.

Hyperbolic tangent sizing function used to increase mesh density near a boundary layer
Hyperbolic tangent sizing function used to increase mesh density near a boundary layer

For more information see: Hyperbolic Tangent Sizing Function

Match Intervals solver version changed

Scheme triprimitive will place mesh ends in the middle of curves less often, and certain values of hard-set intervals which require those ends will produce an error instead. Match Intervals produces intervals closer to the requested size on average, but in some cases the user may desire the old behavior. To reproduce old solutions for running old journal files, use the following commands:

set interval version {<cubit version number>|default}
list interval version [options]

Specify ‘options’ to see available options. The previous command

set Match Intervals IIA {on|OFF}

was removed.

For more information see: Interval Matching

Geometry

Geometry capabilities updated to use ACIS 2023.1

The ACIS geometry kernel has been upgraded to ACIS 2023.1. This upgrade comes with improved geometry healing. The Healer AutoHeal command will no longer have a rebuild or maketolerant option.

Healer Autoheal {Volume|Body} <range> [rebuild] [keep] [maketolerant]

It will also function differently on the back end, by unhooking all surfaces, simplifying, and stitching them back together. The new healing process should provide better results overall. The Healer Analyze and Healer Simplify commands will retain the same options

Healer Analyze {Volume|Body} <range>
Healer Simplify {Volume|Body} <range> [simplifytol <val> [keep]

Though the Healer Analyze command will now use a different algorithm to analyze the geometry and will function the same as the Validate command. The following healing commands are no longer needed with ACIS 2023.1 and will be deprecated:

Healer CleanAtt {Volume|Body} <range>
Healer Default {SimplifyTol|StitchMinTol|StitchMaxTol|GeomBuildTol|
     AnalyticTol|IsosplineTol} <value>
Healer Force {plane|cylinder|cone|sphere|torus} Surface <id_list> [keep]
Healer Incremental {Volume|Body} <range> [simplifytol <tol>]
     [stitchmintol <tol>] [stitchmaxtol <tol>]
     [geombuildtol <tol>] [analytictol <tol>] [isosplinetol <tol>]
     [reblend_classifytol <tol>] [reblendtol <tol>] [keep]
Healer List CheckSmall
Healer List CleanAtt
Healer {List|Reset} Default Tol
Healer List Incremental
Healer List Tol {Volume|Body} <range>
Healer List OnShow
Healer PreProcess {Volume|Body} <range> [keep]
Healer Stitch {Volume|Body} <range> [stitchmintol <val>] [stitchmaxtol] [keep]
Healer Geombuild {Volume|Body} <range> [geombuildtol <val>] [analytictol <val>
     [isosplinetol <val>] [keep]
Healer Analytic {Volume|Body} <range> [analytictol <val>] [keep]
Healer Isospline {Volume|Body} <range> [isosplinetol <val>] [keep]
Healer SharpEdge {Volume|Body} <range> [keep]
Healer GenericSpline {Volume|Body} <range> [keep]
Healer WrapUp {Volume|Body} <range> [keep]
Healer PostProcess {Volume|Body} <range> [keep]
Healer Set CleanAtt {On|Off}
Healer Set Incremental {PreProcess|Simplify|Stitch|Geombuild|Analytic|IsoSpline|
     SharpEdge|GenericSpline|WrapUp|PostProcess|All} {On|Off}
Healer Set Show OnHeal {On|Off}
Healer Set OnShow {highlight|draw|none}
Healer Set OnShow {badvertices|badcurves|badcoedges|badbodies|all} {On|Off}
Healer Set OnShow Summary {On|Off}
Healer Set CheckSmall {Curve|Surface|Volume|All} [On|Off] [<value>]
Healer Show [{Volume|Body} <range>]
Healer Show Tcurves [{Volume|Body} <range>]

Finally, the validate commands will continue to use the ACIS geometry checker and will remain unchanged.

validate body|volume|surface|curve|vertex <id_list>
validate body|volume|surface|curve|vertex <id_list> mesh
validate body <id_list> normal [reference [surface] <id>] [reverse]

For more information see: Healing. Validating Geometry

Graphical User Interface

Border now included in preview of webcuts

A border is now included when seeing previews of webcuts. If the cut plane directly aligns with the viewpoint, the plane can still be visible by having this border.

For more information see: Web Cutting

Software renderer removed

Cubit had been including a software renderer as a fallback if user’s systems were not capable of supporting modern rendering capabilities. With RHEL 8 now being a minimum Linux version required, this software renderer is no longer used. Additionally, Windows machines are now required to support modern rendering capabilities.

Miscellaneous

Terminology change for some Cubit® commands

A handful of Cubit® commands replaced the less considerate “master/slave” keywords with a more neutral “primary/secondary” keywords. This includes the following commands:

  • Create constraint tie
  • Create contact pair
  • Create contact autoselect
  • Periodic nodeset selection in Sculpt

For more information see: Contact, Constraints, Sculpt Mesh Types, Sculpt Commands

‘Tolerance’ keyword for extended entity specification

You may include a tolerance parameter for equality operators rather than write lengthier selection with inequalities. e.g. select volume with volume = 5 tolerance 1e-3 rather than select volume with volume > {5 - 1e-3} and with volume < {5 + 1e-3}

For more information see: Extended Entity Specification

Python 2.7 removed from distribution

Due to reduced usage of Python 2.7 and the fact it is deprecated and unsupported, it has been removed from the Cubit® distribution. User’s can still run Cubit® with Python 2.7 if it is installed on the system, and if Cubit® is given the option to run with Python 2. This removal decreases the distribution size and eliminates potential vulnerability concerns.

Error handling improvements in Python scripts

To assist in finding syntax errors in Python script, the cmd() and parse_cubit_list() functions in the cubit module now raise exceptions for syntax errors. This can reduce the amount of time debugging and tracking down programming mistakes in scripts.

New python function to find overlapping curves

The python function find_overlapping_curves returns sets of overlapping curve ids, given a list of curve ids.

For more information see: Cubit® Python API

Defects Fixed in Cubit® 16.18

  • MESH-8243: ACIS issues breaking ddt runs
  • MESH-7408: Cubit Silently Ignoring Space When Setting Block Element Type
  • MESH-7376: Split surface unsuccessful
  • MESH-8169: Shift-F11 not working
  • MESH-7470: Geometry power tool not finding hole on first analyze
  • MESH-8176: Volume changing after webcut
  • MESH-7402: Selecting chamfer chains
  • MESH-8271: Bug in pickwidget code – IDs get reordered
  • MESH-7688: “Preview” unrecognized for surface copy transform
  • MESH-7701: Improve saving large cubit files
  • MESH-8278: Adjust boundary ortho not journaling
  • MESH-8217: Linewidth broken
  • MESH-8282: Redistributing nodes in sweeping not working well
  • MESH-8302: Paver create 180 degree element on boundary
  • MESH-8327: Losing Graphics Window
  • MESH-8280: Undo not supporting tweak command
  • MESH-8183: Finding zero volume volumes no longer works in cubit 16.16
  • MESH-8342: Sculpt error – no elements created
  • MESH-8204: Spider to default to bar element
  • MESH-7936: Rebar commands not working on free mesh
  • MESH-7472: Python loop issue, cut & paste script works, but running it doesn’t
  • MESH-7467: Holes not completely identified
  • MESH-7453: GUI gives incorrect command for sweep surface with target plane
  • MESH-7311: Diagnose Geometry tab doesn’t consider sheet bodies
  • MESH-7307: Webcut with general plane case not working
  • MESH-7272: Unexpected behavior with rebar command
  • MESH-7130: Right-click ‘select chamfer chains’ taking too long

Documentation Updates

The Cubit® 17.02 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® 17.02 Contents of Release

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

Documentation: Both Linux and Windows versions of Cubit® include full online documentation.

Platforms Supported

Cubit® 17.02 supports the following Platforms:

  • Linux RedHat Enterprise 8
  • Windows 10 and 11

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 Sandia users, Cubit® 17.02 may be downloaded from the Cubit® download page.

Sandia Personnel Only

Cubit® 17.02 may be downloaded from the Cubit® download page.

Windows

Download a Windows installation file and double-click to install.

Linux Desktop

Decompress and extract the .tar.gz archive, then run the ‘cubit’ script in the Cubit-17.02 directory

Linux LANs

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 run Cubit®.  In some cases, the full path will need to be specified:

/projects/cubit/<cubit_command>
cubitThe latest released version (17.02) of Cubit® deployed to the LAN.
cubit -noguiThe latest released version (17.02) with just the Command Line and graphics window
cubit -nogui -nographicsThe latest released version (17.02) with just the Command Line
cubit-17.02Version 17.02 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-help@sandia.gov

Cubit® Licensing and Passwords

Email: asc-approvals@sandia.gov

Cubit® Support Lead

Trevor Hensley
Phone: 505-844-3304
Email: cubit-help@sandia.gov

Cubit® Project Lead

Ryan Viertel
Email: rvierte@sandia.gov