Skip to content

Your first simulation

PKrunal26 edited this page Jul 26, 2026 · 1 revision

Your first simulation

Assumes Installation is done and the setup screen is green.


1. Create a project

From the home screen, create a project and describe what you want in plain English. Good first prompt:

Lid-driven cavity, 1 m square, lid moving at 1 m/s, Re=100, laminar incompressible.

You do not need to name solvers or files. Useful things to include when you know them: geometry and dimensions, boundary velocities or pressures, fluid properties or a Reynolds number, whether it is laminar or turbulent, and steady or transient.

2. Watch it generate

The agent works in the chat panel and streams what it is doing:

  1. Classifies the problem — solver module, dimensionality, flow regime, turbulence model.
  2. States the dependency order before writing anything.
  3. Writes each file in that order, with full context of the files already written — system/controlDict, constant/physicalProperties, constant/momentumTransport, system/blockMeshDict, then the 0/ field files.

Files appear in the sidebar as they are written. Click any one to open it in the editor; patch names defined in blockMeshDict are referenced identically across every 0/ file, which is where hand-written cases most often break.

Depending on your provider, a validation loop may run blockMesh and a short solve right away and fix problems before you ever see them.

3. Review before running

Everything is editable. Open system/controlDict and change endTime, or constant/physicalProperties and change viscosity. Edits save straight to the case directory and the agent sees them on the next turn.

The Parameters tab gives a structured view of the values you are most likely to change, without hunting through dictionaries.

4. Run it

Hit Run. The pipeline is fixed and visible:

Step Command Purpose
1 blockMesh Build the mesh
2 setFields Only if the case has a setFieldsDict (VoF/multiphase initialisation)
3 foamToVTK Convert the mesh so the Geometry tab can render it immediately
4 foamRun Solve
5 foamToVTK Convert every written time step for the Results tab

The Logs tab streams solver output live, with a residual plot building underneath as the run progresses. The Commands sidebar panel records every command with its exit code. Cancel at any point — that kills the container.

5. When it fails

It will, sometimes. FOAM FATAL ERROR is normal in CFD work and the app treats it as a first-class outcome rather than a crash.

The agent reads the solver log, identifies the root cause, and posts a diagnosis with a concrete diff — which file, which line, what value, and why. You approve or reject. Approved fixes are applied and the run restarts, up to three attempts before it stops and asks for help.

If it genuinely cannot identify the cause it says so instead of guessing.

6. Look at the results

The Results tab renders the solved case in 3D. What you get:

  • Colour by any field, with colormap selection and a scalar bar
  • Time animation across every written step, with a scrubber
  • Slice — axis presets or a custom plane with an offset slider
  • Clip — keep one side of a plane
  • Iso-surfaces — value slider
  • Vector glyphs — arrows with density and scale controls
  • Streamlines — line-rake seeds, RK4 integration, coloured by magnitude
  • Probe — field values at a point
  • Compare — two viewports on a shared camera
  • Screenshot export and a background toggle

Time steps are cached as you scrub, so animation does not re-read from disk.

The Geometry tab shows the mesh alone, available as soon as blockMesh finishes — useful for catching a wrong domain before you wait out a solve.

7. Keep going

The chat is multi-turn and keeps context. Follow-ups work:

Now run the same case at Re=400.

Refine the mesh to 60×60 and re-run.

Why did the pressure residual stall around 1e-4?

Each project keeps its own conversation, files, run history, and stored logs. Chat history can be cleared from the project without deleting the case.


What if I already have a case?

Projects are ordinary OpenFOAM case directories on disk — see How it works for the exact paths. You can point a normal OpenFOAM workflow at them, and an already-solved case can be converted for the Results tab without re-solving.

Clone this wiki locally