fluent3DMeshToFoam - Converts a Fluent mesh (in ASCII format) to foam format
fluent3DMeshToFoam [OPTIONS] FLUENT_MESH
Convert a mesh file FLUENT_MESH from Fluent format to foam format.
- Scale the mesh geometry by factor. If not provided, use 1
- Execute the command on the case directory DIR. If not provided, use the current directory
- Skip the execution of the functionObjects
- Display the help and exit
4 Comparison between fluentMeshToFoam and fluent3DMeshToFoam
From the release notes for OpenFOAM 1.4.1:
New fluent3DMeshToFoam converter for 3D meshes from Fluent format to OpenFOAM format including full support for all BCs, zones etc.;
Comparing the source code for fluentMeshToFoam and fluent3DMeshToFoam in OpenFOAM 1.4.1 and 1.5, the following main differences can be found:
- fluentMeshToFoam supports 2D and 3D Fluent meshes, while fluent3DMeshToFoam only supports 3D.
- fluent3DMeshToFoam deals with hanging nodes.
- fluentMeshToFoam has the options to write sets and zones, while fluent3DMeshToFoam has the option to ignore a cell groups and face groups.
- fluentMeshToFoam can only handle the following 3D cell types: tet, hex, pyramid, prism
- fluent3DMeshToFoam can handle internal walls/patches, or at least it looks like it does. fluentMeshToFoam requires a workaround: Howto importing fluent mesh with internal walls
5 Step by step example
Convert a mesh generated by Fluent/Gambit to OpenFOAM.
1. Save the file in Fluent/Gambit in ASCII format (uncheck the "Write Binary Files" option).
If the .msh file was generated in Windows then dos2unix command should be used, before proceeding further.
2. Create a new case (e.g. Beispiel) for OpenFOAM (easy option: copy the following files from a comparable tutorial, e.g. icoFoam)
a. Create case directory: mkdir Beispiel b. Create the following directories inside Beispiel folder (or copy the directories from the icoFoam or another appropriate tutorial) mkdir Beispiel/system mkdir Beispiel/constant mkdir Beispiel/constant/polymesh mkdir Beispiel/0 c. Create the following files: (or copy from icoFoam tutorial) Beispiel/system/controlDict Beispiel/system/fvScheme Beispiel/system/fvSolution Beispiel/constant/transportProperties
3. Copy the fluent.msh file into Beispiel folder.
4. Run the fluent3DMeshToFoam converter (within the Beispiel folder)
without scaling: fluent3DMeshToFoam fluent.msh OR with appropriate scaling if required (e.g. from millimeters to meters): fluent3DMeshToFoam fluent.msh -scale 0.001
4. Edit the Beispiel/constant/polyMesh/boundary file and set proper names. Typically every surface might be a wall. If one needs inlet, outlet, etc as boundary condition, change wall to patch.
5. Run checkMesh(from Beispiel root folder) to check if the mesh has been converted properly.
checkMesh OR checkMesh -fullTopology
6. Copy the initial/boundary condition files into Beispiel/0 folder and edit them appropriately.
e.g. Beispiel/0/U and Beispiel/0/p from icoFoam tutorial.
7. Make further appropriate changes (e.g. nu in Beispiel/constant/transportProperties )
8. The case is ready to run (from Beispiel root folder):
icoFoam or foamJob icoFoam