https://github.com/alan-turing-institute/stat-fem
Python tools for solving data-constrained finite element problems
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (20.7%) to scientific vocabulary
Keywords
Repository
Python tools for solving data-constrained finite element problems
Basic Info
- Host: GitHub
- Owner: alan-turing-institute
- License: lgpl-3.0
- Language: Python
- Default Branch: main
- Size: 727 KB
Statistics
- Stars: 13
- Watchers: 5
- Forks: 8
- Open Issues: 16
- Releases: 0
Topics
Metadata Files
README.md
stat-fem
Python tools for solving data-constrained finite element problems
Overview
This package provides a Python implementation of the Statistical Finite Element Method (FEM) as described in the paper by Girolami et al. [1] to use data observations to constrain FEM models. The package builds on top of Firedrake [2] to assemble the underlying FEM system and uses PETSc [3-4] to perform the sparse linear algebra routines. These tools should allow the user to create efficient, scalable solvers based on high level Python code to address challenging problems in data-driven numerical analysis.
Installation
Installing stat-fem
stat-fem requires a working Firedrake installation. The easiest way
to obtain Firedrake is to use the installation script provided by the
Firedrake project on the firedrake homepage.
bash
curl -O https://raw.githubusercontent.com/firedrakeproject/firedrake/master/scripts/firedrake-install
python3 firedrake-install --install git+https://github.com/alan-turing-institute/stat-fem#egg=stat-fem
This will install Firedrake and install the stat-fem library inside the
Firedrake virtual environment. If this does not work, details on manual
installation are provided in the documentation.
Using a Docker Container
Alternatively, we provide a working Firedrake Docker container that has the stat-fem code
and dependencies installed within the Firedrake virtual environment. See the docker
directory in the stat-fem repository.
Testing the installation
The code comes with a full suite of unit tests. Running the test suite uses pytest and pytest-mpi
to collect and run the tests. To run the tests on a single process, simply enter pytest into
the running virtual environment from any location in the stat-fem directory. To run the test
suite in parallel, enter mpiexec -n 2 python -m pytest --with-mpi or
mpiexec -n 4 python -m pytest --with-mpi depending on the number of desired
processes to be used. Tests have only been written for 2 and 4 processes, so
you may get a failure if you attempt to use other choices for the number
of processes.
Example Scripts
An example illustrating the various code capabilities and features is included in
the stat-fem/examples directory.
Contact
This software was written by Eric Daub as part of a project with the Research Engineering Group at the Alan Turing Institute.
Any bugs or issues should be filed in the issue tracker on the main Github page.
References
[1] Mark Girolami, Eky Febrianto, Ge Yin, and Fehmi Cirak. The statistical finite element method (statFEM) for coherent synthesis of observation data and model predictions. Computer Methods in Applied Mechanics and Engineering, Volume 375, 2021, 113533, https://doi.org/10.1016/j.cma.2020.113533.
[2] Florian Rathgeber, David A. Ham, Lawrence Mitchell, Michael Lange, Fabio Luporini, Andrew T. T. Mcrae, Gheorghe-Teodor Bercea, Graham R. Markall, and Paul H. J. Kelly. Firedrake: automating the finite element method by composing abstractions. ACM Trans. Math. Softw., 43(3):24:1–24:27, 2016. URL: http://arxiv.org/abs/1501.01809, arXiv:1501.01809, doi:10.1145/2998441.
[3] L. Dalcin, P. Kler, R. Paz, and A. Cosimo, Parallel Distributed Computing using Python, Advances in Water Resources, 34(9):1124-1139, 2011. http://dx.doi.org/10.1016/j.advwatres.2011.04.013
[4] S. Balay, S. Abhyankar, M. Adams, J. Brown, P. Brune, K. Buschelman, L. Dalcin, A. Dener, V. Eijkhout, W. Gropp, D. Karpeyev, D. Kaushik, M. Knepley, D. May, L. Curfman McInnes, R. Mills, T. Munson, K. Rupp, P. Sanan, B. Smith, S. Zampini, H. Zhang, and H. Zhang, PETSc Users Manual, ANL-95/11 - Revision 3.12, 2019. http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf
Owner
- Name: The Alan Turing Institute
- Login: alan-turing-institute
- Kind: organization
- Email: info@turing.ac.uk
- Website: https://turing.ac.uk
- Repositories: 477
- Profile: https://github.com/alan-turing-institute
The UK's national institute for data science and artificial intelligence.
GitHub Events
Total
- Watch event: 1
- Fork event: 2
Last Year
- Watch event: 1
- Fork event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 37
- Total pull requests: 16
- Average time to close issues: 3 months
- Average time to close pull requests: 20 days
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.65
- Average comments per pull request: 0.06
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- edaub (37)
Pull Request Authors
- edaub (16)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- sphinx >3
- pytest * development
- pytest-cov * development
- pytest-mpi * development
- numpy *
- scipy *
- numpy *
- scipy *