ComponentTransport
process is widely used to predict the distribution of chemical components in the subsurface, which is controlled by the groundwater flow (advection), the hydrodynamic dispersion and diffusion, the sorption on the solid phase, as well as the decay of component.
The governing equation implemented in OGS6 is the socalled advective and diffusion equation (ADE
), with the consideration of sorption and decay process. ADE is widely used to describe the concentration of chemical components in groundwater aquifer and porous media. The equations can be solved analytically in (simplified) 1D cases. For more complex geometry, especially with heterogeneous material properties, numerical solution is often preferred. The ComponentTransport
process has the following assumptions.
For the flow process, the continuity equation for flowing fluid in a saturated porous medium is as follows
$$ \frac{\partial \left(\phi \rho\right)}{\partial t} + \nabla \cdot \left(\textbf{q} \rho\right) + Q_{p} = 0, $$where $\phi$ [] is the porosity, $\rho$ [kg/m$^3$] is the fluid density, $t$ [s] is the time, $\textbf{q}$ [m/s] is the Darcy flux with laminar flow assumptions, and $Q_{p}$ [kg/m$^3$/s] is the sourcesink term. According to Darcy’s Law, the flux $\textbf{q}$ is related to the pressure drop and gravitational body force through
$$ \textbf{q} =  \frac{\textbf{k}}{\mu} \left(\nabla p  \rho \textbf{g}\right), $$where $\textbf{k}$ [m$^2$] is the intrinsic permeability, $\mu$ [Pa$\cdot$s] is the fluid dynamic viscosity, and $\textbf{g}$ [m/s$^2$] is the gravity vector.
For each chemical component $\alpha = 1, .., N_p$, its corresponding advective and diffusion equation (ADE
) reads,
with the concentration $c_{\alpha}$ of the chemical component as the primary variable. $D$ [m$^2$/s] denotes the hydrodynamic dispersion tensor with the following relation
$$ D = (\phi D_{p} + \beta_T \lVert \textbf{q} \rVert) \textbf{I} + （ \beta_L  \beta_T ） \frac{\textbf{q} \textbf{q}^{T}}{\lVert \textbf{q} \rVert} $$implemented, where $D_p$ [m$^2$/s] is the pore diffusion coefficient, $\beta_L$ and $\beta_T$ [m] are the longitudinal and transversal dispersion coefficients. $R$ [] is the retardation factor defined as
$$ R = 1 + \rho_{b} K_{D} / \phi $$with the bulk density of the porous media $\rho_{b}$ [kg/m$^3$] and the distribution coefficient $K_{D}$ [m$^3$/kg], and $\lambda$ [1/s] is the firstorder decay constant,
$$ \lambda = ln 2 / t_{1/2} $$where $t_{1/2}$ [s] is the half life of the decaying component.
It is worth noting that nonisothermal component transport process can be simulated by including the process variable Temperature
. Currently, the nonisothermal component transport process is only available in staggered scheme.
The corresponding heat transport equation is given as follows.
$$ \begin{equation} \left(\phi \rho_\text{f} c_\text{f} + (1\phi) \rho_\text{s} c_\text{s} \right) \frac{\partial T}{\partial t} + \rho_\text{f} c_\text{f} \textbf{q} \cdot \nabla T  \nabla \cdot \left (\Lambda \cdot \nabla T \right) = 0 \end{equation} $$where $c_\text{f}$ and $c_\text{s}$ [J/kg/K] refer to the specific heat capacity of fluid and solid, $\rho_\text{f}$ and $\rho_\text{s}$ [kg/m$^3$] denote the density of fluid and solid, $\phi$ [] and $\Lambda$ [W/m/K] are the porosity and tensor of thermal dispersion.
The following table shows an overview of all input parameters available in the ComponentTransport process.
Parameter  Symbol  Unit  Doxygen and Example 

Porosity  $\phi$  []  Link,Example 
Fluid density  $\rho$  [kg/m$^{3}$]  Link 
Intrinsic permeability  $\textbf{k}$  [m$^{2}$]  Link,Example 
Dynamic viscosity  $\mu$  [Pa$\cdot$s]  Link 
Gravity vector (specific body force)  $\textbf{g}$  [m/s$^{2}$]  
Retardation factor  $R$  []  Example 
Firstorder decay constant  $\lambda$  [1/s]  Example 
In the ComponentTransport
process, the configuration is as follows.
<name>
: name of the chemical component.<type>
: must be ComponentTransport
.<integration_order>
: This is the order of the integration method for elementwise integration. In common cases set to 2
.<process_variables>
: The primary variables of the ComponentTransport
process are either <concentration>
or <pressure>
. For the variable concentration, the name of the chemical component is given. Like in the following example, there are 3 chemical components, i.e. Si, Al and Cl. The <pressure>
process’ variable is also named ‘pressure’, see <process_variables>
section outside of process’ definition.<processes>
<process>
<name>hc</name>
<type>ComponentTransport</type>
<integration_order>2</integration_order>
<process_variables>
<concentration>Si</concentration>
<concentration>Al</concentration>
<concentration>Cl</concentration>
<pressure>pressure</pressure>
</process_variables>
<specific_body_force>0 0</specific_body_force>
<secondary_variables>
<secondary_variable internal_name="darcy_velocity" output_name="darcy_velocity"/>
</secondary_variables>
</process>
</processes>
Under the keyword <component>
, the properties of the transported chemical component are defined. The parameters here are the pore diffusion coefficient, the retardation factor, and the decay rate. Below is an example of the Si component with the corresponding transport parameters.
<component>
<name>Si</name>
<properties>
<property>
<name>pore_diffusion</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>retardation_factor</name>
<type>Constant</type>
<value>0</value>
</property>
<property>
<name>decay_rate</name>
<type>Parameter</type>
<parameter_name>decay</parameter_name>
</property>
</properties>
</component>
This article was written by Haibing Shao, Renchao Lu. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0
in CI job 437561

Last revision: April 3, 2024
Commit: [PL/CT] Pass shape matrix cache to local assemblers of ComponentTransport 845cbb1
 Edit this page on