Skip to main content

Discontinuous Galerkin Finite Element Library and Solvers

Project description


blitzdg is an open-source project aiming to implement parallel discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations and MPI for distributed parallelism.

shallow water wave example

Shallow Water Wave Example blitzdg output

Build Status Coverage Status

Support blitzdg: Donate to blitzdg development

Getting Started

Build and development support has broadened from linux only to Mac OSX and Windows systems. Tested with GNU make (written to be cross-platform) and g++ on linux/MinGW64, c++ on Mac OSX Sierra. Our build system depends on the cross-platform cmake tooling for Makefile generation.

  1. git clone
  2. cd blitzdg && ./
  3. cmake . && make && ./bin/advec1d (This binary is a 1D advection equation solver.).
  4. Run unit tests with make test.

Running with Docker

You can also run the build and tests inside a docker (linux) container. The container is based on an ubuntu 18.04 image.

  1. git clone && cd blitzdg
  2. docker build -t blitzdg .
  3. docker run -t blitzdg


So far:

  • cmake
  • blitz++
  • SuiteSparse (umfpack, cxsparse)
  • metis
  • boost
  • igloo for BDD-style testing.
  • vtk for visualization in Paraview.
  • boost-python for experimental python bindings.

Dependency installation is outlined in (tested on Ubuntu and Mac OSX).


The Windows build is currently deprecated due to lack of MinGW support of libvtk.


We accept pull requests from public forks, and we use pull requests as the primary delivery mechanism of any new code within the base repository.

If you add code, please write tests using the igloo testing framework that is included as a project dependency. Your code additions will be subject to peer review and will be run through our Travis-CI continuous integration process.

Interested developers should consult the Guidelines for Contributing before getting started.


Lead Developers


We actively maintain an interactive set of docs using Doxygen for end-user consumption.

The documentation is available on github pages at and is kept synchronized with the master branch via automation.


This project is licensed under the GNU Public License Version 3.

Our license choice is driven by the desire to keep this project and any of its derivative works open-source for public consumption by developers, mathematicians, scientists, engineers, and anyone else who might be interested in this project.


Any questions regarding the project may be addressed via email to the project maintainer.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyblitzdg, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size pyblitzdg-0.1.7-cp37-cp37m-win_amd64.whl (6.3 MB) File type Wheel Python version cp37 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page