# 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.