Description

The advective is a general boundary condition to simulate non-reflecting advective outflow condition, based on solving the material derivative of the given field on the boundary.

The material derivative is solved for a given field:

\[\frac{D \phi}{D t} \approx \frac{\partial \phi}{\partial t} + U_n \cdot \frac{\partial \phi}{\partial \mathbf{n}} = 0\]

where:

Property Description
\(\phi\) Field
\(U_n\) Advection velocity component normal to boundary
\(\mathbf{n}\) Outward-pointing unit boundary-normal vector

Usage

The condition requires entries in both the boundary and field files.

Boundary file

<patchName>
{
    type            patch;
    ...
}

Field file

<patchName>
{
    // Mandatory entries
    type            advective;

    // Optional entries
    phi             <word>;
    rho             <word>;
    lInf            <scalar>;

    // Conditional entries

        // when lInf is given
        fieldInf    <Type>;

    // Inherited entries
    ...
}

where:

Property Description Type Required Default
type Type name: advective word yes -
phi Name of the flux transporting the field word no phi
rho Name of the density field used to normalise the mass flux word no rho
lInf Relaxation length-scale scalar no -GREAT
fieldInf Field value of the far-field Type no Zero

The inherited entries are elaborated in:

  • mixedFvPatchFields.H
  • The standard time schemes (backward, Euler, CrankNicolson, localEuler) are supported.
  • The relaxation length-scale lInf and the far-field value fieldInf are to optionally relax the value at the boundary to a specified far-field value.
  • If lInf is specified, fieldInf will be required.
  • rho is only required in the case of a mass-based flux.
  • The advection velocity is assumed to be normal to the boundary.

Further information

Tutorial:

Source code:

API:

History:

  • Introduced in version 1.5