When Cells are linked together via coupled mass flux links, GoldSim treats the network of Cells as a single coupled system of differential equations, solving for the mass of each species in each medium in each Cell as a function of time.
In order to solve these equations, GoldSim initially identifies the sub-networks of interconnected Cells, referred to as cell nets, which then are treated as single entities in the calculations. GoldSim sets up and solves a separate set of fully coupled equations for each net. Hence, the fluxes between cells within a cell net are computed simultaneously (since they are solved as a system of coupled differential equations). Fluxes between cell nets (or between cell nets and non-Cell pathways), however, are propagated asynchronously (i.e., the “upstream” pathway or cell net is solved first, followed by the “downstream” one).
A cell net is defined by all Cells interconnected via coupled mass flux links. Note that since only Cell to Cell mass flux links can be coupled, two Cells which are linked via mass flux links but are separated by a non-Cell pathway (e.g., a Pipe), are, by definition, in different cell nets. Also, if two Cells are connected by normal mass flux links (rather than coupled links), they will be in different cell nets.
Note: Cell nets cannot cross between SubSystems. A SubSystem is a specialized Container in GoldSim that is entirely self-contained. Hence, by definition, Cell nets cannot extend across a SubSystem boundary.
The example below shows a pathway network in a Container, illustrating schematically how GoldSim would define the cell nets.
There are four cell nets in this Container. Cells in a cell net are all connected by coupled links, which are distinguishable from other types of links by the way their influences are drawn (i.e., they have a small circle at the beginning of the influence).
In general terms, a transport pathway can be thought of as a function whose input is a mass rate, and whose output is a mass rate. This statement is not strictly true for all types of pathways. In particular, the statement is true for non-Cell pathways, but is not strictly true for Cell pathways (since mass transfer to or from a Cell with diffusive connections would not necessarily be unidirectional). It is, however, true for cell nets. Hence, each cell net can be thought of as a very complex sort of pathway, which acts as a transfer function having multiple unidirectional input and output connections.
The equations GoldSim solves for each net are defined in terms of nodes, where a node represents either a Cell in the cell net (primary nodes) or monitored discharges from the net (secondary nodes). GoldSim defines a secondary node for any mass flux link for which it needs to compute a flux rate:
• mass flux links to non-Cell pathways or to other cell nets;
• mass flux links within a cell net for which the user has requested that results be saved; and
• mass flux links which are referenced in other elements (e.g., Sum or Extrema) for which the user has requested that results be saved.
GoldSim solves a matrix equation representing the coupled system of equations based on the backwards-difference (fully implicit) algorithm for each cell net and each species decay-chain family to compute concentrations and fluxes. GoldSim uses an iterative, sparse-matrix approach (the bi-conjugate gradient stabilized method) to solve the system of equations.
The backwards difference (fully implicit) algorithm has the advantages of being unconditionally stable, conserving mass, and having bounded error levels. In order to enhance the accuracy of the backwards-difference method, GoldSim automatically divides every time step into a number of fractional timesteps, depending on the user’s selected precision level (1 for Low, 4 for Medium and 10 for High). Other solution parameters (e.g., the overall solver error tolerance, as well as a minimum number of solver iterations, how solubility constraints are represented) are also determined by the precision setting.
Using fractional timesteps is a very computationally efficient way to enhance the accuracy of the solution. This is because 1) only the cell nets are updated during these fractional timesteps; and 2) numerically the fractional timesteps are computed via matrix calculations in such a way that it takes less computational effort than simply shortening the actual timestep. However, fractional timesteps can also have a detrimental affect (i.e., produce inaccuracies) when the media amounts (e.g., the volume of water) is rapidly changing in a Cell. In these cases, GoldSim will write warning messages to the Run Log, and there are actions you can take to minimize any errors.
The computational effort to solve the coupled equations of a cell net increases rapidly (i.e., not linearly) with the size of the cell net. In almost all models, this is not a problem, but for extremely large models (hundreds of Cells), it may be worthwhile to break a very large cell net into several smaller cell nets (by using a Normal link in place of a Couple link when connecting Cells).
Note that because cell nets are computationally treated as a single entity, they are presented as such in the Function of and Affects view:
In the Function of or Affects View, a cell net is identified by its first member. For example, the cell net containing Cell4, Cell5, and Cell6 is referred to as "Cell-net (Cell4, …)"
Learn more about:
Treating a Container as a SubSystem
Understanding the Solution Precision