openfoam-11-case-directory-structure
Sub-skill of openfoam: 1.1 Case Directory Structure (+3).
Best use case
openfoam-11-case-directory-structure is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of openfoam: 1.1 Case Directory Structure (+3).
Teams using openfoam-11-case-directory-structure should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/11-case-directory-structure/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How openfoam-11-case-directory-structure Compares
| Feature / Agent | openfoam-11-case-directory-structure | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of openfoam: 1.1 Case Directory Structure (+3).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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; }
```Related Skills
repo-structure
Canonical source layout, test mirroring, root cleanliness, gitignore, docs classification, and committed artifact rules for all workspace-hub tier-1 repos. Consult before creating directories or files in any submodule.
github-issue-structure-for-personal-finance-tracking
Pattern for organizing financial analysis work across multiple repos (data/config vs. logic separation)
awk-range-pattern-edge-case-debugging
Debugging technique for awk range patterns that collapse when start line matches end pattern
repo-cleanup-structure-section-updates
Sub-skill of repo-cleanup: Structure Section Updates (+1).
discipline-refactor-target-repository-structure
Sub-skill of discipline-refactor: Target Repository Structure.
discipline-refactor-standard-folders-module-structure
Sub-skill of discipline-refactor: Standard Folders → Module Structure (+1).
mkdocs-3-navigation-structure
Sub-skill of mkdocs: 3. Navigation Structure (+2).
state-directory-manager-5-cache-management
Sub-skill of state-directory-manager: 5. Cache Management (+1).
state-directory-manager-4-state-file-operations
Sub-skill of state-directory-manager: 4. State File Operations.
state-directory-manager-1-xdg-base-directory-standard
XDG Base Directory compliant state management. Use when setting up config, data, state, or cache directories per the XDG specification.
interactive-menu-builder-1-basic-menu-structure
Sub-skill of interactive-menu-builder: 1. Basic Menu Structure.
repo-structure-never-tests-inside-src
Sub-skill of repo-structure: NEVER: tests/ inside src/ (+7).