Skip to content

Isotropic diffusion stabilization: part I, HT

wenqing requested to merge wenqing/ogs:num_stability into master

It presents the simplest stabilization method for solving the convection diffusion transport equation

    \frac{\partial u}{\partial t} - \nabla(\mathbf{K}\nabla u)
     + {\mathbf v}\cdot \nabla u  = Q

with u the primary variable, \mathbf v the fluid velocity, \mathbf{K} the diffusion coefficient, by using the Galerkin finite element method.

The method adds an artificial isotropic balancing dissipation to the diffusion coefficient in order to force the Peclet number to be smaller than 1. The isotropic balancing dissipation is defined as

      \mathbf{K}_{\delta} = \frac{1}{2}\alpha ||\mathbf v||h \mathbf I

with \alpha \in [0,1] the tuning parameter, h the element size (e.g the maximum edge length of the element), and \mathbf I the identity matrix.

The stabilization scheme is firstly used in HT process.

A classic 1D mass transport example, which is for the mass transport in liquid flow under a constant liquid velocity, is used as a benchmark. The domain size 0.8 m. The initial value of the primary variable is 0. The Dirichlet boundary conditions are applied on the left and right boundaries with values of 1.0 and 0.0, respectively. The constant velocity is 1.e-4 m/s. The diffusion coefficient is 10^{-9} m/s. The time period is 7200 s.

The following figures show the the benchmark results with two different spatial and temporal discretization sets. Both results show that the stabilization of IsotropicDiffusion eliminates the spatial oscillation. classical_transport_example

The following figure compares the results of the simulations with \alpha=0.15, and with its maximum value, respectively: classical_transport_example_alpha

  1. Feature description was added to the changelog
  2. Tests covering your feature were added?
  3. Any new feature or behavior change was documented?
Edited by wenqing

Merge request reports