From KratosWiki
Jump to: navigation, search


Convection Diffusion module


The numerical solution of convection-diffusion transport problems arises in many important applications in science and engineering. These problems occur in many applications such as in the transport of air and ground water pollutants, oil reservoir flow, in the modeling of semiconductors, and so forth. This paper describes the Convection Diffusion Applications for solving this equation.



Below two examples of the application are shown.

The first one deals with a differentially heated cavity. A square domain filled with air contains a "cold" and "hot" vertical walls, where temperatures of 295 and 305 C are prescribed (respectively). The horizontal walls are adiabatic.

Heated cavity: model

Due to buoyancy convection occurs, Temperature propagates within the domain due to both the convection and the diffusion. Stationary solution is obtained.

Heated cavity: solution

To be filled


Under the assumption of incompressibility, the governing equations are given by

Problem description

  \rho C \frac{\partial T}{\partial t} + \rho C v \cdot \nabla T + \nabla
  \cdot q = 0 

  q = -\kappa \nabla \cdot T 

In the context of mass difussion within a fluid, (1) is is the mass conservation equation and (2) is a contitutive law proposed by Fourier. The notation is standard: ρ is the density, C the heat capacity, κ the thermal conductivity, T is the temperature, v is the velocity field and q is the diffusive flux per unit fluid density.

Remark: systen can be decoupled since we can plug (2) into (1) and solve the scalar equation

  \rho C \frac{\partial T}{\partial t} + \rho Cv \cdot \nabla T -
  \nabla \cdot (\kappa \nabla \cdot T) = 0 

Problem statement

Let us consider the transport by convection and diffusion in an open set Ω \subset \Re^d(d=2 or 3) \ with piecewise smooth boundary Γ, such that \Gamma = \Gamma_d \cup \Gamma_N. The unit outward normal vector to Γ is denoted n. The convection-diffusion initial-boundary value problem can be stated as follows: given a divergence-free velocity field a, the diffusion tensor κ and adequate initial and boundary conditions, find T : \bar{\Omega} \times \left[ 0, T \left] \rightarrow \Re \right. \right. such that

\rho C \frac{\partial T}{\partial t} + \rho Cv \cdot \nabla T -
   \nabla \cdot (\kappa \nabla T) = 0 in \Omega \times (0, T) 

T(x,0) = T0(x)onΩ

T = T_D on \Gamma_D \times (0, T)

k (\nabla T) \cdot n = q on \Gamma_N \times (0, T)

Space discretization method

Multiplying Eq.(4) by a test function W and intehrating on the whole domain Ω the equation reads

\int_\Omega \rho C \frac{\partial T}{\partial t} W d V + \int_\Omega \rho Cv \cdot
   \nabla T W d V = \int_\Omega (\nabla \cdot (k \nabla T)) W d V 

Integratin by parts the right term of Eq.(5) leads to

 \int_\Omega \rho C \frac{\partial T}{\partial t} W d V + \int_\Omega v \cdot \nabla T W d
   V = - \int_\Omega k \nabla T \cdot \nabla W d V (6)

Finite element discretization

The temperature is discretized in the standard finite element method manner as 
 T = \sum N_i T_i 
(7) where Ni are the nodal shape functions. Substituting the finite element approximation (7) into the variational equation () and choosing a Galerling formulation (Wi = Ni) leads to the following equation:

 \rho C M \frac{\partial T}{\partial t} + \rho C S T 
 = - \kappa L T (7)

Time discretization method Consider a first-order BDF (that is, the Euler implicit scheme)

\frac{\partial T}{\partial t}=\frac{(T^{n + 1} - T^n)}{\Delta t}

or a second-order BDF

\frac{\partial T}{\partial t}= \frac{1}{2} \frac{(3 \times T^{n + 1} - 4 \times T^n + T^{n-1})}{\Delta t}


Analysis type

The available solution strategy is:


With this module you can solve both linear and non linear problems.

Kinematical approaches

Eulerian and Lagrangian approach are available in order to solve the equation.

Solution strategies


Linear triangular elements in 2D and linear tetrahedra elements in 3D. Both elements are stabilized with OSS.



Boundary conditions

Dirichlet boundary condition:

T = T_D on \Gamma_D \times (0, T)

Neumann boundary conditions: 
k (\nabla T) \cdot n = q on \Gamma_N \times (0, T)

Initial conditions

Initial condition in temperature can be set.


The code can be run in shared or distributed memory:

  • OpenMP:
  • MPI:

Problem parameters

The parameters involved in this problem are:

ρ : Density

C :heat capacity

κ: thermal conductivity

v : velocity field

q: diffusive flux per unit fluid density.

T a: ambient temperature.

σ: Stefen Boltzmann constant

e: emissivity

h: convection coefficient

Others relevand aspects



Contact people


Personal tools