The fan is a general boundary condition to simulate a jump condition between a pair of patches, using the cyclic condition as a base. The condition can accept user-defined fan curve of pressure rise vs velocity.


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

Boundary file

    type            cyclic;

Field file

    // Mandatory entries
    type            fan;
    jumpTable       <Function1<Type>>;

    // Optional entries
    phi             <word>;
    rho             <word>;
    uniformJump     <bool>;
    nonDimensional  <bool>;

    // Conditional entries

      // if 'nonDimensional' is true
      rpm           <Function1<scalar>>;
      dm            <Function1<scalar>>;

    // Inherited entries
    patchType       cyclic;


Property Description Type Required Default
type Type name: fan word yes -
jumpTable Jump dataset Function1<Type> yes -
phi Name of the flux transporting the field word no phi
rho Name of the density field for normalising the mass flux word no rho
uniformJump Flag to apply uniform pressure drop bool no false
nonDimensional Flag to use non-dimensional curves bool no false
rpm Fan rpm (for non-dimensional curve) Function1<scalar> conditional -
dm Fan mean diameter (for non-dimensional curve) Function1<scalar> conditional -

The inherited entries are elaborated in:

  • uniformJumpFvPatchField.H
  • Function1.H

  • The underlying patchType should be set to cyclic.


The non-dimensional flux is calculated as follows:

\[\phi = \frac{120 U_n}{\pi^3 d_m r_{pm}}\]

The non-dimensional pressure:

\[\Psi = \frac{2 \Delta P}{\rho (\pi \omega d_m)^2}\]
Property Description
\(d_m\) Fan mean diameter
\(r_{pm}\) Fan rpm
\(\Delta P\) Pressure drop
\(\omega\) Rotational speed [rad/s]

The non-dimensional table should be given as \(\Psi = F(\phi)\).

Further information


Source code:



  • Introduced in version 1.5