Houdini 22.0 Nodes Copernicus nodes

Pyro Advect Copernicus node

Advects VDBs by Velocity.

On this page
Since 21.0

Note

Although COP Pyro is in COPs, you need DOP level permissions to use it. This means that COP Pyro is not available in Houdini Core, but only in Houdini FX, Houdini Apprentice, Houdini Indie, and Houdini Education.

Pyro Advect moves the contents of VDBs according to the provided velocity VDB.

Parameters

Advection

Scale

A global scale on the velocity values.

Ambient Velocity

A constant global velocity that the VDBs are also moved by, in addition to the values in the velocity VDB. This can be used as a wind effect, since it allows the wind to alter speed without affecting local dynamics.

Scale by Timestep

Scales the velocity values by the timestep.

Tracing

Trace Method

Controls the integration scheme used for a single trace step through the velocity field. This setting determines how closely the smoke follows turbulent flows and how well the simulation preserves detail over time.

Options in this menu are listed in order of increasing accuracy and computational cost.

Forward Euler

Predicts the next position based on its current velocity using a straight line. This is a 1st-order accurate method that has the fastest computation time, but it introduces more numerical diffusion, making the smoke look blurrier and can flatten turbulent flows.

Average of Two

Predicts the future position, looks at the velocity there, and averages it with the current velocity. It is a step up from Euler, which helps smoke maintain its volume and shape during simple rotations.

Explicit Midpoint

Samples the fluid velocity at a half-step forward to determine the full-step move. This is better at capturing vorticity (swirling). It prevents particles from spiraling outward away from the center of a vortex.

Runge-Kutta 3

A 3rd-order method that takes three samples of the velocity field to calculate the path. Use this when you need high-fidelity “wispy” smoke details without the full performance hit of RK4.

Runge-Kutta 4

A 4th-order method that samples the velocity field four times to find the most accurate “curve” through the fluid. This is essential for complex, turbulent simulations. It minimizes energy loss, ensuring that small eddies and swirls don’t disappear prematurely.

Path Tracing

A single trace step is often not enough to preserve sharp details, wispy tendrils, and small vortices through turbulent or fast-moving velocity flows. When this is turned on, multiple trace steps (given by Trace Method) are taken to better predict the curved path through the velocity field. The number of steps depends on the Maximum Steps and the CFL Condition.

Maximum Steps

Global clamp on how many path tracing steps can be performed. For extremely fast motion this may need to be increased, but it might be better to raise the CFL condition instead.

CFL Condition

Controls how large a step should be used when tracing through the velocity field. This is approximately how many voxels will be stepped during a single trace step. Lower values mean better stability, but lower performance. Higher values force the tracing to take larger steps, allowing it to finish faster.

Adaptive Step Size

When turned on, this dynamically changes the given step size through each tracing step, based on the number of maximum steps.

Data Advection

Enable Data Advection

Scheme

The method used to advect the VDB.

BFECC

Perform backwards-forward error correction. This requires considerable time and memory, but does the best job of preserving the sharpness of features.

Euler + Sharpen

Combines the simplest form of advection with a dynamic sharpen field that combats the diffusion introduced by the trilinear operation.

Euler

The simplest and fastest form of advection, but tends to cause excessive blurring.

Sharpen

How much to sharpen the VDB. This is automatically adjusted per voxel based on how the VDB was sampled. While the sharpening kernel is clamped, a value that is too high will create grid artifacts.

Velocity

Enable Velocity Advection

The velocity VDB has to be advected specially, since it advects with respect to itself. It has its own controls, and can be turned off if you do not need to advect it. For example, if it has already been advected by another Pyro Advect COP.

Method

The method used to advect the VDB.

BFECC

Perform backwards-forward error correction. This requires considerable time and memory, but does the best job of preserving the sharpness of features.

Euler + Sharpen

Combines the simplest form of advection with a dynamic sharpen field that combats the diffusion introduced by the trilinear operation.

Euler

The simplest and fastest form of advection, but tends to cause excessive blurring.

Sharpen

How much to sharpen the VDB. This is automatically adjusted per voxel based on how the VDB was sampled. While the sharpening kernel is clamped, a value that is too high will create grid artifacts.

Inputs

data

A cable of all the VDBs to advect.

v

A vector VDB to advect the data VDBs by. Can also be optionally self-advected.

Outputs

data

A cable of all the advected VDBs.

v

The vector VDB of the velocity, possibly self-advected.

See also

Copernicus nodes