OpenFOAM cheat sheet
Case directory structure
_myCaseName
+-- _0
| +-- p
| +-- U
| +-- ...
+-- _constant
| +-- _polyMesh
| +-- xProperties
+-- _postProcessing
+-- _system
+-- blockMeshDict
+-- controlDict
+-- fvSchemes
+-- fvSolution
Stopping and resuming runs
If you are running an OpenFOAM solver in the foreground of a terminal, you can stop execution with Ctrl+C
. If you are running it in the background, you can kill the corresponding process (OpenFOAM conveniently outputs its PID at the start of a run). Be aware that both of these approaches do not save the latest time-step/iteration.
If you want to interrupt execution and save the latest time-step/iteration, you can change the stopAt
directive in your system/controlDict
file to writeNow
:
application icoFoam;
startFrom startTime;
startTime 0;
stopAt writeNow; // <-------
endTime 50;
Assuming you have runTimeModifiable
set to yes
, the OpenFOAM solver will stop running and write the data for the latest iteration.
You can resume a run that was previously interrupted by setting the startFrom
directive to latestTime
and re-executing the solver.
Cleaning up
To remove the mesh and the solution in the current case folder, run
$> foamCleanTutorials
This will also remove each of the processorN
directories if running in parallel. There are also the commands:
$> foamCleanPolyMesh // Delete the mesh
$> foamListTimes -rm // Delete saved solutions
$> foamListTimes -rm -processor // For parallel runs
Example transportProperties
file
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
nu nu [ 0 2 -1 0 0 0 0 ] 0.01; //Re 100
//nu nu [ 0 2 -1 0 0 0 0 ] 0.001; //Re 1000
// ************************************************************************* //
The exponents for each of the SI units are specified in square brackets, and the order is [ kg m s K mol A cd ]
. E.g. in the above example, the kinematic viscosity is $\nu = \frac{\mu}{\rho} = 0.01 \frac{m^2}{s}$ (for an incompressible solver, the kinematic viscosity is sufficient, as the density is constant).