Particle/Fluid Interactions

A standard mfix_level::Evolve step looks like this (for brevity, we are omitting some details here):

// Calculate particle volume fraction:
mfix_calc_volume_fraction(lev, sum_vol)

// Eolve fluid
if ( use_proj_method )
    EvolveFluidProjection(lev, nstep, dt, ...)
else
    EvolveFluidSimple(lev, nstep, dt, ...)

// Apply fluid drag force on particles
mfix_calc_drag_particle(lev)

// Move particles (using forces acting on particles)
pc -> EvolveParticles(lev, nstep, dt ...)

Here, lev represents the AMR level, and pc is a pointer to a MFIXParticleContainer instance.