skip to: onlinetools | mainnavigation | content | footer

CUBIT Toolkit

Cubit Logo

CUBIT 15.0 Release Notes

CUBIT 15.0 Logo

Product Description

New Features CUBIT 15.0

CUBIT 15.0 Documentation

Product Highlights

Defects Fixed CUBIT 15.0

CUBIT 15.0 Contents of Release

Contact Information

Known Defects CUBIT 15.0

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 http://cubit.sandia.gov

 

New Features in CUBIT 15.0

Index of New Features

 

Meshing

 

Mesh Scaling

Sweeper Enhancements

Sculpt

Column Operations

Sphere Scheme

 

Geometry

 

ACIS R24 SP1 Upgrade

Higher-order Nodes in MBG

 

Import/Export

 

Unique Genesis IDs

Deformation Information with Free Mesh

Cubit (cub) file export in GUI

 

Graphics, Utilities, etc.

 

Locate Entities From Idless Signature

APREPRO Changes

Block, Sideset, Nodeset Visibility

Block_Assigned Extended Parsing Option

Has_Scheme Extended Parsing Option

Reset QA Records

Added Tolerance Value to Geometry/Mesh Compare

Control-L Gesture Supported

Improved Shell and Surface Normal Visualization

 



Meshing


Mesh Scaling

Mesh Scaling provides the ability to scale the number of elements in an all hexahedral mesh.


scale mesh {multiplier <double> [minimum <int>] | add_interval <int>}


For example, the image below shows an initial mesh with 2124 hexahedral elements.

Issuing the command scale mesh multiplier 2.0 will result with 4275 hexahedral elements, for an increase of 2152 new hexahedral elements spread as evenly as possible over the model, as illustrated in the image below.

scale mesh example 1

scale mesh example 2

Likewise, issuing the command scale mesh multiplier 4.0 will result with 9203 hexahedral elements, as illustrated in the image below.

Mesh Scaling can also perform global coarsening of the mesh by specifying a multiplier less than 1.0. For example, issuing the command scale mesh multiplier 0.75 will result with 1573 hexahedral elements, as illustrated in the image below.

scale mesh example 3

scale mesh example 4

Mesh Scaling is a powerful tool to be used for solution verification, where multiple analyses are performed on a model with a series of incrementally finer meshes in order to perform solution convergence studies. With traditional refinement, element counts will increase by 8X for each incrementally finer mesh, quickly exhausting computational resources for the set of analyses. In contrast, Mesh Scaling allows more gradual increments between each mesh in the series, allowing for more solution data points for the convergence studies while using less computational resources.


Sweeper Enhancements

For Cubit 15.0, the core algorithms in the hexahedral sweeping scheme have been rewritten and optimized. By default, 15.0 uses the new sweeping codes without any additional input from the user. The user should see improved element quality, particularly when sweeping volumes with multiple source surfaces being swept to a single target surface.


As part of this rewrite of the sweeper, the following command was enhanced.


Volume <range> autosmooth_target [off|ON] fixed_imprints [OFF|on] smart smooth [off|ON] tolerance <val 0.0 to 1.0=0.2> nlayers <val >=0=5>


Issuing the command Volume <id> autosmooth_target off will project the source nodes onto the target without any subsequent smoothing to improve quality. The result is that the relative placement of the nodes on the target will be as close to identical as possible to the relative placement of the node on the sources. This should be used when sweeping models that are very thin, and smoothing of the target could result in significant skew introduced in the thin layers in the sweep. Axisymmetric models might also want to turn OFF the autosmooth_target so that the nodes are identically placed on the symmetry plane surfaces.


Issuing the command Volume <id> autosmooth_target on will call a surface smoother after the initial projection of the nodes onto the target in order to improve surface element quality. This smoothing does not consider hex element quality, only quality of the target surface mesh. This command will smooth all nodes on the target surface. Adding the fixed_imprint on keyword onto the command will cause the target nodes which are projections of source nodes on source curves and vertices to remain fixed during smoothing. Only target nodes which are projections of source surface interior nodes will be smoothed. The smart smooth on option provides further control to the user. If smart smooth is turned on, target surface smoothing will only move nodes which are within nlayers of a target surface quad element that has a scaled Jacobian quality measure less than the specified tolerance value.



Sculpt

Sculpt is a separate parallel application designed to generate all-hex meshes on complex geometries with little or no user interaction. Cubit provides a front end command line and GUI for the Sculpt application. The command will build the appropriate input files based on the current geometry and can also automatically invoke Sculpt to generate the mesh and bring the mesh back to Cubit. The following command can be used to invoke the Sculpt application


sculpt parallel <options>


In addition, options for Sculpt can be set up in the new Sculpt command panel: Mesh > Volume > Parallel Sculpt. Complete documentation on the Sculpt Parallel options are included in the Cubit User's Manual.


sculpt example

Example of a mesh generated with the new Sculpt application



Column Operations

Column operations allow users direct control over the mesh connectivity while maintaining full-geometric associativity. Operations include column insertion, deletion, and swapping. Additionally, support has been added for grouping columns and drawing columns.


column insertion example

Example of a column insertion operation


Sphere Scheme

The meshing algorithm for scheme sphere has been rewritten to provide better control over the resulting mesh. The mesh from scheme sphere consists of an inner and an outer region analogous to the circle scheme for suface meshing. The inner region is cube-shaped and the outer region connects the 6 faces of the cube out to the sphere surface. The command for setting scheme sphere is:



Volume <range> Scheme Sphere [graded_interval <int>] [az_interval <int>] [bias <val>] [fraction <val>] [max_smooth_iterations <int=2>]


Specifying the az_interval provides control over the overall mesh coarseness; fraction controls the percentage of the sphere radius covered by the inner cube; the number of layers and bias in the outer region are controlled by graded_interval and bias, respectively. Mesh quality can be improved by specifying the max_smooth_iterations. Examples are shown below.

Fig 1: fraction 0.7 graded_interval 5 az_interval 32 bias 1.0 max_smooth_iterations 2

Fig 2: fraction 0.9 graded_interval 9 az_interval 32 bias 1.5 max_smooth_iterations 0



Geometry


ACIS R24 SP1 Upgrade

CUBIT 15.0 includes an update to the ACIS solid modeling libraries to ACIS R24 SP1. The new version contains various improvements and bug fixes. As with any upgrade to the ACIS solid modeling libraries there is the potential for geometry id changes in CUBIT compared to earlier versions.


Using Higher-order nodes in MBG

Older versions of Cubit only used the first-order or corner nodes in defining facets for mesh-based geometry (MBG.) This ignored the curve and surface information that was present in the higher-order, mid-side and mid-face nodes. This release of Cubit uses all appropriate nodes in defining MBG. The resulting MBG is a better representation of the curves and surfaces as defined by the mesh as shown below.


tet tet14 example

MBG from tetra (left) and tetra14 (right) elements




Import/Export


Unique Genesis IDs


When importing an Exodus mesh as Mesh-based Geometry, the new Unique Genesis IDs option is used to preserve ids in the Cubit session in the case that id overlap exists when importing an Exodus II file. This can occur when importing into an active session where ids for blocks, nodesets or sidesets have already been assigned. The default behavior, when ID collisions occur, is to include any new entity into the existing block nodeset or sideset. If the Unique Genesis IDs option is used, Cubit will automatically generate a new unique ID for any block, nodeset or sideset imported. A report of the collisions and their new IDs will be displayed on import in the command window. The following is an example of how this option is used.


import mesh geom "myfile.g" unique genesis ids


Deformation Information with Free Mesh

The Free Mesh import dialog now supports the import of deformation information, if such information exists. The parameters shown below have been added to the import mesh command.


[Time time|Step step|Last] [Scale value]


Exporting Cubit (cub) files from the GUI

The GUI now supports exporting Cubit (cub) files. Users can find file export from the file menu or from the command panels.




Graphics, Utilities, etc.


Locate Entities From Idless Signature

The locate command can be used to help find an entity for which you only have the idless signature. Use the formatting for commands:


Locate <location_options>


This allows any general location to be specified. A leader and title will be drawn on the graphics window to indicate the specified loation. For example, if you have an idless reference to a curve such as:


Curve ( at 5 5 0 ordinal 1)


issuing the command:


Locate location 5 5 0


will indicate the location (5,5,0) in the graphics window.


APREPRO Changes

Cubit 15.0 includes an updated version of the APREPRO library. This change brings Cubit up to date with other Sandia applications that use APREPRO, such as the Sierra solvers. The new library includes significant new functionality which can now be used in Cubit journal files, such as:

  • Immutable variables
  • Switch/case statements
  • Elseif statements
  • New APREPRO functions

As part of this update, a number of additional changes were made:


ifdef and ifndef are deprecated in the latest version of APREPRO. Use if(expression) and if(!expression) instead.


The predefined variable VERSION now refers to the APREPRO version. CUBIT_VERSION refers to the version of Cubit.


The new command {abortloop} will terminate all nested loops without expanding or executing the loop. This, in effect, cancels the loop. It is useful when entering a loop from the command line and a typo is entered.


A warning is issued when a loop is initiated to inform the user that all subsequent commands will have no effect until the corresponding {endloop} or {abortloop} has been reached.


The command "create equation ..." now uses standard APREPRO syntax. Instead of requiring brackets around the variables x, y, z, n, it is now required that these variables are used without the brackets. For example, use create equation "2.0*sin(x)" instead of create equation "2.0*sin({x})".


    New Functions to get entity from idless signature:


    VolumeAt(x, y, z, ordinal)

    SurfceAt(x, y, z, ordinal)

    CurveAt(x, y, z, ordinal)

    VertexAt(x, y, z, ordinal)

    NodeAt(x, y, z, ordinal)

    EdgeAt(x, y, z, ordinal)

    FaceAt(x, y, z, ordinal)

    TriAt(x, y, z, ordinal)

    HexAt(x, y, z, ordinal)

    TetAt(x, y, z, ordinal)

    PyramidAt(x, y, z, ordinal)

    WedgeAt(x, y, z, ordinal)


These functions return the id of an entity given the (x,y,z,ordinal) from the idless signature of an entity. These functions are particularly useful when you have an idless journal file, and you want to find the entity id of a particular entity.


Block, Sideset, Nodeset Visibility

A command to enable/disable the visibility of Genesis entities (blocks, nodesets and sidesets) is now available. Entity visibility may be controlled from the command line or via context (right-click) menus in the Tree and in the graphics window. This capability is especially useful when working with large imported exodus mesh files.


Block_Assigned Extended Parsing Option

A new function, "Block_Assigned", has been added for extended entity specification. Block_Assigned can be used to identify elements assigned, or not assigned to an element block. For example, to find all hexes not assigned to a block:


Draw hex with not block_assigned


Has_Scheme Extended Parsing Option

A new function, "Has_Scheme", has been added for extended entity specification. Has_Scheme can be used to identify curves, surfaces, or volumes which have been assigned a specified scheme. The scheme is specified by the keyword name string of the scheme. Wildcard characters can also be used when specifying the scheme name string. Examples:


To highlight all surfaces with scheme pave:


Highlight surface with has_scheme 'pave'


To draw all surfaces with scheme map or submap:


draw surface with has_scheme '*map'


Reset QA Records

The command "Reset QA_Records" will remove any qa records that Cubit is currently storing, preventing them from being written out in an exodus, genesis, or .cub file. This can be useful in cases where a large number of QA records has built up over time which can cause extremely slow performance on file i/o.


Reset QA_Records


Tolerance added to Geometry/Mesh Compare Tool and Command

A new tolerance parameter has been added to the Geometry/Mesh Comparison tool and command. The default value of 1e-6 will be used unless changed by the user.


Compare Volume <id_range> [Block <id_range>] [Hex <id_range>] [Tet <id_range>] [tolerance <value>]



Control-L puts focus and cursor at command prompt

From anywhere in the GUI, typing 'control + l' will give focus to the command prompt window and place the cursor in that window.


Shell and Surface normal visualization

A new way to visualize the normals of shell elements and geometric surfaces has been implemented. The Draw surface <id_range> normal command colors surfaces or elements using one color for the inward facing side, and a second color for the outward facing side. The surfaces/elements on the positive nomral direction are always colored black. The color along the negative normal direction can be set by the user. This approach provides an easier method for validating the normals of the geometry and mesh compared to the previous method of drawing only arrows to display the normals. Arrows representing the surface/element normal can be added to the visualization by using the "Length" option. Shell normal visualization


Draw {Surface | Face | Tri} <id_range> Normal [Length <length>] [Face | Tri] Color <color> [Add]



Fixed Defects in CUBIT 15.0


The following items are the user-reported bugs fixed since the last release of CUBIT. For more information contact Byron Hanks (bwhanks@sandia.gov).


Ref #

Resolved Defect*

9717

Exodus file exported from Cubit crashes Ensight

9718

Sideset #sides changes during nothing but import/export

9740 Sphere element import not working correctly
9807 Cubit crash when meshing a model using skeleton sizing
9808 Mesh refinement crashing on refining higher order hexes
9842 Reflecting volume w/ triangle-meshed, merged surface crashes cubit
9902 Playing a journal file fails on Linux if the journal file has Windows line endings
9913 Crash on Mesh Export when a volume mesh includes multiple element types
9915 Crash in sweeping volume with periodic linking surface
9922 Clicking on a curve in the GUI causes hang/crash
10017 Sweeping a meshed surface does not result in a meshed volume
10080 Crash after regularizing geometry that has been merged and meshed
10082 Healer-analyze crashing Cubit
10093 Crash when parsing names
10295 Unite with include_mesh option causing Cubit to crash
10342 Tet meshing fails on an MBG volume
10359 Defeature power tool crashes
10446 Cubit crashes on syntax error with missing "name" keyword
10514 Splitting curve on a free surface (non sheet body) crashes

 

*The defects listed above are only those user-reported issues deemed "critical" or "blocker". For information on other resolved defects contact Byron Hanks.

 

Known Defects in CUBIT 15.0


The following items are bugs or limitations that may be encountered in the current release of CUBIT. For more information on these defects or to report additional defects contact Byron Hanks (bwhanks@sandia.gov).


Ref #

Known Defects in CUBIT 15.0*

Description

Suggested Work-around

N/A N/A N/A N/A

*The defects listed above are only those user-reported issues deemed "critical" or "blocker". For information on other known defects contact Byron Hanks.

 

Documentation Updates


The CUBIT 15.0 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.0 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


Starting with CUBIT 15.0, 64-bit versions of Cubit are available for Mac OS X, and 32-bit versions for Mac have been discontinued. CUBIT 15.0 supports the following Platforms:


  • Linux RedHat Enterprise 5 and 6, 32- and 64-bit

  • Windows 7, XP, Vista, 32- and 64-bit

  • Mac OS X Intel based (10.6 and newer)


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

Sandia Personnel Only

Windows
From the CUBIT download page you may download a Windows installation file. Copy the file for the version you require to your hard drive then double-click to install.
MAC OS X
Download a Mac OS X disk image file from the CUBIT download page. Copy the file Cubit-15.0-Mac64.dmg.gz to your Mac harddrive. Use gunzip to unpack the disk image file.
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 64-bit version (15.0) of CUBIT deployed to the LAN.

cubit32

The latest released 32-bit version (15.0) of CUBIT deployed to the LAN

cubit -nogui

The latest released 64-bit version (15.0) with just the Command Line and graphics window

cubit -nogui -nographics

The latest released 64-bit version (15.0) with just the Command Line

cubit-15.0

64-bit Version 15.0 with GUI

cubit32-15.0

32-bit Version 15.0 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-help@sandia.gov

CUBIT Licensing and Passwords

Kathy Loeppky
Cubit Licensing
Phone: 505-844-2376
Email: cub-req@sandia.gov

CUBIT Support Lead

Bob Kerr
Cubit Support Lead
Phone: 505-844-8606
Email: cubit-support@sandia.gov

CUBIT Project Lead

Byron Hanks
Sandia National Laboratories
Computational Simulation Infrastructure (org. 1543)
Phone: 505-845-0500
Email: cubit-support@sandia.gov

Web site contact: Cubit Support