OpenFOAM® v1612+: New boundary conditions

OpenFOAM® v1612+: New boundary conditions

23/12/2016

New wave modelling

Integration of functionality produced by The Environmental Hydraulics Institute IHCantabria

Capabilities include:

  • Wave generation
  • Solitary wave using Boussinesq theory
  • Cnoidal wave theory
  • StokesI, StokesII, StokesV wave theory
  • Active wave absorption at the inflow/outflow boundaries based on shallow water theory

The following images show some applications using the new code, supplied by IHCantabria

[Picture]
Mussel Raft

[Picture]
Fixed Offshore Platform

[Picture]
Jacket Offshore Platform

The baseline models are described in the reference:

Wave and current interaction under smooth and rough beds with OpenFOAM, 2016, Javier L. Lara, Gabriel Barajas, Maria Maza, Inigo J. Losada

Source code
$FOAM_SRC/waveModels
Examples
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExampleSolitary
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExampleCnoidal
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExampleStokesI
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExampleStokesII
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExampleStokesV

Attribution
This work was originally supplied to OpenCFD Ltd by The Environmenta Hydraulics Institute IHCantabria - see merge #88
Authors: Pablo Higuera, Javier Lopez Lara, Gabriel Barajas, Inigo Losada
Integration
The code has been restructured and updated by OpenCFD into a new $FOAM_SRC/waveModels library available to the interFoam family of solvers

New thermal lumped mass condition

The new lumpedMassWallTemperature temperature boundary condition sets a uniform temperature according to an energy balance with a lumped mass model.

The patch is specified as follows:

ceiling
{
    type            lumpedMassWallTemperature;
    kappaMethod     fluidThermo;
    kappa           none;
    mass            1000;
    Cp              4100;
    value           uniform 300;
}

Source code
$FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/lumpedMassWallTemperature
Examples
$FOAM_TUTORIALS/heatTransfer/buoyantPimpleFoam/hotRoom

New recycled outlet

The new outletMappedUniformInletHeatAddition temperature boundary condition imposes a temperature constraint based on the average outflow temperature of a user-specified patch, with optional heat addition. This is particularly useful for heat exchanger calculations where the outflow can be recycled into the unit.

The patch is specified as follows:

inlet
{
    type            outletMappedUniformInletHeatAddition;
    outletPatch     outlet1;
    Q               5;     // Heat addition in W
    TMin            300;
    TMax            500;
    value           $internalField;
}
The TMin and TMax entries can be applied to limit the temperature within specific bounds.

Source code
$FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/outletMappedUniformInletHeatAddition
Examples
$FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunction

Updated external coupled conditions

The exeternalCoupled function object and boundary conditions enable OpenFOAM to be interfaced to external applications, including support for multiple regions and multiple patches. To propogate the information to the external solver efficiently the geometry list is contained in a single file, but segregated by region and patch. The points and face formatting remain consistent, irrespective of the number of faces in the region.

The leading comments in the geometry exchange files have been changed from ”# ” to ”// ” to facilitate parsing of the files with OpenFOAM itself if necessary.

It is also now possible to provide explicit signalling via a message in the sentinel file, i.e. ’status=done’ to indicate that the OpenFOAM case is completed, improving the synchronization of case start and end with the external solver.

Source code
$FOAM_SRC/functionObjects/field/externalCoupled
Examples
$FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/externalSolver