grokkingstuff Home Blog Projects Wiki Calculators About

DPM Numerics and Solver Settings in ANSYS Fluent 2024 R1

#+CATEGORY: cfd

#+TAGS: DPM Fluent numerics solver convergence max steps timescale

#+MATURITY: growing

DPM Numerics :: Solver Settings and Convergence for ANSYS Fluent 2024 R1

This page covers all the numerical knobs that control DPM tracking in Fluent 2024 R1: time-step, max steps, tolerance, tracking modes, coupling iterations, and convergence diagnostics. Target application: shisha PM2.5 simulation (3D, steady-state, inert).

Maximum Number of Steps

Models > Discrete Phase > Edit... > Tracking tab > Max. Number of Steps

This is the most common cause of incomplete particles in the DPM Summary. If a particle has not hit a boundary (escape, trap, reflect) within this many integration steps, Fluent stops tracking it and reports it as incomplete.

Default: 500 Recommendation for shisha: 5000--20,000

Why more steps? In a large 3D domain with slow-moving recirculation zones, a particle can spend thousands of steps in the flow without hitting a wall. The default 500 steps is far too low.

How to diagnose: 1. Run the DPM 2. Report > Discrete Phase > Summary 3. Check the incomplete line -- if > 0, increase the max steps

Tie to timescale: Max steps x time-step = max tracking time. The max tracking time must be longer than the residence time in the domain:

: t_residence ~ V_domain / Q_flow

For shisha: V ~ 1 L = 10^-3 m^3, Q ~ 5 L/min = 8.3e-5 m^3/s : t_residence ~ 12 seconds

Particle velocity ~ 0.01--0.1 m/s, so a particle travels 0.01--0.1 m per step (depending on dt). Over 500 steps, distance = 5--50 m. This should be enough, but with strong recirculation and small dt in fine-mesh regions, the particle may not have traversed the domain.

Tracking Time Step (Steady Tracking)

Models > Discrete Phase > Edit... > Tracking tab > Time Step Size

When tracking in a steady flow:

Length scale vs time step:

Time-step guidance for PM2.5: The particle response time is: : tau_p = rho_p * d_p^2 / (18 * mu) For 1 \mu m particle in air: tau_p ~ 3.5e-6 s

The Lagrangian dt should resolve this: dt < 10 * tau_p is a safe choice, so dt < 3.5e-5 s. Fluent's default length-scale approach typically gives dt ~ 1e-4 s, which is adequate.

For transient tracking: The Lagrangian dt must be smaller than the Eulerian dt. Fluent enforces this automatically. The Time Step Size is then the maximum allowed Lagrangian sub-step.

Tolerance

Models > Discrete Phase > Edit... > Tracking tab > Tolerance

Controls the accuracy of the particle trajectory integration (Runge-Kutta or implicit method). Default = 1e-6.

Lower tolerance = more accurate but slower. For PM2.5, the default is fine. Tighten only if particle tracks look unphysically jagged.

Steady vs Transient Tracking

Models > Discrete Phase > Edit... > Tracking tab > Tracking Mode

Steady Tracking

For shisha (steady): Select Steady Tracking. The converged continuous-phase solution provides the steady velocity field. DPM iterations track parcels through this fixed field.

Transient Tracking

For shisha (transient, future): Select Transient Tracking and run the continuous phase in transient mode first. DPM will then ride the evolving flow.

DPM Iterations and Under-Relaxation

For two-way coupling (when DPM feeds back onto the continuous phase):

Run Calculation > Number of Iterations > Iterations per DPM update

For one-way coupling: DPM is run after the continuous phase has converged. No iterations needed. Just run the DPM once on the converged flow field.

How to run DPM on a converged flow (one-way): 1. Run continuous phase to convergence (residuals < 1e-4) 2. Run > Iterate DPM (or solve > set > dpm-iterations) 3. DPM runs once through all injections; output = DPM Summary + particle data

Coupling Iterations (Two-Way)

For two-way coupling: 1. Solve continuous phase 2. Track DPM particles 3. Compute momentum/heat/mass source terms 4. Add source terms to continuous-phase equations 5. Repeat from step 1

Convergence of the coupling loop requires:

Under-relaxation for DPM source terms:

Convergence Diagnostics

DPM Summary check:

Checks: 1. incomplete should be exactly 0 (or negligibly small) 2. injected should equal escaped + trapped + evaporated (mass conservation) 3. Re-run with 2x parcels: concentration field should change < 5% 4. Re-run with 2x max steps: incomplete should remain 0

Red flags:

Length Scale Setting

Models > Discrete Phase > Edit... > Tracking tab > Length Scale

Defines the distance a particle travels per integration step (used when "Length Scale" is selected as the step-size basis).

Guidance:

For shisha PM2.5:

TUI Commands for Numerics

CommandPurpose
------------------
solve/set/dpm-iterationsSet the number of DPM iteration passes
solve/set/dpm-under-relaxationSet the DPM under-relaxation factor
solve/set/dpm-toleranceSet the trajectory integration tolerance
define/models/dpm/set-tracking-parametersSet time step, max steps, length scale
define/models/dpm/set-tracking-modeSwitch between steady and transient tracking
solve/set/dpm-max-stepsSet the maximum number of tracking steps

Full Numerics Setup for Shisha PM2.5 (Steady)

ParameterValueReasoning
-----------------------------
Tracking modeSteadyContinuous draw under steady-state conditions
Max steps10,000Large domain, recirculation zones
Length scale0.5 mm (or Fluent default)Mesh-dependent; 0.1 x min cell size
Tolerance1e-6 (default)Adequate for sub-micron particles
DPM iterations1 (one-way coupling)No iteration needed with one-way
Under-relaxation1.0Not applicable in one-way mode
Number of Tries (DRW)1010 stochastic trajectories per parcel

--- :PROPERTIES: :seeAlso: cfd_dpm-setup-activation, cfd_dpm-turbulence-interaction, cfd_dpm-coupling, cfd_dpm-shisha-pm25 :END: