Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
PoPS 0.3.0
PoPS 0.3.0

Getting started

  • Getting started
    • Presentation
    • Installation
    • Quickstart
    • First run
    • Repository organization
    • Checking your backend
    • A-to-Z tutorial
    • Windows (WSL2)
    • Native Windows (without WSL2)

Tutorials

  • Run your first model
  • Write a model with ready-made bricks
  • Write a model with the physics DSL
  • Build a HyQMOM15 moment model
  • Combine native bricks and authored physics
  • Run the Euler-Poisson case
  • Run the Hoffart diocotron case
  • Self-gravitating Euler-Poisson
  • Run the asymptotic-preserving two-fluid case

Concepts

  • Hyperbolic-elliptic systems
  • The typed authoring API
  • PhysicalModel
  • Conservative and primitive variables
  • Fluxes, sources and eigenvalues
  • Moment models and closures
  • Elliptic right-hand side and the aux channel
  • Poisson equation
  • Time integration
  • Operator splitting, IMEX and Schur condensation
  • Adaptive mesh refinement
  • Multi-block and multi-species systems
  • Polar and disc geometry

How-to guides

  • Add a new model
  • Add or use a native brick
  • Add a DSL model
  • Add a numerical flux
  • Add a new case
  • Define initial conditions
  • Configure outputs and diagnostics
  • Visualize with ParaView
  • Run with OpenMP
  • Run with MPI
  • Run with Kokkos
  • Run on GH200
  • Profile performance

Writing a model

  • Models

Simulation

  • Simulation
    • Bound simulation
    • Spatial schemes
    • Time schemes
    • Substeps, stride, and multirate programs
    • Initial conditions
    • Outputs and diagnostics

AMR

  • AMR
    • Shared hierarchy
    • Tagging and regrid
    • Prolongation and restriction
    • Reflux
    • Multi-block AMR
    • AMR compatibility contract

Running

  • Running
    • Overview
    • Backend seams
    • CMake options
    • Kokkos Serial
    • Kokkos OpenMP
    • MPI + Kokkos Serial
    • MPI + Kokkos OpenMP
    • Kokkos CUDA on GH200
    • MPI + Kokkos CUDA
    • Backend matrix

Advanced topics

  • Advanced topics
    • Poisson and elliptic solvers
    • Multigrid Poisson
    • Spectral FFT Poisson
    • Coupled inter-species sources
    • Condensed Schur source stage
    • Compilation modes
    • Performance and profiling
    • Polar and embedded geometry
    • Extend with a C++ brick

Reference

  • Reference
    • Python API
    • Public API contract
    • Native bricks
    • Symbolic physics DSL
    • Time programs
    • Operator modules
    • Physics authoring facade
    • Typed operator-first IR (pops.model)
    • Builder layer
    • Native numerics: Riemann solvers and reconstruction
    • Typed bricks (pops.lib)
    • Package map
    • Strings to typed objects
    • Multi-species and multi-block programs
    • Program scheduler
    • Custom solvers
    • Moment models
    • API C++
    • Backend matrix
    • Environment variables
    • Validated boundaries
    • Bibliography

Development

  • Development
    • Documentation style guide
    • Testing
    • Numerical validation
    • Version control and branch management

Design

  • Design
    • Spec 4: Python package architecture

C++ reference

  • Embedded C++ API
    • Namespaces
      • Namespace List
      • Namespace Members
        • All
          • a
          • b
          • c
          • d
          • e
          • f
          • g
          • h
          • i
          • j
          • k
          • l
          • m
          • n
          • o
          • p
          • r
          • s
          • t
          • u
          • v
          • w
          • x
          • y
          • z
        • Functions
          • a
          • b
          • c
          • d
          • e
          • f
          • g
          • h
          • i
          • j
          • k
          • l
          • m
          • n
          • o
          • p
          • r
          • s
          • t
          • u
          • v
          • w
          • x
          • y
          • z
        • Variables
        • Typedefs
        • Enumerations
    • Concepts
    • Classes
      • Class List
      • Class Index
      • Class Hierarchy
      • Class Members
        • All
          • a
          • b
          • c
          • d
          • e
          • f
          • g
          • h
          • i
          • j
          • k
          • l
          • m
          • n
          • o
          • p
          • q
          • r
          • s
          • t
          • u
          • v
          • w
          • x
          • y
          • z
          • ~
        • Functions
          • a
          • b
          • c
          • d
          • e
          • f
          • g
          • h
          • i
          • l
          • m
          • n
          • o
          • p
          • q
          • r
          • s
          • t
          • u
          • v
          • w
          • x
          • y
          • ~
        • Variables
          • a
          • b
          • c
          • d
          • e
          • f
          • g
          • h
          • i
          • j
          • k
          • l
          • m
          • n
          • o
          • p
          • q
          • r
          • s
          • t
          • u
          • v
          • w
          • x
          • y
          • z
        • Typedefs
        • Enumerations
    • Files
      • File List
      • File Members
        • All
        • Macros
  • C++ API (Doxygen)
Back to top
Copyright © 2026, Romain Despoullains
Made with Sphinx and @pradyunsg's Furo