Case Requirements

Everything you need to know before submitting your OpenFOAM case for validation or a converge run.

1. Directory Structure

Upload your case as a .zip file. The archive must contain a standard OpenFOAM case directory with the following structure:

your-case/ ├── system/ │ ├── controlDict ← solver, timestep, write control │ ├── fvSchemes ← discretization schemes │ ├── fvSolution ← linear solvers, tolerances │ └── blockMeshDict ← optional (auto-meshed if present) ├── constant/ │ ├── physicalProperties ← or transportProperties (legacy) │ ├── turbulenceProperties ← optional │ └── polyMesh/ ← required if no blockMeshDict │ ├── owner │ ├── neighbour │ ├── faces │ ├── points │ └── boundary └── 0/ └── U, p, ... ← initial/boundary conditions

Mesh requirement: Your case must include either:

  • A pre-built mesh in constant/polyMesh/, or
  • A system/blockMeshDict — we will run blockMesh automatically during preflight

If neither is present, the case will be rejected at validation.

2. Supported Solvers

Set the application field in your controlDict. We automatically detect the solver and route your case to the correct engine.

Standard OpenFOAM Solvers

SolverTypeCategory
simpleFoamSteady-stateIncompressible
pimpleFoamTransientIncompressible
icoFoamTransientIncompressible
pisoFoamTransientIncompressible
interFoamTransientMultiphase
rhoSimpleFoamSteady-stateCompressible
rhoPimpleFoamTransientCompressible
potentialFoamSteady-statePotential flow

UCF Stability-Enhanced Solvers

UCF solvers include adaptive relaxation, divergence containment, and early-stop detection. Automatically selected when your controlDict uses a UCF solver name.

SolverTypeCategory
UCF_simpleFoamSteady-stateIncompressible
UCF-SimpleCompressibleFoamTransientCompressible
UCF_rhoSimpleFoamSteady-stateCompressible
UCF_rhoPimpleFoamTransientCompressible

Any solver with a UCF- or UCF_ prefix is automatically routed to the UCF engine. Unknown solvers will be rejected — contact us if you need a solver not listed here.

3. Tier Limits

Resource limits are enforced based on your selected tier. Cases exceeding these limits will be rejected during validation.

ResourceStandardProfessional
Upload size500 MB500 MB
Max mesh cells5M50M
Max files in bundle2,0002,000
Run wall time2 hours48 hours
CPU cores816
Memory16 GB32 GB
Max output size5 GB5 GB
Validation attempts33

Enterprise tier with custom limits is available — contact us for pricing.

4. What NOT to Include

The following will cause your case to be rejected during validation. These restrictions exist for security and reproducibility.

Forbidden file types

× Executables: .exe, .so, .dylib, .dll
× Scripts: .sh, .py, .pyc
× Object files: .o, .a
× Symlinks, hidden files (starting with .)

Forbidden OpenFOAM constructs

× codedFixedValue, codedMixed, codedFunctionObject, or any coded* directive
× #codeStream, dynamicCode, runtime code injection
× libs directive (external shared library loading)
× #include referencing external files outside the case directory

These constructs allow arbitrary code execution and cannot be safely run in our sandboxed environment.

5. Parameter Validation

Your case dictionaries are checked for physically reasonable values. Cases with out-of-range parameters will be flagged.

ParameterValid RangeNotes
deltaT (timestep)1e-10 – 1000 sMust be positive
endTime> 0Must be greater than startTime
writeInterval> 1e-10 sVery small values create excessive output
maxCo (Courant)0.1 – 50Recommended: 1–10 for stability
Relaxation factors(0, 1]Must be positive, at most 1.0
Viscosity1e-10 – 1000 m²/sCheck units match your solver
Density0.001 – 10,000 kg/m³For compressible solvers

6. Tips for Success

Test locally first — run your case for a few iterations with OpenFOAM to catch obvious errors before uploading
Use blockMeshDict if you don't have a pre-built mesh — we generate it automatically during preflight
Zip only the case directory — the .zip root should contain your case folder, not loose files
Remove unnecessary output — delete old time directories (1/, 2/, etc.) to reduce upload size
Check your controlDict — make sure application matches a supported solver
Standard OpenFOAM format — use standard OpenFOAM dictionary syntax (no YAML, no JSON)
You get 3 attempts — if validation fails, you can re-upload a corrected bundle without paying again

Ready to proceed?

Submit your OpenFOAM case and get automated validation in minutes.

Start intake

See the pipeline

From upload to sealed evidence pack — how the full process works.

How it works

Compare tiers

Standard, Professional, and Enterprise pricing side by side.

View pricing