# Main ContribOther

These are things that are neither a solver, a utility or an example case and could nevertheless be of use for other Foamers. The contributions listed here are all part of the Contrib page group, where all of the contributions of this kind are listed.

In addition, there is also the Extend-bazaar page for contributions that are designed to be integrated into the foam-extend project.

## Contents

## 1 Libraries for OpenFOAM

Stuff that is usually linked into dynamic libraries (`.so` in Linux)

### 1.1 Boundary conditions

- groovyBC: A boundary condition that allows the specification via expressions, similar to funkySetFields

- pressureTransmissive: A port of the popular OpenFOAM 1.3 boundary condition to OF 1.4.1

- timeVaryingNonuniformFixedValue: A boundary condition to prescribe temporally and spatially varying values on a patch

- wallHeatFlux: Fixed Heat flux boundary condition for incompressible thermal flow under Boussinesq-Approximation

- wallRadiationTemperature: A radiation coupled boundary condition for buoyantSimpleRadiationFoam.

### 1.2 Function objects

- IOH5Write: A function object for writing fields and clouds into HDF5 file format, along with auxiliary scripts for handling the data in HDF5 format.

- simpleFunctionObjects: A collection of almost trivial
`functionObjects`

- forceDirCoeffs: A function object based on forceCoeffs from OpenFOAM(R), but with the added side forces.

### 1.3 Turbulence models

- Abe-Kondoh-Nagano low-Re k-epsilon model: An implementation of this turbulence model.

- boussinesqTurbulentModelsRAS: Library of RAS turbulence model under Boussinesq-Approximation

- Dynamic Smagorinsky SGS model: Implementation of the dynamic Smagorinsky SGS model as proposed by Lilly (1992) for OpenFOAM.

- kEpsilonViollet: Library of incompressible k-epsilon turbulent model with Viollet type buoyancy term

- BSL-EARSM: Library of incompressible/compressible BSL-EARSM turbulence model with for OF2.3.1 and OF4.1.

### 1.4 Other

- equationReader: An extension to OpenFOAM's core library that allows you to use equations in dictionaries.

- IOReferencer: A simple piece of code that allows you to look up non-IOobjects from the objectRegistry. E.g.:
`db().lookupObject<scalar>("banana");`

- Janaf: Both the description of the old Janaf architecture, as well as a possible more advanced Janaf system.

- libAcoustics: Library developed for far-field aero-acoustic simulations using Curle analogy.

- multiSolver: A library that allows you to run more than one solver in series on the same dataset.

- Tabulated thermophysicalProperties library: Tabulated material properties for the thermophysicalProperties library.

## 2 Libraries for other languages

Stuff in these sections helps other programming languages than C++ to interact with OpenFOAM

## 3 Patches

These are patches that are to be applied to an OpenFOAM-installation. Only use these if

- you are sure you need them
- you know what you are doing

because they can alter the behaviour of your OpenFOAM-stuff (making it impossible for other people to help you)

- plugIn.patch: an extension to OF that allows the run-time loading of additional libraries

- regIOobject.patch: Fix potential problem when reading controlDict during parallel execution

## 4 Utilities

These utilities don't strictly fall into the category of Main_ContribUtilities:

- perturbU: A few utilities for initializing fields for LES simulations for OpenFOAM.

- roughnessToFoam: A utility for reading WAsP map files and converting to roughness height in a OF dictionary format and in the nut roughWall BC.

## 5 Toolkits

- IAPWS-IF97-OF: IAPWS-IF97 water properties for OpenFOAM (R).

- IHFOAM: a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures.

- LibOpenSMOKE: Tool-kit for OpenFOAM of a combustion model based on the steady-state laminar flamelet theory.

- multiRegionPlasma: A program to model electromagnetic field and trajectories of charged particles.

- olaFlow: a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures.

- OLAFOAM: a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures.

- OpenFuelCell: Tool-kit project for developing open source computational fluid dynamics (CFD) software to model fuel cells using OpenFOAM technology.

- porousMultiphaseFoam: An open-source toolbox for multiphase flow in porous media.

- solidMechanics: Tool-kit for OpenFOAM of solid mechanics solvers that employ the finite volume method (not finite elements) to numerically approximate the displacements and stresses in solid bodies undergoing deformation.

- swak4Foam: Library for user-defined expression. Should replace Contrib/funkySetFields and Contrib/groovyBC

- waves2Foam: A collection of libraries, solvers, boundary conditions, pre-processing tools and tutorials to be used for modelling surface water waves.

- QGDsolver: OpenFOAM computational framework for fluid flows based on regularized equations

- hybridCentralSolvers: is a set of OpenFOAM solvers, that employ mixed Rieman/Projection advection scheme for the numerical simulation of compressible flows

## 6 Mesh generators and manipulators

- SnappyHexMesh GUI Addon for Blender: A GUI for snappyHexMesh using Blender 2.8

- hexBlocker: (Unofficial) GUI for
`blockMeshDict`generation for OpenFOAM. It's based on Qt and VTK.

- PatchEditor: A Blender addon to edit OpenFOAM mesh patches.

- SwiftBlock: An addon for Blender for creating/configuring
`blockMeshDict`.

- SwiftSnap: An addon for Blender for creating/configuring
`snappyHexMeshDict`.

## 7 Other

- makeApplicationList.py: A script that generates a list of the applications in a directory (with descriptions)