OpenFOAM工具可以在终端输入命令 cd $FOAM_UTILITIES查看,标准小工具列表如下:
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 |
dsmcInitialise | Initialise a case for dsmcFoam by reading the initialisation dictionarysystem/dsmcInitialise |
engineSwirl | Generates a swirling flow for engine calulations |
faceAgglomerate | (Currently no description) |
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 |
viewFactorGen | (Description not found) |
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 |
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 |
datToFoam | Reads in a datToFoam 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 |
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, unlikemergeOrSplitBaffles |
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 | 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 |
polyDualMesh | Calculate 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 to the direction |
setSet | Manipulate a cell/face/point/ set or zone interactively |
setsToZones | Add pointZones/faceZones/cellZones to the mesh from similar namedpointSets/faceSets/cellSets |
singleCellMesh | Removes all but one cells of the mesh. 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 | 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 |
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 beforesnapping |
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 |
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 eachcellZone and patch |
foamToFieldview9 | Write out the OpenFOAM mesh in Version 3.0 Fieldview-UNS format (binary) |
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 | 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 ( ) |
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 sigmafor each time |
Post-processing scalar fields 标量场后处理 | |
pPrime2 | Calculates and writes the scalar field of pPrime2 ( ) 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 avolScalarField 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 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 后处理Lagrangian计算 | |
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 tosystem/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 |
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 |
surfaceCheck | (Currently no description) |
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 |
surfaceInertia | Calculates the inertia tensor and principal axes and moments of a command line specified triSurface. Inertia can either be of the solid body or of a thin shell |
surfaceMeshConvert | Convert 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. Triangulates all boundary 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 -inside 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 redistribute it so 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) |
surfaceSmooth | Example of a simple laplacian smoother |
surfaceSplitByPatch | Writes regions of triSurface to separate files |
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 |
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,H2O andCO2are 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 thecontrolDict |
foamInfoExec | Interrogates a case and prints information to stdout |
patchSummary | Writes fields and boundary condition info for each patch at each requested time instance |