Houdini 21.0 Nodes Copernicus nodes

Pyro Block Begin Copernicus node

Start of a Pyro simulation block.

On this page
Since 21.0

This node marks the beginning of a Pyro simulation block.

Operations that are independent of previous frames should occur before the block so they only get cooked once. Likewise, post processing operations that are not needed to feedback should occur after the block end.

The passthrough input can be used to bring additional inputs inside the block, and the feedback to add additional values that need to be updated every frame.

Pyro Configure COP can be used to setup the initial VDBs for a simulation.

Parameters

Block Path

The path to the Pyro Block End COP that’s the final and closing node of this block. The Block End node must be at the same network level as this Block Begin node.

Activation

Enable Activation

The simulation only solves in activated leaves, which are blocks of 8^3 voxels. If the simulation domain is known, it can be pre-activated, in which case the activation rules can be skipped for faster performance. But usually the cost of activation makes up for the improvement in speed of working with a smaller volume.

VDBs to Activate

The wire-names of the VDBs that should resize to the new bounds.

Note the velocity VDB v is always activated if activation is turned on .

Density Cutoff

Any leaf whose maximum density is below the cutoff will be eligible to be deactivated.

Leaf Padding

Expand the active region a fixed number of leaves.

The maximum of Padding Distance and Leaf Padding are used.

Padding Distance

Expand the active region a fixed distance in world space. This is raised to the nearest leaf.

The maximum of Padding Distance and Leaf Padding are used.

Pad by Velocity

Each leaf’s maximum velocity in each of the directions is measured, and the leaf expanded to cover that distance.

This can ensure the air field is present for the incoming air.

Velocity Scale

Scale the velocity used for velocity dilation. This also scaled by the timestep.

Tangential Scale

Also dilate in the perpendicular directions to the velocity by this portion of the velocity dilation. Usually fluid is turbulent, so if it needs to extend in one direction the neighboring directions are also likely important.

Clip Min X

Deactivate any leaves with world positions less than this in X.

Clip Min Y

Deactivate any leaves with world positions less than this in Y.

Clip Min Z

Deactivate any leaves with world positions less than this in Z.

Clip Max X

Deactivate any leaves with world positions greater than this in X.

Clip Max Y

Deactivate any leaves with world positions greater than this in Y.

Clip Max Z

Deactivate any leaves with world positions greater than this in Z.

Advection

Integrator

The method used to compute the flow map of the velocity VDB.

Path Trace

The velocity VDB is traced using the the CFL condition to control the step size. This can handle large velocities in a single step.

Average of Two

The velocity VDB is sampled twice, once at the location, and once where that would have come from. The average is used. This provides a fixed-cost and does a better job preserving rotations, but will break up with large velocities.

CFL Condition

How big of a step should be used. This is approximately how many voxels will be stepped during path tracing.

Maximum Steps

Global clamp on how many 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.

Data

VDBs to Advect

The wire-names of the VDBs to advect by the velocity field.

Note that the velocity VDB v is always advected.

Method

The method used to advect the data VDBs.

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, too high a value will create grid artifacts.

Velocity

Method

The method used to advect the velocity 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

density

A Float VDB providing how thick the smoke is at a voxel.

This is only read on the initial frame.

v

A Vector VDB providing the wind speed of each voxel. Note this does not include any Ambient Velocity.

This is only read on the initial frame.

temperature

A Float VDB providing the temperature at each voxel.

Note newly activated voxels will get a temperature of 0 so that should be used as baseline usually.

This is only read on the initial frame.

feedback

A Cable providing wires that will be fedback to the next iteration of the solve. It is important the input’s cable structure exactly matches the Pyro Block End COP’s input.

This is only read on the initial frame.

activate_pts

Optional Geometry input. Any leaves that overlap these points will be activated on the frame. This is read each frame, so can be used to activate moving sources.

passthrough

Optional cable providing layers and VDBs that should be computed outside of the simulation. They will be read each frame, so can be used to inject animated sources; but cannot depend on the results of the simulation.

Outputs

density

A Float VDB of the density that has been fedback to this frame.

v

A Vector VDB of the velocity that has been fedback to this frame.

temperature

A Float VDB of the temperature that has been fedback to this frame.

feedback

A Cable of the extra data that has been fedback to this frame.

passthrough

A Cable passing through the input, so updating every frame from the input.

See also

Copernicus nodes