=== Standard utilities

The utilities with the {project} distribution are in the
dirname:applications/utilities[] directory. Again the names are reasonably
descriptive, 'e.g.' `ideasToFoam` converts mesh data from the format written by
'I-DEAS' to the {project} format. The current list of utilities distributed
with {project} is given in <<tab_standardUtilities>>.

[[tab_standardUtilities]]
.Standard library utilities
[grid="none",frame="topbot",cols="1,2"]
|==============================================================================
2+h| Pre-processing
| `applyBoundaryLayer`(((`applyBoundaryLayer` utility)))
(((utility,`applyBoundaryLayer`))) | Apply a simplified boundary-layer model to
the velocity and turbulence fields based on the 1/7th power-law
| `applyWallFunctionBoundaryConditions`
(((`applyWallFunctionBoundaryConditions`
utility)))(((utility,`applyWallFunctionBoundaryConditions`))) | +
Updates {project} RAS cases to use the new wall function framework
| `boxTurb`(((`boxTurb` utility)))(((utility,`boxTurb`))) | Makes a box of
turbulence which conforms to a given energy spectrum and is divergence free
| `changeDictionary`(((`changeDictionary` utility)))
(((utility,`changeDictionary`))) | Utility to change dictionary entries, e.g.
can be used to change the patch type in the field and polyMesh/boundary files
| `dsmcInitialise`(((`dsmcInitialise` utility)))(((utility,`dsmcInitialise`)))
| Initialise a case for `dsmc` by reading the initialisation dictionary
filename:system/dsmcInitialise[]
| `engineSwirl`(((`engineSwirl` utility)))(((utility,`engineSwirl`))) |
Generates a swirling flow for engine calulations
| `foamUpgradeFvSolution`(((`foamUpgradeFvSolution` utility)))
(((utility,`foamUpgradeFvSolution`))) | Simple tool to upgrade the syntax of
filename:system/fvSolution::solvers[]
| `mapFields`(((`mapFields` utility)))(((utility,`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`(((`mdInitialise` utility)))(((utility,`mdInitialise`))) |
Initialises fields for a molecular dynamics (MD) simulation
| `setFields`(((`setFields` utility)))(((utility,`setFields`))) | Selects a
cell set through a dictionary

2+h| Mesh generation
| `blockMesh`(((`blockMesh` utility)))(((utility,`blockMesh`))) | A multi-block
mesh generator
| `extrude2DMesh`(((`extrude2DMesh` utility)))(((utility,`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`(((`extrudeMesh` utility)))(((utility,`extrudeMesh`))) | Extrude
mesh from existing patch (by default outwards facing normals; optional flips
faces) or from patch read from file
| `snappyHexMesh`(((`snappyHexMesh` utility)))(((utility,`snappyHexMesh`))) |
Automatic split hex mesher. Refines and snaps to surface

2+h| Mesh conversion
| `ansysToFoam`(((`ansysToFoam` utility)))(((utility,`ansysToFoam`))) |
Converts an 'ANSYS' input mesh file, exported from 'I-DEAS', to {project}
format
| `cfx4ToFoam`(((`cfx4ToFoam` utility)))(((utility,`cfx4ToFoam`))) | Converts a
'CFX' 4 mesh to {project} format
| `fluent3DMeshToFoam`(((`fluent3DMeshToFoam` utility)))
(((utility,`fluent3DMeshToFoam`))) | Converts a 'Fluent' mesh to {project}
format
| `fluentMeshToFoam`(((`fluentMeshToFoam` utility)))
(((utility,`fluentMeshToFoam`))) | Converts a 'Fluent' mesh to {project} format
including multiple region and region boundary handling
| `foamMeshToFluent`(((`foamMeshToFluent` utility)))
(((utility,`foamMeshToFluent`))) | Writes out the {project} mesh in 'Fluent'
mesh format
| `foamToStarMesh`(((`foamToStarMesh` utility)))(((utility,`foamToStarMesh`)))
| Reads an {project} mesh and writes a 'PROSTAR' (v4) bnd/cel/vrt format
| `gambitToFoam`(((`gambitToFoam` utility)))(((utility,`gambitToFoam`))) |
Converts a 'GAMBIT' mesh to {project} format
| `gmshToFoam`(((`gmshToFoam` utility)))(((utility,`gmshToFoam`))) | Reads .msh
file as written by Gmsh
| `ideasUnvToFoam`(((`ideasUnvToFoam` utility)))(((utility,`ideasUnvToFoam`)))
| 'I-DEAS' unv format mesh conversion
| `kivaToFoam`(((`kivaToFoam` utility)))(((utility,`kivaToFoam`))) | Converts a
'KIVA' grid to {project} format
| `mshToFoam`(((`mshToFoam` utility)))(((utility,`mshToFoam`))) | Converts .msh
file generated by the Adventure system
| `netgenNeutralToFoam`(((`netgenNeutralToFoam` utility)))
(((utility,`netgenNeutralToFoam`))) | Converts neutral file format as written
by 'Netgen' v4.4
| `plot3dToFoam`(((`plot3dToFoam` utility)))(((utility,`plot3dToFoam`))) |
'Plot3d' mesh (ascii/formatted format) converter
| `polyDualMesh`(((`polyDualMesh` utility)))(((utility,`polyDualMesh`))) |
Calculate the dual of a polyMesh. Adheres to all the feature and patch edges
| `sammToFoam`(((`sammToFoam` utility)))(((utility,`sammToFoam`))) | Converts a
'STAR-CD' 'SAMM' mesh to {project} format
| `star4ToFoam`(((`star4ToFoam` utility)))(((utility,`star4ToFoam`))) |
Converts a 'STAR-CD' (v4) 'PROSTAR' mesh into {project} format
| `starToFoam`(((`starToFoam` utility)))(((utility,`starToFoam`))) | Converts a
'STAR-CD' 'PROSTAR' mesh into {project} format
| `tetgenToFoam`(((`tetgenToFoam` utility)))(((utility,`tetgenToFoam`))) |
Converts .ele and .node and .face files, written by 'tetgen'
| `writeMeshObj`(((`writeMeshObj` utility)))(((utility,`writeMeshObj`))) | For
mesh debugging: writes mesh as three separate OBJ files which can be viewed
with e.g. 'javaview'

2+h| Mesh manipulation
| `attachMesh`(((`attachMesh` utility)))(((utility,`attachMesh`))) | Attach
topologically detached mesh using prescribed mesh modifiers
| `autoPatch`(((`autoPatch` utility)))(((utility,`autoPatch`))) | Divides
external faces into patches based on (user supplied) feature angle
| `cellSet`(((`cellSet` utility)))(((utility,`cellSet`))) | Selects a cell set
through a dictionary
| `checkMesh`(((`checkMesh` utility)))(((utility,`checkMesh`))) | Checks
validity of a mesh
| `createBaffles`(((`createBaffles` utility)))(((utility,`createBaffles`))) |
Makes internal faces into boundary faces. Does not duplicate points, unlike
`mergeOrSplitBaffles`
| `createPatch`(((`createPatch` utility)))(((utility,`createPatch`))) | Utility
to create patches out of selected boundary faces. Faces come either from
existing patches or from a `faceSet`
| `deformedGeom`(((`deformedGeom` utility)))(((utility,`deformedGeom`))) |
Deforms a polyMesh using a displacement field `U` and a scaling factor supplied
as an argument
| `faceSet`(((`faceSet` utility)))(((utility,`faceSet`))) | Selects a face set
through a dictionary
| `flattenMesh`(((`flattenMesh` utility)))(((utility,`flattenMesh`))) |
Flattens the front and back planes of a 2D cartesian mesh
| `insideCells`(((`insideCells` utility)))(((utility,`insideCells`))) | Picks
up cells with cell centre 'inside' of surface. Requires surface to be closed
and singly connected
| `mergeMeshes`(((`mergeMeshes` utility)))(((utility,`mergeMeshes`))) | Merge
two meshes
| `mergeOrSplitBaffles`(((`mergeOrSplitBaffles` utility)))
(((utility,`mergeOrSplitBaffles`))) | Detects faces that share points
(baffles). Either merge them or duplicate the points
| `mirrorMesh`(((`mirrorMesh` utility)))(((utility,`mirrorMesh`))) | Mirrors a
mesh around a given plane
| `moveDynamicMesh`(((`moveDynamicMesh` utility)))
(((utility,`moveDynamicMesh`))) | Mesh motion and topological mesh changes
utility
| `moveEngineMesh`(((`moveEngineMesh` utility)))(((utility,`moveEngineMesh`)))
| Solver for moving meshes for engine calculations.
| `moveMesh`(((`moveMesh` utility)))(((utility,`moveMesh`))) | Solver for
moving meshes
| `objToVTK`(((`objToVTK` utility)))(((utility,`objToVTK`))) | Read obj line
(not surface!) file and convert into vtk
| `pointSet`(((`pointSet` utility)))(((utility,`pointSet`))) | Selects a point
set through a dictionary
| `refineMesh`(((`refineMesh` utility)))(((utility,`refineMesh`))) | Utility to
refine cells in multiple directions
| `renumberMesh`(((`renumberMesh` utility)))(((utility,`renumberMesh`))) |
Renumbers the cell list in order to reduce the bandwidth, reading and
renumbering all fields from all the time directories
| `rotateMesh`(((`rotateMesh` utility)))(((utility,`rotateMesh`))) | Rotates
the mesh and fields from the direcion math:[n_1] to the direction math:[n_2]
| `setSet`(((`setSet` utility)))(((utility,`setSet`))) | Manipulate a
cell/face/point/ set or zone interactively
| `setsToZones`(((`setsToZones` utility)))(((utility,`setsToZones`))) | Add
++pointZone++s/++faceZone++s/++cellZone++s to the mesh from similar named
++pointSet++s/++faceSet++s/++cellSet++s
| `splitMesh`(((`splitMesh` utility)))(((utility,`splitMesh`))) | Splits mesh
by making internal faces external. Uses `attachDetach`
| `splitMeshRegions`(((`splitMeshRegions` utility)))
(((utility,`splitMeshRegions`))) | Splits mesh into multiple regions
| `stitchMesh`(((`stitchMesh` utility)))(((utility,`stitchMesh`))) | 'Stitches'
a mesh
| `subsetMesh`(((`subsetMesh` utility)))(((utility,`subsetMesh`))) | Selects a
section of mesh based on a `cellSet`
| `transformPoints`(((`transformPoints` utility)))
(((utility,`transformPoints`))) | Transforms the mesh points in the polyMesh
directory according to the translate, rotate and scale options
| `zipUpMesh`(((`zipUpMesh` utility)))(((utility,`zipUpMesh`))) | Reads in a
mesh with hanging vertices and zips up the cells to guarantee that all
polyhedral cells of valid shape are closed

2+h| Other mesh tools
| `autoRefineMesh`(((`autoRefineMesh` utility)))(((utility,`autoRefineMesh`)))
| Utility to refine cells near to a surface
| `collapseEdges`(((`collapseEdges` utility)))(((utility,`collapseEdges`))) |
Collapse short edges and combines edges that are in line
| `combinePatchFaces`(((`combinePatchFaces` utility)))
(((utility,`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`(((`modifyMesh` utility)))(((utility,`modifyMesh`))) |
Manipulates mesh elements
| `refineHexMesh`(((`refineHexMesh` utility)))(((utility,`refineHexMesh`))) |
Refines a hex mesh by 2x2x2 cell splitting
| `refinementLevel`(((`refinementLevel` utility)))
(((utility,`refinementLevel`))) | Tries to figure out what the refinement level
is on refined cartesian meshes. Run 'before' snapping
| `refineWallLayer`(((`refineWallLayer` utility)))
(((utility,`refineWallLayer`))) | Utility to refine cells next to patches
| `removeFaces`(((`removeFaces` utility)))(((utility,`removeFaces`))) | Utility
to remove faces (combines cells on both sides)
| `selectCells`(((`selectCells` utility)))(((utility,`selectCells`))) | Select
cells in relation to surface
| `splitCells`(((`splitCells` utility)))(((utility,`splitCells`))) | Utility to
split cells with flat faces

2+h| Post-processing graphics
| `ensightFoamReader`(((`ensightFoamReader` utility)))
(((utility,`ensightFoamReader`))) | 'EnSight' library module to read {project}
data directly without translation
| `fieldview9Reader`(((`fieldview9Reader` utility)))
(((utility,`fieldview9Reader`))) | Reader module for 'Fieldview' 9 to read
{project} mesh and data

2+h| Post-processing data converters
| `foamDataToFluent`(((`foamDataToFluent` utility)))
(((utility,`foamDataToFluent`))) | Translates {project} data to 'Fluent' format
| `foamToEnsight`(((`foamToEnsight` utility)))(((utility,`foamToEnsight`))) |
Translates {project} data to 'EnSight' format
| `foamToEnsightParts`(((`foamToEnsightParts` utility)))
(((utility,`foamToEnsightParts`))) | Translates {project} data to 'Ensight'
format. An Ensight part is created for each `cellZone` and patch
| `foamToFieldview9`(((`foamToFieldview9` utility)))
(((utility,`foamToFieldview9`))) | Write out the {project} mesh in Version 3.0
'Fieldview'-UNS format (binary)
| `foamToGMV`(((`foamToGMV` utility)))(((utility,`foamToGMV`))) | Translates
foam output to 'GMV' readable files
| `foamToVTK`(((`foamToVTK` utility)))(((utility,`foamToVTK`))) | Legacy 'VTK'
file format writer
| `smapToFoam`(((`smapToFoam` utility)))(((utility,`smapToFoam`))) | Translates
a 'STAR-CD' SMAP data file into {project} field format

2+h| Post-processing velocity fields
| `Co`(((`Co` utility)))(((utility,`Co`))) | Configurable graph drawing program
| `enstrophy`(((`enstrophy` utility)))(((utility,`enstrophy`))) | Calculates
and writes the enstrophy of the velocity field `U`
| `flowType`(((`flowType` utility)))(((utility,`flowType`))) | Calculates and
writes the flowType of velocity field `U`
| `Lambda2`(((`Lambda2` utility)))(((utility,`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`(((`Mach` utility)))(((utility,`Mach`))) | Calculates and optionally
writes the local Mach number from the velocity field `U` at each time
| `Pe`(((`Pe` utility)))(((utility,`Pe`))) | Calculates and writes the `Pe`
number as a `surfaceScalarField` obtained from field `phi`
| `Q`(((`Q` utility)))(((utility,`Q`))) | Calculates and writes the second
invariant of the velocity gradient tensor
| `streamFunction`(((`streamFunction` utility)))(((utility,`streamFunction`)))
| Calculates and writes the stream function of velocity field `U` at each time
| `uprime`(((`uprime` utility)))(((utility,`uprime`))) | Calculates and writes
the scalar field of `uprime` (math:[\sqrt{\nicefrac{2k}{3}}])
| `vorticity`(((`vorticity` utility)))(((utility,`vorticity`))) | Calculates
and writes the vorticity of velocity field `U`

2+h| Post-processing stress fields
| `stressComponents`(((`stressComponents` utility)))
(((utility,`stressComponents`))) | Calculates and writes the scalar fields of
the six components of the stress tensor `sigma` for each time

2+h| Post-processing scalar fields
| `pPrime2`(((`pPrime2` utility)))(((utility,`pPrime2`))) | Calculates and
writes the scalar field of `pPrime2` (math:[\left[p-\bar{p}\right\]^2]) at each
time

2+h| Post-processing at walls
| `wallGradU`(((`wallGradU` utility)))(((utility,`wallGradU`))) | Calculates
and writes the gradient of `U` at the wall
| `wallHeatFlux`(((`wallHeatFlux` utility)))(((utility,`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`(((`wallShearStress` utility)))
(((utility,`wallShearStress`))) | Calculates and writes the wall shear stress,
for the specified times
| `yPlusLES`(((`yPlusLES` utility)))(((utility,`yPlusLES`))) | Calculates and
reports `yPlus` for all wall patches, for the specified times
| `yPlusRAS`(((`yPlusRAS` utility)))(((utility,`yPlusRAS`))) | Calculates and
reports `yPlus` for all wall patches, for the specified times when using RAS
turbulence models

2+h| Post-processing turbulence
| `createTurbulenceFields`(((`createTurbulenceFields`
utility)))(((utility,`createTurbulenceFields`))) | Creates a full set of
turbulence fields
| `R`(((`R` utility)))(((utility,`R`))) | Calculates and writes the Reynolds
stress `R` for the current time step

2+h| Post-processing patch data
| `patchAverage`(((`patchAverage` utility)))(((utility,`patchAverage`))) |
Calculates the average of the specified field over the specified patch
| `patchIntegrate`(((`patchIntegrate` utility)))(((utility,`patchIntegrate`)))
| Calculates the integral of the specified field over the specified patch

2+h| Post-processing Lagrangian simulation
| `particleTracks`(((`particleTracks` utility)))(((utility,`particleTracks`)))
| Generates a VTK file of particle tracks for cases that were computed using a
tracked-parcel-type cloud

2+h| Sampling post-processing
| `probeLocations`(((`probeLocations` utility)))(((utility,`probeLocations`)))
| Probe locations
| `sample`(((`sample` utility)))(((utility,`sample`))) | Sample field data with
a choice of interpolation schemes, sampling options and write formats

2+h| Miscellaneous post-processing
| `dsmcFieldsCalc`(((`dsmcFieldsCalc` utility)))(((utility,`dsmcFieldsCalc`)))
| Calculate intensive fields (`U` and `T`) from averaged extensive fields from
a DSMC calculation
| `engineCompRatio`(((`engineCompRatio` utility)))
(((utility,`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`(((`execFlowFunctionObjects` utility)))
(((utility,`execFlowFunctionObjects`))) | Execute the set of functionObjects
specified in the selected dictionary (which defaults to
filename:system/controlDict[]) for the selected set of times
| `pdfPlot`(((`pdfPlot` utility)))(((utility,`pdfPlot`))) | Generates an .obj
file to plot a probability density function
| `postChannel`(((`postChannel` utility)))(((utility,`postChannel`))) |
Post-processes data from channel flow calculations
| `ptot`(((`ptot` utility)))(((utility,`ptot`))) | For each time: calculate the
total pressure
| `wdot`(((`wdot` utility)))(((utility,`wdot`))) | Calculates and writes wdot
for each time
| `writeCellCentres`(((`writeCellCentres` utility)))
(((utility,`writeCellCentres`))) | Write the three components of the cell
centres as ++volScalarField++s so they can be used in postprocessing in
thresholding

2+h| Parallel processing
| `decomposePar`(((`decomposePar` utility)))(((utility,`decomposePar`))) |
Automatically decomposes a mesh and fields of a case for parallel execution of
{project}
| `reconstructPar`(((`reconstructPar` utility)))(((utility,`reconstructPar`)))
| Reconstructs a mesh and fields of a case that is decomposed for parallel
execution of {project}
| `reconstructParMesh`(((`reconstructParMesh` utility)))
(((utility,`reconstructParMesh`))) | Reconstructs a mesh using geometric
information only
| `redistributeMeshPar`(((`redistributeMeshPar` utility)))
(((utility,`redistributeMeshPar`))) | Redistributes existing decomposed mesh
and fields according to the current settings in the filename:decomposeParDict[]
file

2+h| Thermophysical-related utilities
| `adiabaticFlameT`(((`adiabaticFlameT` utility)))
(((utility,`adiabaticFlameT`))) | Calculates the adiabatic flame temperature
for a given fuel over a range of unburnt temperatures and equivalence ratios
| `chemkinToFoam`(((`chemkinToFoam` utility)))(((utility,`chemkinToFoam`))) |
Converts 'CHEMKIN' 3 thermodynamics and reaction data files into {project}
format
| `equilibriumCO`(((`equilibriumCO` utility)))(((utility,`equilibriumCO`))) |
Calculates the equilibrium level of carbon monoxide
| `equilibriumFlameT`(((`equilibriumFlameT` utility)))
(((utility,`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
math:[\text{O}_2], math:[\text{H}_2\text{O}] and math:[\text{CO}_2] are
included
| `IFCLookUpTableGen`(((`IFCLookUpTableGen` utility)))
(((utility,`IFCLookUpTableGen`))) | Calculate the the infinitely-fast chemistry
relationships in function of ft. for a given fuel. The output is given in moles
| `mixtureAdiabaticFlameT`(((`mixtureAdiabaticFlameT` utility)))
(((utility,`mixtureAdiabaticFlameT`))) | Calculates the adiabatic flame
temperature for a given mixture at a given temperature

2+h| Error estimation
| `estimateScalarError`(((`estimateScalarError` utility)))
(((utility,`estimateScalarError`))) | Estimates the error in the solution for a
scalar transport equation in the standard form
| `icoErrorEstimate`(((`icoErrorEstimate` utility)))
(((utility,`icoErrorEstimate`))) | Estimates error for the incompressible
laminar CFD application `ico`
| `icoMomentError`(((`icoMomentError` utility)))(((utility,`icoMomentError`)))
| Estimates error for the incompressible laminar CFD application `ico`
| `momentScalarError`(((`momentScalarError` utility)))
(((utility,`momentScalarError`))) | Estimates the error in the solution for a
scalar transport equation in the standard form

2+h| Miscellaneous utilities
| `expandDictionary`(((`expandDictionary` utility)))
(((utility,`expandDictionary`))) | Read the dictionary provided as an argument,
expand the macros etc. and write the resulting dictionary to standard output
| `foamDebugSwitches`(((`foamDebugSwitches` utility)))
(((utility,`foamDebugSwitches`))) | Write out all library debug switches
| `foamFormatConvert`(((`foamFormatConvert` utility)))
(((utility,`foamFormatConvert`))) | Converts all ++IOobject++s associated with
a case into the format specified in the filename:system/controlDict[]
| `foamInfoExec`(((`foamInfoExec` utility)))(((utility,`foamInfoExec`))) |
Interrogates a case and prints information to screen
| `patchSummary`(((`patchSummary` utility)))(((utility,`patchSummary`))) |
Writes fields and boundary condition info for each patch at each requested time
instance
|==============================================================================
