/PyADM1

PyADM1: a Python implementation of Anaerobic Digestion Model number 1

Primary LanguagePythonMIT LicenseMIT

PyADM1: a Python implementation of the Anaerobic Digestion Model number 1 

PyADM1 is a modeling and simulation tool for anaerobic digestion reactors (a.k.a biogas plants). 

In order to use PyADM1, you need Python v3 and a few Python modules installed (copy, SciPy, NumPy). scipy.integrate.solve_ivp is used for solving the mdoel equations.

To run PyADM1 please download the src folder which contains the Python source code and the example influent/effluent files and ring test files. 

After characterising the influent (feed) to the reactor and analyzing the inoculum (or initial conditions) of the reactor you can modify the influent states, initial states, simulation time, time steps, and parameters based on your data or simulation scenario. 
Then, you run the PyADM1 code and it will simulate dynamic operation of you reactor and print the results in dynamic_out.csv at the end of simulation time. 

PyADM1 is based on ADM1 implementation in Benchmark Simulation Model number 2 (BSM2) and has beed ring tested with the BSM2 implementation in Matlab. For more information about BSM2 and ADM1 model, please follow:

C.  Ros ́en,  U.  Jeppsson,  Aspects  on  adm1  implementation  within  the217bsm2 framework, Department of Industrial Electrical Engineering and218Automation, Lund University, Lund, Sweden (2006) 1–35.

please cite this software in your work:

@article {Sadrimajd2021.03.03.433746,
	author = {Sadrimajd, Peyman and Mannion, Patrick and Howley, Enda and Lens, Piet N. L.},
	title = {PyADM1: a Python implementation of Anaerobic Digestion Model No. 1},
	elocation-id = {2021.03.03.433746},
	year = {2021},
	doi = {10.1101/2021.03.03.433746},
	URL = {https://www.biorxiv.org/content/early/2021/03/04/2021.03.03.433746},
	eprint = {https://www.biorxiv.org/content/early/2021/03/04/2021.03.03.433746.full.pdf},
	journal = {bioRxiv}
}

---------------------------------------------------------------------------------------

LICENSE

MIT License

Copyright (c) 2021 Peyman Sadrimajd

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.