https://github.com/wqcg/blitzdg
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.
https://github.com/wqcg/blitzdg
blitz discontinuous-galerkin docker linux mesh mingw mpi navier-stokes shallow-water-equations solver
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/wqcg/blitzdg
- Owner: WQCG
- License: other
- Created: 2018-04-18T12:36:35.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-21T20:33:16.000Z (over 2 years ago)
- Last Synced: 2025-02-20T12:19:21.679Z (8 months ago)
- Topics: blitz, discontinuous-galerkin, docker, linux, mesh, mingw, mpi, navier-stokes, shallow-water-equations, solver
- Language: C++
- Homepage: https://wqcg.github.io/blitzdg/
- Size: 6.9 MB
- Stars: 7
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# 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 ```blitzdg``` output
[](https://travis-ci.org/WQCG/blitzdg) [](https://coveralls.io/github/WQCG/blitzdg?branch=master)
## 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](https://github.com/WQCG/blitzdg/blob/master/CONTRIBUTING.md "Contributing Markdown") before getting started.
## Maintainer
* [Derek Steinmoeller](https://github.com/dsteinmo)
## Lead Developers
* [Derek Steinmoeller](https://github.com/dsteinmo)
* [Killian Miller](https://github.com/k7miller)
## 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](https://wqcg.github.io/blitzdg "blitzdg Documentation") and is kept synchronized with the master branch via automation.
## License
This project is licensed under the [GNU Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.en.html "GPLv3 License").
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](mailto:dsteinmo@wqcg.ca).