MMOC - Modified Method of Characteristics is the same as MOC except it solves the advection term with a set of backward moving "packets", thus reducing computational effort. It proceeds as follows:

1. one packet is placed at each node

2. packets are tracked backward using velocities based on head differences, K's and a small time step

3. concentration at the back-tracked position is the intermediate concentration due to advection for the time step.




where:
xp = position particle from m reaches when tracked backward over the time step
xm = position from which packet will be back tracked
d = distance along path from xm to XP (characteristic nodal displacement)
C = concentration
n = time indicator (n* is future time)
in short
C at the next step at m is the C at the location that a packet at that node would reach if it went backward for the time step length. Of course if we knew where that point was we could just carry that C forward as we do in standard MOC.



4. the weighted concentration is used to solve the second term (Eulerian portion)

5. the new concentration for cell m at time n+1 is as determined in step 6 of the MOC method as follows:

the new concentration for cell m at time n+1 is:


where:


the concentration of each packet (l) is then updated, and depending on whether the concentration is increasing or decreasing, it is done differently

if the delta C due to dispersion is positive:


if the delta C due to dispersion is negative, to prevent negative concentrations:



If no packets exist in a cell, the cell is assigned the concentration of the previous time step

6. repeat from step 1 until end of time period

ADVANTAGES of MMOC:
Use of 1 packet per node reduces computation time
Lack of need to maintain packet identities reduces memory requirements

MMOC is free of overshoot/undershoot if implemented with low order interpolation scheme (e.g.linear)
BUT a low order interpolation scheme introduces numerical dispersion
Use of a higher order scheme in 2 or 3D is computationally unreasonable
MT3D only uses the lower order scheme when using MMOC
THEREFORE DO NOT USE MMOC ON SHARP FRONT PROBLEMS