Skip to content

ENH: outletMappedUniformInlet: add multiple fraction, offset and time delays



To implement a recirculation boundary condition for an arbitrary operand scalar with:

  • Multiple connected outlets and inlets
  • Optional filtration fraction for each recirculation loop
  • Optional time delay for each recirculation loop

Additionally, write-control of scalarTransport was transferred from controlDict to the function object, and enabled UList parameters in interpolateXY for wider applications.

Previous status

Existing boundary condition: outletMappedUniformInlet

  • Connected between a single outlet and a single inlet
  • Instantaneous recirculation: no outlet-to-inlet time delay
  • Optional filtration fraction is available as a constant value
  • Optional offset is available as a constant value


  • Arbitrary number of outlets can be connected to a single inlet
    • Each inlet can be connected to different and arbitrary combination of outlets
  • Each outlet-inlet connection has:
    • Optional filtration fraction as a Function1 type
    • Optional offset as a Function1 type (i.e. adding/substracting a substance)
    • Optional time delay (from outlet to inlet) as a Function1 type
  • Each inlet has an optional base inlet-field as a PatchFunction1 type



Resolved bugs




  • Difficult to design a simple verification test case due to the amount of data
  • Verifications were carried out heuristically and manually
  • No validation/benchmark available


  • Cases
    • Single-outlet single-inlet, pisoFoam-LES, constant time-step:
    • Multiple-outlet multiple-inlet, pisoFoam-LES, constant time-step:
    • Multiple-outlet multiple-inlet, reactingParcelFoam-RANS, adjustable time-step
  • Scenarios
    • Single/multiple-processor run
    • Single/multiple-processor run with restart
      • decomposePar
      • reconstructPar
      • redistributePar –decompose -redistributePar -reconstruct
    • No collated-format tests
    • Only scalar fields


  • No inlet-inlet connection
    • Could not infer any necessity for an inlet-inlet connection. Happy to be proven incorrect, however.
  • No constraints were put onto the input entries; therefore, users need to use their attention and engineering judgements to avoid potential unphysical results
    • Except negative input of time delays are suppresed to be zero without emitting any warning messages.
    • For example, filtration fraction can be set to any number (e.g. more than 100%)
  • Needs extensive tests to assume the functionalities safe for any single-phase, multiphase and overset finite-volume applications.



  • Clean compilation (incl. submodules):
    • linux64ClangDPInt32Opt (clang11)
    • linux64GccDPInt32Opt
    • linux64GccSPDPInt64Debug
  • Alltest: No new error
Edited by Kutalmış Berçin

Merge request reports