Close

19th December 2011

OpenFOAM 2.1.0: Boundary Conditions

Time-Dependent Conditions

Users can now initialise a range of boundary conditions (BCs) to be time-varying. This feature has been made available by incorporating the DataEntry class into BCs. The time-varying options are described below using the uniformFixedValue BC example, that requires the user to specify the value by the uniformValue keyword entry.

constant value

uniformValue    constant 1.0;

inline table

uniformValue     table
(
    (  0   0.0)
    (100  10.0)
);

OpenFOAM table file

uniformValue     tableFile;
tableFileCoeffs
{
    fileName     "$FOAM_CASE/myDataFile"
    outOfBounds  clamp;
}

CSV file

uniformValue     csvFile;
csvFileCoeffs
{
    fileName         "$FOAM_CASE/myDataFile"
    outOfBounds      clamp;
    hasHeaderLine    true;
    refColumn        0;
    componentColumns (0 1 2); // vector example
}

polynomial

uniformValue     polynomial // y = 0.1 + 1.3x^2 + 2.7x^3
(
    (0.1     0)
    (1.3   2.0)
    (2.7   3.0)
);

The BCs that include time-varying options in v2.1.0 are:

  • flowRateInletVelocity: inlet condition with time-varying flow-rate.
  • oscillatingFixedValue: oscillatory fixed value condition with time-varying amplitude and frequency.
  • rotatingPressureInletOutletVelocity: total pressure condition for a rotating patch with time-varying angular velocity.
  • rotatingTotalPressure: total pressure condition for a rotating patch with time-varying angular velocity.
  • rotatingWallVelocity: velocity condition for a rotating boundary, e.g. a wheel, with time-varying angular velocity.
  • uniformFixedValue: general fixed value condition with time-varying value.
  • uniformTotalPressure: total pressure condition with time-varying pressure.

The new handling of time-varying BCs makes the timeVaryingFlowRateInletVelocity, timeVaryingUniformFixedValue and timeVaryingUniformTotalPressure BCs redundant. They are therefore deprecated in v2.1.0.

Source code

  • finiteVolume library
    $FOAM_SRC/finiteVolume
  • DataEntry class
    $FOAM_SRC/OpenFOAM/primitives/functions/DataEntry

Examples

  • T-Junction example
    $FOAM_TUTORIALS/incompressible/pimpleFoam/TJunction
  • Oscillating box example
    $FOAM_TUTORIALS/incompressible/potentialFreeSurfaceFoam/oscillatingBox

Other New Conditions

Other new BCs include:

  • waveSurfacePressure: for use with the new potentialFreeSurfaceFoam solver, this condition applies a fixed pressure condition based on the wave height potential.
  • pressureInletOutletParVelocity: similar to pressureInletOutletVelocity condition, except with slip condition applied tangential to the patch when an inlet.
  • codedMixed: an run-time compiled variant of mixed, extending on the codedFixedValue BC in the v2.0.0 release.

Source code

  • finiteVolume library
    $FOAM_SRC/finiteVolume

Example

  • Oscillating box example
    $FOAM_TUTORIALS/incompressible/potentialFreeSurfaceFoam/oscillatingBox