Back to skills
SKILL.md
11 Case Directory Structure
ASecuritySub-skill of openfoam: 1.1 Case Directory Structure (+3).
- 17 stars
- 0 votes
- 0 copies
- 2 views
- Added September 9, 2026
Security analysis
100/100npx -y skills add vamseeachanta/workspace-hub --skill 11-case-directory-structure --agent claude-codeAre you the author of 11 Case Directory Structure?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vamseeachanta-11-case-directory-structure)---
name: openfoam-11-case-directory-structure
description: 'Sub-skill of openfoam: 1.1 Case Directory Structure (+3).'
version: 1.0.0
category: engineering
type: reference
scripts_exempt: true
---
# 1.1 Case Directory Structure (+3)
## 1.1 Case Directory Structure
Every OpenFOAM case requires this minimum structure:
```
<case>/
0/ # Initial/boundary conditions
U # Velocity (volVectorField)
p # Pressure (volScalarField)
k # Turbulent kinetic energy (if RAS/LES)
epsilon | omega # Dissipation (model-dependent)
nut # Turbulent viscosity
constant/
transportProperties # Fluid properties (nu, rho)
turbulenceProperties # Turbulence model selection
polyMesh/ # Mesh (generated by blockMesh/snappyHexMesh)
system/
controlDict # Run control (REQUIRED)
fvSchemes # Discretisation schemes (REQUIRED)
fvSolution # Solver settings (REQUIRED)
blockMeshDict # Structured mesh definition
decomposeParDict # Parallel decomposition
```
## 1.2 FoamFile Header
Every OpenFOAM file must begin with this header. The `class` and `object` fields must match the file type and filename.
```cpp
FoamFile
{
version 2.0;
format ascii;
class dictionary; // see class table below
object controlDict; // must match filename
}
```
| File | class | object |
|------|-------|--------|
| controlDict, fvSchemes, fvSolution | `dictionary` | filename |
| transportProperties, turbulenceProperties | `dictionary` | filename |
| blockMeshDict, decomposeParDict | `dictionary` | filename |
| U (velocity) | `volVectorField` | `U` |
| p, k, epsilon, omega, nut | `volScalarField` | fieldname |
## 1.3 controlDict
**Steady-state (simpleFoam):**
```cpp
application simpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 2000;
deltaT 1;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
functions
{
#includeFunc yPlus
#includeFunc solverInfo
}
```
**Transient with adaptive timestep (pimpleFoam):**
```cpp
application pimpleFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 10;
deltaT 0.001;
writeControl adjustable;
writeInterval 0.1;
adjustTimeStep yes;
maxCo 5;
runTimeModifiable yes;
```
**Multiphase (interFoam):**
```cpp
application interFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1;
deltaT 0.001;
writeControl adjustable;
writeInterval 0.05;
adjustTimeStep yes;
maxCo 1;
maxAlphaCo 1;
maxDeltaT 1;
runTimeModifiable yes;
```
## 1.4 fvSchemes
**Steady-state RANS (simpleFoam):**
```cpp
ddtSchemes { default steadyState; }
gradSchemes { default Gauss linear; }
divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwind grad(U);
turbulence bounded Gauss limitedLinear 1;
div(phi,k) $turbulence;
div(phi,epsilon) $turbulence;
div(phi,omega) $turbulence;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes { default Gauss linear corrected; }
interpolationSchemes { default linear; }
snGradSchemes { default corrected; }
wallDist { method meshWave; }
```
**Transient laminar (icoFoam):**
```cpp
ddtSchemes { default Euler; }
gradSchemes { default Gauss linear; }
divSchemes { default none; div(phi,U) Gauss linear; }
laplacianSchemes { default Gauss linear orthogonal; }
interpolationSchemes { default linear; }
snGradSchemes { default orthogonal; }
```
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.