Software development at the ABI
Our members contribute to many software projects, ranging from individual automation scripts through to large-scale international open-source projects.
Our developers contribute to a number of international open-source projects under the auspices of the Physiome Project.
The projects listed below provide some examples of the software we contribute to.
In most cases we also state the person most involved with the project. You can find out more about these individuals in the People section below.
Physiome Model Repository
The PMR2 software suite is the combination of:
People: Tommy Yu
Find out more: Physiome Model Repository
People: Tommy Yu
Learn more: Calmjs
libCellML is a library for creating, manipulating, serialising, parsing, validating and instantiating models in CellML. It is aimed at supporting CellML 2.0, and is written in C++ and has Python bindings.
People: Hugh Sorby, Alan Garny
Explore more: libCellML
Reproducible workflow environment with a growing number of plug-in tools for performing workflow steps. MAP-Client is planned to be rebranded as Neon.
People: Hugh Sorby
Check it out: Neon/MAP-Client
Continuum modelling software. Consists of two main libraries: Iron (parallel computation) and Zinc (interactive modelling and visualisation).
Discover more: OpenCMISS
Parallel solver library written in Fortran with APIs in Fortran, C and Python.
People: Gene Soudlenkov
Modelling and visualisation library for building interactive graphical interfaces, written in C/C++ with APIs in C, C++ and Python.
Various tools and user interfaces built with Zinc are also actively developed or maintained by the ABI. Cmgui is the legacy visualisation application built on Zinc.
People: Richard Christie, Alan Wu, Hugh Sorby
OpenCOR is a cross-platform modelling environment, which is aimed at organising, editing, simulating and analysing CellML files. These can on Windows, Linux and macOS. It is released under the GPL v3.0 license and can be downloaded at OpenCOR.
People: Alan Garny
Check it out: OpenCOR
People: Tommy Yu
Find out more: Osmium
ZincJS and 3D web apps
ZincJS is a Web-based 3D interface library based on the very popular three.js library. It provides number of classes /methods for easy access to powerful 3D models visualisations for desktop/mobile platforms on WebGL compatible browsers. You can find documentation and web apps built on ZincJS on their website.
People: Alan Wu
Discover more: ZincJS
We have many software development experts at the ABI covering a wide range of skills. We list here those who are able to provide valuable advice on your own software projects.
Expertise: C/C++, Python, software architecture, API design, graphical user interfaces, visualisation, computer graphics (OpenGL), Git, finite elements (mechanics), FEM field representation & meshing.
Find out more: Richard Christie
Expertise: Python, versioning (Git), finite element
(mechanics), finite element field representation and meshing, machine learning,
Find out more: Zohreh Ekhlasi
Find out more: Alan Garny
Gonzalo Maso Talou
Expertise: C/C++, Fortran, Java, Matlab, Pascal/Delphi, Python (basic), high performance computing (MPI, OpenMP), numerical methods (finite volume and finite difference methods), machine learning (TensorFlow, Matlab).
Find out more: Gonzalo Maso Talou
Find out more: Mahyar Osanlouy
Expertise: Develop user-level documentation for softwares, creation of interactive training tutorials, customer relationship management, hands-on experience in software testing and quality assurance, knowledge of Azure Resource Manager, Amazon Web Services EC2 and OpenStack, Git version control, worked in Agile product development environment, demonstration of software features to the end-users.
Find out more: Sonia Sharma
Expertise: C/C++, Fortran, Assemblers, numerical analysis, high performance computing, MPI, continuous integration, machine learning, data analysis, performance tuning, high performance computing.
Find out more: Alan Wu
Expertise: Python (Zope/Plone and other various web backend/integration frameworks, and unit testing), Git, Continuous Integration, SQL, Semantic web, Node.js/Python integration, Virtualised Servers (VirtualBox and AWS EC2).
Find out more: Tommy Yu