Vortex Studio Application Extensions and Modules

Vortex Studio Application Extensions and Modules

Depending on the pages and features you want to include in the user interface, you must and add different modules, extensions, and pages to your setup file.
Some modules and extensions are required for the interface to function properly. You can add the following extensions, modules, and pages. Most of these pages are used in the Vortex Studio Player.

See the player setup file (c:\cm labs\<Vortex Studio Version>\resources\config) for an example.

Dynamics

Engine

Also known as the dynamics module. This module is always on the master node.

To learn more about the engine, see Vortex Studio Dynamics Capabilities.

To learn about setting up the solver, see Solver Group (Automatic and Manual)

Parameters

Description

Gravity

Gravity vector

Enable Auto Sleep

Indicates whether auto sleep is enabled

Enable Enhanced Profiling

Enable / Disable detailed profiling inside the physics solver and other areas.

Enabling profiling might have an impact on the simulation performance.

Collisions

Collision Geometry Max Count

Specifies the initial number of collision geometries allowed in the simulation (this is a guideline only, as Vortex® resizes this value if necessary).

Collision Geometry Pair Max Count

Specifies the initial number of pairs of collision geometries that might be colliding at any given time during the simulation (this is a guideline only, as Vortex resizes this value if necessary).

Default Contact Tolerance

Default contact tolerance

Enable Multi-Threaded Collisions

Enables whether collision intersects and broad-phase to run multithreaded.

Enable Animated-Animated Collision

Indicates whether collision detection for animated/animated part pairs is enabled

Enable Animated-Sleeping Collision

Indicates whether collision detection for animated/sleeping part pairs is enabled

Contact Surface Normalization

When enabled, the forces of contacts in the same contact surface (or patch) are modulated in order to produce consistent contact forces in situations where the number of contacts in the surface changes between steps.

Stepping

Stepping Mode

Dynamics Stepping Mode

  • Single Step: single dynamics step per application update

  • Uniform Substeps: application step is uniformly subdivided according to the desired frame rate

  • Fixed Substeps: application step is subdivided into fixed number of substeps

Desired Uniform Substep Frame Rate

Desired frame rate of dynamics substeps in Uniform Substeps stepping mode.

Number of Fixed Substeps

Number of dynamics substeps in Fixed Substeps stepping mode.

Direct Solver

Progressive Pivoting Mode

Enables the progressive pivoting mode, which measures the progress made throughout the solver iterations and switches to single pivoting if there is no progress for multiple iterations.

Optimized Cycle Detection

Enables the optimized cycle detection mode, which caches the current iterate's solution before pivoting and starts single pivoting from this cached solution to save time.

Cycle Prevention

Enables cycle prevention, which reduces the chance of the LCP solver encountering a cycle, but might cause an increase in the resultant LCP error. When enabled, the number of pivots per LCP variable is limited to the number specified by the 'Cycle Prevention LCP Variable Pivot Limit'.

Cycle Prevention LCP Variable Pivot Limit

Specifies the maximum number of pivots allowed per LCP variable, which is used to prevent cycles in the LCP solver. Only takes effect when 'Cycle Prevention' is enabled.

Step Warm Starting

Enables warm starting between time steps in the constraint solver, which will reuse the solver's results from the previous  simulation step in the upcoming simulation step in order to speed up the solver calculations.

Friction Warm Starting

Enables warm starting between friction calculations in the constraint solver, which will reuse the solver's results from the previous friction calculation in the upcoming iteration in order to speed up the solver calculations.

Partitioning

Enable Partition Optimizer

When enabled, the parts and constraints in a given partition are sorted in such a way as to create the simplest problem possible for the solver. This extra sorting step takes a small amount of time to do but usually yields a net benefit because it reduces solver time. In certain cases, that reduction is considerable. This is why this optimization is enabled by default.

Partitioning → Threading

Enable Multi-Threaded Solver

Indicates whether the multi-threaded solver is enabled

Automatically Set Max Thread Count

Automatically determine the optimal number of threads usable by the dynamics engine. This should be always enabled unless deterministic simulation results are required across computers with different numbers of CPU cores.

Max Thread Count

Maximum number of threads that should be used by the dynamics engine. Only used if "Automatically Set Max Thread Count" is disabled.

The number of threads utilized by the simulation system will not exceed the number of available CPU cores.

Partitioning → Coupling Solver

Partition Coupling Method

Method for coupling partitions in a scene split via use of Solver Groups.

  • Point Force Coupling: Iterative, point-force-based partition coupling with low cost but slow convergence. Preferred for weakly coupled and compliant simulations, such as heaps of light or compliant objects.

  • Schur Complement Coupling (Optimized): Optimized implementation of iterative schur-complement based partition coupling with higher cost but excellent convergence. Preferred for large and stiff simulations, such as big, heavy machinery.

Partition Coupling Max Iterations

Maximum number of iterations allowed during partition coupling. In each coupling iteration, all interacting partitions will be solved once, and the interaction forces between them will be calculated. This process continues until the maximum number of coupling iterations has been reached or the method has converged to the solution. Choosing a higher number of coupling iterations can produce more accurate solutions, while potentially impacting dynamics simulation performance.

Partition Coupling Cycle Breaker

Enables the cycle breaker feature for the Schur Complement Coupling method. If a cycle is detected during pivoting, this feature escapes from it.

Parallel Solver Error Reduction

Enables the error reduction feature for the Parallel Solver. Only takes effect, when Schur Complement Coupling is selected as 'Partition Coupling Method'. In this mode, the solver calculates the error for the entire coupled system and returns the lowest error solution when no exact solution can be found.