Skip to content

UCL/dxss

Repository files navigation

DOLFINx time slab solver

Tests codecov Linting pre-commit Ruff Documentation Licence

dxss provides DOLFINx solvers on space-time finite element spaces which use a partition of the time interval to decompose the spatio-temporal domain into a collection of time slabs.

This project is developed by the Department of Mathematics in collaboration with the Centre for Advanced Research Computing, at University College London.

Documentation

Documentation can be viewed at https://github-pages.ucl.ac.uk/dxss/

About

Project team

Current members

Former members

Research software engineering contact

Centre for Advanced Research Computing, University College London (arc.collaborations@ucl.ac.uk)

Built with

Getting started

Prerequisites

Compatible with Python 3.9 and 3.10. Requires DOLFINx v0.6 to be installed.

Note

We don't currently support DOLFINx v0.7 but are working on it!

Installation

To install the latest development using pip run

pip install git+https://github.com/UCL/dxss.git

Alternatively create a local clone of the repository with

git clone https://github.com/UCL/dxss.git

and then install in editable mode by running

pip install -e .

from the root of your clone of the repository.

In order to maximise cross-platform multi-arch compatibility, dxss uses PETSc solvers by default. If you have an Intel system you can install our PyPardiso solver backend with

pip install -e ".[pypardiso]"

or simply install it separately in the same environment as dxss with

pip install pypardiso

Running tests

Tests can be run across all compatible Python versions in isolated environments using tox by running

tox

from the root of the repository, or to run tests with Python 3.9 specifically run

tox -e test-py39

substituting py39 for py310 to run tests with Python 3.10.

To run tests manually in a Python environment with pytest installed run

pytest tests

again from the root of the repository.

Building documentation

HTML documentation can be built locally using tox by running

tox -e docs

from the root of the repository with the output being written to docs/_build/html.

Other contributing guidelines

See CONTRIBUTING.md.

Acknowledgements

This work was funded by a grant from the the Engineering and Physical Sciences Research Council (EPSRC).