Cubit relies on the ACIS solid modeling kernel for geometry representation. There is also mesh-based geometry. Geometry is imported or created within Cubit. Geometry is created bottom-up or through primitives. Cubit can also read STEP, IGES, STL, and FASTQ files and convert them to the ACIS kernel. Once in Cubit, an ACIS model is modified through booleans, or tweaking curves and surfaces. Without changing the geometric definition of the model, the topology of the model may be changed using virtual geometry. For example, virtual geometry can be used to composite two surfaces together, erasing the curve dividing them. Sometimes, an ACIS model is poorly defined. This often happens with translated models. The model can be healed inside Cubit.
Coreform Cubit supports U-spline model generation for IGA.
Typical assembly meshes require contiguous mesh across multiple parts in an assembly. Cubit accomplishes this by taking the two touching surfaces of neighboring volumes, and merging them into a single surface. There will be only one mesh of the surface, and both volume meshes will share that surface mesh. In contrast, some meshing packages keep two surfaces, and take steps to ensure their mesh connectivity and positions match. These shared surfaces are called non-manifold topology. Geometric models are usually imported into Cubit as manifold (non-shared) models; then, surfaces which pass a geometric and topological comparison are "merged". A similar technique is used to merge model edges and vertices across parts. These comparisons are performed automatically, and can optionally be restricted to subsets of the model (to allow representations of such features as slide lines).
Solid models often require decomposition to make them amenable to hexahedral meshing. Cubit contains a wide variety of tools for interactive geometry decomposition.
Cubit contains a variety of tools for generating meshes in one, two and three dimensions. While the primary focus of Cubit is on generating unstructured quadrilateral and hexahedral meshes, algorithms are also available for structured mesh generation and triangle/tetrahedral mesh generation as well as hex/tet mixed meshes.
Cubit uses different boundary conditions for EXODUS-II format and Non-Exodus formats such as ABAQUS, for importing and exporting mesh data. EXODUS represents boundary conditions on meshes using Element Blocks, Nodesets, and Sidesets. Element Blocks are used to group elements by material type. Nodesets are used to group nodes. Other analysis programs can apply nodal boundary conditions to these sets, such as enforced displacement or nodal temperature values. Sidesets are used to group sides of elements, such as faces of hexes or edges of quads. Other analysis programs can apply face-based and edge-based boundary conditions to these sets, for example pressure or heat flux. Using Element Blocks, Nodesets and Sidesets, a mesh and boundary conditions can be specified in an analysis-independent manner. Typically this specification is combined with an additional data file which designates the specific type of boundary condition (temperature, displacement, pressure, etc.), along with boundary condition values. Non-Exodus export formats such as Abaqus support more specific boundary condition sets. These sets may include displacements, temperatures, forces, heatflux, pressure, or contact pairs.
Cubit supports a wide variety of element types, including 1D, 2D, and 3D elements of various orders. Each block has a unique element type. The element type is specified after the block is created, and after mesh generation (recommended). Higher order nodes are generated when the element type is specified. Higher order nodes are projected to curved geometry, depending on the user-controlled node constraint flag.
Cubit uses the Visualization Tool Kit package from Kitware for its graphics and rendering engine. Cubit can display geometric and mesh entities in several modes, including hidden line, shaded, transparent or wireframe modes. Cubit supports screen picking of geometric and mesh entities, as well as mouse-controlled view transformations like rotate, pan, and zoom. VTK takes advantage of hardware acceleration on most supported platforms. Image files of any displayed image can also be generated. Cubit can also be run without graphics, to allow execution in batch mode or over slow network connections.
A full graphical user interface (GUI) with the standard look and feel consistent with major platforms is available on all supported Cubit platforms. The GUI version can improve productivity, making new users aware of the wide range of Cubit capabilities, and freeing new and experienced users from having to remember command syntax. The GUI and non-GUI versions create and play back identical journal files, making it easier to switch from one environment to the other.
In the command line interface, commands are specified by text rather than mouse clicks. Commands can be entered interactively or in batch mode by playing back a journal file. The command line interface is also available in the GUI. The non-GUI version supports graphical picking and echoing to the command line, and also mouse-driven view transformations, but no menus and dialog boxes. The command line and GUI dialog boxes support the APREPRO preprocessor, which allows parameterization of input. The non-GUI version is available on all platforms, including Windows.