Advect by Volumes particle node

Advects particles by a velocity field defined by three volumes.

See also: Force, Wind

The Advect by Volumes POP is designed to make it easy to advect a particle system by a fluid simulation. Often the fluid simulation will be simulated as a separate pass and the velocity fields read of disk. The particles can be live-linked to an existing simulation, however.

This operator modifies the following attributes: accel, vel, P.

Using Advect

  1. Create a particle system by clicking either the Emitter or Source from Geometry tool on the Create Particles shelf.

  2. Create a fluid simulation to affect the way your particles move.

  3. Select the particle system to add advection to.

  4. Click the Advect tool on the Drive Particles tab.

  5. Select the fluid container and press Enter to confirm your selection.

This example shows particles with no velocity being pushed upwards by a smoke simulation.

Parameters

Activation

Turns this node on and off. The node is only active if this value is greater than 0. This is useful to control the effect of this node with an expression.

Note that this is activation of the node as a whole. You can’t use this parameter to deactivate the node for certain particles.

Source Group

Only affect a group of points (created with, for example, a Group POP or Collision POP) out of all the points in the input.

Velocity Volumes

The SOP path which has three volumes to be interpreted as the x, y, and z components of the velocity field. These are often the result of importing a velocity field from a fluid simulation. You can directly link to a fluid simulation with something like /obj/AutoDopNetwork:smoke/vel

Velocity Group

Which primitives in the specified SOP are to be the x, y, and z components. The order is important.

The first volume in the group is the X velocity, second is the Y velocity, and third the Z Velocity. Missing fields should be 0.

Note

You can type @name=vel.* in this field, so the SOP will only strip velocity fields.

Velocity Scale

A uniform scale to apply to the velocity field before any of the force applications.

Advection Type

There are several different ways to update a particle system in response to an external velocity field. They are broadly categorized as Force, Velocity, and Position updates.

The Force Update will adjust the acceleration of the particles according to their mass, the force scale, and the velocity field. This acts like the Force POP.

Blend Velocity directly changes the velocity of the particles by blending in the velocity field causing them to swiftly match the velocity field.

Position Update directly moves the velocity positions. This is useful as it allows the particles own velocity to be considered independently of the bulk fluid velocity. Position Update is similar to what the Gas Advect DOP would perform.

Force Scale

Scales the force for force update.

Ignore Mass

Treats all particles as having unit mass, ignoring any mass attribute.

Override Mass

Ignore the mass attribute and use the specified mass.

Mass

The mass to use if mass is overridden.

Treat As Wind

Instead of applying a force in the direction of the velocity field, the force is applied relative to the difference between the particle’s velocity and the velocity field. This effectively adds an implicit drag that causes the particles to match the velocity field.

Velocity Blend

In Velocity Blend mode, the amount to mix in the field velocity every timestep.

Velocity Update

In Position Update mode it is possible to read in the velocity from the velocity field. Note that the resulting velocity will be used by the particle integrator, so unless something special is done this could result in double-moving the particle.

Number of threads

The number of threads to create to process the VEX commands. If you have multiple processors, this can speed up processing of the node.

No threading

Do not perform parallel processing.

One per processor

Create one thread for each processor in your computer.

Two threads

Create two threads.

Usages in other examples

Example name Example for