First CLI analysis: 2D external airfoil flow

This tutorial is the first path for inspecting Wake CFD input files and run results. It does not begin with turbulence models or mesh generation. The goal is first to run one validated example case and read its logs, force coefficients, and flow-field files.

It is intended for everyone from new CFD users to practitioners evaluating a new solver. Follow it in order if you are new, or start at Review the results if you are already familiar with the workflow.

Prerequisites

  • Wake CFD 2D executable (wake_2d_mixed or wake_2d_mixed.exe)
  • The 2D airfoil example directory included with the distribution
  • The mesh file specified by the example
  • ParaView, if you want to visualize volume or surface results
Important

Keep the example directory and configuration files together.

Mesh paths and $extends in the input file are normally resolved from the example directory. Copying only configuration files elsewhere can cause execution to fail or inherited files to be unavailable.

1. What does it calculate?

It solves steady compressible flow around a 2D airfoil. The example demonstrates the following Wake CFD concepts together.

  • mesh — An SU2, CGNS, or Gmsh mesh with named airfoil and farfield boundaries
  • models, materials, reference — Fluid properties and reference values
  • domains.boundaries — Airfoil wall and farfield conditions
  • numerical_method — DBNS, convective scheme, CFL, and linear solver
  • monitoring — Residual and force-coefficient records
  • outputs — Volume and surface files for ParaView

The important point is not memorizing numbers, but understanding the connection between mesh marker names → boundary conditions → monitor and output names.

2. Copy the example to a separate working directory

Copy the entire example directory from the distribution to your working location. Below, naca0012-2d represents that example directory in the distribution.

my-wake-work/
└─ naca0012-2d/
   ├─ case.jsonc
   ├─ mesh/ or _mesh/
   └─ (required base/overlay JSONC files)

Preserve the original example. Running experiments that change analysis conditions in a copy makes results and configuration changes easier to track.

3. Run the case

Open a terminal in the directory containing the example’s case.jsonc and invoke the 2D executable.

# Linux
/path/to/wake/wake_2d_mixed case.jsonc

# Windows PowerShell
& "C:\path\to\wake\wake_2d_mixed.exe" case.jsonc

First confirm that the example’s analysis.dimension is 2 and that you are using the 2D binary. A 3D binary cannot run 2D input.

Tip

Do not change settings on the first run. You need a baseline result before you can distinguish problems caused by later changes.

4. What to check during the run

The console shows iteration number, residuals, and monitors requested by the example. For a steady analysis, check all three of the following.

  1. Residuals — Whether they decrease sufficiently from their initial values
  2. Force coefficients — Whether CFx, CFy, and CMz change very little late in the run
  3. Unsteady behavior — If coefficients continue to oscillate substantially in a steady analysis, reconsider the settings, mesh, and physical model

Do not judge success from residuals alone. Even low residuals do not establish practical convergence if quantities of interest are still changing. Conversely, if residuals flatten but coefficients are stable and the cause of variation is understood, use convergence diagnostics to choose the next action.

Review the results

Example settings normally request the following two kinds of results.

Result What to check First review method
History CSV Residuals, force coefficients, and monitor time history Plot in a spreadsheet or Python
Volume/surface files Spatial distributions such as Mach, pressure, Cp, and wall variables Open in ParaView

In ParaView, first open volume results and color by Mach or Pressure to see whether the flow looks physically plausible. If surface results are available, inspect Cp on the airfoil surface. Filenames and field lists are defined in the input outputs block.

First settings to change

Preserve the baseline run, then change one item at a time and record the result differences.

Setting to change Location Expected change
Angle of attack aoa in the farfield boundary condition Changes in lift and pressure distribution
Mach number Farfield and initialization Possible changes in compressibility effects and shock location
Iteration limit run_control Changes in run time and convergence-review range
Output frequency outputs / monitoring Changes in disk use and temporal resolution

Mesh marker names, boundary_names, and mesh_markers must match the example mesh exactly. Do not rename them arbitrarily.

Next steps