OpenCMISS: a multi-physics & multi-scale computational infrastructure for the VPH/Physiome project.
Bradley C., Bowery A., Britten R., Budelmann V., Camara O., Christie R., Cookson A., Frangi AF., Gamage TB., Heidlauf T., Krittian S., Ladd D., Little C., Mithraratne K., Nash M., Nickerson D., Nielsen P., Nordbø O., Omholt S., Pashaei A., Paterson D., Rajagopal V., Reeve A., Röhrle O., Safaei S., Sebastián R., Steghöfer M., Wu T., Yu T., Zhang H., Hunter P.
The VPH/Physiome Project is developing the model encoding standards CellML (cellml.org) and FieldML (fieldml.org) as well as web-accessible model repositories based on these standards (models.physiome.org). Freely available open source computational modelling software is also being developed to solve the partial differential equations described by the models and to visualise results. The OpenCMISS code (opencmiss.org), described here, has been developed by the authors over the last six years to replace the CMISS code that has supported a number of organ system Physiome projects. OpenCMISS is designed to encompass multiple sets of physical equations and to link subcellular and tissue-level biophysical processes into organ-level processes. In the Heart Physiome project, for example, the large deformation mechanics of the myocardial wall need to be coupled to both ventricular flow and embedded coronary flow, and the reaction-diffusion equations that govern the propagation of electrical waves through myocardial tissue need to be coupled with equations that describe the ion channel currents that flow through the cardiac cell membranes. In this paper we discuss the design principles and distributed memory architecture behind the OpenCMISS code. We also discuss the design of the interfaces that link the sets of physical equations across common boundaries (such as fluid-structure coupling), or between spatial fields over the same domain (such as coupled electromechanics), and the concepts behind CellML and FieldML that are embodied in the OpenCMISS data structures. We show how all of these provide a flexible infrastructure for combining models developed across the VPH/Physiome community.