ADEPT is an Automatic Differentation Enabled Plasma Transport code.
pip install git+https://github.com/ergodicio/adept.git
conda
(we recommend mamba
)mamba env create -f env.yaml
or mamba env create -f env_gpu.yaml
mamba activate adept
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
https://adept.readthedocs.io/en/latest/
https://github.com/ergodicio/adept-notebooks
There are other ways to use ADEPT, notably as part of a neural network training pipeline that leverages differentiable simulation. In reference [1], neural networks are trained to learn forcing functions that drive the system towards previously unseen behavior. In reference [2], neural networks are trained to help bridge the micro-macro physics gap in multiphysics simulations.
python3 run.py --cfg {config_path}
without the .yaml
extension
This runs the simulation defined in the config and stores the output to an mlflow
server.
Unless you have separately deployed an mlflow
server somewhere, it simply writes files using the mlflow specification to the current working directory.
To access and visualize the results, it is easiest to use the UI from the browser by typing mlflow ui
in the command line from the same directory.
The contributing guide is in development but for now, just make an issue / pull request and we can go from there :)
If you are using this package for your research, please cite the following
A. Joglekar and A. Thomas, “ADEPT - automatic differentiation enabled plasma transport,”
ICML - SynS & ML Workshop (https://syns-ml.github.io/2023/contributions/), 2023
[1] A. S. Joglekar & A. G. R. Thomas. "Unsupervised discovery of nonlinear plasma physics using differentiable kinetic simulations." J. Plasma Phys. 88, 905880608 (2022).
[2] A. S. Joglekar and A. G. R. Thomas, “Machine learning of hidden variables in multiscale fluid simulation,” Mach. Learn.: Sci. Technol., vol. 4, no. 3, p. 035049, Sep. 2023, doi: 10.1088/2632-2153/acf81a.