Particle Physics operator

The Particle Physics operator allows you to assign inter-particle collision and cohesion forces.

This operator can be used as the basis for simulations involving sand/grains/snow/etc.


Types Rollout

  • Enable particle collisions: enables inter-particle collision forces.

  • Enable particle attractions: enables inter-particle cohesion forces.


Collide Rollout

Collision radius

  • Absolute radius: the collision radius of each particle will be set to a specific value.

  • Radius: the specific collision radius value.

  • Shape radius: the collision radius of each particle will be set to each particle’s shape mesh radius.

  • Scale radius: the collision radius of each particle will be set to each particle’s maximum scale dimension.

  • Multiplier: the multiplier to apply to shape/scale radius values.

  • Tolerance: a multiplier applied to each particle’s radius value, that is used for neighbor searches.

The tolerance value controls the size of a buffer around each particle, that allows them to see neighbors which they aren’t necessarily touching. A tolerance value greater than zero can help prevent unwanted jittering in the resulting simulation. The greater the tolerance value, the less number of time steps you need in a simulation in order to resolve inter-particle collisions. Increasing the tolerance value too much will have a negative impact on performance. A value from 5-50% is ideal.

Collision Force

  • Stiffness: the strength of the collision resolution force.

  • Friction %: the amount of inter-particle friction that will be applied.

  • Mass z-bias: the amount of artificial mass adjustment to make on stacked particles.

The mass z-bias is a way to artificially decrease the mass of particles stacked on top of each other, in an incremental fashion. This can help stabilize stacks of particles. This value should be kept very low to avoid artifacts - somewhere between .01 and .05 is best.

  • Stiffness affects inertia: controls whether the stiffness value of collisions will affect inertia of colliding particles.

“Inertia” is the tendency for an object to resist outside forces. When “stiffness affects inertia” is enabled, collision stiffness will affect how much energy will be transferred between the colliding particles. Enabling this setting can help dissipate unwanted energy transfer between particles. This setting has no effect on particles whose collisions have a stiffness value of 1.

Stiffness Solver
  • Simple: collisions are solved in a straight-forward manner. Their stiffness is mostly dependent on solver step count.

  • Constrained: collisions are solved in a way that makes their stiffness somewhat independent of solver step count, at a small performance cost. This setting has no effect on collisions whose stiffness value is 1.


Attract rollout

Attract radius

  • Absolute radius: the attract radius of each particle will be set to a specific value.

  • Radius: the specific attract radius value.

  • Shape radius: the attract radius of each particle will be set to each particle’s shape mesh radius.

  • Scale radius: the attract radius of each particle will be set to each particle’s maximum scale dimension.

  • Multiplier: the multiplier to apply to shape/scale radius values.

Attract Force

  • Strength: the strength of the attraction force.

  • Friction %: the amount of inter-particle friction that will be applied.

  • Mass z-bias: the amount of artificial mass adjustment to make on stacked particles.

The mass z-bias is a way to artificially decrease the mass of particles stacked on top of each other, in an incremental fashion. This can help stabilize stacks of particles. This value should be kept very low to avoid artifacts - somewhere between .01 and .05 is best.

  • Stiffness affects inertia: controls whether the stiffness value of attraction will affect inertia of attracted particles.

“Inertia” is the tendency for an object to resist outside forces. When “stiffness affects inertia” is enabled, attraction stiffness will affect how much energy will be transferred between the attracted particles. Enabling this setting can help dissipate unwanted energy transfer between particles. This setting has no effect on particles whose attractions have a stiffness value of 1.

Stiffness Solver
  • Simple: attractions are solved in a straight-forward manner. Their stiffness is mostly dependent on solver step count.

  • Constrained: attractions are solved in a way that makes their stiffness somewhat independent of solver step count, at a small performance cost. This setting has no effect on attractions whose stiffness value is 1.


Simulation Rollout

Integrator

The integrator is what converts collision/attraction data and assigns it to particle velocities.

  • Integrate into bind solver: controls whether all collision/attraction calculations will be controlled by the Particle Bind Solver, which executes after all operators have been evaluated.

Unless you need particle physics forces to be evaluated immediately in the operator stack, “integrate into bind solver” should be kept enabled. Disabling “integrate into bind solver” will mean the results of the physics calculations will be immediately available to operators evaluated after the Particle Physics operator.

  • OpenCL acceleration: controls whether the particle neighbor search will be conducted on the GPU.

  • Accelerator: controls which search acceleration structure will be used.

Hashmap is best when all particles are roughly the same size. KDTree is best when you have a lot of disparity between particle sizes.

  • Substeps: the number of solver steps to perform.

  • Affect pos/velocity/both: controls which particle properties the solver will affect.

  • Affect axis X/Y/Z: controls which axis of each particle property will be affected.

Particle interaction

  • Process only this event: particle physics forces will only be computed between particles in this event.

  • Affect only this event: particle physics forces will be computed between all relevant particles in the flow, but only particles in the current event will be affected by the forces.

  • Ignore binding neighbors: if two particles are connecting by a binding, particle physics forces will not affect them.

  • Simulation groups: controls which particle simulation groups will determine which particles will interact.

Display

  • Draw collision shapes: draws two spheres around each particle, representing its collision/tolerance radii.

  • Draw attraction shapes: draws a sphere around each particle, representing its attraction radius.

  • Draw neighbors: draws a connection between all interacting sets of particles.

Uniqueness

  • Seed: the seed value for all varied parameters.