Interface Guide

From OpenFOAMWiki

This provides documentation on the various options and dictionaries found for modifying openFoam settings. This webpage is organized according to the directory structure of the dictionaries within an OpenFOAM case. Each guide should specify the following elements.

  • Keywords
  • Specify if keywords are required or not
  • Expected format for any keyword values (best shown through an example)
  • Description of what the keyword controls
  • Range of possible values.
  • Any notes on usage tips or known bugs.

These pages serve more as a reference than an explanation. They do not necessarily expand on the expectations and implications of adjusting each of these settings. They only list the different ranges of possible inputs. For example, this guide may not describe the correct combination of different settings necessary in snappyHexMeshDict to achieve a valid mesh. It will only list the possible settings and their valid ranges.

1 Case Root Directory

1.1 Case Name .foam File

Reference file for Paraview visualization.

2 Constant Directory

2.1 dynamicMeshDict

Controls mesh morphing. Optional dictionary only used in cases where you have a dynamic mesh.

2.2 g

Specifies gravitational acceleration

2.3 RAS Properties

Specifies turbulence model properties.

2.4 turbulenceProperties

Specifies the turbulence model.

2.5 transportProperties

Specifies material properties for your fluid or fluids.

2.6 blockMeshDict

Specifies your basic blockMesh settings. Typically, you will create a basic structured mesh using blockMesh, and then use snappyHexMesh to refine that into an unstructured mesh. Sometimes, everything gets defined purely through blockMesh. Either way, it is the start of your workflow for meshing.

  • Note: In the OpenFOAM edition released by ENGYS, the blockMeshDict is stored under the system directory by default.

3 triSurface Directory

The triSurface directory is where you place any surface definition files that specify your boundary mesh. These will be used by snappyHexMesh to perform mesh refinements and snapping. You do not need to specify the path. SnappyHexMesh automatically looks under this directory. But remember the filenames you use for each surface mesh file. You will use these filenames to refer to each boundary surface within your snappyHexMesh dict.

4 System Directory

4.1 controlDict

controlDict specifies runtime control of the simulation. This dictionary can be changed while the simulation is running.

4.2 decomposeParDict

This specifies options to decompose a simulation into multiple mesh partitions for running in parallel.

4.3 fvOptions

4.4 fvSchemes

The fvSchemes specifies the interpolation and derivative approximation algorithms for each equation and field. Broadly speaking, this dictionary controls all the techniques needed to create a numerical approximation of a continuous mathematical function. OpenFOAM contains multiple interpolation algorithms and offers extensive control over these algorithms and the interactions for their implementation. You can specify default values, or customize the numerical implementation for each individual field and equation.

4.5 fvSolution

This specifies the solution algorithms for all the fields and equations contained within a simulation. Within this dictionary, you can specify the solvers for each linear matrix within an simulation (the U equation matrix, the p matrix, etc. Each linear set of equations). You also control the solution algorithm for the outer loop iterative solution. This is typically the SIMPLE, PIMPLE, or PISO algorithm, and associated options.

4.6 mapFieldsDict

4.7 setFieldsDict

4.8 snappyHexMeshDict

Controls the generation of an unstructured mesh based on an initial background mesh (defined through blockMesh), and various boundary surfaces.