Skip to main content

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 github repo badge
license github license badge
community registry RSD workflow pypi badge
citation DOI
Best practices checklist workflow cii badge
howfairis fair-software.eu
Documentation Documentation Status
Code Quality Coverage Quality Gate Status
Paper DOI

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

Installation

Install using poetry

  1. Install poetry following these instructions.
  2. Clone the repository: git clone https://github.com/GrainLearning/grainLearning.git
  3. Go to the source code directory: cd grainLearning
  4. Activate the virtual environment: poetry shell
  5. Install GrainLearning and its dependencies: poetry install

Install using pip

  1. Clone the repository: git clone https://github.com/GrainLearning/grainLearning.git
  2. Go to the source code directory: cd grainLearning
  3. Activate the virtual environment: conda create --name grainlearning python=3.12 && conda activate grainlearning
  4. 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)
    • Enable WSL1 or WSL2 according to the instructions here
    • Install GrainLearning using poetry or pip
  • 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 select grainlearning 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

  1. Linear regression with the run_sim callback function of the BayesianCalibration class, in python_linear_regression_solve.py

  2. Nonlinear, multivariate regression

  3. Interact with the numerical model of your choice via run_sim , in linear_regression_solve.py

  4. Load existing DEM simulation data and run GrainLearning for one iteration, in oedo_load_and_resample.py

  5. Example of GrainLearning integration into YADE

  6. Data-driven module tutorials:

Citing GrainLearning

Please choose from the following:

  • DOI A DOI for citing the software.
  • The software paper: Cheng et al., (2024). GrainLearning: A Bayesian uncertainty quantification toolbox for discrete and continuum numerical models of granular materials. Journal of Open Source Software, 9(97), 6338, 10.21105/joss.06338
  • 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grainlearning-2.0.5.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grainlearning-2.0.5-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file grainlearning-2.0.5.tar.gz.

File metadata

  • Download URL: grainlearning-2.0.5.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for grainlearning-2.0.5.tar.gz
Algorithm Hash digest
SHA256 c8cedb5ad29f31a5d5737a669165220a2b38229143ae3742e348129db30b64b0
MD5 1d80b7fbfde4304bb2127781aa466b57
BLAKE2b-256 648c1203e235a002251c2c38b4d52a866fafb407eb2a056d42c9a4d2a08dcbf3

See more details on using hashes here.

File details

Details for the file grainlearning-2.0.5-py3-none-any.whl.

File metadata

  • Download URL: grainlearning-2.0.5-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.12.3

File hashes

Hashes for grainlearning-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ba0e49d7348aafe88107c8f60c9385a560c763def42e55013bbf850a87874af2
MD5 bf32f622313d1e174a094179404f2359
BLAKE2b-256 aa1549592df53134c75459ef748142e88bd1e2a80d2e266fb0a7c6ae6b9475f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page