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 wall function framework Attempts to determine whether case is compressible or incompressible, or can be supplied with -compressible command line argument

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

dsmcInitialise

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

engineSwirl

Generates a swirling flow for engine calulations

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

Selects a cell set through a dictionary

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

extrudeMesh

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

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

cfx4ToFoam

Converts a CFX 4 mesh to OpenFOAM format

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

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

polyDualMesh

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

sammToFoam

Converts a STAR-CD SAMM mesh to OpenFOAM format

star4ToFoam

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

starToFoam

Converts a STAR-CD PROSTAR mesh into OpenFOAM format

tetgenToFoam

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

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

cellSet

Selects a cell set through a dictionary

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

faceSet

Selects a face set through a dictionary

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

Merge 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

pointSet

Selects a point set through a dictionary

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 interactively

setsToZones

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

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

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

Collapse short edges and combines edges that are in line

combinePatchFaces

Checks for multiple patch faces on same cell and combines them. These result from e.g. refined neighbouring cells getting removed, leaving 4 exposed faces with same owner

modifyMesh

Manipulates mesh elements

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

fieldview9Reader

Reader module for Fieldview 9 to read OpenFOAM mesh and data

PV3FoamReader

ParaView 3 reader module

PVFoamReader

ParaView reader module

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

foamToFieldview9

Write out the OpenFOAM mesh in Version 3.0 Fieldview-UNS format (binary)

foamToGMV

Translates foam output to GMV readable files

foamToVTK

Legacy VTK file format writer

smapToFoam

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

Post-processing velocity fields


Co

Configurable graph drawing program

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

yPlusLES

Calculates and reports yPlus for all wall patches, for the specified times

yPlusRAS

Calculates and reports yPlus for all wall patches, for the specified times

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

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

pdfPlot

Generates an .obj file to plot a probability distribution function

postChannel

Post-processes data from channel flow calculations

ptot

For each time: calculate the total pressure

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

Parallel processing


decomposePar

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

reconstructPar

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

reconstructParMesh

Reconstructs a mesh using geometric information only

redistributeMeshPar

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 O2   \relax \special {t4ht=, H2O  \relax \special {t4ht= and CO
    2   \relax \special {t4ht= are included

mixtureAdiabaticFlameT

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

Error estimation


estimateScalarError

Estimates the error in the solution for a scalar transport equation in the standard form

icoErrorEstimate

Estimates error for the incompressible laminar CFD application icoFoam

icoMomentError

Estimates error for the incompressible laminar CFD application icoFoam

momentScalarError

Estimates the error in the solution for a scalar transport equation in the standard form

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

foamInfoExec

Interrogates a case and prints information to screen

patchSummary

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

Table 3.6: Standard library utilities.