PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
 
Loading...
Searching...
No Matches
Quick Start

Type TutorialFor New usersStatus Current workflow

Cropped preview of the flat-channel velocity field produced by this Quick Start
Quick Start

Your first simulation.

Create, validate, run, and inspect a complete PICurv case from a clean workspace.

Cropped preview · Ucat_nodal at step 20

The case

Laminar flat-channel flow

Flow at Re = 200 moves through a straight rectangular channel with no-slip walls, a constant-velocity inlet, and a conservative outlet.

9 × 9 × 17
grid cells
20
timesteps
2
MPI ranks
The solver

Dual-time + multigrid

Dual-time Picard–Jameson RK advances momentum. FGMRES with a three-level geometric-multigrid preconditioner solves the pressure correction.

Explore the solver reference
The route

One case. Four clear moves.

Before you start

PICurv must be built with an MPI runtime available. Load the project environment:

source <repo>/etc/picurv.sh
picurv --help

If picurv --help fails, complete the Installation guide. Run the remaining commands from the workspace where the new case should live.

1. Create a case

Initialize the checked-in flat-channel template and enter the new case directory:

picurv init flat_channel --dest my-first-run
cd my-first-run

A successful initialization ends with:

[SUCCESS] Case directory is ready.
          Runtime binaries (simulator, postprocessor) are resolved from bin/ automatically.

This run uses four profiles:

Case quickstart_flat_channel.yml

Grid and physics.

Solver Imp-MG-Standard.yml

Numerical methods.

Monitor quickstart_Standard_Output.yml

Logs and checkpoints.

Post-process quickstart_standard_analysis.yml

VTK output.

2. Validate the configuration

Check the four profiles together:

picurv validate \
--case quickstart_flat_channel.yml \
--solver Imp-MG-Standard.yml \
--monitor quickstart_Standard_Output.yml \
--post quickstart_standard_analysis.yml

The final line is:

[SUCCESS] Validation completed for 5 file(s).

3. Run the solver and postprocessor

Launch the 20-step case on two MPI ranks and post-process its final checkpoint:

picurv run --solve --post-process -n 2 \
--case quickstart_flat_channel.yml \
--solver Imp-MG-Standard.yml \
--monitor quickstart_Standard_Output.yml \
--post quickstart_standard_analysis.yml

The quickstart grid contains 9 x 9 x 17 cells. A completed run ends with:

[INFO] Created new self-contained run directory:
       runs/quickstart_flat_channel_<timestamp>

Progress: [==================================================] 100% (Step 20/20)
[SUCCESS] Execution finished successfully.

RUN SUMMARY
  Stages          : solve, post-process
  Solver MPI procs: 2
  Post MPI procs  : 2
  Steps run       : 20
  Post output     : <run.visualization>/<recipe_id>/

4. View the result

The postprocessor writes one VTK structured-grid file for the final step, and the conductor writes a collection containing its checkpoint physical time:

<run.visualization>/<recipe_id>/eulerian_data_00020.vts
<run.visualization>/<recipe_id>/eulerian_data.pvd

Open eulerian_data.pvd in ParaView, add a Slice, and color it by Ucat_nodal:

Velocity-field slice from the PICurv flat-channel Quick Start in ParaView
Velocity in the flat-channel Quick Start after nodal averaging at step 20.

Use the Visualization tutorial for the complete ParaView workflow and other output fields.

The pattern behind every simulation

This Quick Start is deliberately small, but it does not use a special execution path. Every PICurv simulation follows the same workflow: define its case and supporting profiles, validate them together, materialize a self-contained run, execute the MPI solver, and post-process checkpoints into analysis-ready output.

  1. Define profiles
  2. Validate controls
  3. Self-contained run
  4. MPI solve
  5. Write checkpoints
  6. Post-process outputs

The grid, physics, solver, monitoring, and analysis choices can change from one case to another; this simulation workflow stays the same.

For a failed command or incomplete run, use Troubleshooting.

Where to go next