Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/GridOPTICS/GridPACK/llms.txt

Use this file to discover all available pages before exploring further.

GridPACK is an open-source high-performance computing (HPC) framework for simulating large-scale electrical transmission systems. Developed at Pacific Northwest National Laboratory (PNNL) under Battelle Memorial Institute, it is written in C++ and uses MPI, Global Arrays, and PETSc to distribute computation across many processors — from laptops to DOE leadership-class supercomputers. Python wrappers are available for scripting and integration workflows.

Key capabilities

GridPACK ships with four production-ready simulation applications and a framework for building new ones:
  • AC power flow — Newton-Raphson solver with Q-limit handling, switched shunts, load tap changer (LTC) transformer control, area interchange control, and ZIP load models. Auto-detects PSS/E file version from the RAW file header.
  • Dynamics simulation — Full-Y matrix transient stability simulation with a DAE-based solver. Supports generator models (GENROU, GENSAL, classical), exciter models (ESST1A, ESST4B, EXDC1, SEXS), governor models (GGOV1, HYGOV, WSIEG1), renewable energy models (REGCA1, REGCB1, REECA1, REPCA1), and load models.
  • Contingency analysis — N-1 contingency screening with automatic slack bus transfer, capacity checking, and parallel execution across MPI processes.
  • State estimation — Weighted least squares with bad data detection using a chi-square test, sparse matrix support, and HPC-scale capability.
Two additional applications — electromagnetic transient (EMT) simulation and dynamic security assessment — are under active development.

PSS/E format support

GridPACK reads PSS/E RAW network files in versions v23, v33, v34, v35, and v36. Export modules for v23, v33, and v34 are also available. The power flow parser auto-detects the version from the RAW file header.

Framework building blocks

Beyond the pre-built applications, GridPACK provides reusable components for developing new parallel simulation tools:
  • Network partitioning and distribution across MPI ranks using ParMETIS
  • Bus and branch component model with a flexible data dictionary
  • Mapper infrastructure to assemble distributed algebraic systems from component contributions
  • Linear, nonlinear, and DAE solvers backed by PETSc
  • Input (XML) and output (screen, file, JSON, CSV) modules
  • Python bindings via pybind11 for scripting, automation, and integration

Language and interfaces

The core framework and all applications are written in C++. A Python interface (built with pybind11) wraps the power flow, dynamic simulation, state estimation, and HADREC modules. Python 3 is required for the wrappers; the pure C++ build has no Python dependency.

Supported platforms

GridPACK has been built and tested on the following platforms:
PlatformNotes
Linux (Ubuntu, RHEL, CentOS, Debian)Fully supported; recommended for production
macOS (via terminal)Supported; use Homebrew for MPI and CMake
HPC clusters (Cray, IBM, x86)Supported; platform notes in docs/notes/
Docker (AMD64 and ARM64)Recommended for getting started quickly
Docker is the recommended way to start. The pnnl/gridpack:latest image includes all dependencies pre-built and works on both Intel/AMD (AMD64) and Apple Silicon/AWS Graviton (ARM64) hardware.

License and attribution

GridPACK is distributed under the BSD 2-clause license. Copyright © 2013, Battelle Memorial Institute. Development has been funded by DOE Office of Electricity (Advanced Grid Modeling program), the Grid Modernization Laboratory Consortium, DOE EERE Solar and Wind Energy Technologies Offices, and PNNL LDRD. To cite GridPACK in publications:
@article{doi:10.1177/1094342015607609,
  author  = {Bruce Palmer and William Perkins and Yousu Chen and Shuangshuang Jin
             and David Callahan and Kevin Glass and Ruisheng Diao and Mark Rice
             and Stephen Elbert and Mallikarjuna Vallem and Zhenyu Huang},
  title   = {GridPACK{TM}: A framework for developing power grid simulations
             on high-performance computing platforms},
  journal = {The International Journal of High Performance Computing Applications},
  volume  = {30},
  number  = {2},
  pages   = {223--240},
  year    = {2016},
  doi     = {10.1177/1094342015607609}
}

Next steps

Docker quickstart

Pull the pre-built image and run your first simulation in minutes — no dependency installation required.

Build from source

Compile GridPACK from source on Linux or macOS with full control over dependencies and build options.

Framework overview

Learn how networks, components, mappers, and solvers fit together in the GridPACK architecture.

Application modules

Dive into the built-in power flow, dynamics, contingency analysis, and state estimation applications.

Build docs developers (and LLMs) love