OpenFOAM® v1712: New and improved pre-processing
Integration of cfmesh
The cfmesh project is available as a component of OpenFOAM v1712, complementing the existing blockMesh and snappyHexMesh meshing utilities.
- Source code
- $WM_PROJECT_DIR/modules - see the cfMesh directory
- Examples
- $WM_PROJECT_DIR/modules - see the cfMesh/tutorials directory
- Attribution
- This project is the work of Franjo Juretic Creative Fields
- Integration
- The code has been integrated into OpenFOAM by OpenCFD as a new module
Improved checkMesh output
The checkMesh utility now generates additional reporting for face and cell zones. A typical output for cell zones is given below that shows the number of cells and points, and overall bounds:
CellZone Cells Points BoundingBox
inlet 6000 7056 (-0.15 0 -0.025) (0 0.0353553 0.025)
porosity 8000 9261 (-0.0353553 0 -0.025) (0.0707107 0.106066 0.025)
outlet 8000 9261 (0.0353553 0.0707107 -0.025) (0.141421 0.176777 0.025)
- Source code
- $FOAM_UTILITIES/mesh/manipulation/checkMesh
- Further information
- Merge #142
Improved dictionary operation
OpenFOAM dictionaries have received many improvements to improve robustness and to provide more informative error messages, e.g.:
- checks for ill-formed entries in dictionaries, e.g. if forgetting to include
quotation marks when using regular expressions for field entries in the
fvSolution file (U|k|epsilon)--> FOAM FATAL IO ERROR:
Unexpected token encountered for U|k|epsilon|omega|f|v2 - on line 28: punctuation ')'
file: tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution at line 28.
From function static bool Foam::entry::New(Foam::dictionary&, Foam::Istream&, Foam::entry::inputMode)
in file db/dictionary/entry/entryIO.C at line 262.
FOAM exiting - improved handling of substitution - see Issue #429
Improved stitchMesh utility
The stitchMesh utility stitches two volumetric meshes by manipulating the interfacing faces to create topologically conformal interface.
Previously the utility was operated only via command line options, now it could be operated via a stitchMeshDict dictionary file.
In an argument-driven mode utility operates:
- single stitch operation only
- Match can be specified only by following options:
- integral
- partial
- perfect
Driven by dictionary entry stitchMesh operates:
- single or multiple stitch operations
- Match type and the master-slave patches are specified in the dictionary given by -dict argument
Running utility with one or more arguments will result in backward compatible mode, without any argument, utility will read the dictionary stitchMeshDict
Example dictionary:
{
match partial; // partial | integral | perfect
master outerx;
slave innerx;
}
outery
{
match partial;
master outery;
slave innery;
}
outerz
{
match partial;
master outerz;
slave innerz;
}
Use of the utility is limited on situation with simple patches, as the only information processed are the faces, no edges or line elements are taken into the account.
Further user should make sure the stitched patches have no or very little (case sensitive) gap otherwise the algorithm will either result in sliver edges or too large deformation of the mesh.