Difference between revisions of "Main OFUtilities"

From OpenFOAMWiki
(Update to OF2.1)
(Update to OF2.1)
Line 77: Line 77:
  
 
* [[checkMesh]] Checks validity of a mesh.
 
* [[checkMesh]] Checks validity of a mesh.
 +
 +
* [[createBaffles]] Makes internal faces into boundary faces. Does not duplicate points, unlike [[mergeOrSplitBaffles]].
  
 
* [[couplePatches]] Utility to reorder cyclic and processor patches. Is now all built-in into morphing so reuse that code.
 
* [[couplePatches]] Utility to reorder cyclic and processor patches. Is now all built-in into morphing so reuse that code.
  
* [[createPatch]] Utility to create patches out of selected boundary faces. Faces come either from existing patches or from a faceSet.
+
* [[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.
 
* [[deformedGeom]] Deforms a polyMesh using a displacement field U and a scaling factor supplied as an argument.
Line 90: Line 92:
 
* [[flattenMesh]] Flatten the front and back planes of a 2D cartesian mesh.
 
* [[flattenMesh]] Flatten the front and back planes of a 2D cartesian mesh.
  
* [[insideCells]] Pick up cells with cell centre ���?�inside���?� of surface. Requires surface to be closed and singly connected.
+
* [[insideCells]] Picks up cells with cell centre ’inside’ of surface. Requires surface to be closed and singly connected.
  
 
* [[mergeMeshes]] Merge two meshes.
 
* [[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.
 
* [[mirrorMesh]] Mirrors a mesh around a given plane.
 +
 +
* [[moveDynamicMesh]] Mesh motion and topological mesh changes utility.
  
 
* [[moveEngineMesh]] Solver for moving meshes for engine calculations.
 
* [[moveEngineMesh]] Solver for moving meshes for engine calculations.
Line 101: Line 107:
  
 
* [[objToVTK]] Read obj line (not surface!) file and convert into vtk.
 
* [[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.
  
 
* [[pointSet]] Selects a point set through a dictionary.
 
* [[pointSet]] Selects a point set through a dictionary.
  
* [[refineMesh]] Utility to refine cells in multiple directions. Either supply -all option to refine all cells (3D refinement for 3D cases; 2D for 2D cases) or reads a refineMeshDict with - cellSet to refine - directions to refine.
+
* [[refineMesh]] Utility to refine cells in multiple directions.
  
 
* [[refineShapeMesh]] Refines a region of a shapeMesh according to parameters specified in a refineShapeMeshDict dictionary.
 
* [[refineShapeMesh]] Refines a region of a shapeMesh according to parameters specified in a refineShapeMeshDict dictionary.
  
 
* [[renumberMesh]] Renumbers the cell list in order to reduce the bandwidth, reading and renumbering all fields from all the time directories.
 
* [[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 ''n1'' to the direction ''n2''.
  
 
* [[scalePoints]] Scales the mesh points in the polyMesh directory by a factor supplied as an argument.
 
* [[scalePoints]] Scales the mesh points in the polyMesh directory by a factor supplied as an argument.
  
* [[splitMesh]] Splits mesh by making internal faces external. Uses attachDetach.
+
* [[setSet]] Manipulate a cell/face/point/ set or zone interactively.
  
* [[splitMeshRegions]] Splits mesh into multiple regions and writes them to consecutive time directories. Each region is defined as a domain whose cells can all be reached by cell-face-cell walking. Uses meshWave.
+
* [[setsToZones]] Add ''pointZones/faceZones/cellZones' to the mesh from similar named ''pointSets/faceSets/cellSets''
  
* [[setSet]] Collects points, faces and cells in sets, for later usage with different other utilities like subSetMesh.
+
* [[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.
 
* [[stitchMesh]] "Stitches" a mesh.
  
* [[subsetMesh]] Selects a section of mesh based on a cellSet.
+
* [[subsetMesh]] Selects a section of mesh based on a ''cellSet''.
  
 
* [[tetDecomposition]] Takes a mesh and decomposes it into tetrahedra using a face-cell centre decomposition.
 
* [[tetDecomposition]] Takes a mesh and decomposes it into tetrahedra using a face-cell centre decomposition.
  
* [[topoSet]] Operates on cellSets/faceSets/pointSets through a dictionary.
+
* [[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.
 
* [[zipUpMesh]] Reads in a mesh with hanging vertices and zips up the cells to guarantee that all polyhedral cells of valid shape are closed.

Revision as of 10:03, 24 August 2012

These are the utilities distributed with OpenFOAM

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

2 Mesh

2.1 Conversion

  • ansysToFoam Converts an ANSYS input mesh file, exported from I-DEAS, to OpenFOAM format (formerly called ideasToFoam).
  • ccm26ToFoam Converts a STAR-CCM mesh to OpenFOAM format.
  • cfx4ToFoam Converts a CFX 4 mesh to OpenFOAM format.
  • fluentMeshToFoam Converts a Fluent mesh (in ASCII format) to OpenFOAM format including multiple region and region boundary.
  • foamToStarMesh Reads an OpenFOAM mesh and writes it in PROSTAR (v4) format.
  • foamToSurface Reads an OpenFOAM mesh and writes the boundaries in surface format.
  • gmshToFoam Reads .msh file as written by Gmsh. Does not use physical type of mesh quantities yet.
  • kivaToFoam Converts a KIVA3v grid to OpenFOAM format.
  • mshToFoam Reads .msh format generated by the Adventure system.
  • plot3dToFoam Plot3d mesh (ascii/formatted format) converter.
  • sammToFoam Converts a STAR-CD 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 Reads .ele and .node and .face files as written by tetgen.
  • writeMeshObj For mesh debugging: writes mesh as three separate OBJ files which can be viewed with e.g. javaview.

2.2 Generation

  • 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 Adjusts (refine, snap and add layers) an existing mesh to specified boundary surfaces and refinement regions.

2.3 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.
  • couplePatches Utility to reorder cyclic and processor patches. Is now all built-in into morphing so reuse that code.
  • 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.
  • fieldToCellSet Select cells based on field. Give min and max to select.
  • flattenMesh Flatten 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.
  • mergeOrSplitBaffles Detects faces that share points (baffles). Either merge them or duplicate the points.
  • 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.
  • pointSet Selects a point set through a dictionary.
  • refineMesh Utility to refine cells in multiple directions.
  • refineShapeMesh Refines a region of a shapeMesh according to parameters specified in a refineShapeMeshDict dictionary.
  • 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 n1 to the direction n2.
  • scalePoints Scales the mesh points in the polyMesh directory by a factor supplied as an argument.
  • 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 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.
  • subsetMesh Selects a section of mesh based on a cellSet.
  • tetDecomposition Takes a mesh and decomposes it into tetrahedra using a face-cell centre decomposition.
  • 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.

3 Miscellaneous

  • foamConvert21To22 Converts the following case dictionaries from 2.1 to 2.2 syntax: - fvSchemes - fvSolution (created from fvTolerances) - (controlDict) - for parallel processed cases, processor numbering updated from 1,2,... to 0,1,
  • foamInfoExec Interrogates a case and prints information to screen.

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

5 Post-processing

5.1 Data converters

  • foamToDX Translates OpenFOAM data to OpenDX format.
  • foamToFieldview Write out the OpenFOAM mesh in Fieldview-UNS format (binary). See Fieldview Release 8 Reference Manual - Appendix D (Unstructured Data Format) Borrows various from uns/write_binary_uns.c from FieldView dist.
  • foamToFieldview9 Write out the OpenFOAM mesh in Version 3.0 Fieldview-UNS format (binary). See Fieldview Release 9 Reference Manual - Appendix D (Unstructured Data Format) Borrows various from uns/write_binary_uns.c from FieldView dist.
  • foamToVTK Legacy VTK file format writer. - handles volScalar, volVector, pointScalar, pointVector fields. - mesh topo changes. - both ascii and binary. - single time step writing. - write subset only. - automatic decomposition of cells; polygons on boundary undecomposed since handled by vtk
  • smapToFoam Translates a STAR-CD SMAP data file into OpenFOAM field format.

5.2 Graphics

  • dxFoamExec Post-processing graphics using openDX.
  • ensight74FoamExec Module for EnSight 7.6 to read OpenFOAM data directly without translation.
  • ensight76FoamExec Module for EnSight 7.6 to read OpenFOAM data directly without translation.

5.3 Stress field

  • R Calculates and writes the Reynolds stress R for the current time step.
  • Rcomponents Calculates and writes the scalar fields of the six components of the Reynolds stress R for each time in a database.
  • stressComponents Calculates and writes the scalar fields of the six components of the stress tensor sigma for each time in a database.

5.4 Velocity field

  • Co Configurable graph drawing program.
  • divU Calculates and writes the divergence of velocity field U at each time in a database.
  • enstrophy Calculates and writes the enstrophy of velocity field U at each time in a database.
  • 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, at each time in a database.
  • Mach Calculates and writes the local Mach number from the velocity field U at each time in a database.
  • magGradU Calculates and writes the scalar magnitude of velocity field U at each time in a database.
  • magU Calculates and writes the scalar magnitude of the gradient of the velocity field U at each time in a database.
  • Pe Calculates and writes the Pe number as a surfaceScalarField obtained from field phi at each time in a database.
  • Q Calculates and writes the second invariant of the velocity gradient tensor for each time in a database.
  • streamFunction Calculates and writes the stream function of velocity field U at each time in a database.
  • Ucomponents Writes the three scalar fields, Ux, Uy and Uz, for each component of the velocity field U at each time in a database.
  • uprime Calculates and writes the scalar field of uprime (\sqrt{\frac{2}{3}k}) at each time in a database.
  • vorticity Calculates and writes the vorticity of velocity field U at each time in a database.

5.5 Walls

  • checkYPlus Calculates and reports yPlus for all wall patches, for each time in a database.
  • wallGradU Calculates and writes the gradient of U at the wall, wallGradU, for the current time step.
  • wallShearStress Calculates and writes the wall shear stress for the current time step.
  • yPlusLES Calculates the yPlus of the near-wall cells for an LES.

5.6 Miscellaneous

  • 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.
  • liftDrag Calculates the lift and drag for each time in a database.
  • postChannel Post-processes data from channel flow calculations.
  • ptot For each time in a database: calculate the total pressure.
  • sample Sample field data with a choice of interpolation schemes, sampling options and write formats.
  • sampleSurface Surface sampling. Runs in parallel (but does not merge points).
  • wdot Calculates and writes wdot for each time in a database.

6 Pre-processing

  • boxTurb Makes a box of turbulence which conforms to a given energy spectrum and is divergence free,
  • engineSwirl Generates a swirling flow for engine calculations.
  • FoamX Case management tool. Only available until OpenFOAM version 1.4
  • 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.

7 Thermophysical

  • adiabaticFlameT Calculates the adiabatic flame temperature for a given fuel over a range of unburnt temperatures and equivalence ratios.
  • 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, H_2O and CO_2 are included.
  • mixtureAdiabaticFlameT Calculates the adiabatic flame temperature for a given mixture at a given temperature.
  • Sl Calculates and prints the laminar flame speed of a given fuel at a given pressure (bar), temperature (K) and equivalence ratio.