- Product Description
- Product Highlights
- Contact Information
- New Features
- Limitations
- Defects Fixed
- Enhancements
- Documentation
- Contents of Release
- Platforms Supported
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 https://cubit.sandia.gov
New Features in CUBIT™ 15.8
Index of New Features
Graphical User Interface
Selection by entity name in graphics window
Meshing
New Metrics: Normalized Inradius and Mass Increase Ratio
More Criteria For Snapping Higher-order Nodes
Geometry
Sculpt
Graphics, Utilities, etc.
User-developed Python scripts now included with Cubit
Graphical User Interface
Reduce Command Panels
A series of new command panels supporting the new reduce options have been added. These can be found in the Cubit command panels at Geometry->Volume->Modify->Reduce. (See the geometry section of this document for more information)
Geometry Power Tool
When the classification diagnostic is used, volumes that have been classified as bolts now provide a broad range of reduce solutions that can be applied directly to the selected bolts. The reduce command panels can also be accessed directly from the volume solutions, allowing for rapid preparation of bolts for analysis.
Selection by entity name in graphics window
The right click menu now provides an option to select entities that share the same name. It will select entities that have the same prefix up to the “@” character.
When selecting a chamfer surface, ‘select chamfer chain’ option available in right-click context menu.
Meshing
New Normalized Inradius and Mass Increase Ratio metrics added to Cubit
Two new metrics has been added to Cubit: Normalized Inradius and Mass Increase Ratio.
Mass Increase Ratio
The Mass Increase Ratio metric is based on the timestep metric and can be used as a guide to determine how much an element’s mass can be scaled during analysis, to typically increase timestep. Users specify a minimum ‘target timestep’ and then use this metric to see how much an element’s mass will be scaled by to meet the specified timestep. Available for use on tets and hexes.
Normalized Inradius
For tets only, the Normalized Inradius is the ratio of the minimum subtet inner radius to the outer tet radius (circumsphere). To find the subtet inner radius, the tet is broken up into 12 subtets, using mid edge nodes. The Normalized Inradius metric is also valid for linear elements, except that all mid-edge nodes are defined as the midpoint of their corner nodes.
More Criteria For Snapping Higher-order Nodes
Cubit’s ‘set node constraint’ command has been enhanced to include the ‘normalized inradius’ metric to determine if mid-edge nodes should be snapped to geometry. A user-defined minimum threshold metric value has also been added to the command:
set Node Constraint [on|off|SMART][tet quality [distortion|NORMALIZED INRADIUS]][threshold <value=0.15>]
Geometry-Aware Spider Blocks
When creating spider blocks with the command:
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 }]
and geometry (surface|curve|vertex) is referenced, the spider block is linked to that geometry, allowing the spider to update/regenerate the BAR elements if the mesh on the geometry is delete, remeshed, or translated.
Geometry
New Reduce Commands
Several new options were added to the reduce command for rapidly preparing a volume identified as a bolt for analysis. These can be used in conjunction with the geometry power tool’s classification tool which will use machine learning to identify volumes as bolts. In addition to geometry simplification, most of the reduce options allow for block assignment and meshing as part of the command. The new options include the following additions to the reduce command.
Simplify Bolt | Performs defeaturing only the bolt geometry. | |
Reduce Bolt Fit | Defeatures a bolt, and fits bolt to surrounding geometry. | |
Reduce Bolt Core | Defeatures a bolt and generates a cylindrical core geometry surrounding the bolt. | |
Reduce Bolt Spider | Generates a spider joint in place of a bolt. |
Sculpt
New Sculpt options:
stitch_parallel
option combines parallel files when no Nemesis data is includedmatch_sidesets_nodeset
to more precisely define boundary between sides when using ‘match_sidesets’ option.material_name
,sideset_name
, andnodeset_name
added to define names on materials, sidesets, and nodesets respectively.sideset
andnodeset
to allow for user-defined sidesets and nodesets based on xyz bounding box boundaries.large_exodus
to generate output Exodus file(s) to allow IDs greater than 2^31 (2.14 Billion).input_mesh
option under thegen_sidesets
option. Used with theinput_mesh
option where an exodus file is used as the base grid. Only sidesets and nodesets defined in the input exodus mesh are transferred to the output mesh.
Misc Improvements:
- Allow better capture of STL vertices with the capture=5 option.
- Quality improvements interface of domain boundary and level-set surfaces. Adding grid cells in special cases.
- More robustness to enforce periodicity.
- Bugs in defeaturing, when not retaining void mesh.
Graphics, Utilities, etc.
Python script library
The Python-Cubit enhancement code base is a collection of functions to enhance geometry selection, geometry manipulation, meshing, mesh smoothing, and other Cubit functions. Many of these scripts utilize volume names and geometric data such as surface area, surface type, etc. as a way to filter out geometries, and provide a powerful id-less method.
These scripts are located in the cubit bin
directory or can be downloaded from https://cee-gitlab.sandia.gov/meshing-users/cubit-python-enhancements (Sandia Users Only).
These functions have been added to nightly tests, to assure compatibility with the latest Cubit code.
New CubitInterface functions
CubitInterface is CUBIT™’s python module that provides extensive capability for querying and modifying data in CUBIT™. The following functions were added to CubitInterface for version 15.8.
get_all_ids_from_name | Get all ids of a geometry type with the prefix given by string. |
get_hole_surfaces | Given a surface, returns all adjacent surface defining a hole. |
get_surface_hole_collections | Given a volume(s), returns the collections of surfaces that define holes. |
is_hole_surface | Return whether the surface is part of a hole. |
best_edge_to_collapse_interior_node | Given a node owned by a surface, returns the id of the best edge to collapse, so that the node is no longer on the surface. |
get_continuous_curves | Gets a list of continuous curves that have tangents with 180 degrees +/- and defined tolerance. |
get_n_largest_distances_between_meshes | Computes the ‘n’ largest distance from the nodes of the first entity to the elements of the second |
Uniform Mesh Refinement
The uniform mesh refinement tool is now packaged with CUBIT™ as “extra”.
The “extra” tool is standalone code that refines a mesh stored in the Exodus format, uniformly splitting every element in the mesh into a number of sub-elements, and writes the fine mesh to a new Exodus file. The resulting elements have roughly half the edge length of the original mesh. The algorithm uses an efficient streaming pipeline with low memory requirements. On recent CPUs with an SSD (solid state drive), it will write a mesh up to 4 billion elements or nodes in only a few minutes, and millions of elements or nodes in seconds or less.In this release of extra, only blocks and sidesets of tetrahedra (4 node) and triangles (3 node) are supported. When a geometry file (STEP format) is provided, projection of new nodes to geometry is performed. Each TET element results in 8 new TET elements, each TRI results in 4 new TRI elements. Resulting blocks and sidesets in the output mesh will have the same IDs and names as the input mesh. In addition, a quality metric can be computed on the initial and refined mesh. Finally, the surface mesh of the block boundaries can be exported for visualization purposes.The tool can be run from the command line as:
/projects/cubit/extra --help
Uniformly refine an ExodusII mesh, optionally matching CAD geometry. Usage: /projects/cubit/extra [OPTIONS] [INPUT] [OUTPUT] Positionals: INPUT FILE Input mesh file (coarse mesh). OUTPUT FILE Output mesh file (refined mesh). Options: -h,--help Print this help message and exit -g,--geometry FILE Snap boundary to geometry given in STEP format -b,--boundary Output the boundary mesh as OBJ file -m,--metrics Print element quality in input mesh and exit -j,--jobs N:UINT in [0 - 30] Number of concurrent jobs. 0 means maximum number of logical cores. (default =0). -v,--verbose N:INT in [0 - 3] Write increasingly more output (default =1). -q,--quiet Suppress output (same as --verbose=0). -d,--debug N:INT in [0 - 3] Write more debug output to log files (default=0). -V,--version Prints version information.
Known Defects in CUBIT™ 15.8
The following items are the user-reported bugs fixed since the last release of CUBIT™. For more information contact Roshan Quadros (wrquadr@sandia.gov).
Ref # | Description |
MESH-4647 | Changed the default smoothing timeout from 10 minutes to 30 seconds |
Better performance when importing cub files | |
Better performance when merging curves in GUI | |
MESH-4444 | Blocks of dimension 0 and 1 not highlighting correctly |
MESH-5031 | Fix meshing quartered sphere with polyhedron scheme. |
MESH-4965 | Cubit selection monitor doesn’t list mesh elements |
MESH-5056 | Consolidating excessive printouts to terminal on some operations (regularize and delete mesh) |
MESH-5375 | Fix for crash in tolerant imprinting. |
*The defects listed above are only those user-reported issues deemed “critical” or “blocker”. For information on other known defects contact Roshan Quadros.
Enhancements in CUBIT™ 15.8
The following items are the user-enhancements implemented in the release of release of CUBIT™. For more information contact Roshan Quadros (wrquadr@sandia.gov).
Ref # | Description |
When importing a ACIS file (.sat/.sab) added ability for Cubit to read in generic attributes with name PTCName on bodies and volumes | |
connected_sets option added to remove surface command to allow for more robust surface removal | |
The collapse edge/tri/tet commands can take multiple ids. | |
Users can globally control the minimum edge length created during triangle meshing (trimesh scheme) with the command: [Set] Trimesher Minimum Size <val> | |
Higher order nodes taken into account when computing element volume metric for hexes and tets. | |
Surface meshing scheme ‘Hole’ now accepts negative bias, switching bias direction. | |
Performance and robustness increase when importing mesh-based geometry models containing many hardlines. |
Limitations of CUBIT™ 15.8
Ref # | Description |
3433 | Superelement export not supported |
Documentation Updates
The CUBIT 15.8 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.8 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.8 supports the following Platforms:
- Linux RedHat Enterprise 6 and 7
- Windows 10, 8 and 7
- macOS 10.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 current CUBIT users, CUBIT 15.8 may be downloaded from the CUBIT download page.
Sandia Personnel Only
CUBIT 15.8 may be downloaded from the CUBIT download page.
- Windows
- Download a Windows installation file and double-click to install.
- MAC OS X
- Download a Mac OS X disk image file. After the disk image is opened, click and drag the Cubit folder to /Applications.
- 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 execute CUBIT. In some cases, the full path will need to be specified:
/projects/cubit/<cubit_command>
cubit | The latest released version (15.8) of CUBIT deployed to the LAN. |
cubit -nogui | The latest released version (15.8) with just the Command Line and graphics window |
cubit -nogui -nographics | The latest released version (15.8) with just the Command Line |
cubit-15.8 | Version 15.8 with GUI |
cubit-beta | 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
Email: cubit-req@sandia.gov
Cubit Support Lead
Trevor Hensley
Cubit Support Lead
Phone: 505-284-7756
Email: cubit-help@sandia.gov
Cubit Project Lead
Roshan Quadros
Sandia National Laboratories
Computational Simulation Infrastructure (org. 1543)
Phone: 505-844-0408
Email: wrquadr@sandia.gov
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