Skip to content
Back to skills

11 Case Directory Structure

ASecurity

Sub-skill of openfoam: 1.1 Case Directory Structure (+3).

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
documentationgo

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add vamseeachanta/workspace-hub --skill 11-case-directory-structure --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 11 Case Directory Structure?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 11 Case Directory Structure
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-11-case-directory-structure/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-11-case-directory-structure)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.