Eg if a mineral region is defined between x=1.5 and x=2.0 metres, I will get the EQUIL of the minerals at those values and not for the element between. So I can't at the moment figure out how to derive the total amount of mineral as a function of time and space.

I experimented with ZONE_FLOW, but I don't know how to link the fortran solution output to the boundary faces.

Can someone advise me directly or point me towards a detailed description of how to perform the mass accounting I need to do?

Hydraulic properties are defined by element, which is the space between 8 nodes (provided it is not on a boundary). A cell surrounds 1 node and has parts of 8 elements. The hydraulic properties for the cell are the volume weighted average of the element properties. And it is the cell properties that are used to solve the flow equation.

That said, initial chemical conditions, including the amounts of minerals, exchangers, etc are defined by cell. The representative volume for the chemical reactions for a cell is defined by default as 1 liter. To do a mass accounting, you need to scale from one liter of porous media to the volume in the cell. There are four functions that are accessible in USER_PUNCH to get cell properties of the flow model. The following is an excerpt from the UNITS description in the PHAST manual.

"Four Basic functions that can be used in USER_PUNCH (chemistry input file) are provided to be able to accumulate the number of moles in a PHAST finite-difference cell. CELL_VOLUME is the total volume of the current cell, in liters. CELL_PORE_VOLUME is the total void space in the cell, in liters (no adjustment for compressibility is made). CELL_SATURATION is the fraction of the void space filled with water, unitless. CELL_SATURATION is 1.0 for confined flow, and between 0 and 1.0, inclusive, for unconfined flow. CELL_POROSITY is the ratio of void to rock volume, unitless, and is equal to CELL_PORE_VOLUME / CELL_VOLUME. The values of these functions are set to the appropriate values for each cell as the chemistry in the cell is computed.

For confined flow, the concentrations of dissolved or solid constituents multiplied by the pore volume is equal to the total number of moles in the finite-difference cell, for example, TOT(“Cl”)*CELL_PORE_VOLUME, or EQUI(“Calcite”)*CELL_PORE_VOLUME. For a water-table cell in unconfined flow, the solid reactants are split into an unreactive pool representing the unsaturated part of the cell and a reactive pool representing the saturated part of the cell. The formula TOT(“Cl”)*CELL_SATURATION*CELL_PORE_VOLUME gives the number of moles of dissolved chloride in the current finite-difference cell. The formula EQUI(“Calcite”)*CELL_SATURATION*CELL_PORE_VOLUME gives the moles of calcite in the reactive pool of the current finite-difference cell. It is a deficiency in PHAST that no functions exist to determine the unreactive pool of solid reactants in a cell. Note that in steady-state unconfined flow, the unreactive pool of solid reactants for a water-table cell cannot change, whereas, as the water table rises and falls for transient unconfined flow, the unreactive pool will vary."