Lagoa Simulate Multiphysics

 
 
 

This is the simulator node in a Lagoa simulation. Similar to the Simulate Particles and The Simulate Rigid Bodies Node nodes, this node computes everything necessary to move points in space and time.

From here, you can globally activate the properties to be solved, as well as the interaction with objects such as friction or the quality of the simulation with the Substeps controls.

Plug this node into a port on the ICETree node or into the Simulate port of the Simulation Root node.

Tasks: Lagoa/Simulate

Output Ports: Execute

Solve

Toggles the activeness of the simulation solver.

Pre Roll in Frames

Sets the initial state of the points in the simulation using the frame that you specify. For example, if you are creating a waterfall simulation and enter frame 75 here, the particles at that frame would be already falling over the edge: this is the particle state that would be used for the first frame of the simulation.

Time Step

Substeps

The number of times per frame that the whole simulation state is computed. The higher the value, the more stable and accurate the simulation and collisions will be, but also slower.

For more information, see Setting the Simulation's Substeps for Accuracy.

Inelastic Substeps

The numbers of steps the Inelastic solver takes per simulation step (the Substeps value).

For example, if you use 2 Inelastic Steps, and there are 10 Substeps, this makes the simulator evaluate the inelastic properties 20 times per frame.

High values make the inelastic points more incompressible and precise (and stiff). Usually, if there is volume loss with inelastic points, a value between 2 or 3 should provide much good visual accuracy. A value of 5 would only be necessary with very high-resolution simulations.

This option takes into account only values from the Inelastic Collision and Inelastic Friction parameters in the Material nodes.

Elastic Substeps

The numbers of steps the Elastic solver takes per simulation step (the Substeps value). This option takes into account only values from the Elastic Setting parameters in the Material nodes.

Adding more substeps helps to predict more accurately how much the elements have deformed, and help reduce the stretching or compression of the materials.

Values between 1 and 5 are in a decent range. Values more than 5 do not appreciably increase the visual accuracy.

Solver Settings

Allow Tearing

Allows elastic structures of points to be torn apart. The values of the Elastic Breaking Point and other Elasticity options in all Material compounds determine at what point the structure will break (see Lagoa Main Material).

Solve Plasticity

Solves the elastic structure as a plastic structure. Elastic structures undergo plastic deformation after a certain amount of deformation. For example, if a point stretches too much, it stays in the new stretched pose instead of trying to return to its original shape.

The shape plastics are not exactly defined, and can reassemble over time. For example, if you throw one elastic object into another elastic object, they will merge into one instead of bouncing off each other.

You can set the elastic structures as clusters using the Cluster options in the Emit compound (see Lagoa Emit Volume).

Allow Internal Forces

Allows the calculation of internal forces that act between the particles. For example, the inelastic collision between point pairs that are inside of an element is not computed for optimization and stability reasons. However, you may want to calculate internal forces, such as if you want an element to become unstable; for example, if two points fall and compress, and you also want them to collide, you should activate this option.

Orient Particles

Allows the particles to change their orientation according to forces and collisions. You can see this mostly with collisions when the particle shape is something like cubes, cones, or instanced geometry, such as tumbling rocks or blocks.

Orientation Mode

Solves the orientation based on only the element's structural information (Structure) or on all the surrounding elements (All Elements) in the simulation.

Build Topology Data

Updates the Lagoa_Topology attribute information per frame (Lagoa_TopologyIndex, Lagoa_TopologyRemoved, and LagoaTopology_DirtyStates).

These attributes are available for external meshers (such as the Polygonizer) to get the Lagoa geometric description of a point cloud, for example, and build a dynamic updating polygon mesh.

Collisions

Passive Body In Name

Plug in the Out Name port of the collision object or group of collision objects with which the points will collide. This object can be animated (deformation or transformation) or not.

Passive objects are not affected by any type of force in the simulation environment.

You define each collision object's properties in its own Lagoa Set Collision Data compound.

Collision Model

The method used to compute boundaries and collisions during evaluation.

  • None: No special computation is done for collisions.

  • Distance Field: Computes the distance between the points and the collision objects, and evaluates all contact forces between them.

Collision Side

The face of the collision object that you want to use for collisions. Preference is given to the normals of the colliding surface:

  • Front Face: tries to keep the points on the side of the object of the normal direction.

  • Back Face: tries to keep the points on the opposite side of the direction in which the normals are pointing. For example, if you want to keep points inside a collision object, such as water inside a tube, select this option.

Offset Method

The method used to offset points from the collision objects. This affects the offset used for all materials interacting with all collision objects.

  • Offset Distance: uses the global value of Offset Collision parameter (below) to place the points away from the surface of the collision object.

  • Use Element Size: uses only the size of the point. Its surface will collide with the surface of the collision object.

  • Element Size + Offset: uses the size of the point plus the value of the Offset Collision parameter.

  • Element Size * 2 + Offset: uses twice the size of the point plus value of the Offset Collision parameter.

Offset Collision

The distance in Softimage units between a point's surface and the surface of the collision object.

You can set the offset for points per material with the Material Collision Offset parameter in the Material compound (see Lagoa Main Material), which is added to this offset value.

Boundary Interaction

Enable Static Friction

Allows static friction forces to be applied to points when they are in contact with a collision object.

Points are considered to be in contact with the collision object when they reach the distance specified by the Offset Method used (above).

Static friction is the amount of friction a point receives until it becomes static in relation to the collision object. The point tries to reach stability when in contact with the surfaces.

The static friction force that is applied to the point is the sum of the Static Friction value for the collision object in the Lagoa Set Collision Data node, and the Surface Friction value for the point in its Material node (see Lagoa Main Material).

Enable Body Impulse

Allows the transfer of velocity (the body's impulse) from a moving collision object to the points when they come in contact with each other.

This option uses the value of the Body Impulse parameter in each collision object's Lagoa Set Collision Data compound.

Enable No Slip

Allows the points to stay on a collision object depending on the relative motion between the points and the collision object.

This option uses the value of the No Slip parameter in each collision object's Lagoa Set Collision Data compound.

Soft Repulsion

Enable Soft Repulsion

Allows the solving of repulsion or attraction between points and collision objects. You can set the strength of the repulsion force with the Soft Repulsion parameter in the Lagoa Set Collision Data compound.

Display Soft Repulsion

Displays the soft repulsion vector that attracts the points. This can help you debug the effect of the soft repulsion force.

Optimization and Debug

Optimize

Optimizes the solving of the simulation according to what's more important to you: Accuracy or Speed.

You'll find this optimization most useful when the Substeps value is higher than 1.

When you select Speed, the solver is limited to computing only some attributes, one time per step. This can lead to instabilities on fast-moving elements or badly resolved pressure kernels. The simulation will be stable but less precise because of the subframe data that is skipped.

Enable Pressure

Allows the solving of the element's pressure, which is set using the parameters in the Pressure Settings group in each Material compound (see Lagoa Main Material).

Enable Density

Allows the solving of the density of the points for the element.

Enable Elastics

Allows the solving of the element's elasticity, which is set using the Elasticity Settings parameters in each Material compound (see Lagoa Main Material).

Enable Inelastics

Allows the solving of the element's inelasticity, which is set using the Inelastic Settings parameters in each Material compound (see Lagoa Main Material).

Enable Viscosity

Allows the solving of the element's viscosity, which is set using the Viscosity Settings parameters in each Material compound (see Lagoa Main Material).

Enable Plastic Flow

Allows the solving of the element's plasticity, which is set using the Plastic Flow parameters in each Material compound (see Lagoa Main Material).

Enable Custom Elastic Range

Allows the solving of the Custom Elastic Range parameters set in each Material compound (see Lagoa Main Material).

Debug

Display Structure

The structure is the network of points, which is a topological description of the element. Structures can change during the simulation, such as being torn apart or reassembled plastically. Diagonal and parallel links are used by elastic forces.

Displaying the structure helps you preview simulations that use elasticity, allowing you to see how the links between points react with elastic forces and boundaries.

For example, this can help you debug problems with cloth and other stretchy or bouncy materials, or preview how a structure will break apart before turning the point cloud into a polygon mesh.

Display Elastic at Boundaries

Displays the elastic links made between points and collision objects. This helps you to debug the elastic connections that are made, such as when points are sticking to a collision object. You can see where the points are attached to the collision object, and the size of the elastic links.

Elastic links are defined for each collision object in its Lagoa Set Collision Data compound.

Display Position Substeps

Displays the position of each point as it travels over the duration of each frame, as determined by the substep value. This displays a type of trail effect for each point. This is useful for tracing each point's trajectory when they are moving very quickly or suddenly change direction.

Display Velocity Substeps

Same as Display Position Substeps above, except that it displays the points' velocity vectors.

Accumulate Substeps

Accumulates the substep history per frame. When this is on, you can trace the trajectory of a point for the whole simulation time.

When this is off, the substeps shown are only for the current frame.

Execution Ports

Execute Start Substep

These multi-input ports execute any node that is plugged in here at the beginning of each substep.

For example, you can store some specific data at each substep and compare it with the data of the previous step. Make sure to plug in the nodes in the order in which you want executed, top to bottom.

Execute End Substep

These multi-input ports execute any node that is plugged in here at the end of each substep.