Skip to main content

Discontinuous Galerkin Finite Element Library and Solvers

Project description

blitzdg

blitzdg is an open-source library offering discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations in a C++ environment or NumPy as a Python 3 library.

shallow water wave example

Shallow Water Wave Example blitzdg output

Build Status Coverage Status

Support blitzdg: Donate to blitzdg development

Building From Source

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, clang++ on Mac OSX High Sierra, and MSVC on Windows. Our build system depends on the cross-platform cmake tooling for Makefile generation.

  1. git clone https://github.com/dsteinmo/blitzdg.git
  2. cd blitzdg && ./pull-deps.sh
  3. cmake . && make advec1d && ./bin/advec1d (This binary is a 1D advection equation solver.).
  4. Run unit tests with make test.

Dependencies

  • cmake
  • blitz++
  • SuiteSparse (umfpack, cxsparse)
  • LAPACK
  • metis
  • igloo for BDD-style testing.
  • vtk for visualization in Paraview.
  • boost-python3 for python bindings.
  • boost-numpy3 for numpy C++ interoperability.

Dependency installation is outlined in pull-deps.sh (tested on Ubuntu and Mac OSX).

Windows

Our windows distribution was recently switched from MinGW to MSVC in order to achieve better support for graphics APIs, so support is lacking at the moment. Instructions will be made available here soon.

Contributing

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.

Maintainer

Lead Developers

Documentation

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

The documentation is available on github pages at https://wqcg.github.io/blitzdg and is kept synchronized with the master branch via automation.

License

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.

Contact

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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyblitzdg-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyblitzdg-1.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (36.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

File details

Details for the file pyblitzdg-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyblitzdg-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db296572689dbc1a237cdcc2031a28c2d5c2eb057a95e8dde5c3e1e02c556992
MD5 786e358202113494ca6a38fd25c19de1
BLAKE2b-256 6a37e228ad5cb099f23ee2e6f87ba8e5d14b47a87830d1c5ee0826aecf20d5e1

See more details on using hashes here.

File details

Details for the file pyblitzdg-1.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyblitzdg-1.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4860c90e063bb6fd1b61793b83a3e33c3467f87de0a9d275ac7f28b18510c36d
MD5 c35db626c99239f0dbb18e200a870d32
BLAKE2b-256 d16b9305b39fb5c51561b78c8248f9a4c92dd0027aa97949e37e5f6d45450619

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page