A Bayesian uncertainty quantification toolbox for discrete and continuum numerical models of granular materials
Project description
Welcome to GrainLearning!
fair-software.eu recommendations | Badges |
---|---|
code repository | |
license | |
community registry | |
citation | |
Best practices checklist | |
howfairis | |
Documentation | |
Code Quality |
Bayesian uncertainty quantification for discrete and continuum numerical models of granular materials, developed by various projects of the University of Twente (NL), the Netherlands eScience Center (NL), University of Newcastle (AU), and Hiroshima University (JP). Browse to the GrainLearning documentation to get started.
Features
- Infer and update model parameters using "time" series (sequence) data via Sequential Monte Carlo filtering
- Uniform, quasi-random sampling using low-discrepancy sequences
- Iterative sampling by training a nonparametric Gaussian mixture model
- Surrogate modeling capability for "time" series data
Installation
Install using poetry
- Install poetry following these instructions.
- Clone the repository:
git clone https://github.com/GrainLearning/grainLearning.git
- Go to the source code directory:
cd grainLearning
- Activate the virtual environment:
poetry shell
- Install GrainLearning and its dependencies:
poetry install
Install using pip
- Clone the repository:
git clone https://github.com/GrainLearning/grainLearning.git
- Go to the source code directory:
cd grainLearning
- Activate the virtual environment:
conda create --name grainlearning python=3.11 && conda activate grainlearning
- Install GrainLearning and its dependencies:
pip install .
Developers please refer to README.dev.md.
To install GrainLearning including the RNN module capabilities check grainlearning/rnn/README.md.
For Windows users
- Installation using Windows Subsystem for Linux (WSL)
- Installation using anaconda (if no WSLs are available on your Windows system)
- Open Anaconda Prompt and install GrainLearning using pip. This should create a virtual environment, named GrainLearning.
- Choose that environment from your anaconda navigator: click
Environments
and selectgrainlearning
from the drop-down menu
One command installation
Stable versions of GrainLearning can be installed via pip install grainlearning
However, you still need to clone the GrainLearning repository to run the tutorials.
Tutorials
-
Linear regression with the
run_sim
callback function of theBayesianCalibration
class, in python_linear_regression_solve.py -
Nonlinear, multivariate regression
-
Interact with the numerical model of your choice via
run_sim
, in linear_regression_solve.py -
Load existing DEM simulation data and run GrainLearning for one iteration, in oedo_load_and_resample.py
-
Example of GrainLearning integration into YADE
-
Data-driven module tutorials:
Citing GrainLearning
Please choose from the following:
- A DOI for citing the software
- H. Cheng, T. Shuku, K. Thoeni, P. Tempone, S. Luding, V. Magnanimo. An iterative Bayesian filtering framework for fast and automated calibration of DEM models. Comput. Methods Appl. Mech. Eng., 350 (2019), pp. 268-294, 10.1016/j.cma.2019.01.027
Software using GrainLearning
- YADE: http://yade-dem.org/
- MercuryDPM: https://www.mercurydpm.org/
Community
The original development of GrainLearning
is done by Hongyang Cheng, in collaboration
with Klaus Thoeni
, Philipp Hartmann,
and Takayuki Shuku.
The software is currently maintained by Hongyang Cheng and Stefan Luding with the help
of Luisa Orozco
and Retief Lubbe.
The GrainLearning project receives contributions from students and collaborators.
Help and Support
For assistance with the GrainLearning software, please create an issue on the GitHub Issues page.
Credits
This package was created with Cookiecutter and the NLeSC/python-template.
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
File details
Details for the file grainlearning-2.0.3.tar.gz
.
File metadata
- Download URL: grainlearning-2.0.3.tar.gz
- Upload date:
- Size: 5.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bba08c256b7ed5024f53f3c5f048000e9af1a198804403795ff3aa8bb623433 |
|
MD5 | 0cfafa2fb415d831d6757fb33668b207 |
|
BLAKE2b-256 | 7c9a7d1d1b333d085bf24a59cb3b3e921ec88a395ae6260343bae7d73ce5f5db |
File details
Details for the file grainlearning-2.0.3-py3-none-any.whl
.
File metadata
- Download URL: grainlearning-2.0.3-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed704910d7559b39e45bb3671a10ee4d454759de42f87ce25a18278abbcb9469 |
|
MD5 | 0782dfa6e563c53949be0cae44bcd2b8 |
|
BLAKE2b-256 | ffbb45ca40f65bf6d762716d5f83bb04f9c9c5daa1772e278c9fcb4bc558f9eb |