Skip to main page content
Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2015 Jan 5;2:79.
doi: 10.3389/fbioe.2014.00079. eCollection 2014.

Using CellML With OpenCMISS to Simulate Multi-Scale Physiology

Affiliations
Free PMC article

Using CellML With OpenCMISS to Simulate Multi-Scale Physiology

David P Nickerson et al. Front Bioeng Biotechnol. .
Free PMC article

Abstract

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 visualization 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 aid 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 customized 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; and 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 is also described, including specific examples exemplifying the extensibility and usability these tools provide the physiological modeling and simulation community. We conclude with some thoughts on future extension of OpenCMISS to make use of other community developed information standards, such as FieldML, SED-ML, and BioSignalML. Plans for the integration of accelerator code (graphical processing unit and field programmable gate array) generated from CellML models is also discussed.

Keywords: CellML; OpenCMISS; multi-scale physiological model; physiome project; virtual physiological human.

Figures

Figure 1
Figure 1
OpenCMISS architecture diagram. The external program or script is known as an OpenCMISS application, and makes use of the public OpenCMISS application program interface (API) via the most appropriate language bindings provided by the OpenCMISS library. The API itself then makes use of the internal core library to provide the required functionality. The core library makes use of the community provided CellML and FieldML library implementations to access data encoded in these standards.
Figure 2
Figure 2
The CellML black box model showing state and parameter variables as inputs and rate and intermediate variables as outputs. Such a black box is designed as a general model evaluation object, which can plug into a variety of numerical methods and workflows. An ODE-type model might, for example, plug into an integration solver to simulate the evolution of the model over time. Whereas, a pure algebraic model would not have any state variables and pure evaluation solver is able to directly compute the intermediate variables from a given set of input parameters.
Figure 3
Figure 3
Diagram showing the field maps for a finite elasticity example similar to that described in Section 4. In this example, the components of the strain field in the OpenCMISS model are mapped to CellML variables in the CellML parameters field. Similarly, the CellML variables in the intermediate field representing the components of the stress tensor are mapped back to the stress field in the OpenCMISS model. The mapping is defined once the CellML model has been imported (1) and the required variables have been flagged (2). Whenever the CellML model is evaluated (3), the values from the strain field are first transferred to the CellML parameters field, the model is evaluated, and the values from the CellML intermediate fields are transferred back to the stress field.
Figure 4
Figure 4
Structure and relationship between OpenCMISS control loops and solvers. See Figure 6 for an example showing how an OpenCMISS application will use these workflow capabilities.
Figure 5
Figure 5
Results of a 2D monodomain solution with a Noble 98 ventricular cell model. (A) A plot of the transmembrane voltage immediately after a stimulus along half of the bottom edge. (B) A plot of the transmembrane voltage after a fixed time with an isotropic value of the sodium channel conductance gNa. (C) A spatial variation of gNa. The sodium channel conductance is varied from its normal value at the bottom left node to 300% of its normal value at the top right node. (D) A plot of the transmembrane voltage with a varying sodium channel conductance after a fixed period. Comparing with (B) it can be seen that increasing the sodium channel conductance increases the conduction velocity. For (A,B,D) the value of the transmembrane voltage varies from −95 mv (blue) to +50 mV (red).
Figure 6
Figure 6
Overview of the coupled 1D–0D solution process, which is defined in our fluid dynamics boundary conditions example.
Figure 7
Figure 7
Results from executing the fluid dynamics boundary conditions example OpenCMISS application. (A) The distribution of flow rates and (B) that of fluid pressures within the vessel segments. The graphs illustrate the temporal variation during one cardiac cycle and the vessel images are a temporal snapshot at peak systole.
Figure 8
Figure 8
Results from running this cylinder extension application. The gold lines show the original, undeformed, cylinder geometry. The colored lines show the deformed geometry, with the color varying to show the difference in strain through the wall of the cylinder. The cones represent the three normalized principal strains at material points throughout the tissue volume (red for compression and blue for extension).

Similar articles

See all similar articles

Cited by 12 articles

See all "Cited by" articles

References

    1. Beard D. A., Britten R., Cooling M. T., Garny A., Halstead M. D. B., Hunter P. J., et al. (2009). CellML metadata standards, associated tools and repositories. Philos. Trans. A Math. Phys. Eng. Sci. 367, 1845–1867.10.1098/rsta.2008.0310 - DOI - PMC - PubMed
    1. Bradley C., Bowery A., Britten R., Budelmann V., Camara O., Christie R., et al. (2011). OpenCMISS: a multi-physics & multi-scale computational infrastructure for the VPH/physiome project. Prog. Biophys. Mol. Biol. 107, 32–47.10.1016/j.pbiomolbio.2011.06.015 - DOI - PubMed
    1. Britten R. D., Christie G. R., Little C., Miller A. K., Bradley C., Wu A., et al. (2013). FieldML, a proposed open standard for the physiome project for mathematical model representation. Med. Biol. Eng. Comput. 51, 1191–1207.10.1007/s11517-013-1097-7 - DOI - PMC - PubMed
    1. Brooks D. J., Hunter P. J., Smaill B. H., Titchener M. R. (2011). BioSignalML–a meta-model for biosignals. Conf. Proc. IEEE Eng. Med. Biol. Soc. 2011, 5670–5673.10.1109/IEMBS.2011.6091372 - DOI - PubMed
    1. Christie G. R., Nielsen P. M. F., Blackett S. A., Bradley C. P., Hunter P. J. (2009). FieldML: concepts and implementation. Philos. Trans. A Math. Phys. Eng. Sci. 367, 1869–1884.10.1098/rsta.2009.0025 - DOI - PMC - PubMed

LinkOut - more resources

Feedback