Courses: The GoldSim Contaminant Transport Module:

Unit 9 - Modeling Spatially Continuous Processes: Advectively Dominated Transport with Dispersion

Lesson 10 – Advanced Features of the Pipe Pathway

In the previous Lesson we noted that the Pipe pathway has a number of buttons for defining advanced features (CoatingMatrix Diffusion Zones and Stagnant Zone). These features are not available for Aquifer elements. The first two features are exclusively associated with modeling transport through fractures.  The last (Stagnant Zone) actually could apply to porous media also.  However, it is a rarely-used feature (as the process is very difficult to quantify), and we will not discuss it further in this Course.  If you are interested, you can read about it in GoldSim Help.

Instead, we will focus on those processes that are associated with transport through a fracture. In particular, in this Lesson, we will discuss using a Pipe to model a single rock fracture (or fault).

Conceptually, a simple way to envision a fracture is as the space between two parallel surfaces (or plates) placed very close together. The length and width of the fracture (the surfaces) is many orders of magnitude greater than the space between the surfaces (referred to as the aperture), with fracture apertures typically being no more than a few millimeters (of course this varies for different rock types and geological systems).

In this simple conceptual description, the space between the surfaces is empty (except for water or air, although as we will discuss below this does not have to be the case), while on the other side of each plate is some thickness of rock.

If water entered at one end of the fracture and exited at the other, how would we parameterize this? For the sake of discussion, let’s assume that the length (L) of the fracture (i.e., the dimension along which water is flowing) is 10 m, the width (W) is 2 m and the aperture (A) is 1 mm. To simulate this, we would simply define the Length of the Pipe as L and the Area (normal to the flow direction) as W * A.

We could, of course, simulate such a system with either a Pipe or an Aquifer. Although some fractures may indeed be “empty” (contain only flowing water), it is also possible for fractures to be infilled with a porous medium (onto which species might partition).  This, of course, can also be easily represented in both Aquifers and Pipes by simply defining an Infill Medium. But there are two other important processes that can impact transport through a fracture that cannot be simulated using an Aquifer. These processes require us to define a Perimeter for the pathway (an input that only exists for a Pipe).

What is the Perimeter?  We can visualize this by first envisioning the Area perpendicular to the flow direction.  This is a surface that has dimensions of W by A (width by aperture).  The Perimeter is simply the perimeter of this surface (2W + 2A). Because A is usually much smaller than W, the Perimeter can typically be defined as 2W. If you were to multiply the Perimeter by the Length, this would represent the total area of rock (perpendicular to the flow direction) that is in contact with the flowing water. 

The first process that is affected by this Perimeter is sorption onto a coating that may exist along the perimeter (i.e., a thin layer on the inner surface of the plates). You can specify such a coating by pressing the Coating… button in the Pipe dialog:


In this dialog you specify the Coating Medium (which must be a Solid) and the Coating Thickness.  GoldSim internally then computes the amount of the Solid with which the species can interact (the volume of this medium is simply computed as Perimeter * Length * Coating Thickness). Note that this represents a much different volume of Solid than would be internally computed if you simply specified an Infill Medium (in which case the volume would be computed as Length * Width * Aperture).

The second process that is affected by the Perimeter is matrix diffusion. Matrix diffusion is the process by which solutes diffuse from a mobile zone (i.e., the flowing fracture) into (and subsequently back out of) surrounding porous matrix material (e.g., rock).  In GoldSim, it is assumed that this diffusive process is one-dimensional and orthogonal to the flow direction.  This process is shown schematically below:

As species flow through the mobile zone (i.e., the fracture itself), they also diffuse (perpendicular to the flow direction) into the rock.  GoldSim can represent two layers (a “skin” zone and a deeper rock zone). For various reasons, there is assumed to be a limit to how far the species can diffuse into the rock (and this must be specified).  The species diffuse in and out (according to concentration gradients), and can also partition onto the rock matrix (and skin).

Before showing how these zones are defined in GoldSim, let’s first see the effect that matrix diffusion has on transport. The plot below shows the mass transfer rate out of a fracture for three different species.  The fracture is filled with a porous infill material.  One of the species does not sorb onto the infill material and does not diffuse into the matrix.  A second species sorbs onto the infill material but does not diffuse into the matrix.  A third species diffuses into the matrix but does not sorb onto the infill material.

Obviously, the impact of matrix diffusion is a function of the various parameters used to describe it (which we have not described for this example).  However, what is important to understand here is that the impact of matrix diffusion is different than that of sorption.  In particular, matrix diffusion tends to produce a different breakthrough curve (one with a long tail).  This is due to the diffusion into (and subsequently out of) the rock matrix.

You define the matrix diffusion parameters for a Pipe by pressing the Matrix Diffusion Zones… button in the Pipe dialog:

The user can define up to three matrix diffusion zones that exist in parallel (side by side) and interact with the fracture (in most cases, you will likely use only one).  Clicking the Used checkbox to the left of each zone activates ("turns on") the zone.  A lower zone can be activated only if the zone above it is active.  Inactive (unused) zones are grayed out (and are not represented in the model).

For each zone, it is necessary to define a Medium, a Geometry, a Minimum Thickness, a Maximum Thickness, and a Fraction of Perimeter:

  • Medium:  This is the porous medium for the matrix diffusion zone. It must be a previously defined Solid medium.
  • Geometry:  This is the assumed diffusive geometry for the matrix zone.  There are three options: Slab, Sphere, and Slot.
  • Minimum Thickness and Maximum Thickness: These two inputs define the thickness of the matrix diffusion zone.  They have dimensions of length.  You will often simply define them using the same value. The Maximum Thickness must be greater than or equal to the Minimum Thickness (otherwise it is ignored and only the Minimum Thickness is used).  If you specify different values, GoldSim assumes that the thickness of the zone varies uniformly over the pathway perimeter between the specified minimum and maximum values.
  • Fraction of Perimeter: This is the fraction of the pathway's perimeter that is connected to this particular matrix diffusion zone.  It is dimensionless, and must be greater than or equal to 0 and less than or equal to 1.  For example, if this particular zone existed on only once side of the fracture, you could specify a value of 0.5.

The Geometry of the matrix diffusion zone determines how the area changes with distance from the fracture:

  • Slab: The diffusive area remains constant with distance into the matrix.  Such a model could be appropriate, for example, for representing uniform, parallel fracture sets, in which the thickness of the zone was defined as half the thickness of the rock block (assuming that a similar fracture exists on the other side of the rock block).
  • Sphere: The diffusive area decreases with distance into the matrix according to a spherical geometry.  Such a model could be appropriate, for example, to represent intact blocks in highly fractured zones.
  • Slot:  The diffusive area increases exponentially with distance into the matrix.  Such a model could be appropriate, for example, to represent a long, “thin” (width << length) pathway.

The best way to understand the impact of these various inputs is to experiment with an Example. Go to the “Examples” subfolder of the “Contaminant Transport Course” folder you should have downloaded and unzipped to your Desktop, and open a model file named ExampleCT27_Matrix_Diffusion.gsm. 

The model looks like this:

It contains four different Pipe elements. A slug of mass is added to each at the beginning of the simulation. The first Pipe has no matrix diffusion zones, while the other three do (but a different Geometry is defined for each). You can explore the Inputs Container to see the inputs that have been specified.  The fracture that is being simulated has a length of 10 m, width of 2 m and an aperture of 0.3 mm.  There is a single matrix diffusion zone that is 1 cm thick with the Fraction of Perimeter set to 1. 

The plot shows the impact of the Geometry on the transport rate under these particular assumptions.

As can be seen, the Slab and Slot geometries produce essentially the same results in this particular case.  The Sphere geometry produces less dispersion (and a shorter tail). 

You are encouraged to use this model experiment with the various input parameters in the Inputs Container (e.g., properties of the Rock such as porosity, as well as properties of the fracture and matrix diffusion zone) to see how they impact the behavior. For example, you will note that if you increase the thickness of the matrix diffusion zone (e.g., to 5 cm), the three geometries all essentially behave the same (the change in thickness strongly impacts the Sphere geometry):

skin zone can also be defined for the Pipe.  The skin zone is defined in a similar manner to that of the matrix diffusion zones (you specify a Skin Medium and a Skin Thickness.) Its geometry is always assumed to be slab.  It is assumed to exist in front of all matrix diffusion zones (i.e., between the matrix diffusion zones and the flowing mobile zone). Hence, if a skin zone is present, species must first diffuse through the skin before reaching the underlying diffusive zones (forming a two-layer diffusive system).

Note: If you have specified a coating, for the purpose of the matrix diffusion calculation, it is assumed to have zero thickness (i.e., it is not considered as a matrix diffusion layer).

What should be very clear from this discussion is that in order to model matrix diffusion (and specify the inputs appropriately) you need to have a good understanding of fracture flow in general and the nature of the specific fracture system you are trying to model. That is, defining these inputs appropriately (e.g., Geometry, Thickness, etc.) requires a substantial amount of information about and understanding of the system. Nevertheless, if you do have this information, the Pipe allows you to represent this important process.

Note: Although Pipes are required if you want to simulate matrix diffusion, they do have a number of limitations that it is important to be aware of.  The most important of these is associated with time-variable properties in a Pipe. Because the Laplace transform approach requires that the transport equations be linear and unchanging in time, if any of the properties of a Pipe (e.g., partition coefficients for solid media, area, perimeter, storage zone properties, flow rate) change during a realization, GoldSim must use an approximation to represent this change. In particular, when a change in the properties of a Pipe occurs, the change has no effect on mass that was already in the pathway prior to the change.  Mass that is already in the pathway continues to be transported based on the properties at the time it entered the pathway. Only mass that enters the pathway subsequent to the change is affected and utilizes the updated properties. Moreover, if a species decays to another species while in the Pipe, it moves according to the properties (i.e., partition coefficient) of its parent. Hence, if you are simulating a Pipe which is long (i.e., has long travel times for some species) and has properties that vary significantly over time (or daughters that have partition coefficients that are much different from their parents), this approximation can result in errors.  In such a case, the way to minimize these errors is to discretize long pathways into a series of shorter pathways (such that travel time through each Pipe pathway is relatively rapid).

If you do discretize a long pathway into a series of shorter Pipes, the dispersivity (which is typically defined as a fraction of the length of a pathway) should be defined in terms of the total length (not the length of each individual Pipe).