Configure CUDA GPU Solver Advanced Settings

You can configure advanced settings within GPU specific to the CUDA solver. These settings allow the customization of Particle-Geometry and Particle-Particle overlap calculations.

To configure advanced settings for the CUDA GPU solver:
  1. In the Simulator settings dialog box, click Advanced Setting....


  2. In the Advanced settings for CUDA GPU Solver dialog box, specify the following details:
    For Specify
    Particle-Geometry Options
    Use Convex Groups Method Select the checkbox to merge the triangles of a Geometry into closed, convex groups or convex, coplanar sets at the start of the simulation.
    Use Dynamic Merging Method Select the checkbox to merge the triangles into sets when necessary during contact detection. Only the triangles in contact with a polyhedral particles are merged into sets.
    Note:

    If neither of these options are enabled, triangles are not merged, and Particle-Geometry overlap is resolved using individual triangles.

    If both these methods are enabled, the Convex Groups method is used for closed, convex groups of triangles only. The Dynamic Merging method is used for all other cases.

    Use Neighbor-Averaged Sideplanes Select the checkbox to merge the two planes into a single side plane that uses the average normal of both neighboring triangles as its new direction. This will reduce the number of side planes generated during contact detection. When the edge of a triangle is shared with another triangle, two side planes are generated along that edge (one for each triangle).
    Use Internal Sideplanes in Normal Calculation Select the checkbox to introduce side planes during Particle-Geometry contact overlap calculation. A plane is created along a triangle edge and stretches in the direction of the triangle’s normal.

    Internal Side planes are planes created on an edge shared by two triangles.

    External Side planes are planes created on an edge owned by only one triangle.

    When enabled, internal side planes are used when calculating the contact normal. In some cases, disabling this option may make it smoother when particles slide between contacts, but could result in other undefined behavior.

    Always Enable Internal/External Sideplanes Select the checkboxes to enable the side planes. If you do not select this option, side planes are only introduced if the triangle edge is contacted by the particle.

    In most cases, it is recommended not to select this option as it may cause undefined behavior. However, it may be beneficial to enable this if issue arises in a simulation with deep penetrations.

    Coplanar Threshold Angle Specify a value to determine whether two adjacent triangles of a Geometry lie on the same plane. If the angle formed between the two triangles is less than this threshold value, they will be considered coplanar. By increasing this value, it will force the solver to make more optimizations for nearly coplanar neighboring triangles, but may result in potential instabilities in the simulation.
    Particle Expansion Factor Specify the factor by which the particle size is increased. During Particle-Geometry contact detection, the particle size is expanded by a small margin so that a more consistent set of triangles are found to be in contact with the particle. This improves the reliability further on, when calculating the overlap.
    Other Solver Options
    Solver Precision Used to adjust the precision at which numerical operations are performed on the GPU.

    Double precision provides more accurate results, but the cost of more memory usage and solver performance may not be as desired.

    Single precision is faster and uses less memory, but produces less accurate results.

    Hybrid precision Used to optimize performance and accuracy. Certain calculations that require more accuracy are performed in double precision, while the remaining operations are performed in single precision.

    Enable Fused Multiply-Add (FMA ) Optimizations Select the checkbox to combine Multiply-Add operations into a single instruction execution by the CUDA compiler. This can improve performance but can also lead to differences in results between the GPU and CPU.
    Use Direct Force Adding Select the checkbox if you want the forces to be no longer sorted before being added. This improves performance and memory usage but result repeatability may be not be as desired.
    Enable CUDA Asserts Select the checkbox to enable asserts in the CUDA solver for additional error diagnostics.
    Defaults Click to revert to the default settings unless non-physical behavior is observed.