Program for Cation Transport in a Contaminant Plume

Linda Liu

(Modified by Xuan Xu and Gilbert N. Hanson)

Department of Geosciences
Stony Brook University

Stony Brook, NY 11794-2100

December 2006

This program is coded in MATLAB and MATLAB is required to execute this program. It is strongly recommended that you first read my MS Thesis before proceeding. Units for the parameters, the methodology for the calculations and examples are given in the thesis.


This program simulates the interactive sorption and transport of cations in a continuously fed contaminant plume, for example, from a cess pool, in the saturated zone. It can be applied to any plume which bears a different cation composition from the groundwater.


The initial conditions like the cation exchange capacity of the sediment, porosity, the cation chemistry of the contaminant plume and the groundwater are needed before running the program. The original cation composition of the sediments is calculated to be that in equilibrium with the groundwater. The selectivity coefficients describe the ability of Na+ exchanging with a specific cation on the surface of the sediment particles. It is a convention to present this parameter compared with Na+ which is a common cation in most groundwater. The selectivity coefficients usually vary in a limited range which can be determined from experiments or selected from the literature (for example see Appelo and Posma, 1999 p. 160). The changing cation concentrations in the aqueous plume and those sorbed on the sediments at any position along the plume can be calculated given the selectivity coefficients, the cation chemistry of the contaminated water and the cation chemistry of the groundwater prior to contamination.


The plume from beginning to end is divided into many equal-dimension but unit-less cells. The results do not depend on the number of cells. The number of cells determines the resolution. One pore volume is the volume of all the void spaces in the sediment along the plume path considered. The results are given in terms of pore volumes and can then be applied to any length of the plume without including the length in the modeling of the interaction.


For example, if within one contaminant plume it takes 40 pore volumes for the contaminant plume to completely replace the cations sorbed on the sediments. At all distances between the origin of the contaminant and place where 40 pore volumes have passed, the plume has the composition of the original contaminant plume. Between the front of the plume and the place where the plume has the composition of the contaminant, the composition of the plume is a result of interaction and mixing of the original cations on the sediments and the contaminant cations.  


How can we use this in a real situation? If the groundwater travels 0.1 meters per day, at 10 meters from the source of the contaminant it will take 10 days for the front of the plume to reach that site and 400 days for the plume to have completely replace the original cations sorbed on the sediments. At 100 meters it will take 1000 days for the front o f the plume to reach the site. At which time the plume will have the composition of the contaminant for the first 25 meters of the plume and intermediate values between the front of the plume at 100 meters and 25 meters. It will take 4000 days for the plume to achieve the value of the original contaminant at 100 meters.


In this program, major cations, trace cations and the isotope ratios of trace cations can be modeled at the same time. The major cations are constrained to have the same total cation concentration in the solution and same total cation exchange capacity for the sediment. Only the relative proportions of the cations are allowed to vary in the solution and sorbed on the sediments.  The trace cations are considered to have such a low concentration  that they do not affect the total concentrations of cations in the solution or sorbed on the sediment.  Their concentration in the solution and on the soil is simply related by a distribution coefficient. The isotope ratio of a trace element, for example 87Sr/86Sr changes as a result of interaction between the contaminant trace element and the trace element from the sediment where the original isotope ratios are different.


The resulting chromatography of the major cations is shown in the window of the program (Fig. 8). The plume goes from the left to right. The concentration is on an equivalent base and is delivered in an accumulated fashion. The change of the trace cation and its isotope ratio are exhibited in the two smaller windows on the upper right (Fig. 8). This program shows an example of four major cations - Na+, K+, Mg2+, Ca2+  and one trace cation - Sr2+ allowing changes in the 87Sr/86Sr ratio during the interaction.


Reference Cited

Appelo, C.A.J. and Posma, D., 1999, Geochemistry, groundwater and pollution. A.A.Balkema Publisher,VT,


Clicking on the following thumbnails will give you a larger image.
Click on the larger image to get an even larger one which you can read.



1.                  Download Matlab figure file “cationcontaminantplume_act.fig” and Matlab M-file “cationcontaminantplume_act.m

2.                  Run Matlab under Windows (Fig.1).

Fig. 1 Matlab running under Windows.

3.                  Pressing “File” à “Open” (Fig.2a) or  (Fig.2b). Go to the file where you saved “cationcontaminantplume_act.fig” and “cationcontaminantplume_act.m”. Select “M-file” in “File of type”. Double click or select “cationcontaminantplume_act.m” and press “open” to run this program in Matlab (Fig.2c).


Fig.2a Open Files.

Fig.2b Open files.


Fig.2c Open files.


4.                  Go to Line 998, 1004, 1201 and 1207 (Fig.3).

Fig.3 Line number marked on the left panel.


5.                  Select”C:\ Documents and Settings\apple\My documents\project\newthesis2” (Do not select “/drop”) and change that path to whatever files you want to save your modeling results (Fig.4).

Fig.4 Select ”C:\ Documents and Settings\apple\My documents\project\newthesis2”


For example, if you want to save the modeling results under “C:\ Documents and Settings\ My documents\project1”, it should be look like Fig.5 after modification.


Then do the same thing as Line 998 for Line 1004, 1201 and 1207.

Fig.5 Change save/open file path.

6.                  Go to “Debug” à “Run” (Fig.6a)or press icon  (Fig.6b) to run the program.

Fig.6a Run program in Matlab.

Fig.6b Run program in Matlab.


7.                  The program should be able to run like Fig. 7

Fig.7 Program runs in Matlab.


8.                  Input:

“Physical Properties” for sediments or soil that will interact with the plume and groundwater;

“ Selectivity Coeffecients – Kd- Na/X” for the exchange coefficient for K, Mg and Ca and any trace element with Na;

“Groundwater Concentration in meq/l, major cations” for ground water compositions. “Isotope ratio” is for isotopic fraction of the trace element you chose.

“Contaminant Plume Concentration in meq/l, major cations” for plume compositions.

9.                  Press “PLOT” to run the program. The interface should be like Fig.Press “PAUSE” or “STOP” whenever need to pause or stop the program (Fig.8).

Fig. 8 Example shows program running in Matlab.


10.       Fig. 9 is an example of wastewater plume to show the variation of the cation concentrations along the flow line for the introduction of the contaminant plume into the flow path through 60 of the 100 cells of the flow path. The wastewater moved from left to right in Figure. Cells 61 through 100 have not been affected by the plume and have the composition of the initial groundwater. Before the incoming of wastewater plume, there is an equilibrium between the cations in groundwater and those on sediments. When the plume comes in, its front is shown by a rise in the total equivalent concentration of cations to the same as that of the plume.

Fig.9 Example shows wastewater, ground water and sediment interaction.


10.              The results of the modeling will be output into the designated files and saved as *txt files named “drop1”, “drop2” etc. (Fig.10) The total output will depend on the Pore Volumn defined in “Physical Properties” and equals to Pore Volumn * 100. For instance, if the Pore Volumn is defined as 4, there will be 400 output files, representing the first drop of contaminated plume put into the sediment-ground water system until the last 400th drop.

Fig.10 Examples of output results by modeling program.


11.              The results can be opened in a Notepad or Windows Word or in Windows Excel (Fig.11). NAF, KF, MGF, CAF and TRF are cation concentrations and trace element concentration in the fluid. NAS, KS, MGS, CAS and TRS are cation concentrations and trace element concentration on the soil or sediment surface. KDNA, KDK, KDMG, KDCA and KDT1 are exchange coefficients that have been used in the calculation for cations and trace element. RATIO-TRACE is the isotope ratio of the trace element.

Fig.11 Results opened in Notepad.