https://github.com/ngsolve/ngspetsc
ngsPETSc Docs
https://github.com/ngsolve/ngspetsc
Last synced: 4 months ago
JSON representation
ngsPETSc Docs
- Host: GitHub
- URL: https://github.com/ngsolve/ngspetsc
- Owner: NGSolve
- License: mit
- Created: 2023-05-07T09:29:34.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-02T09:17:00.000Z (8 months ago)
- Last Synced: 2025-10-03T14:53:47.085Z (8 months ago)
- Language: Python
- Homepage: https://ngspetsc.readthedocs.io/en/latest/
- Size: 45.2 MB
- Stars: 6
- Watchers: 6
- Forks: 8
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ngsPETSc
[](https://github.com/NGSolve/ngsPETSc/actions/workflows/ngsPETSc.yml)
[](https://ngspetsc.readthedocs.io/en/latest/?badge=latest)
[](https://doi.org/10.21105/joss.07359)
ngsPETSc is an interface between PETSc and NGSolve/NETGEN that enables the use of NETGEN meshes and geometries in PETSc-based solvers while providing NGSolve users access to the wide array of linear, nonlinear solvers, and time-steppers available in PETSc.
## Installation
ngsPETSc is available on [PyPI](https://pypi.org/project/ngsPETSc/).
If you have PETSc installed be sure to set the `PETSC_DIR` and `PETSC_ARCH` environment variables to the required values.
You can install by running:
```bash
pip install ngsPETSc
```
## Getting started
To get started with ngsPETSc, check out the [documentation](https://ngspetsc.readthedocs.io/en/latest/).
## Development
If you already have NGSolve (with MPI support) and PETSc installed, you can install ngsPETSc via pip:
```bash
git clone https://github.com/NGSolve/ngsPETSc.git
pip install ./ngsPETSc
```
Alternatively, you can also build PETSc, SLEPc, and NGSolve from source following the instructions in the [documentation](https://ngspetsc.readthedocs.io/en/latest/install.html).
### Testing
To test the installation, you can run the tests in the `tests` folder, via the Makefile in the root directory of the repository:
```bash
make test
```