Sub-skill of openfoam: 4.1 Error Message Format (+2).
Scanned 9/9/2026
Install to Claude Code
npx -y skills add vamseeachanta/workspace-hub --skill 41-error-message-format --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 41 Error Message Format?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vamseeachanta-41-error-message-format)More formats (shields.io, HTML) on the badges page.
---
name: openfoam-41-error-message-format
description: 'Sub-skill of openfoam: 4.1 Error Message Format (+2).'
version: 1.0.0
category: engineering
type: reference
scripts_exempt: true
---
# 4.1 Error Message Format (+2)
## 4.1 Error Message Format
```
--> FOAM FATAL ERROR:
<description>
From function <Class>::<method>
in file <source.C> at line <N>.
FOAM exiting
```
## 4.2 Common Failures and Fixes
**1. Floating Point Exception (exit code 136)**
| Cause | Diagnosis | Fix |
|-------|-----------|-----|
| Courant number too high | Check `Courant Number max:` in log | Enable `adjustTimeStep yes; maxCo 1;` or reduce `deltaT` |
| Poor mesh quality | Run `checkMesh -allTopology -allGeometry` | Fix cells with non-orthogonality > 70, negative volumes |
| Zero/negative k or epsilon | Check 0/ initial values | Set k > 0 and epsilon > 0 everywhere |
| Bad turbulence initialization | Residuals blow up immediately | Start laminar, then switch to turbulent |
**2. GAMG Solver Divergence**
Symptoms: p residuals stuck near 1.0, or oscillating without decreasing.
| Cause | Fix |
|-------|-----|
| Mesh too coarse | Refine mesh at critical regions |
| Bad relaxation factors | Reduce: p from 0.3 to 0.2, U from 0.7 to 0.5 |
| Non-orthogonal mesh | Increase `nNonOrthogonalCorrectors` to 1-3 |
| GAMG agglomeration failure | Switch to `solver PCG; preconditioner DIC;` for p |
**3. Missing Field/File**
```
FOAM FATAL IO ERROR: cannot find file ... /0/k
```
Fix: ensure all fields required by the turbulence model exist in 0/. See table in Section 1.6.
**4. Boundary Condition Mismatch**
```
FOAM FATAL ERROR: patch type 'xxx' not constraint type ... for patch yyy
```
Fix: patch types in 0/ files must match boundary types in `constant/polyMesh/boundary`. If mesh defines `empty`, all field files must use `empty` for that patch.
**5. Courant Number Blowup (transient)**
```
Courant Number mean: 0.5 max: 150.3
```
| Solver | Acceptable maxCo |
|--------|-------------------|
| icoFoam (PISO) | < 1 (strict) |
| interFoam (VOF) | maxCo < 1, maxAlphaCo < 1 |
| pimpleFoam (nOuterCorrectors > 1) | up to 5-10 |
**6. Convergence Stall (simpleFoam)**
Residuals plateau or oscillate without decreasing.
| Action | How |
|--------|-----|
| Reduce relaxation | U: 0.5-0.7, p: 0.2-0.3 |
| Enable consistent SIMPLE | `consistent yes;` in SIMPLE dict |
| Initialize with potentialFoam | `potentialFoam -writephi` before simpleFoam |
| Check BCs | Ensure mass balance (inlet flux = outlet flux) |
**7. Out of Memory (exit code 137)**
| Action | How |
|--------|-----|
| Reduce mesh | Coarsen or reduce refinement levels |
| Use parallel | `decomposePar` + `mpirun -np N` distributes memory |
| Use binary write | `writeFormat binary;` in controlDict |
| Increase swap | System-level: `sudo fallocate -l 8G /swapfile` |
**8. Parallel Decomposition Errors (exit code 255)**
| Symptom | Fix |
|---------|-----|
| `numberOfSubdomains` mismatch | Must match `-np N` in mpirun |
| Missing processor directories | Run `decomposePar` first |
| Inconsistent mesh across processors | Re-run `decomposePar` |
**9. snappyHexMesh Failures**
| Symptom | Fix |
|---------|-----|
| Empty mesh after castellated step | Check `locationInMesh` is inside domain, not inside geometry |
| Feature edge artifacts | Increase `nFeatureSnapIter` to 10-20 |
| Layer addition failure | Reduce `nSurfaceLayers`, increase `minThickness` |
| STL not found | Check path in `geometry {}` block, use `triSurfaceMesh` type |
**10. Dimension Mismatch**
```
FOAM FATAL ERROR: dimensions not compatible
```
Fix: check `dimensions` line in 0/ field files against the reference table (Section 1.8). Common mistake: using absolute pressure dimensions `[1 -1 -2 0 0 0 0]` instead of kinematic `[0 2 -2 0 0 0 0]` for incompressible solvers.
## 4.3 Mesh Quality Thresholds
| Metric | OK | Warning | Fail |
|--------|-----|---------|------|
| Non-orthogonality max | < 65 | 65-80 | > 80 |
| Skewness | < 4 | 4-10 | > 10 |
| Aspect ratio | < 100 | 100-1000 | > 1000 |
| Min volume | > 0 | near 0 | < 0 (inverted) |
| Min determinant | > 0.001 | 0.0001-0.001 | < 0 |
---
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!