Standard utilities

3.6 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 3.6.

Pre-processing


applyBoundaryLayer

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

applyWallFunctionBoundaryConditions

Updates OpenFOAM RAS cases to use the new (v1.6) wall function framework

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 boundary condition

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 for use with the view factor radiation model. Writes a map from the fine to the coarse grid.

foamUpgradeCyclics

Tool to upgrade mesh and fields for split cyclics

foamUpgradeFvSolution

Simple tool to upgrade the syntax of system/fvSolution::solvers

mapFields

Maps volume fields from one mesh to another, reading and interpolating all fields present in the time directory of both cases. Parallel and non-parallel cases are handled without the need to reconstruct them first

mdInitialise

Initialises fields for a molecular dynamics (MD) simulation

setFields

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

viewFactorsGen

Calculates view factors based on agglomerated faces (faceAgglomerat) for view factor radiation model.

wallFunctionTable

Generates a table suitable for use by tabulated wall functions

Mesh generation


blockMesh

A multi-block mesh generator

extrudeMesh

Extrude mesh from existing patch (by default outwards facing normals; optional flips faces) or from patch read from file.

extrude2DMesh

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

extrudeToRegionMesh

Extrude faceZones into separate mesh (as a different region), e.g. for creating liquid film regions

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

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

ccm26ToFoam

Converts a CCM mesh to OpenFOAM format

cfx4ToFoam

Converts a CFX 4 mesh to OpenFOAM format

datToFoam

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

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

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

plot3dToFoam

Plot3d mesh (ascii/formatted format) converter

sammToFoam

Converts a STAR-CD (v3) SAMM mesh to OpenFOAM format

star3ToFoam

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

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 faces that share points (baffles). Either merge 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 direcion n1   \relax \special {t4ht= to the 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 singleMesh. Used to generate mesh and fields that can be used for boundary-only data. Might easily result in illegal mesh though so only look at boundaries in paraview

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


autoRefineMesh

Utility to refine cells near to a surface

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

splitCells

Utility to split cells with flat faces

Post-processing graphics


ensightFoamReader

EnSight library module to read OpenFOAM data directly without translation

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

foamToVTK

Legacy VTK file format writer

smapToFoam

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

Post-processing velocity fields


Co

Calculates and writes the Courant number obtained from field phi as a volScalarField.

enstrophy

Calculates and writes the enstrophy of the velocity field U

flowType

Calculates and writes the flowType of velocity field U

Lambda2

Calculates and writes the second largest eigenvalue of the sum of the square of the symmetrical and anti-symmetrical parts of the velocity gradient tensor

Mach

Calculates and optionally writes the local Mach number from the velocity field U at each time

Pe

Calculates and writes the Pe number as a surfaceScalarField obtained from field phi

Q

Calculates and writes the second invariant of the velocity gradient tensor

streamFunction

Calculates and writes the stream function of velocity field U at each time

uprime

Calculates and writes the scalar field of uprime (∘ -----
  2k ∕3  \relax \special {t4ht=)

vorticity

Calculates and writes the vorticity of velocity field U

Post-processing stress fields


stressComponents

Calculates and writes the scalar fields of the six components of the stress tensor sigma for each time

Post-processing scalar fields


pPrime2

Calculates and writes the scalar field of pPrime2 ([p - p]2   \relax \special {t4ht=) at each time

Post-processing at walls


wallGradU

Calculates and writes the gradient of U at the wall.

wallHeatFlux

Calculates and writes the heat flux for all patches as the boundary field of a volScalarField and also prints the integrated flux for all wall patches.

wallShearStress

Calculates and writes the wall shear stress, for the specified times when using RAS turbulence models.

yPlusLES

Calculates and reports yPlus for all wall patches, for the specified times when using LES turbulence models.

yPlusRAS

Calculates and reports yPlus for all wall patches, for the specified times when using RAS turbulence models.

Post-processing turbulence


createTurbulenceFields

Creates a full set of turbulence fields

R

Calculates and writes the Reynolds stress R for the current time step

Post-processing patch data



patchAverage

Calculates the average of the specified field over the specified patch

patchIntegrate

Calculates the integral of the specified field over the specified patch

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 NOTE: case must be re-constructed (if running in parallel) before use

Sampling post-processing


probeLocations

Probe locations

sample

Sample field data with a choice of interpolation schemes, sampling options and write formats

Miscellaneous post-processing


dsmcFieldsCalc

Calculate intensive fields (U and T) from averaged extensive fields from a DSMC calculation

engineCompRatio

Calculate the geometric compression ratio. Note that if you have valves and/or extra volumes it will not work, since it calculates the volume at BDC and TCD

execFlowFunctionObjects

Execute the set of functionObjects specified in the selected dictionary (which defaults to system/controlDict) for the selected set of times. Alternative dictionaries should be placed in the system/ folder

foamCalc

Generic utility for simple field calculations at specified times

foamListTimes

List times using timeSelector

pdfPlot

Generates a graph of a probability distribution function

postChannel

Post-processes data from channel flow calculations

ptot

For each time: calculate the total pressure

temporalInterpolate

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

wdot

Calculates and writes wdot for each time

writeCellCentres

Write the three components of the cell centres as volScalarFields so they can be used in postprocessing in thresholding

Surface mesh (e.g. STL) tools


surfaceAdd

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

surfaceAutoPatch

Patches surface according to feature angle. Like autoPatch

surfaceBooleanFeatures

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

surfaceCheck

Checking geometric and topological quality of a surface

surfaceClean

- removes baffles - collapses small edges, removing triangles. - converts sliver triangles into split edges by projecting point onto base of triangle

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

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. Inertia can either be of the solid body or of a thin shell

surfaceLambdaMuSmooth

Smooths a surface using lambda/mu smoothing. To get laplacian smoothing (previous surfaceSmooth behavior), set lambda to the relaxation factor and mu to zero

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

surfaceMeshTriangulate

Extracts triSurface from a polyMesh. Depending on output surface format triangulates faces. Region numbers on triangles are the patch numbers of the polyMesh. Optionally only triangulates named patches

surfaceOrient

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

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). Neighbouring triangles (which are not marked for refinement get split in half (’green’ refinement). (R. Verfuerth, ”A review of a posteriori error estimation and adaptive mesh refinement techniques”, Wiley-Teubner, 1996)

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. Introduces concept of - borderEdge. Edge with 4 faces connected to it. - borderPoint. Point connected to exactly 2 borderEdges. - borderLine. Connected list of borderEdges

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.

redistributePar

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

reconstructParMesh

Reconstructs a mesh using geometric information only.

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 O2   \relax \special {t4ht=, H2O  \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


expandDictionary

Read the dictionary provided as an argument, expand the macros etc. and write the resulting dictionary to standard output

foamDebugSwitches

Write out all library debug switches

foamFormatConvert

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

foamHelp

Top level wrapper utility around foam help utilities

foamInfoExec

Interrogates a case and prints information to stdout

patchSummary

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

Table 3.6: Standard library utilities.


Creative Commons License
This User Guide is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License .