particles_64x64.png Inertial Particles

Introduction

Inertial particles have mass and move according to Newton’s second law, meaning the instantaneous acceleration of each individual particle is related to the sum of the external forces acting upon it. Common forces acting on particles include gravity, buoyancy, and fluid drag. Particles may also include a virtual mass force, which accounts for the displacement of any surrounding fluid. Additional forces can be specified via user-defined functions.

../../../_images/inertial-particles.gif

Inertial particles can be coupled to fluid scalar fields and participate in chemical reactions, and they can shrink or swell (e.g., dissolve or crystalize) due to interactions with fluid scalar fields. Inertial particle momentum can be either one- or two-way coupled to the fluid. Particle breakup and coalescense can be modeled directly or indirectly using a parcel method. Inertial particles can also be assigned particle variables, which can be used to investigate the system from the perspective of a moving particle (e.g., cell or crystal grain).

Download Sample File: Particle Buildup


For more on this topic, check out these webinars.

Adding Inertial Particles

When adding particles to a system, there are two factors to consider: (1) the number of particles entering the system, and (2) the location of the particles entering the system.

  1. The number of particles entering the system is defined by an injection rate and an injection duration. Pay close attention to the appropriate number of particles added to the system as very large particle counts can slow performance. Various injection options are provided for defining these parameters.

  2. The location of the particle injection is typically defined using children geometry, an injection zone, an inlet boundary condition, or a background injection:

    • A child geometry injection represents the superposition of particles on the fluid field within a sub-volume of the fluid domain. Fluid flow sweeps these particles from the initial positions within the child geometry to other regions in the system. The particle properties, such as initial size distribution, composition, and injection rate, are all inherited from the parent. All children inherit the same properties.

    • An injection zone allows users to define custom injection regions with local injection rates, injection size distributions, and initial particle compositions that differ from those defined on the particle parent. Particle injection zones allow for differentiated particle injection characteristics within a particle family. Children geometry can be added to the injection zone to control where localize where particles associated with the injection zone are added to the system.

    • An inlet boundary condition represents the superposition of particles on the fluid field along the boundary condition surface. Boundary condition flow sweeps these particles from the initial positions along the boundary condition to other regions in the system.

    • A background injection produces a uniform distribution of particles across the full fluid field. This addition, if applied at the start of a process, represents a system with an initially well-dispersed ensemble of particles.

When using a child geometry injection, users have three options for adding geometry to the particle parent: (1) via the Add Geometry form, which opens automatically when a new particle parent is created; (2) by importing geometry through the Assembly Explorer; or (3) by importing geometry from a spreadsheet. See the Geometry page for more details.

For an already-existing parent component, you can add children via the Add Geometry command found on the Context Specific Toolbar. Children geometry can also be extracted from an assembly file.

Inertial particles can also enter the system through Eularian conversion and volumetric generation via a user-defined function. Eularian conversion is used to model fluid-to-fluid conversion processes, as realized during jet breakup, air entrainment, and two-fluid dispersion processes. Volumetric generation is used to model particle nucleation, particle crystallization, and so forth.

Note

Use caution when adding more than a billion particles. System memory limits the total number of particles that can be tracked. On a single workstation, this limit is 50–100 million particles. On a GPU cluster, this limit is about 1 billion particles.

Property Grid

General

This option controls the type of particle injections and the density of the particles which will be added to the system. Consider both the number and the location of the particles when adding particles to the system. The injection options are listed below and discussed in greater detail in the injection options overview.

Injection Option

This setting contains the different selections for introducing particles into a system. The number of particles added to the system is determined by an injection rate and an injection duration.

Dump

A single impulse addition of particles into the injection geometry. The dump defines the total number of particles added to the system at a single user-defined time.

Feed

A continuous feed of particles into the injection geometry at a user-defined number flow rate over a user-defined period. The feed rate can vary per user-defined expression.

Volume Feed

A continuous feed of particles into the injection geometry at a user-defined volume flow rate for a user-defined period.

Initial Mass Fraction

A single impulse addition of particles into the injection geometry at a user-defined fraction of the mass of the injection geometry.

Initial Volume Fraction

A single impulse addition of particles into the injection geometry at a user-defined fraction of the volume of the injection geometry.

Total Mass

A single impulse addition of particles into the injection geometry at a user-defined total mass.

No Injection

The particle feed rate is not directly controlled by the user. Particles are dynamically generated across the system via free-surface Eularian-Lagrangian conversion, immiscible two fluid Eularian-Lagrangian conversion, or volumetric particle generation.

Density

kg/m 3 | The density of the particles added via this injection.

Volumetric Generation

This functionality is used to dynamically generate particles across the fluid domain according to user-defined generation criteria. The generation criteria are applied on a voxel-by-voxel basis and can be a function of local fluid properties and/or system-level variables. Volumetric generation is typically used to model nucleation processes.

Enabled

This enables volumetric generation based on local fluid conditions.

On

Volumetric generation enabled.

Interval

s | The time interval at which the generation criteria are tested. Shortening this interval increases the frequency at which the injection criteria are tested.

Injection Condition UDF

dimensionless and m | This UDF defines the local conditions for particle injection as part of a volumetric particle generation routine. It requires two output variables: a Boolean named inject and a floating-point variable named d.

The inject Boolean determines whether particle injection occurs in each voxel. If inject is true, d specifies the diameter of the particle added to the voxel, with the addition position randomized within the voxel. In this way, inject controls where injection occurs across the simulation domain, while d sets the local diameter of the injected particles.

The output Boolean inject is dimensionless while the output floating point value d has units of meters. Both variables are voxel-based local UDFs, calculated on a voxel-by-voxel basis using the local fluid properties.

Download Sample File: Injection Condition

Off

No volumetric generation.

Initial Size Distribution

Particle sizes are described by the diameter. The specified size distribution of particles can be previewed by clicking on the plot distribution icon in the property grid. See additional size distribution overview.

Distribution Type

The following are the options for initial particle size distribution.

Single

The diameter of the particles is set by the user and assigned to all particles. This condition represents the addition of monodispersed particles.

Uniform

The diameter of each particle is randomly sampled at runtime from a uniform probability density function with a user-set minimum and maximum diameter.

Normal

The diameter of each particle is randomly sampled at runtime from a normal probability density function with a user-set mean and standard deviation.

Log Normal

The diameter of each particle is randomly sampled at runtime from a log-normal probability density function with a user-set log mean and log standard deviation.

Rayleigh

The diameter of each particle is randomly sampled at runtime from a Rayleigh probability density function with a user-set scale parameter.

Discrete Diameter Distribution

The diameter of each particle added to the system is randomly sampled at runtime from a user-specified particle diameter probability mass function.

Discrete Superquadric Distribution

A discrete superquadric (SQ) is a mathematical shape used to represent particles that are not perfectly spherical.

Discrete Volume Distribution

The diameter of each particle added to the system is randomly sampled at runtime from a user-specified particle volume probability mass function.

Initial Diameter UDF

This UDF defines the initial diameters of the particles entering the system.

Forces and Fluid Coupling

See additional forces and fluid coupling overview.

Gravity Force

This force represents the net effect of gravity and buoyancy.

Virtual Mass

The virtual mass refers to the virtual increase in the effective mass of a particle moving through fluid due to the inertia of the surrounding fluid.

Lift Saffman

The Saffman lift force arises when a particle experiences a cross-flow induced by the rotation of the particle.

Drag Force Model

The drag force is the resistance encountered by particles as they move through the fluid medium.

Two-way Coupling

Two-way coupling describes the mutual interaction between fluid flow and particle motion.

Fluid-Particle Force UDF

This UDF defines custom vectors for fluid and external forces acting on particles.


If a static body is present, the following section will launch:

Static Body Interaction

Static Body Option

This parameter specifies how each particle set interacts with each solid body family.

Bounce

The particles bounce off the solid body family.

Stick

The particles stick to the solid body family.

Pass Thru

The particles pass through the solid body family.

Breakup/Coalesce

Particle breakup and coalescence can be modeled using either discrete or parcel-based representations.

In the discrete representation, particle breakup occurs on a particle-by-particle basis and generates a new particle that is explicitly tracked in the simulation; this new particle inherits the properties of the mother particle from which it was broken off. Particle coalescence is regulated at the level of individual particle pairs by comparing the approach Reynold’s number to a critical coalescence parameter. Coalescence events reduce the number of explicitly tracked bubbles.

In the parcel-based representation, both particle breakup and coalescence are regulated implicitly by adjusting the number scale associated with each parcel. Changes in diameter are informed by the local fluid properties which, when combined with surface tension and density, define an equilibrium particle diameter. With this approach, the number of explicitly tracked particles does not change due to breakup or coalescence events. See additional breakup/coalesce overview.

Breakup Enabled

Particle breakup typically occurs on the level of individual particles. It is informed by the physical properties of the particle and the kinematic properties of the fluid.

Coalesce Enabled

Coalescence typically occurs at the level of particle pairs. It is informed by the kinematic properties of the two particles.

Interfacial Mass Transfer

Interfacial mass transfer is calculated on a particle-by-particle basis using the local and instantaneous fluid and particle properties. This can be represented as either a convective transfer coefficient, \(k_L\), or a particle dissolution rate. In principle, the convective transfer coefficient and the dissolution rate describe very similar physical transport processes. In practice, a convective transfer coefficient is typically applied to gas bubbles and a dissolution rate is applied to solid particles.

../../../_images/particle-dissolution.gif

Mechanically speaking, the convective transfer coefficient describes the rate at which mass is transferred (via convection) through the fluid boundary layer surrounding the particle. This rate is often written in terms of the local fluid energy dissipation rate, fluid viscosity, and fluid diffusion coefficient; although, in many cases a constant transfer coefficient may be suitable.

Theoretically speaking, most convective mass transfer models are developed under the assumption that the fluid immediately surrounding the particle remains fully saturated throughout the transport process. The rate at which mass is transferred into the system is therefore a function of the rate at which the saturated fluid adjacent to the bubble surface can be engulfed into the fluid bulk. These transfer functions can be derived from semi-empirical boundary layer theory.

Conversely, particle dissolution rates are developed under the assumption that the dissolved species concentration is low relative to the solid phase concentration. As such, the transfer rate is often related to the system temperature and the physiochemical properties of the solid rather than to the convective properties of the fluid surrounding the solid. In many cases, the dissolution rate is set to a constant value determined empirically.

Framework

This parameter determines whether mass transfer is modeled using the convective transfer coefficient or the particle dissolution rate. These values are calculated on a particle-by-particle basis using the local and instantaneous particle and/or fluid properties.

None

No mass transfer coefficient or dissolution rate is calculated.

Convection

This calculates a convective mass transfer coefficient for each particle. Input to this expression includes the local and instantaneous properties of the particle and surrounding fluid.

kL UDF

m/s | This UDF defines the convective mass transfer coefficient in the fluid surrounding a particle. One output must be defined within the UDF: a floating-point variable named kl_{Particles}, where {Particles} is the dynamic name of the particle set. This output value is used when predicting convective mass transfer processes, including mass exchange with coupled scalar fields. This is a particle-based local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: kL

Dissolution

This calculates a dissolution rate for each particle. Possible input to this expression includes the local and instantaneous properties of the particle and surrounding fluid.

Dissolution Rate UDF

\(\frac{kg}{m^2 \cdot s}\) | This UDF defines the particle dissolution rate, defined here as the rate at which mass is exchanged between the solid phase (particles) and the dissolved phase/solute (coupled scalar field). One output must be defined as within the UDF: a floating point variable named dr_{Particle Set Name}, where {Particle Set Name} is the dynamic name of the particle set parent.

This output value defines the particle-specific dissolution rate. Positive values imply dissolution (mass leaving the particle). Negative values imply precipitation or crystallization. The units on the output variable are kg/m 2 /s. This is a particle-based local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: Dissolution Rate


If Interfacial Mass Transfer is on and a scalar is added, the following section will launch:

Scalar Coupling

Coupling Method

This option determines if particle-fluid scalar coupling is active in the simulation and whether it is modeled using built-in or user-defined functions. See additional scalar coupling overview.

Disabled

No particle-fluid scalar coupling is considered. Although a convective transfer coefficient or dissolution rate may be defined, no species will be transferred between the particles and fluid.

Automatic

Predefined convection and/or dissolution models determine scalar transport rate, calculated on a particle-by-particle basis. The units on these properties depend on system setup and must be dimensionally homogeneous. Transport by convection is calculated from the user-specified convective transfer coefficient, the particle surface area, and the differences between the local concentration and the saturation limit. Transport by dissolution is calculated using the dissolution rate and the particle surface area. The same transport model is applied to all species participating in interfacial mass transfer.

Custom

User-defined transport models determine scalar transport rate, calculated on a particle-by-particle basis. These models could include the user-defined convective transfer coefficient, the user-defined dissolution rate, particle custom variables, or arbitrary functions of the local fluid/properties. A unique transport model can be specified for each species. The user must confirm that the transport parameters are dimensionally homogeneous.

If a thermal field is added, the following section will launch:

Thermal

Track Temperature

This option determines if particle temperature is tracked during the simulation. Temperature changes can be caused by either (i) endothermic/exothermic intra-particle reactions, (ii) convective heat exchange with the surrounding fluid, and (iii) particle-particle conduction between DEM particles. This function can be turned off or on.

Off

Particle temperature is not tracked during the simulation.

On

Particle temperature is tracked during the simulation.

Initial Temperature

K | This parameter defines the initial temperature of the particles in the set.

Heat Capacity

J/m 3 K | This parameter defines the heat capacity of the particles. The heat capacity informs how changes in the thermal energy affect changes in temperature.

Fluid Particle Heat Transfer Coupling Method

This option specifies whether energy will exchange with the surrounding fluid via interfacial heat transfer.

None

No particle-fluid heat transfer is considered. The particle temperature will change only due to either endothermic/exothermic intra-particle reactions or particle-particle conduction between DEM particles.

Convection

Predefined convection model determines heat transport rate, calculated on a particle-by-particle basis. The functional form of the heat transfer model is discussed in the particle heat transfer overview.

UDF

The user defines a custom fluid-particle heat transfer rate.

Heat Transfer UDF

W | This UDF defines the heat transfer between particles and the surrounding fluid. One output must be defined within the UDF: a floating-point variable named Qdot. This output variable defines heat flow between the particle and the surrounding fluid. Positive values imply heat transfer into the particle (from the surrounding fluid). Negative values imply heat transfer away from the particle (into the surrounding fluid). The functional form of the heat transfer model is discussed in the particle heat transfer overview. This is a particle-based local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: Heat Flux

Advanced

Injection Downsampling

This parameter reduces the number of particles added to the system relative to the user-specified dump value, feed rate, initial volume fraction, initial mass fraction, or initial mass. Specifying a downsampling value transforms the particles into sampling parcels. These parcels are characterized by a parcel number scale and parcel diameter. The number scale quantifies the number of equal-sized particles contained within each parcel. The parcel diameter is equal to the particle diameter, as defined by the size distribution. To ensure that the mass represented by the parcels equals the user-specified dump or feed rate, all parcels entering the system are assigned an initial number scale equal to this injection downsampling parameter. The amplifying effects of the number scale on all particle-to-fluid forces, local particle volume fraction calculations, and interfacial mass transfer rates are handled internally and automatically.

With injection downsampling, not all particles are represented explicitly, so systems with injection downsampling are typically paired with the parcel-based breakup and coalescence representation. Thus the model underpredicts pair-wise collisions and explicit coalescence events.

The purpose of the downsampling is to reduce the memory requirements of a simulation. Increasing the number scale (the number of equal-sized particles contained within each parcel) will have the effect of reducing the number of explicitly tracked parcels in the system. The downsampling number should be kept as small as possible, which can minimize the effects of improper course graining and undersampling. In practice, we recommend keeping the number of parcels within the system order-of-magnitude consistent with the lattice count.

This parcel-based representation is also applied to the parcel-based breakup and coalescence representation and discussed in our webinars and reference literature.

Initial Velocity Type

By default, particles enter the system with zero velocity. Users may override this setting by assigning the particles a non-zero velocity. This velocity can be specified as either a constant value or a user-defined function of local fluid properties, particle properties, system variables, etc.

Constant

Under this option, all particles in the family entering the system will have the initial velocity defined below. By default, this value is set to a zero vector, implying no initial velocity.

Initial Velocity

m/s | This is the initial translational velocity vector of the particles entering the system. The three fields define the x, y, and z components of the velocity vector. These vectors are aligned with the basis x, y, and z unit vectors within the system.

Custom UDF

Under this option, all particles in the family entering the system will have an initial velocity computed at runtime from the UDF.

Initial Velocity UDF

m/s | The UDF defines the initial velocity of particles as they are added to the system. Three outputs must be defined within the UDF: floating point variables vx_p, vy_p, and vz_p. These output variables define the components of the initial velocity vector of the particles entering the system. This is a particle-based local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: Initial Velocity

Note

For injections at inlet boundary conditions, the initial particle velocity may be set to the inlet velocity to model a set of pre-entrained particles.

Compute Nearest Neighbor Distribution

Computes the average nearest neighbor separation distance and nearest neighbor separation distance probability distribution function. See additional discussion in Theory: Nearest Neighbor Distribution.

On

Particle distribution data is computed.

Off

Particle distribution data is not computed.

Enable Movement Control

With this option, users can define a UDF that conditionally controls whether particles are moving or fixed. Particle motion can be reactivated as part of the UDF.

On

Movement control of particles is enabled. Individual particles may become fixed in space per some user-defined condition.

Movement Control UDF

none | This UDF defines if individual particles move or remain fixed in space. One of two possible boolean outputs can be defined as part of the UDF: makeFixed and makeMoving. The values assigned to each value can change over time. If the boolean makeMoving is set to true, the particle will evolve through space. Only one boolean should be true at each time step. This is a local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: Movement Contol

Off

No controlled movement of particles. Particles always have the ability to move through space.

Compute Pressure Gradient Force

When this option is active, the pressure gradient force on the particle is calculated. This force acts from regions of higher pressure toward regions of lower pressure, influencing the motion of particles immersed in the fluid.

For a small particle within a fluid, the pressure gradient force can be expressed as:​

\[F_p = - V_p \nabla P\]

where \(V_p\) is the volume of the particle and \(\nabla P\) is the pressure gradient and the location of the particle.

Off

Does not compute pressure gradient force.

On

Computes pressure gradient force.

Enable Removal UDF

Enable removal user-defined function.

Off

Removal UDF not enabled.

On

Removal UDF enabled.

Removal UDF

no units | This UDF removes particles based on particle properties or local fluid conditions. One output must defined within the UDF: a Boolean variable named remove. This output value determines if a particle is to be removed from the simulation. If set to true, the particle is removed. This is a local UDF, calculated on a particle-by-particle basis using the local particle/fluid properties.

Download Sample File: Removal

Inertial Particles Toolbar

Context-Specific Toolbar Forms

Description

addG Add Geometry

The Add Geometry form adds child geometry by importing from external CAD files, extracting from external CAD assemblies, or defining internally using built-in parametric geometry.

move Move

The Move form enables three-dimensional rigid body transform of object through free drag or point-to-point snapping.

rotate Rotate

The Rotate form enables three-dimensional rotation of geometry.

scale Scale

The Scale form enables volumetric scaling of a geometry about a set anchor point.

mate Mate

The Mate form allows surface-to-surface mating and alignment.

inj Add Particle Injection

The Add Particle Injection adds an injection to a particle parent.

bctab Edit BC Table

The Edit Boundary Conditions Table edits the fluid types (in tabular form) associated with each boundary condition.

cp Diagnostics

The Diagnostics form reports the position, orientation, and moments of inertia associated with a static body.

help Help

The Help command launches the M-Star reference documentation in your web browser.

For a full description of each selection on the Context-Specific Toolbar, see Toolbar Selections.

Additional Resources

Webinars

For more on this subject, check out the following: