PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
Capabilities Summary: What You Can Do

This page provides a high-level summary of the features and models currently implemented in PICurv that are fully configurable through the pic-flow workflow and .yml files. This is the scope of what you can achieve as a user, without needing to modify the C source code.

1. Grid and Domain Features

  • Grid Generation:
    • Programmatic: Generate stretched Cartesian grids for simple domains. You control the resolution, physical dimensions, and geometric stretching ratio in each direction.
    • File-Based: Import complex, single-block or multi-block curvilinear grids from an external file (.picgrid format).
  • Domain Topology:
    • Multi-Block: Configure simulations with multiple stitched grid blocks, each with its own boundary conditions.
    • Periodicity: Enable periodic boundary conditions in any of the i, j, or k logical directions.

2. Physics & Flow Models

  • Flow Regime:
    • Incompressible Flow: The solver is built on the incompressible Navier-Stokes equations.
    • Laminar or Turbulent: Simulate both laminar flows and turbulent flows using the implemented turbulence model.
  • Dimensionality:
    • Configure simulations to run in full 3D or simplified 2D.
  • Turbulence Modeling:
    • Large Eddy Simulation (LES): An LES model with a dynamic Smagorinsky sub-grid scale model is available.
  • Lagrangian Particle Transport:
    • Particle Seeding: Add a specified number of massless Lagrangian particles to the domain.
    • Initialization: Initialize particles either randomly throughout the entire volume or specifically on the surface of the primary inlet.

3. Numerical Scheme Control

  • Time Integration:
    • Explicit (Runge-Kutta): A fast, explicit time-stepping scheme suitable for flows with a moderate time-step restriction.
    • Implicit: A more robust implicit scheme that allows for larger time steps, suitable for stiff or complex problems.
  • Convection Scheme:
    • QUICK: A third-order upwind scheme (default).
    • Central Differencing: A second-order central difference scheme.
  • Pressure-Poisson Solver:
    • Geometric Multigrid: A highly configurable geometric multigrid (PCMG) preconditioner is the default. You can control the number of levels, sweeps, and cycle types.
    • Advanced PETSc Control: Pass-through any valid PETSc KSP (solver) or PC (preconditioner) option to fully customize the linear algebra strategy.

4. Boundary Conditions

The following physical boundary conditions are available through the boundary_conditions section of case.yml:

  • Inlets:
    • constant_velocity: Uniform velocity profile.
    • parabolic: Parabolic (Poiseuille) profile for developed flow.
  • Outlets:
    • conservation: A zero-gradient condition that enforces mass conservation.
  • Walls:
    • noslip: Standard no-slip wall condition.
  • Other:
    • symmetry_plane: A slip-wall condition.
    • periodic: For use with periodic domains.

5. Post-Processing Capabilities

The built-in post-processor allows you to perform the following analyses without external tools:

  • Data Conversion:
    • Convert cell-centered data to node-centered data (CellToNodeAverage), which is ideal for smooth contour plots in visualization software.
    • Convert all non-dimensional solver output back to physical, dimensional units.
  • Derived Quantities (Eulerian):
    • Calculate the Q-Criterion (ComputeQCriterion) to identify vortex structures.
    • Normalize fields relative to a reference point (NormalizeRelativeField).
  • Derived Quantities (Lagrangian):
    • Calculate the Specific Kinetic Energy (specific_ke) of each particle.

5. Next Steps

If your research requires a feature not listed above—such as a new turbulence model, a custom boundary condition, or a new post-processing kernel—you will need to extend the C source code.

Please proceed to the Developer Portal to learn about the code's structure and how to contribute new features.