Glossary¶
Short definitions for OpenPFC and PFC simulation vocabulary. Deeper design detail is in architecture.md and halo_exchange.md. Use this page as a hub: other guides link here for jargon; follow links out to tutorials and ADRs.
Term |
Meaning |
|---|---|
Phase field crystal (PFC) |
Semi-atomistic modeling: periodic order parameters approximate crystal density; used for microstructure, defects, and large-scale evolution. |
Domain |
Global description of the grid: dimensions, spacing, origin, periodicity ( |
Decomposition |
Partition of the domain across MPI ranks; each rank owns an inbox of local samples. |
Inbox / outbox |
Real-space samples owned by a rank (inbox) and complex outbox layout after real-to-complex FFT (sizes differ due to symmetry). |
Halo (ghost cells) |
Overlapping boundary layers exchanged between neighbors for finite differences or stencils. |
In-place vs separated halos |
In-place: ghosts stored in the same array as interior (good for FD-only). Separated: ghosts in face buffers so the interior stays FFT-safe — see |
Spectral method |
Spatial operators applied in Fourier space (FFT forward → multiply → inverse FFT); primary path in OpenPFC. |
Finite difference (FD) |
Spatial derivatives on the grid with halos; coexists with spectral workflows when layouts match the docs. |
Abstract spatial operators (direction) |
Roadmap: choose spectral vs FD for gradients/Laplacians behind a unified interface where supported — see |
HeFFTe |
Library for distributed FFT; OpenPFC’s FFT backend selection goes through HeFFTe (FFTW / CUDA / ROCm). |
Kernel / runtime / frontend |
Kernel: portable abstractions. Runtime: CPU/CUDA/HIP execution and FFT. Frontend: optional JSON/TOML |
Model |
Your physics: fields, time step, spectral or FD operators ( |
Simulator |
Orchestrates Model, Time, FieldModifier (IC/BC), ResultsWriter. |
FieldModifier |
Applies initial or boundary updates each step or at startup. |
SimulationContext |
Small bundle (MPI comm, rank-0) passed with |
App<Model> |
Frontend entry point that loads JSON/TOML and builds a session ( |
|
HeFFTe FFT planner settings (backend, reshape algorithm, pencils, GPU-aware MPI, …), usually a JSON object or TOML |
|
Time between periodic result writes in the spectral |
|
MPI-IO raw output per timestep; no file header — see |
GPU-aware MPI |
MPI implementation that can pass device buffers; required for some CUDA/HIP + HeFFTe paths — see |
VTK ( |
XML image data for visualization; produced by |
See also¶
Documentation index — full documentation map
class_tour.md— main types, headers, and runnable referencesconfiguration.md— config file sectionsapp_pipeline.md— JSON/TOML →Simulatorfaq.md— practical Q&A