Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
OpenPFC documentation
Logo
OpenPFC documentation

Welcome

  • When OpenPFC is (and is not) the right tool
  • Learning paths

Start

  • Start here
  • Quick start
  • Getting started: library concepts
  • Library basics: domain, decomposition, and FFT
  • Functional Field Operations (IC / BC)
  • Troubleshooting
  • Frequently asked questions

Learn

  • Package architecture
  • The spectral stack (mental model)
  • Halo Exchange: Status and Roadmap
  • Science and numerics — practical limits
  • Tutorials
  • Recipes (how-to)
  • Workshop curriculum

Run

  • User guide
  • Applications
  • Configuration files (JSON / TOML)
  • Config-driven application pipeline (App → Simulator)
  • Parameter validation (custom models)
  • Custom stepper integration
  • Results I/O (binary, VTK, PNG)
  • Post-processing binary field files (external tools)
  • Showcase
  • HPC and cluster operation
  • HPC operator’s guide
  • GPU vs CPU: choose a path
  • CPU vs GPU build trees (quick reference)
  • Checklist: MPI layout, paths, and binary I/O
  • Performance profiling
  • Profiling export schema (JSON and HDF5)
  • Building OpenPFC on LUMI-G (HeFFTe + HIP / ROCm)
  • Building OpenPFC on tohtori (GCC + Open MPI + optional CUDA)
  • Slurm: tungsten performance on LUMI

Extend

  • Extending OpenPFC
  • Build a minimal config-driven application
  • Per-point grads aggregates
  • Tutorial: add a Catch2 unit test
  • OpenPFC developer style guide
  • Science note: Tungsten PFC runs (what you are simulating)
  • Science note: Cahn–Hilliard (examples/) vs Allen–Cahn (apps/)

Reference

  • Reference
  • Tour of main types
  • Examples catalog
  • C++ API examples walkthrough
  • Spectral App configuration reference (JSON / TOML)
  • Binary field I/O specification (MPI-IO)
  • CMake options reference
  • Dependency and toolchain matrix
  • Example run output (what “success” looks like)
  • Operator playbooks (symptom → fix)
  • Glossary
  • C++ API reference
    • Data and domains
    • Decomposition and FFT
    • Simulation contracts
    • Application frontend
    • Execution and fields

Project

  • Development and maintenance
  • Building and running tests
  • Debugging
  • Include hygiene (minimal headers)
  • Contributing to documentation
  • Sphinx documentation site
  • Documentation vs releases
  • From paper to run
  • Architecture Decision Records (ADR)
  • Refactoring roadmap (architecture)
  • Building a printable handbook (optional)
  • Image prompts for OpenPFC artwork
  • Scalability analysis plan
Back to top
Copyright © 2026, VTT Technical Research Centre of Finland Ltd
Made with Sphinx and @pradyunsg's Furo
Last updated on 2026-07-28