Houdini 17.0 Nodes Dynamics nodes

Whitewater Solver dynamics node

Sets and configures a Whitewater Solver.

On this page

The Whitewater Solver simulates whitewater particles from a source liquid simulation. This solver can be used to enhance the look of the underlying simulation by adding dynamic foam, spray, and bubble particles to it. These particles are influenced by the liquid’s motion and interact with each other, exhibiting controllably-realistic fluid-like behavior.

Setup

To operate, the solver needs an emission volume, as well as the liquid’s velocity and signed distance fields. The velocity field can be either a vector VDB (vel) or a triplet of separated volumes (vel.x, vel.y, vel.z). The signed distance field must be called surface (if this volume is dense and not a sparse VDB, then the checkbox by Maximum Half-Width must be unchecked). To facilitate birthing of whitewater particles, an emission volume (emit) must also be provided. A Whitewater Source node can be used to extract this data from a FLIP simulation.

Note

An external Whitewater Emitter is no longer required, but can be hooked in to manually inject particles into the simulation. However, the recommended route to additional sourcing is by modifying the emit volume; this can be accomplished, for example, by providing a second input to Whitewater Source and enabling its Add Extra Sources option.

Inputs

Objects to Solve

A Whitewater Object to contain the particle geometry.

Particle Forces

Additional forces to apply to the particles; at this point, the various force components have been calculated, but not yet combined.

Extra Sources

Additional whitewater particles to add to the geometry; at this point, internal emission has been taken care of, and newly birthed particles are put into the justborn group.

Post-Solve

Solvers that act after the Whitewater Solver performs its stepping.

Parameters

Volume Source

The path of the SOP node providing the source volumes (liquid’s velocity and signed distance fields) for the solver.

Import Volumes

Enabling this option will copy the liquid volumes into the whitewater object, allowing for visualization as well as easy access.

Whitewater Scale

Controls the separation between nearby whitewater particles. Reducing this parameter increases the number of particles in the simulation (with cubic scaling).

Voxel Size

Voxel size for the density volume. The volume is used for emission limiting, foam erosion, as well as repellant seeding when Density Threshold is enabled. Voxel Size should be at least twice as large as Whitewater Scale.

Foam Location

Location of foam with respect to the liquid surface. Note that all depth ranges respect this parameter; that is Foam Location can be changed to raise or lower the foam layer without having to modify other parameters.

Depth Range

This parameter controls the interval around the foam layer in which the forces and aging rates are interpolated. Horizontal axes of Buoyancy by Depth, Advection by Depth, Multiplier by Depth, and Repulsion by Depth span a distance of twice this Depth Range around 0.

Add State Attributes

When enabled, whitewater particles will acquire bubble, foam, and spray point attributes. Values for these attributes lie in the 0-1 range, signalling how "strongly" each particle is of the respective state.

Emission

Emission Source

The path of the SOP node containing the emission VDB (emit).

Limit Emission

Turning this option on reduces emission rates in already whitewater-dense areas.

Emission Amount

A multiplier for the amount of emitted whitewater.

Velocity Offset

The location along a source point’s velocity vector where the whitewater particles will be created (in world units).

Velocity Multiplier

A multiplier applied to a source point’s velocity before its whitewater particles inherit it.

Maximum Initial Speed

Speed of a newly-birthed whitewater particle is not allowed to exceed this value.

Lifespan

Average lifespan of a whitewater particle (in seconds).

Seed

Seed that controls all of the random aspects of particle emission and death.

Bubbles Aging Rate

Aging rate for bubbles. Can be used to extend or reduce the lifetime of bubble particles.

Note

This parameter augments a particle’s death chance; the age attribute still contains its real age.

Foam Aging Rate

Aging rate for foam. Can be used to extend or reduce the lifetime of foam particles.

Note

This parameter augments a particle’s death chance; the age attribute still contains its real age.

Spray Aging Rate

Aging rate for spray. Can be used to extend or reduce the lifetime of spray particles.

Note

This parameter augments a particle’s death chance; the age attribute still contains its real age.

Add Noise

Enabling this option adds velocity noise to newly birthed particles. See help for Turbulent Noise for more information on noise control.

Limits

Collision SOP

The path of the SOP node containing a signed distance field for static collision geometry. This field should be provided if foam is expected to peel away from the liquid surface and settle atop solids (for example, on a beach).

SDF Name

Name of the signed distance VDB or volume in Collision SOP.

Closed Boundaries

These parameters select which boundaries are closed. Particles bounce off of closed boundaries, while those venturing beyond open boundaries are killed.

Limit Size

Size of the whitewater domain.

Limit Center

Center of the whitewater domain.

Visualize Limits

Display the guide showing limits of the whitewater domain.

Forces

Gravity

Acceleration due to gravity.

Buoyancy

Base acceleration due to buoyancy.

Buoyancy by Depth

A multiplier applied to the buoyancy force.

Base Advection Strength

Strength of the advective force that carries whitewater along the liquid’s velocity field.

Advection by Depth

A multiplier applied to the advection strength.

Base Velocity Multiplier

A multiplier applied to the liquid’s velocity field before advection.

Multiplier by Depth

An extra multiplier applied to the liquid’s velocity field.

Foam

Clumping

Enable Density Control

Enables density control for whitewater particles.

Depth Range

Particles in this range will be subjected to density control.

Note

If an endpoint of Stiffness by Depth does not evaluate to 0 (when Variable Stiffness is enabled), then all particles beyond that point will also have density control enabled.

Constraint Stiffness

Stiffness of the density constraints, controlling how harshly deviations from target density are penalized.

Variable Stiffness

Enable variable enforcement of the density constraints at different liquid depths.

Note

The solver will interpret constraints to have a variable stiffness if the pbfstiffness point attribute is present, even when Variable Stiffness is disabled.

Stiffness by Depth

Controls the stiffness of density constraints at different liquid depths. Note that if an endpoint of this ramp evaluates to a non-zero value, then all particles beyond that end will also be subjected to density control.

Neighborhood Size

Desired number of points in each particle’s neighborhood.

Adaptive Range

Range of allowed kernel radii, as multiples of a global radius.

Maximum Neighbors

The number of points in a whitewater particle’s neighborhood is not allowed to exceed this value.

Inclusion Chance

This fraction of all particles that are eligible for density control will actually be used. Reducing Inclusion Chance will decrease running times, but may degrade quality.

Note

All eligible whitewater particles are collected into the controldensity_candidate group; particles that are actually used for density control are put into the controldensity group.

Constraint Iterations

Number of times to repeat constraint projection for each particle.

Maximum Acceleration

The maximum acceleration that can be applied to a particle by constraints.

Tensile Radius

Particles apply repulsive forces on their neighbors to prevent clustering. This parameter determines the distance (as a fraction of the particle’s kernel radius) at which this force is equal to Tensile Strength.

Tensile Strength

Magnitude of the repulsive forces between nearby particles.

Viscosity

Enabling viscosity causes velocity diffusion, resulting in more coherent motion among nearby whitewater particles.

Vorticity

Counteracts energy dissipation by maintaining vortices.

Erosion

Enable Erosion

Enabling this feature preserves foam in denser areas and erodes it in sparser regions.

Depth Range

Particles within this distance of the liquid surface will be subjected to erosion.

Erosion Strength

Strength of erosion in less dense foam areas. Higher values for this parameter will result in more rapid disappearance of foam.

Preservation Strength

Controls the density range at which whitewater is protected from erosion.

Repellants

Enable Repellants

Create and maintain repellant particles that push whitewater away and give rise to a cellular foam structure. These particles are contained in the object’s Repellants geometry.

Feature Size Range

Range of repellant sizes (stored in the radius point attribute).

Strength Range

Range of repellant strengths (stored in the magnitude point attribute).

Noise Range

Range of values for the repellants' noise point attribute. This attribute controls the shape of each repellant, with 0 being perfectly circular and 1 being maximally "noisy".

Pulse Frequency Range

Range of values for the repellants' pulse point attribute. This attribute controls how fast the shape of a "noisy" repellant evolves.

Life Range

When enabled, repellants will age and die once their life is up. The lifespan for a repellant is randomly selected from the provided range.

Density Threshold

Enabling this option limits seeding of repellants to areas that already contain whitewater. A region is considered eligible for seeding if relative whitewater density is above the specified threshold.

Seed

Seed that controls random repellant seeding.

Match Radius Distribution

When this option is enabled, distribution of repellant sizes matches the given Radius Distribution; otherwise, size distribution is uniform.

Strength by Speed

When enabled, repellant strengths are attenuated based on liquid’s speed. With default settings, for example, repellants will be active only in slow regions.

Speed Range

Horizontal axis of Repulsion by Speed corresponds to this range.

Repulsion by Speed

A multiplier applied to the repellant strengths based on the underlying liquid’s speed.

Strength by Acceleration

When enabled, repellant strengths are attenuated based on liquid’s acceleration. With default settings, for example, repellants will be inactive in regions that are rapidly accelerating.

Acceleration Range

Horizontal axis of Repulsion by Acceleration corresponds to this range.

Repulsion by Acceleration

A multiplier applied to the repellant strengths based on the underlying liquid’s acceleration.

Repulsion by Depth

A multiplier applied to the repulsion force based on whitewater particle’s depth.

Adhesion

Enable Depth Control

Enable a depth control mechanism to keep foam attached to the fluid surface.

Upper Surface Only

When this option is enabled, adhesion is only applied to particles on the liquid’s upper surface, as determined by the direction of gravity. Turning this feature on reduces foam sticking to the bottom or sides of the domain.

Control Range

Particles within this distance of the liquid surface will be subjected to depth control.

Off Within Collision

Depth control is disabled for particles that are within this distance of the collision geometry. To use this feature, the Collision SOP must be specified.

Off Velocity Angle

Depth control is disabled for particles if the angle between their velocity vector and surface normal is no larger than this value.

Maximum Acceleration

The maximum acceleration that can be applied to particles in an effort to keep them attached to the surface.

Stiffness by Depth

Controls how strictly depth control will be enforced at different depths. Lower stiffness values give rise to thicker foam.

Advanced

Maximum Half-Width

The liquid’s (as well as collision geometry’s if Collision SOP is specified) signed distance VDB will automatically be activated beyond its zero-crossing to enable accurate distance evaluations. The Maximum Half-Width parameter can be used to limit the number of voxels that get activated, preventing exhaustion of computing resources. Note that this option should be disabled for dense SDF’s.

Timescale

An overall scale applied to the actual timestep.

Delete Attributes

List of internal attributes used by the solver that should be deleted to save memory and storage.

Use OpenCL

Use the OpenCL device to accelerate computations for density control.

See also

Dynamics nodes