Skip to main content

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.

Metadata

Release files for GrainLearning 2.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GrainLearning 2.0.5
File Size Uploaded
grainlearning-2.0.5.tar.gz 5.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for GrainLearning 2.0.5
File Interpreter ABI Platform
grainlearning-2.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 MB

Release files / grainlearning-2.0.5.tar.gz

Download URL grainlearning-2.0.5.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
c8cedb5ad29f31a5d5737a669165220a2b38229143ae3742e348129db30b64b0
BLAKE2b-256 checksum
How to use checksums
648c1203e235a002251c2c38b4d52a866fafb407eb2a056d42c9a4d2a08dcbf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / grainlearning-2.0.5-py3-none-any.whl

Download URL grainlearning-2.0.5-py3-none-any.whl
Size 5.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ba0e49d7348aafe88107c8f60c9385a560c763def42e55013bbf850a87874af2
BLAKE2b-256 checksum
How to use checksums
aa1549592df53134c75459ef748142e88bd1e2a80d2e266fb0a7c6ae6b9475f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

2.0.5 This release

2 release files

2.0.3

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page