The fastest way to run GridPACK is with the official Docker image. It includes a complete installation of GridPACK and all its dependencies — OpenMPI, Boost, Global Arrays, and PETSc — compiled and ready to use. The image supports both AMD64 (Intel/AMD) and ARM64 (Apple Silicon, AWS Graviton) architectures; Docker automatically pulls the correct variant for your platform.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.
The container’s default working directory is
/app/workspace. When you mount a local directory with -v, its contents appear at that path inside the container. All GridPACK application binaries are on the PATH.Pull and run the image
Pull the image
Pull the latest stable image from Docker Hub:To pin to a specific release, use a versioned tag instead:
Start an interactive session
Mount your current directory into the container and open an interactive shell:The flags used here:
You will land at
| Flag | Purpose |
|---|---|
-it | Allocate a TTY and keep stdin open for interactive use |
--rm | Remove the container automatically when you exit |
-v $(pwd):/app/workspace | Mount your current host directory into the container |
/app/workspace inside the container.Run the dynamics simulation example
The container ships with pre-built GridPACK application binaries and test input files. Run the full-Y dynamics simulation on the 145-bus test case:On a successful run, timing statistics are printed to the terminal after the simulation completes. You can also run the 9-bus test case:
Run with MPI for parallel execution
GridPACK applications are MPI-parallel. Use The container sets
mpirun inside the container to run on multiple processes:OMPI_ALLOW_RUN_AS_ROOT=1 so MPI runs without privilege warnings in the containerized environment.For large simulations, increase the container’s memory limit by adding
--memory=8g (or more) to your docker run command.Run a single command without an interactive shell
You do not need an interactive session for scripted workflows. Pass the command directly todocker run:
Specify architecture explicitly
Docker selects the correct image variant automatically, but you can request a specific architecture:Container directory layout
| Path | Contents |
|---|---|
/app/workspace | Default working directory; mount your files here |
/app/src/install | GridPACK installation (binaries, headers, libraries) |
/app/src/build | Build directory with application executables and test inputs |
/deps | Pre-built Boost, Global Arrays, and PETSc installations |
Pre-configured environment variables
The following environment variables are set inside the container:Troubleshooting
Permission errors on mounted files If you encounter file permission errors when writing output to the mounted volume, run the container with your host user ID:OMPI_ALLOW_RUN_AS_ROOT=1 and OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1. These suppress the OpenMPI root-user warning and are safe in containerized environments.
Next steps
Build from source
Compile GridPACK outside of Docker with full control over dependencies and build flags.
Power flow application
Learn how to configure and run the AC power flow application on your own network files.