Courses: The GoldSim Contaminant Transport Module:

Unit 12 - Pulling it All Together: Building Complex Contaminant Transport Models

Lesson 9 – Advanced Contaminant Transport Elements

Although this Course has covered all of the key features and capabilities of the GoldSim Contaminant Transport Module, several advanced elements have not been covered at all. Rather than discussing these elements in any detail, however, the goal of this Lesson is to simply to make you aware of them, so that once you are more comfortable with the Contaminant Transport Module, you can start to learn about and take advantage of them if they are required. 

Automatically generating Cell networks using the CellNet Generator

In some situations, you may need to create a 1D or 2D (i.e., rectangular or cylindrical) network of Cell pathways with advective and/or diffusive connections. Although such a network can be created manually, if it contains a large number of Cells doing so can become cumbersome and time-consuming. Therefore, GoldSim provides a special element to automate the creation of such Cell networks.

The CellNet Generator discretizes a rectangular or cylindrical region of space and creates a two-dimensional array of Cell elements, including any necessary advective or diffusive mass flux links between them:

You can specify the existence of different fluid or solid materials in different parts of the generation region.  If a fluid is defined, you can specify its flow velocity (the Darcy velocity, if a porous solid is defined). After defining the geometry of the region you wish to simulate, the level of discretization (i.e., the number of Cells), the properties of the Cells (i.e., the media they contain), and the nature of the advective and diffusive connections between the Cells, you instruct GoldSim to create the Cell network, and it automatically does so.

It is important to understand that the CellNet Generator element does not actually carry out any calculations when you run a model. It is simply used to generate a network of Cells prior to running your model. Once the Cell elements have been generated, you can manually edit them to add any flux links necessary to connect them to the rest of your model.

Note: The CellNet Generator is only available within the RT Module.  It is not available within the CT Module.

Using External pathway elements to dynamically link to external contaminant transport modules

In Lesson 4 we discussed incorporating an external flow solver directly into your GoldSim model and dynamically calling it using an External element.  An External element allows you to take an external program or module (e.g., a flow solver) and dynamically link it and run it within GoldSim. The module is linked into GoldSim as a DLL (Dynamic Link Library) at run time. Integrating an external program into GoldSim in this way requires that you develop a "wrapper" (or "shell") around the module (and hence requires some programming), and compile it into a DLL. The External element has an input and output interface, allowing you to send inputs to the module from GoldSim, and create output that can then be used in other parts of the GoldSim model. Hence, you can think of this as a “custom GoldSim element”. In this case, the External element is used to compute flow rates that are then used in GoldSim pathways.

But what if you would like to integrate not just a flow solver, but an external program module that carries out the contaminant transport calculations themselves (e.g., using a finite element or finite difference approach)? The External pathway element allows you to do this.  

The External pathway element is a specialized version of the External element. The module is linked into GoldSim as a DLL (Dynamic Link Library) at run time. Integrating an External pathway into GoldSim in this way requires that you develop a "wrapper" (or "shell") around the module (and hence requires some programming), and compile it into a DLL.

You define the manner in which the External Pathway is linked to the rest of the GoldSim pathway network by specifying the input mass flux links (i.e., the pathway(s) that discharge mass to the External Pathway) and the output mass flux links (i.e., the pathway(s) to which the External Pathway discharges mass).  GoldSim then automatically calls the function representing the External Pathway at the appropriate times, passing the appropriate information back and forth between GoldSim and the function.

As such, the External pathway can “communicate with” Cell, Aquifer or Pipe pathways in your model.  This allows you, for example, to model part of the system using traditional GoldSim pathways (Cells, Aquifers and Pipes), but part of the system that perhaps needs to represented in greater detail using an external program.

Because your external module is completely defined and created by you, External pathways are extremely flexible. You determine the manner in which the External Pathway operates on the contaminant mass it receives: the External Pathway may be a simple one-dimensional representation, or could be a complex three-dimensional model. Care must be taken, of course, to ensure that the external calculations preserve mass balance.

Using Network pathways to simulate transport through fractured rock systems

Network pathways use a Laplace-transform approach to provide a computationally efficient way to simulate large, complex networks of one-dimensional conduits in order to describe contaminant transport through fractured rock systems:

A Network pathway is made up of multiple “pipes”.  The fact that these are referred to as pipes is not coincidental; each fracture network pipe has all the features and capabilities of the Pipe pathways discussed previously.  In fact, Network pathways are effectively large collections of Pipe pathways.

Network Pathways require specification of a fracture network, which can be entered by hand, but more likely would be generated by a discrete fracture network generation and flow simulation code.  The fracture network identifies all of the pipes in the network, the manner in which they are connected, and each pipe's geometry and flow rate.

In addition, for each pipe in the fracture network, a fracture set is specified, which identifies the transport properties of the pipe (e.g., porous infill material, coating material, properties of matrix diffusion zones, etc.):

The network of pipes can be very large (e.g., 100,000 pipes).  This allows complex and realistic fracture systems to be simulated. The ability to solve Network pathways efficiently results from the fact that it is possible to develop a Laplace-transformed transfer matrix for an entire network of Pipe pathways by simple additions and multiplications of the transformed transfer matrices for each individual pathway.  Once the network transfer matrix/matrices are developed, then the transport calculations for the network are no more time-consuming than for a single Pipe pathway.  The only extra computational expense is the time required for the creation of the network transfer matrix at the beginning of the simulation.  For even quite large networks this time is not excessive.

Note: Network pathways are only available within the RT Module.  They are not available within the CT Module.