Skip to main content

advective

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:

DϕDtϕt+Unϕn=0\frac{D \phi}{D t} \approx \frac{\partial \phi}{\partial t} + U_n \cdot \frac{\partial \phi}{\partial \mathbf{n}} = 0

where:

PropertyDescription
ϕ\phiField
UnU_nAdvection velocity component normal to boundary
n\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:

PropertyDescriptionTypeRequiredDefault
typeType name: advectivewordyes-
phiName of the flux transporting the fieldwordnophi
rhoName of the density field used to normalise the mass fluxwordnorho
lInfRelaxation length-scalescalarno-GREAT
fieldInfField value of the far-fieldTypenoZero

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