Basic Concepts

Particles are Lagrangian points that can access continuous positions across the fluid lattice. They are used to model scalar transport processes, residence times, particle trajectories, and particle suspensions.

When assigned a finite density and diameter, particle positions and velocities evolve according to Newton’s Second Law using a Verlet algorithm. Included in the force summation are (i) the fluid drag, (ii) gravity, (iii) buoyancy, and (iv) particle collision forces (unless deactivated by the user).

The fluid drag force is velocity dependent and follows experimentally derived sphere drag data. When assigned zero density or zero diameter, particles are modeled as massless tracers with positions advanced each iteration according to the local and instantaneous fluid velocity.

Massless particles realize no particle-particle interactions. For particles with finite diameters and mass, particle-particle interactions are modeled as elastic hard-sphere collisions. Users can choose to deactivate particle-particle interactions for particles with mass. Deactivating the particle-particle interaction reduces the computational burden associated with particle tracking.

Upon entering the system (either through a particle cuboid domain or an inlet), each particle is assigned a unique particle ID, a birth timestamp, a diameter, and an origin ID. The birth timestamp identifies the time-step at which a particle entered the system. This value is particularly useful in predicting residence times and mean-age. The origin ID describes where a particle entered the system (through which inlet or which cuboid particle domain). This value is particularly useful in predicting how particles from various sources blend in the system. It is also useful in predicting how particles with different properties (e.g. density, diameter, origin) are affected by agitation and fluid motion (assuming different particle properties are assigned to different particle origins). The particle output files contain the instantaneous positions and velocities of all particles in the system along with their associated particleID, birth timestamp, origin ID, and diameter.


  • Particle output files are printed at the same frequency as output slices.

Particle trajectories and interactions are managed by the processor that owns the region of space occupied by the particle. As such, if many particles are initially injected into the system inside a small volume, all particle trajectories and interactions will be evaluated by a single processor. This behavior may noticeably reduce the simulation runtime. As particles spread through the domain, the computational burden will be distributed about the core pool and the runtime will improve.


Box Type

The Box Type specifies the nature of the particle box. Five different box types are available:

  • Sink: remove all particles that enter the box

  • Source: maintain minimum user-defined particle population inside box

  • Dump: dump user-defined number of particles into the box

  • Tracker: record the time-evolution of the particle population inside the box

  • Feed: continuously feed particles into the box at a user-defined rate

Dump Value

Number of particles injected into the box.

Source Value

Minimum population to be maintained in the box. Particles will be added to the box until it reaches this user-defined source value. Particles will not be added to the box if the population inside the box equals or exceeds this value. Particles will not be removed from over-populated boxes.

Feed Value

Rate at which to inject particles into the box, in terms of particles per second. Particles are injected at this rate, regardless of the current box population

Initial Velocity

Initial velocity vector of the particles injected into the box [m/s].

Start Time

Time at which to begin particle addition [s].

Stop Time

Time at which to stop particle addition [s].

Particle Density

Density of the particles, [kg/m 3 ]

Box Lower Corner

Bounding box lower corner [Model units] The lower corner of the bounding box used to define a particle box.

Box Upper Corner

Bounding box lower corner [Model units] The upper corner of the bounding box used to define a particle box.

Particle Size Distribution

This parameter allows the particle size to be randomly chosen from one of the following distributions at run-time.

  • Single: Single value

  • Uniform: Randomly chosen between min max values defined

  • Normal: Randomly chosen from distribution function defined by mean and standard deviation

  • Log Normal: Randomly chosen from distribution function defined by mean and standard deviation

  • Rayleigh: Randomly chosen from distribution function defined by the scale parameter

Particle Breakup Model

This parameter allows particles to break up according to a user defined expression

  • None

  • Particle Breakup: Enables the break up model

Particle Min Diameter

Minimum diameter that can be acheived through the break up. Particles smaller than this value will not break up

Particle Breakup Probability Expression

Probability expression as a function of diameter “d” [meters], and a strain-rate “s” [1/s] The local strain rate for each particle is evaluated, and this particle breakup probability is calculated. A random number between 0 and 1 is then sampled. If this random number is smaller than the particle breakup probability, the particle splits into two equal-sized daughter particles in a manner that conserves mass. Refer to User Defined Expression Syntax for syntax examples.

Wall Model

Wall interaction model

  • Elastic Bounce

  • Stick - particles will stick to the wall

Two Way Coupling

Enable/Disable two-way particle-fluid coupling

With two-way coupling activated, momentum is transferred from the particles to the fluid.

Compute Particle Collisions

When checked, particles from this box interact and collide with other inertial particles.

Export Enabled

Effectively turns the particle box on/off in the solver input file