Standard utilities

A.2 Standard utilities

The utilities with the OpenFOAM distribution are in the $FOAM_UTILITIES directory, reached quickly by typing util at the command line. Again the names are reasonably descriptive, e.g.ideasToFoam converts mesh data from the format written by I-DEAS to the OpenFOAM format. The current list of utilities distributed with OpenFOAM is given in Table A.2.

Pre-processing


applyBoundaryLayer

Apply a simplified boundary-layer model to the velocity and turbulence fields based on the 1/7th power-law

boxTurb

Makes a box of turbulence which conforms to a given energy spectrum and is divergence free

changeDictionary

Utility to change dictionary entries, e.g. can be used to change the patch type in the field and polyMesh/boundary files

createExternalCoupledPatchGeometry

Application to generate the patch geometry (points and faces) for use with the externalCoupled functionObject

createZeroDirectory

Creates a zero directory with fields appropriate for the chosen solver and turbulence model. Operates on both single and multi-region cases

dsmcInitialise

Initialise a case for dsmcFoam by reading the initialisation dictionary system/dsmcInitialise

engineSwirl

Generates a swirling flow for engine calulations

faceAgglomerate

Agglomerate boundary faces using the pairPatchAgglomeration algorithm

foamUpgradeCyclics

Tool to upgrade mesh and fields for split cyclics

mapFields

Maps volume fields from one mesh to another, reading and interpolating all fields present in the time directory of both cases

mapFieldsPar

Maps volume fields from one mesh to another, reading and interpolating all fields present in the time directory of both cases

mdInitialise

Initialises fields for a molecular dynamics (MD) simulation

setFields

Set values on a selected set of cells/patchfaces through a dictionary

viewFactorsGen

View factors are calculated based on a face agglomeration array (finalAgglom generated by faceAgglomerate utility)

wallFunctionTable

Generates a table suitable for use by tabulated wall functions

Mesh generation


blockMesh

A multi-block mesh generator

extrude2DMesh

Takes 2D mesh (all faces 2 points only, no front and back faces) and creates a 3D mesh by extruding with specified thickness

foamyHexMesh

Conformal Voronoi automatic mesh generator

foamyHexMeshBackgroundMesh

Writes out background mesh as constructed by foamyHexMesh and constructs distanceSurface

foamyHexMeshSurfaceSimplify

Simplifies surfaces by resampling

foamyQuadMesh

Conformal-Voronoi 2D extruding automatic mesher with grid or read initial points and point position relaxation with optional ”squarification”

snappyHexMesh

Automatic split hex mesher. Refines and snaps to surface

Mesh conversion


ansysToFoam

Converts an ANSYS input mesh file, exported from I-DEAS, to OpenFOAM format

ccmToFoam

Reads CCM files as written by PROSTAR/STARCCM and writes an OPENOpenFOAM polyMesh

foamToCcm

Translates OPENOpenFOAM mesh and/or results to CCM format

cfx4ToFoam

Converts a CFX 4 mesh to OpenFOAM format

datToFoam

Reads in a datToFoam mesh file and outputs a points file. Used in conjunction with blockMesh

fireToFoam

Converts an AVL/FIRE polyhedral mesh to OPENOpenFOAM

fluent3DMeshToFoam

Converts a Fluent mesh to OpenFOAM format

fluentMeshToFoam

Converts a Fluent mesh to OpenFOAM format including multiple region and region boundary handling

foamMeshToFluent

Writes out the OpenFOAM mesh in Fluent mesh format

foamToFireMesh

Reads an OpenFOAM mesh and writes an AVL/FIRE fpma format

foamToStarMesh

Reads an OpenFOAM mesh and writes a PROSTAR (v4) bnd/cel/vrt format

foamToSurface

Reads an OpenFOAM mesh and writes the boundaries in a surface format

gambitToFoam

Converts a GAMBIT mesh to OpenFOAM format

gmshToFoam

Reads .msh file as written by Gmsh

ideasUnvToFoam

I-Deas unv format mesh conversion

kivaToFoam

Converts a KIVA grid to OpenFOAM format

mshToFoam

Converts .msh file generated by the Adventure system

netgenNeutralToFoam

Converts neutral file format as written by Netgen v4.4

ccm26ToFoam

Reads CCM files as written by Prostar/ccm using ccm 2.6 (not 2.4)

plot3dToFoam

Plot3d mesh (ascii/formatted format) converter

star4ToFoam

Converts a STAR-CD (v4) PROSTAR mesh into OpenFOAM format

tetgenToFoam

Converts .ele and .node and .face files, written by tetgen

vtkUnstructuredToFoam

Converts ascii .vtk (legacy format) file generated by vtk/paraview

writeMeshObj

For mesh debugging: writes mesh as three separate OBJ files which can be viewed with e.g. javaview

Mesh manipulation



attachMesh

Attach topologically detached mesh using prescribed mesh modifiers

autoPatch

Divides external faces into patches based on (user supplied) feature angle

checkMesh

Checks validity of a mesh

createBaffles

Makes internal faces into boundary faces. Does not duplicate points, unlike mergeOrSplitBaffles

createPatch

Utility to create patches out of selected boundary faces. Faces come either from existing patches or from a faceSet

deformedGeom

Deforms a polyMesh using a displacement field U and a scaling factor supplied as an argument

flattenMesh

Flattens the front and back planes of a 2D cartesian mesh

insideCells

Picks up cells with cell centre ’inside’ of surface. Requires surface to be closed and singly connected

mergeMeshes

Merges two meshes

mergeOrSplitBaffles

Detects boundary faces that share points (baffles). Either merges them or duplicate the points

mirrorMesh

Mirrors a mesh around a given plane

moveDynamicMesh

Mesh motion and topological mesh changes utility

moveEngineMesh

Solver for moving meshes for engine calculations

moveMesh

Solver for moving meshes

objToVTK

Read obj line (not surface!) file and convert into vtk

orientFaceZone

Corrects orientation of faceZone

polyDualMesh

Calculates the dual of a polyMesh. Adheres to all the feature and patch edges

refineMesh

Utility to refine cells in multiple directions

renumberMesh

Renumbers the cell list in order to reduce the bandwidth, reading and renumbering all fields from all the time directories

rotateMesh

Rotates the mesh and fields from the direction n
  1   \relax \special {t4ht= to direction n2   \relax \special {t4ht=

setSet

Manipulate a cell/face/point/ set or zone interactively

setsToZones

Add pointZones/faceZones/cellZones to the mesh from similar named pointSets/faceSets/cellSets

singleCellMesh

Reads all fields and maps them to a mesh with all internal faces removed (singleCellFvMesh) which gets written to region ”singleCell”

splitMesh

Splits mesh by making internal faces external. Uses attachDetach

splitMeshRegions

Splits mesh into multiple regions

stitchMesh

’Stitches’ a mesh

subsetMesh

Selects a section of mesh based on a cellSet

topoSet

Operates on cellSets/faceSets/pointSets through a dictionary

transformPoints

Transforms the mesh points in the polyMesh directory according to the translate, rotate and scale options

zipUpMesh

Reads in a mesh with hanging vertices and zips up the cells to guarantee that all polyhedral cells of valid shape are closed

Other mesh tools


collapseEdges

Collapses short edges and combines edges that are in line

combinePatchFaces

Checks for multiple patch faces on same cell and combines them. Multiple patch faces can result from e.g. removal of refined neighbouring cells, leaving 4 exposed faces with same owner

modifyMesh

Manipulates mesh elements

PDRMesh

Mesh and field preparation utility for PDR type simulations

refineHexMesh

Refines a hex mesh by 2x2x2 cell splitting

refinementLevel

Tries to figure out what the refinement level is on refined cartesian meshes. Run before snapping

refineWallLayer

Utility to refine cells next to patches

removeFaces

Utility to remove faces (combines cells on both sides)

selectCells

Select cells in relation to surface

snappyRefineMesh

Utility to refine cells near to a surface

splitCells

Utility to split cells with flat faces

Post-processing


noise

Utility to perform noise analysis of pressure data

postProcess

Execute the set of functionObjects specified in the selected dictionary (which defaults to system/controlDict) or on the command-line for the selected set of times on the selected set of fields

Post-processing graphics


ensightFoamReader

EnSight reader module

PVFoamReader

ParaView reader module

vtkPVReaders

Misc helper methods and utilities

Post-processing data converters



foamDataToFluent

Translates OpenFOAM data to Fluent format

foamToEnsight

Translates OpenFOAM data to EnSight format

foamToEnsightParts

Translates OpenFOAM data to Ensight format. An Ensight part is created for each cellZone and patch

foamToGMV

Translates foam output to GMV readable files

foamToTecplot360

Tecplot binary file format writer

foamToTetDualMesh

Converts polyMesh results to tetDualMesh

foamToVTK

Legacy VTK file format writer

smapToFoam

Translates a STAR-CD SMAP data file into OpenFOAM field format

Post-processing Lagrangian simulation


particleTracks

Generates a VTK file of particle tracks for cases that were computed using a tracked-parcel-type cloud

steadyParticleTracks

Generates a VTK file of particle tracks for cases that were computed using a steady-state cloud

Miscellaneous post-processing


engineCompRatio

Calculate the geometric compression ratio

pdfPlot

Generates a graph of a probability distribution function

postChannel

Post-processes data from channel flow calculations

temporalInterpolate

Interpolate fields between time-steps e.g. for animation

Noise post-processing


noise

Utility to perform noise analysis of pressure data

Post-processing utility


postProcess

Execute the set of functionObjects specified in the selected dictionary (which defaults to system/controlDict) or on the command-line for the selected set of times on the selected set of fields

Surface mesh (e.g. STL) tools


surfaceAdd

Add two surfaces. Does geometric merge on points. Does not check for overlapping/intersecting triangles

surfaceBooleanFeatures

Generates the extendedFeatureEdgeMesh for the interface between a boolean operation on two surfaces

surfaceCheck

Checks geometric and topological quality of a surface

surfaceClean

Utility to clean surfaces

surfaceCoarsen

Surface coarsening using ‘bunnylod’

surfaceConvert

Converts from one surface mesh format to another

surfaceFeatureConvert

Convert between edgeMesh formats

surfaceFeatureExtract

Extracts and writes surface features to file. All but the basic feature extraction is WIP

surfaceFind

Finds nearest face and vertex

surfaceHookUp

Find close open edges and stitches the surface along them

surfaceInertia

Calculates the inertia tensor, principal axes and moments of a command line specified triSurface

surfaceInflate

Inflates surface. WIP. Checks for overlaps and locally lowers inflation distance

surfaceLambdaMuSmooth

Smooths a surface using lambda/mu smoothing

surfaceMeshConvert

Converts between surface formats with optional scaling or transformations (rotate/translate) on a coordinateSystem

surfaceMeshConvertTesting

Converts from one surface mesh format to another, but primarily used for testing functionality

surfaceMeshExport

Export from surfMesh to various third-party surface formats with optional scaling or transformations (rotate/translate) on a coordinateSystem

surfaceMeshImport

Import from various third-party surface formats into surfMesh with optional scaling or transformations (rotate/translate) on a coordinateSystem

surfaceMeshInfo

Miscellaneous information about surface meshes. To simplify parsing of the output, the normal banner information is suppressed

surfaceMeshTriangulate

Extracts surface from a polyMesh. Depending on output surface format triangulates faces

surfaceOrient

Set normal consistent with respect to a user provided ’outside’ point. If the -inside option is used the point is considered inside

surfacePatch

Patches (regionises) a surface using a user-selectable method

surfacePointMerge

Merges points on surface if they are within absolute distance. Since absolute distance use with care!

surfaceRedistributePar

(Re)distribution of triSurface. Either takes an undecomposed surface or an already decomposed surface and redistributes it so that each processor has all triangles that overlap its mesh

surfaceRefineRedGreen

Refine by splitting all three edges of triangle (’red’ refinement)

surfaceSplitByPatch

Writes regions of triSurface to separate files

surfaceSplitByTopology

Strips any baffle parts of a surface

surfaceSplitNonManifolds

Takes multiply connected surface and tries to split surface at multiply connected edges by duplicating points

surfaceSubset

A surface analysis tool which sub-sets the triSurface to choose only a part of interest. Based on subsetMesh

surfaceToPatch

Reads surface and applies surface regioning to a mesh. Uses boundaryMesh to do the hard work

surfaceTransformPoints

Transform (scale/rotate) a surface. Like transformPoints but for surfaces

Parallel processing


decomposePar

Automatically decomposes a mesh and fields of a case for parallel execution of OpenFOAM

reconstructPar

Reconstructs fields of a case that is decomposed for parallel execution of OpenFOAM

reconstructParMesh

Reconstructs a mesh using geometric information only

redistributePar

Redistributes existing decomposed mesh and fields according to the current settings in the decomposeParDict file

Thermophysical-related utilities


adiabaticFlameT

Calculates the adiabatic flame temperature for a given fuel over a range of unburnt temperatures and equivalence ratios

chemkinToFoam

Converts CHEMKIN 3 thermodynamics and reaction data files into OpenFOAM format

equilibriumCO

Calculates the equilibrium level of carbon monoxide

equilibriumFlameT

Calculates the equilibrium flame temperature for a given fuel and pressure for a range of unburnt gas temperatures and equivalence ratios; the effects of dissociation on O
  2   \relax \special {t4ht=, H O
  2  \relax \special {t4ht= and CO2   \relax \special {t4ht= are included

mixtureAdiabaticFlameT

Calculates the adiabatic flame temperature for a given mixture at a given temperature

Miscellaneous utilities


foamDictionary

Interrogates and manipulates dictionaries

foamFormatConvert

Converts all IOobjects associated with a case into the format specified in the controlDict

foamHelp

Top level wrapper utility around foam help utilities

foamList

Print the table of contents of selectable switches, classes etc. in the OpenFOAM libraries

foamListTimes

List times using timeSelector. To simplify parsing of the output, the normal banner information is suppressed

patchSummary

Writes fields and boundary condition info for each patch at each requested time instance

Table A.2: Standard utilities.