# HydroGeoSphere/Solute Definition

These instructions can be used to add a new solute (i.e. species) to the system. **HydroGeoSphere** is able to handle more than one solute per simulation, and straight and branching decay chains are also supported. An example of a straight decay chain is the following system:

which indicates that the decay of the radioactive isotope Uranium^{234} produces the daughter product Thorium^{230}, which in turn decays to form Radium^{226}. For an example of a straight decay chain see Section 4.5.1. Branching decay chains can have a single isotope which decays into one or more daughter products, or daughter products which have one or more parents.

Note that a solute can have different values for the decay constant and distribution coefficient (retardation factor for fractured media) in porous, dual or fractured media or from zone to zone in a single medium.

## SoluteEdit

Causes **grok** to begin reading a group of solute definition instructions until it encounters an End instruction.

**• • •**

The available instructions are:

## NameEdit

**spname**Solute name.

Changes the solute name, which defaults to **Species n**, where **n** is the current solute number.

**• • •**

## Free-solution diffusion coefficientEdit

**diffrac**Free-solution diffusion coefficient [L^{2}T^{−1}], in Equation 2.97.

Assigns a new value for the free-solution diffusion coefficient, which defaults to 0.0 (zero).

**• • •**

## ParentsEdit

**npa**Number of parent species for the current species. If the current species has one or more parents, enter the following**npa**times (i.e. once for each parent):

- (a)
**kparen, aparen**Parent species number and the mass fraction.

- (a)

Assigns a value for the number of parent species, which defaults to 0. The mass fraction is a number between 0 and 1 which defines how much of the parent species transforms into the daughter species (i.e. the current species).

**• • •**

The following parameters affect porous media solute properties:

## Decay constantEdit

**clambda**First-order decay constant [T^{−1}], in Equation 2.95.

Assigns a uniform value for the solute first-order decay constant for all porous media zones in the domain. The default value is 0.0 (no decay).

**• • •**

## Zoned decay constantEdit

**clambda(i,j),j=1,nzones_prop**First-order decay constant [T^{−1}] for species**i**for each porous media zone**j**, in Equation 2.95.

Assigns a unique value for the solute first-order decay constant to each porous media zone in the domain. The default value is 0.0 (no decay).

**• • •**

## Distribution coefficientEdit

**dkd**Distribution coefficient, in Equation 2.96.

Assigns a uniform value for the solute distribution coefficient for all porous media zones in the domain. The default value is 0.0 (no attenuation).

**• • •**

## Zoned distribution coefficientEdit

**dkd(i,j),j=1,nzones_prop**Distribution coefficient for species**i**for each porous media zone**j**, in Equation 2.96.

Assigns a unique value for the distribution coefficient to each porous media zone in the domain. The default value is 0.0 (no attenuation).

**• • •**

## Dual decay constantEdit

**clambda**First-order decay constant [T^{−1}], in Equation 2.103.

Assigns a uniform value for the solute first-order decay constant for all dual continua zones in the domain. The default value is 0.0 (no decay).

**• • •**

## Zoned dual decay constantEdit

**clambda(i,j),j=1,nzones_prop**First-order decay constant [T^{−1}] for species**i**for each dual continua zone**j**, in Equation 2.103.

Assigns a unique value for the solute first-order decay constant to each zone in the domain. The default value is 0.0 (no decay).

**• • •**

## Dual distribution coefficientEdit

**dkd**Distribution coefficient, in Equation 2.104.

Assigns a uniform value for the solute distribution coefficient for all dual continua zones in the domain. The default value is 0.0 (no attenuation).

**• • •**

## Zoned dual distribution coefficientEdit

**dkd(i,j),j=1,nzones_prop**Distribution coefficient for species**i**for each dual continua zone**j**, in Equation 2.104.

Assigns a unique value for the distribution coefficient to each dual continua zone in the domain. The default value is 0.0 (no attenuation).

**• • •**

The following parameters affect fractured media solute properties:

## Fracture Decay constantEdit

**clambda_f**First-order decay constant [T^{−1}], in Equation 2.99.

Assigns a uniform value for the solute first-order decay constant for all discrete fracture zones in the domain. The default value is 0.0 (no decay).

**• • •**

## Zoned fracture decay constantEdit

**clambda_f(i,j),j=1,nzones_prop**First-order decay constant [T^{−1}] for species**i**for each discrete fracture zone**j**, in Equation 2.99.

Assigns a unique value for the solute first-order decay constant to each discrete fracture zone in the domain. The default value is 0.0 (no decay).

**• • •**

## Fracture retardation factorEdit

**rfrac**Fracture retardation factor, in Equation 2.100.

Assigns a uniform value for the fracture retardation factor for all discrete fracture zones in the domain. The default value is 1.0 (no attenuation).

**• • •**

## Zoned fracture retardation factorEdit

**rfrac(i,j),j=1,nzones_prop**Retardation factor for species**i**for each discrete fracture zone**j**, in Equation 2.100.

Assigns a unique value for the fracture retardation factor to each discrete fracture zone in the domain. The default value is 1.0 (no attenuation).

**• • •**

The following parameters affect overland media solute properties:

## Overland Decay constantEdit

**clambda_o**First-order decay constant [T^{−1}], in Equation 2.110.

Assigns a uniform value for the solute first-order decay constant for all overland flow zones in the domain. The default value is 0.0 (no decay).

**• • •**

## Zoned overland decay constantEdit

**clambda_o(i,j),j=1,nzones_prop**First-order decay constant [T^{−1}] for species**i**for each overland flow zone**j**, in Equation 2.99.

Assigns a unique value for the solute first-order decay constant to each overland flow zone in the domain. The default value is 0.0 (no decay).

**• • •**

## Overland retardation factorEdit

**rolf**Overland flow retardation factor, in Equation 2.100.

Assigns a uniform value for the overland retardation factor for all overland zones in the domain. The default value is 1.0 (no attenuation).

**• • •**

## Zoned overland retardation factorEdit

**rfrac(i,j),j=1,nzones_prop**retardation factor for species**i**for each overland flow zone**j**, (similar to in Equation 2.100).

Assigns a unique value for the overland flow retardation factor to each overland zone in the domain. The default value is 1.0 (no attenuation).

**• • •**

The following instructions can be used to identify certain species. This is especially important to calculate fluid density and viscosity (for variable-density transport) from individual species concentrations and temperature. Note that fluid temperature is treated as a mobile species.

## Sodium speciesEdit

The presently defined species is identified as sodium,

**• • •**

The following instructions can be used likewise to identify other species:

- Potassium species
- Calcium species
- Magnesium species
- Chloride species
- Sulphate species
- Hydrogencarbonate species
- Carbonate species
- Salt mass fraction
- Temperature species

By default, no species impacts fluid density or viscosity. This default can be changed with the following instruction:

## Affects fluid propertiesEdit

With this instruction, the presently defined species has an impact on both fluid density and viscosity. This instruction can only be applied to the following species: and , fluid temperature and salt mass fraction . Note that, for the moment, if salt mass fraction affects fluid properties, no other species can impact fluid properties.

**• • •**

## Placement of instructionsEdit

Note that instructions like decay constant and zoned decay constant are mutually exclusive for a given solute, and should not appear in the same Solute . . . End solute block. This also applies to distribution coefficient definitions for all types of media. You can however, define a solute with decay or attenuation properties which are uniform throughout the domain while a second solute has a zoned behaviour.

Since a new species is created each time the instruction solute is used, any instructions (e.g. make fractures, specified concentration, specified third-type concentration, etc. which depend on it should be placed after it in the *prefix*`.grok` file.

## Example solute definitionsEdit

The following simple example shows how to define a single, conservative, non-decaying solute called 'Species 1' with a free-solution diffusion coefficient of zero (0.0):

```
Solute
End solute
```

An example of a more complex system with two solutes and 7 material zones is shown in Figure 5.7 for the first solute, called DCB, which only decays in zone 1, and has distribution coefficients which vary from zone to zone:

```
solute
name
DCB
free-solution diffusion coefficient
3.689e-5 ! free solution diffusion coefficient (m2/d)
zoned decay constant
0.693 ! 1 first-order decay constant (1/d)
0.0 ! 2
0.0 ! 3
0.0 ! 4
0.0 ! 5
0.0 ! 6
0.0 ! 7
zoned distribution coefficient
0.0005 ! 1 distribution coefficient (kg/m3)
0.0005 ! 2
0.0005 ! 3
0.0013 ! 4
0.005 ! 5
0.014 ! 6
0.020 ! 7
end solute
```

**Figure 5.7: Definition of a Parent Solute With Zoned Properties**

Figure 5.8 shows how to define the second solute, called BAM, which is a daughter product of DCB, and does not decay. This solute has the same zoned distribution coefficients as the first solute:

```
solute
name
BAM
free-solution diffusion coefficient
3.7295e-5 ! free solution diffusion coefficient (m2/d)
parents
1 ! i.e. DCB
! parent # ! mass ratio
!========== =============
1 1.0
decay constant
0.0 ! first-order decay constant (1/d)
zoned distribution coefficient
0.0005 ! 1 distribution coefficient (kg/m3)
0.0005 ! 2
0.0005 ! 3
0.0013 ! 4
0.005 ! 5
0.014 ! 6
0.020 ! 7
end solute
```

**Figure 5.8: Definition of a Daughter Solute With Zoned Properties**