SimulAI
A Python library for machine-learning pipelines for computer simulation
The SimulAI toolkit provides easy access to SOTA methodologies currently used in Physics-Informed Machine Learning (PIML) pipelines as:
Physics-Informed Neural Networks (PINNS)
Deep Operator Networks (DeepONets)
Variational Encoder-Decoders (VED)
Koopman AutoEncoders (experimental)
Operator Inference (OpInf)
and more.
SimulAI is continuously extended and updated with the contribution of the IBM PIML community.
Installation
Pre-requirement: 3.6 <= python < 3.10
Developer
git clone this repository (
git clone git@github.ibm.com:simulai/simulai.git
)setup a python environment (see https://docs.python.org/3.7/library/venv.html)
create a virtualenv:
python3 -m venv /path/to/new/virtual/environment
or a conda environment:conda create -n <environment_name> python=3.x
activate it:
source /path/to/new/virtual/environment/bin/activate
or, in conda:conda activate <environment_name>
go to simulai home directory and execute:
pip install -r requirements.txt
Share the simulai directory to PYTHONPATH:
export PYTHONPATH=<simulai_up_dir>/simulai/
User
For using SimulAI as a python package, do:
pip install -e git+ssh://git@github.ibm.com/simulai/simulai@master#egg=simulai
Or:
git clone git@github.ibm.com:simulai/simulai.git
python setup.py install
For upgrading the package, one can execute:
pip install -e git+ssh://git@github.ibm.com/simulai/simulai@master#egg=simulai==<release ID>
For using MPI, it is necessary to guarantee some MPI distribution is installed (as MPICH or OpenMPI). In case of conda environments, it can be done as seen below:
conda install -c conda-forge mpich gcc mpi4py
Conda (Experimental)
For cloning the SimulAI conda environment do:
conda env create -f requirements/conda/simulai_env.yaml -n <environment_name>
Usage
For a set of examples see SimulAI notebooks: https://github.ibm.com/simulai/simulai_notebooks
For applications related to turbulence modelling see: https://github.ibm.com/Joao-Lucas-Sousa-Almeida/DeepTurbulenceClosure
Documentation
Unit testing (for developers)
go to root of the repository
set PYTHONPATH:
export PYTHONPATH=.
run pytest:
pytest unit_tests/test_dense_net_tf_prediction.py
License
This software is licensed under Apache 2.0.
Contact
João Lucas de Almeida (
joao.lucas.sousa.almeida@ibm.com
)Alberto Nogueira Jr. (
albercn@br.ibm.com
)Leonardo Martins (
leonardo.martins@br.ibm.com
)Leonardo P. Tizzei (
ltizzei@br.ibm.com
)
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Citation
For referencing this toolkit:
@software{simulai,
author = {IBM Research},
title = {SimulAI},
url = {https://github.ibm.com/simulai/simulai},
version = {},
date = {},
}