scholarly journals Python Battery Mathematical Modelling (PyBaMM)

Author(s):  
Valentin Sulzer ◽  
Scott G. Marquis ◽  
Robert Timms ◽  
Martin Robinson ◽  
S. Jon Chapman

As the UK battery modelling community grows, there is a clear need for software that uses modern software engineering techniques to facilitate cross-institutional collaboration and democratise research progress. The Python package PyBaMM aims to provide a flexible platform for implementation and comparison of new models and numerical methods. This is achieved by implementing models as expression trees and processing them in a modular fashion through a pipeline. Comprehensive testing provides robustness to changes and hence eases the implementation of model extensions. PyBaMM is open source and available on GitHub at https://github.com/pybamm-team/PyBaMM.

2020 ◽  
Author(s):  
Valentin Sulzer ◽  
Scott G. Marquis ◽  
Robert Timms ◽  
Martin Robinson ◽  
S. Jon Chapman

As the UK battery modelling community grows, there is a clear need for software that uses modern software engineering techniques to facilitate cross-institutional collaboration and democratise research progress. The Python package PyBaMM aims to provide a flexible platform for implementation and comparison of new models and numerical methods. This is achieved by implementing models as expression trees and processing them in a modular fashion through a pipeline. Comprehensive testing provides robustness to changes and hence eases the implementation of model extensions. PyBaMM is open source and available on GitHub at https://github.com/pybamm-team/PyBaMM.


2015 ◽  
Author(s):  
Caroline Cannistra ◽  
Kyle Medley ◽  
Herbert M. Sauro

AbstractSummaryIn this technical report we describe a simple extension to python-libSBML that allows users of Python to more easily construct SBML based models. The most commonly used package for constructing SBML models in Python is python-libSBML based on the C/C++ library libSBML. python-libSBML supports a comprehensive set of model types, but is difficult for new users to learn and requires long scripts to create even the simplest models. We present SimpleSBML, a package that allows users to add species, parameters, reactions, events, and rules to a libSBML model with only one command for each. Models can be exported to SBML format, and SBML files can be imported and converted to SimpleSBML commands that creates each element in a new model. This allows users to create new models and edit existing models for use with other software.Accessibility and ImplementationSimpleSBML is publicly available and licensed under the liberal Apache 2.0 open source license. It supports SBML levels 2 and 3. Its only dependency is libSBML. It is supported on Windows and Mac OS X. All code has been deposited at the GitHub site https://github.com/sys-bio/[email protected] or [email protected]


2021 ◽  
Vol 6 (1) ◽  
Author(s):  
Jing Wui Yeoh ◽  
Neil Swainston ◽  
Peter Vegh ◽  
Valentin Zulkower ◽  
Pablo Carbonell ◽  
...  

Abstract Advances in hardware automation in synthetic biology laboratories are not yet fully matched by those of their software counterparts. Such automated laboratories, now commonly called biofoundries, require software solutions that would help with many specialized tasks such as batch DNA design, sample and data tracking, and data analysis, among others. Typically, many of the challenges facing biofoundries are shared, yet there is frequent wheel-reinvention where many labs develop similar software solutions in parallel. In this article, we present the first attempt at creating a standardized, open-source Python package. A number of tools will be integrated and developed that we envisage will become the obvious starting point for software development projects within biofoundries globally. Specifically, we describe the current state of available software, present usage scenarios and case studies for common problems, and finally describe plans for future development. SynBiopython is publicly available at the following address: http://synbiopython.org.


Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


2021 ◽  
Author(s):  
Tom Winder ◽  
Conor Bacon ◽  
Jonathan Smith ◽  
Thomas Hudson ◽  
Tim Greenfield ◽  
...  

2017 ◽  
Vol 139 ◽  
pp. 320-329 ◽  
Author(s):  
Joshua Stuckner ◽  
Katherine Frei ◽  
Ian McCue ◽  
Michael J. Demkowicz ◽  
Mitsuhiro Murayama

Author(s):  
Wei Hao Khoong

In this paper, we introduce deboost, a Python library devoted to weighted distance ensembling of predictions for regression and classification tasks. Its backbone resides on the scikit-learn library for default models and data preprocessing functions. It offers flexible choices of models for the ensemble as long as they contain the predict method, like the models available from scikit-learn. deboost is released under the MIT open-source license and can be downloaded from the Python Package Index (PyPI) at https://pypi.org/project/deboost. The source scripts are also available on a GitHub repository at https://github.com/weihao94/DEBoost.


2020 ◽  
Author(s):  
Kristóf Umann ◽  
Zoltán Porkoláb

Uninitialized variables have been a source of errors since the beginning of software engineering. Some programming languages (e.g. Java and Python) will automatically zero-initialize such variables, but others, like C and C++, leave their state undefined. While laying aside initialization in C and C++ might be a performance advantage if an initial value can't be supplied, working with such variables is an undefined behavior, and is a common source of instabilities and crashes. To avoid such errors, whenever meaningful initialization is possible, it should be used. Tools for detecting these errors run time have existed for decades, but those require the problematic code to be executed. Since in many cases the number of possible execution paths are combinatoric, static analysis techniques emerged as an alternative. In this paper, we overview the technique for detecting uninitialized C++ variables using the Clang Static Analyzer, and describe various heuristics to guess whether a specific variable was left in an undefined state intentionally. We implemented a prototype tool based on our idea and successfully tested it on large open source projects.


Sign in / Sign up

Export Citation Format

Share Document