LambVector

Description

The LambVector function object computes 'Lamb vector' [m/s2] [84] (p. 77) which is the cross product of a velocity vector [m/s] and vorticity vector [1/s].

LambVector is defined as follows:

\[ \mathbf{l} = \vec{\omega} \times \u \]

where \(\vec{\omega}(\mathbf{x},t) \equiv \vec{\omega}\) is the vorticity vector, and \(\u (\mathbf{x}, t) \equiv \u\) the velocity vector.

The motivation of LambVector function object is the literature-reported quantitative connection between the Lamb vector (divergence) and the spatially localised instantaneous fluid motions, e.g. high- and low-momentum fluid parcels, which possess considerable level of capacity to affect the rate of change of momentum, and to generate forces such as drag.

Operands

Operand Type Location
input volVectorField $FOAM_CASE/<time>/<inpField>
output file - -
output field volScalarField $FOAM_CASE/<time>/<outField>

Usage

Example of the LambVector function object by using functions sub-dictionary in system/controlDict file:

LambVector1
{
    // Mandatory entries (unmodifiable)
    type        LambVector;
    libs        (fieldFunctionObjects);

    // Optional (inherited) entries
    field           <inpField>;
    result          <fieldResult>;
    region          region0;
    enabled         true;
    log             true;
    timeStart       0;
    timeEnd         1000;
    executeControl  timeStep;
    executeInterval 1;
    writeControl    timeStep;
    writeInterval   1;
}

where the entries mean:

Property Description Type Required Default
type Type name: LambVector word yes -
libs Library name: fieldFunctionObjects word yes -

The inherited entries are elaborated in:

Usage by the postProcess utility is not available.

An example of the usage involving the divergence computation of the LambVector can be seen below:

In controlDict.functions:

LambVector1
{
    type        LambVector;
    libs        (fieldFunctionObjects);
    field       U;
}

div1
{
    type        div;
    libs        (fieldFunctionObjects);
    field       LambVector;
}

fieldAverage1
{
    type            fieldAverage;
    libs            (fieldFunctionObjects);
    writeControl    writeTime;
    fields
    (
        LambVector
        {
            mean        on;
            prime2Mean  off;
            base        time;
        }

       div(LambVector)
       {
           mean        on;
           prime2Mean  off;
           base        time;
       }
    );
}

Please note that if default divScheme is none, in fvSchemes.divSchemes, a numerical scheme should be chosen for related quantities, e.g. div(LambVector) as follows:

div(LambVector)  Gauss linear;

Further information

Tutorial:

Source code:

Related:

History

  • Introduced in version v1906
  • Previously known as: