Description

The table at the top of the Solve tab provides a summary of the unstructured blocks selected for solving such as the Status (whether they have been populated with cells or are empty), number of Points, number of Tet, Pyramid, Prism, Hex and T-Rex cells, Total Cells, Full/Max Layers, the number of smoothing Iterations performed, and the Cost Angle and Min. Cost associated with the worst cell.

Solve Tab
The Solve tab for unstructured blocks provides controls for initializing and releasing tetrahedral volume grids.

The blocks can be sorted by any of the columns in the table. Simply click on the header and the order of the blocks changes accordingly. For example, if you wished to sort all blocks by their status, you would click on the Status header at the top of the table. The direction of the arrow in the header indicates whether the sort is in ascending or descending order. Fidelity Pointwise also remembers how you prefer to have your blocks sorted. Upon entering the Solve command, the blocks are sorted in the same manner as when you exited the command.

 

Note: Keep in mind that Fidelity Pointwise remembers how entities are sorted in this table only during the current session. Once Fidelity Pointwise is closed, the sort order is not retained.

In the middle of the Solve panel there is a Point Summary table providing details only during T-Rex initialization. The table lists first the block number currently being initialized. Next, it lists the number of points that have Stopped advancing. These points are rendered, color coded in red, in the Display window. Non-Combinable lists the number of points in the front which prevent local combination into prisms or hexes. Note that local combination into hexes can only occur where T-Rex is advancing from structured or quad-dominant domains. These points are rendered color coded yellow. Finally, Seeded points are rendered in white in the Display window and the number is listed in the table. These indicate the seed points set up by the T-Rex algorithm to populate the isotropic meshing volume in concave regions of the T-Rex layer. Refer to the T-Rex section for more details.

 

Note: When pressed, the text of the Initialize, Initialize Boundary Only, Refine, and Smooth buttons changes to Stop. Pressing the button a second time interrupts the command and returns the button to its original state.

Below the Point Summary table are buttons for initializing, refining, releasing, and smoothing the selected blocks:

  • Initialize: Clears any existing interior grid points and creates a new mesh by starting from the boundary points and applying the solver with the current attributes. In the case of a volume grid with anisotropic and isotropic cells, if the isotropic portion of the initialization process cannot be completed for some reason, the T-Rex portion of the block is saved. In this rather unusual case, the blocks show up in the List panel as "Incomplete".
  • Initialize Boundary Only: Uses the current T-Rex and Size Field attributes to initialize the block boundaries in order to provide a preview of cell distributions without incurring the computational time of initializing the entire block volume. This option is only available when the block is currently empty and either domain adaption is enabled or Push Attributes is enabled and there are domains set to Match.
  • Refine: Modifies both the isotropic and anisotropic portions of a mesh by adding points based on the current solver attributes. In the rather unusual case that the isotropic portion of an initialization process could not be completed, and the T-Rex portion of the block has been saved, this option can be used to restart the isotropic portion of the initialization using the saved T-Rex front.
  • Release: Clears all interior volume points from memory. This can free a significant amount of memory and reduce the saved project (.pw) file size. Keep in mind, however, that an unstructured block volume is generated using a Delaunay based method and is not exactly reproducible.
  • Smooth: Performs Weighted Condition Number smoothing on the interior grid points of the selected initialized blocks to improve cell quality using the attributes specified in the Smoothing frame on the Attributes tab. Use the accompanying Iterations text field to enter the desired number of smoothing iterations. The default value is 100.
     

    Tip: In most cases, convergence starts to level off after only a few smoothing iterations because the list of cells actively being smoothed is computed at the beginning of each smoothing pass and is not updated during the smoothing process. Stopping and restarting the smoothing allows this list of cells to be updated and convergence typically improves. It is therefore recommended to run multiple smoothing passes with a smaller number of iterations (e.g. 10 passes with 10 iterations each) as opposed to a single smoothing pass with the same number of total iterations (e.g. 100).

    The Weighted Condition Number smoothing algorithm flags cells for smoothing that have a Cost Angle (see note below) higher than the user specified Cost Angle Threshold. It then proceeds to smooth the grid point locations of these cells until either the specified number of iterations is achieved or the minimum cost is above the Convergence Cost Threshold.

     

    Note: The Cost Angle is an alternate form of the Maximum Included Angle. The Cost Angle computes a face normal for each corner of a quadrilateral cell face whereas the examine metric uses a single face normal computed from the two quadrilateral face diagonals. The Cost Angle takes longer to compute, but is more accurate because it accounts for quadrilateral warpage. This ensures all cells with large maximum included angles are smoothed.

    Smoothing does not alter the grid topology (i.e. no grid points, edges, or cells are added or removed), only the locations of grid points are changed. Additionally, smoothing only applies to grid points located on the interior of the block; it does not affect grid points located on a block's bounding domains or on baffle domains.

The T-Rex frame provides additional tools available when T-Rex layers are being generated. Use Pause to temporarily stop the advancement of T-Rex layers. When the solver has been paused during T-Rex advancement, use the Create Isotropic Cells command to proceed with filling the remaining volume with isotropic tetrahedra. Use the Display Style pull-down to choose how the advancing T-Rex front is rendered: Wireframe, Solid, or Shaded.

The Examine button is a shortcut to the full Examine function while in the Solve command. The Function drop down menu shows the available options. Cuts are saved as long as the Solve command is active and reset when OK or Cancel is selected. Close closes the Examine function and returns to the Solve command. For more information about the functions available in Examine consult the Examine Menu section.

Understanding potential initialization problems

When populating the isotropic portion of an unstructured block with volume cells (i.e. isotropic initialization), there may be instances when the isotropic solver is unable to complete the process. These issues typically fall into one of two general categories. First, the isotropic solver may not be able to generate an interior volume which matches the domains making up the block's face, or the final exposed surface of the T-Rex layers, if used. This particular problem is usually due to poor quality cells in the block's face (possibly a very high aspect ratio or an extreme change in cell size across a connector used by adjacent domains).

The second category involves problems with the block's face irrespective of any attempt to generate the interior volume cells. For instance, when domains making up a block's face actually intersect each other. This can happen quite easily due to incomplete or faulty domain projections, and particularly in areas where there are geometrically thin volume regions. The figure below shows a contrived example of crossing domains.

 

Tip: We recommend using the Intersection examine metric to detect intersections between surface domains before initializing a block with volume cells.

If the isotropic solver fails to initialize a purely isotropic block (i.e. without T-Rex cells), a dialog similar to the one shown in the figure below is displayed (left). After clicking OK to clear the dialog, a sample of cells which are causing the error are rendered in bold yellow in the Display window (center). These cells remain rendered as long as you remain on the Solve tab or until you click any button on the panel. This gives you the opportunity to orient the model as necessary to view the problem cells and isolate the issue. Additionally, a listing of problem triangles and edges is written to the Messages window, including vertex coordinates, to facilitate diagnosis of the issue (right).

Warning Message
Bad Cells
Bad Cells Message
When a purely isotropic block cannot be initialized, a Warning dialog is displayed (left), the bad cells are rendered in the Display window in yellow (center), and the coordinates of such cells are printed out to the Messages window (right).

On the other hand, if the isotropic solver fails to initialize the isotropic portion of a block containing anisotropic cells, a dialog similar to the one shown in the figure below (left) is displayed. Also, an error message is printed out to the Messages window indicating that the isotropic solver failed to populate the isotropic portion of the block with volume cells and that the T-Rex portion of the partially initialized block will be retained (center). This partially completed block appears in the table located inside the Solve tab as Incomplete (right). Once the issue is resolved, simply use the Refine option to restart the isotropic portion of the initialization process.

Warning Message
Error Message
Incomplete Block
When the isotropic portion of a block containing anisotropic cells cannot be initialized, a Warning dialog is displayed (left), an error message is printed out in the Display window (center), and the anisotropic (i.e. T-Rex) portion of the block is retained (right).

Initialization issues can also be the result of a large dynamic range. The dynamic range is defined as a ratio of the farfield dimension to the initial T-Rex wall spacing and is calculated as follows:

DR = log ( L / Δ )

where:

L = Longest dimension of the farfield
Δ = Initial T-Rex wall spacing

The dynamic range should be less than 8. If the dynamic range is too large, either reduce the extents of your block or split your block into multiple smaller blocks.

 

Tip: If the dynamic range of your mesh is too large (i.e. > 8), create a nearfield block to contain the T-Rex portion.

Demonstration

Unstructured Block Aniso Iso Smoothing

Unstructured Block Solver Panel

Initializing an Unstructured Block