Using CellML with OpenCMISS to Simulate Multi-Scale Physiology - Nickerson, David P.; Ladd, David; Hussan, Jagir R.; Safaei, Soroush; Suresh, Vinod; Hunter, Peter J.; Bradley, Christopher P. (Frontiers in Bioengineering and Biotechnology, 2015)
OpenCMISS is an open-source modeling environment aimed, in particular, at the solution of bioengineering problems. OpenCMISS consists of two main parts: a computational library (OpenCMISS-Iron) and a field manipulation and visualisation library (OpenCMISS-Zinc). OpenCMISS is designed for the solution of coupled multi-scale, multi-physics problems in a general-purpose parallel environment. CellML is an XML format designed to encode biophysically based systems of ordinary differential equations and both linear and non-linear algebraic equations. A primary design goal of CellML is to allow mathematical models to be encoded in a modular and reusable format to aide reproducibility and interoperability of modeling studies. In OpenCMISS we make use of CellML models to enable users to configure various aspects of their multi-scale physiological models. This avoids the need for users to be familiar with the OpenCMISS internal code in order to perform customised computational experiments. Examples of this are: cellular electrophysiology models embedded in tissue electrical propagation models; material constitutive relationships for mechanical growth and deformation simulations; time-varying boundary conditions for various problem domains; fluid constitutive relationships and lumped parameter models. In this paper we provide implementation details describing how CellML models are integrated into multi-scale physiological models in OpenCMISS. The external interface OpenCMISS presents to users will also be described, including specific examples exemplifying the extensibility and usability these tools provide the physiological modelling and simulation community. We conclude with some thoughts on future extension of OpenCMISS to make use other community developed information standards, such as FieldML, SED-ML, and BioSignalML. Plans for the integration of accelerator code (GPU and FPGA) generated from CellML models is also discussed.