Upwind summation-by-parts discontinuous galerkin method for solving PDEs
Project description
UDG - Upwind Discontinuous Galerkin Method
A minimal python implementation of the upwind discontinuous galerkin method for solving scalar advection equations.
Installation
pip install udg
Or with uv:
uv pip install udg
Quick Start
Step 1: Run the DGSEM solver (Kopriva et al., 2009)
python -m udg.cli sem-dg
Step 2: Run the Nodal-DG solver (Hesthaven et al., 2008)
python -m udg.cli nodal-dg
Step 3: Run the entropy-stable DG solver (Gassner et al., 2013)
python -m udg.cli entropy-dg
Step 4: Run the upwind summation-by-parts DG solver
python -m udg.cli upwind-dg
Development
Setup
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and install
git clone https://github.com/jaisw7/udg.git
cd udg
uv sync --all-extras
# Activate virtual environment
source .venv/bin/activate
# Install pre-commit hooks (optional)
pre-commit install
Code Quality
# Format code
make format
# Run linting
make lint
# Type checking
make type-check
# Run all checks
make pre-commit
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Run
make pre-committo ensure code quality - Submit a pull request
License
MIT License - See LICENSE file for details
Disclaimer
This software is for educational and research purposes only.
Support
For issues, questions, or contributions:
- Open an issue on GitHub
- Check documentation
- Review test examples
References
- Kopriva, David A. Implementing spectral methods for partial differential equations: Algorithms for scientists and engineers. Springer Science & Business Media, 2009.
- Hesthaven, Jan S., and Tim Warburton. Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications. Springer Science & Business Media, 2008.
- Gassner, Gregor J. "A skew-symmetric discontinuous Galerkin spectral element discretization and its relation to SBP-SAT finite difference methods." SIAM Journal on Scientific Computing 35.3 (2013): A1233-A1253.
Results
DGSEM
Nodal-DG
Entropy-Stable DG
Upwind DG
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file udg-0.1.1.tar.gz.
File metadata
- Download URL: udg-0.1.1.tar.gz
- Upload date:
- Size: 132.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81d6573b03f097b7734021c874eb71629edcc0608e00a36bfb8e0f5bfa01269f
|
|
| MD5 |
47e77a0eb001c2f89ebe2d61354051e5
|
|
| BLAKE2b-256 |
15402f01941f7aee620f11449f803cd06d7ffeeca852026a5bed8b9542f11fd3
|
Provenance
The following attestation bundles were made for udg-0.1.1.tar.gz:
Publisher:
publish.yml on jaisw7/udg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
udg-0.1.1.tar.gz -
Subject digest:
81d6573b03f097b7734021c874eb71629edcc0608e00a36bfb8e0f5bfa01269f - Sigstore transparency entry: 779523661
- Sigstore integration time:
-
Permalink:
jaisw7/udg@5b6aff5cd83ea7a0f75523b04e0fb5999babffa9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jaisw7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5b6aff5cd83ea7a0f75523b04e0fb5999babffa9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file udg-0.1.1-py3-none-any.whl.
File metadata
- Download URL: udg-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9d9a82edc095efc444ae4207fd0c5fee05bc1f7d8609b47834626b6c9431643
|
|
| MD5 |
53a3f0a6c12bb77cc98212ae4c796850
|
|
| BLAKE2b-256 |
396c1c503f0b744a593f84343441889549dc46e027439a623bf69451b1e45f60
|
Provenance
The following attestation bundles were made for udg-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on jaisw7/udg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
udg-0.1.1-py3-none-any.whl -
Subject digest:
c9d9a82edc095efc444ae4207fd0c5fee05bc1f7d8609b47834626b6c9431643 - Sigstore transparency entry: 779523662
- Sigstore integration time:
-
Permalink:
jaisw7/udg@5b6aff5cd83ea7a0f75523b04e0fb5999babffa9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jaisw7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5b6aff5cd83ea7a0f75523b04e0fb5999babffa9 -
Trigger Event:
release
-
Statement type: