UCL Discovery Stage
UCL home » Library Services » Electronic resources » UCL Discovery Stage

cellmlmanip and chaste_codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 2; peer review: 3 approved]

Hendrix, Maurice; Clerx, Michael; Tamuri, Asif U; Keating, Sarah M; Johnstone, Ross H; Cooper, Jonathan; Mirams, Gary R; (2021) cellmlmanip and chaste_codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 2; peer review: 3 approved]. Wellcome Open Research , 6 , Article 261. 10.12688/wellcomeopenres.17206.2. Green open access

[thumbnail of cellmlmanip and chaste_codegen automatic CellML to C++ code generation with fixes for singularities and automatically genera.pdf]
Preview
Text
cellmlmanip and chaste_codegen automatic CellML to C++ code generation with fixes for singularities and automatically genera.pdf - Accepted Version

Download (1MB) | Preview

Abstract

Hundreds of different mathematical models have been proposed for describing electrophysiology of various cell types. These models are quite complex (nonlinear systems of typically tens of ODEs and sometimes hundreds of parameters) and software packages such as the Cancer, Heart and Soft Tissue Environment (Chaste) C++ library have been designed to run simulations with these models in isolation or coupled to form a tissue simulation. The complexity of many of these models makes sharing and translating them to new simulation environments difficult. CellML is an XML format that offers a widely-adopted solution to this problem. This paper specifically describes the capabilities of two new Python tools: the cellmlmanip library for reading and manipulating CellML models; and chaste_codegen, a CellML to C++ converter. These tools provide a Python 3 replacement for a previous Python 2 tool (called PyCML) and they also provide additional new features that this paper describes. Most notably, they can generate analytic Jacobians without the use of proprietary software, and also find singularities occurring in equations and automatically generate and apply linear approximations to prevent numerical problems at these points.

Type: Article
Title: cellmlmanip and chaste_codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 2; peer review: 3 approved]
Open access status: An open access version is available from UCL Discovery
DOI: 10.12688/wellcomeopenres.17206.2
Publisher version: https://doi.org/10.12688/wellcomeopenres.17206.2
Language: English
Additional information: This work is licensed under a Creative Commons Attribution 4.0 International License. The images or other third-party material in this article are included in the Creative Commons license, unless indicated otherwise in the credit line; if the material is not included under the Creative Commons license, users will need to obtain permission from the license holder to reproduce the material. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
Keywords: CellML, cardiac electrophysiology, code generation, C++, jacobian, singularity, GHK equation
UCL classification: UCL
URI: https://discovery-pp.ucl.ac.uk/id/eprint/10158981
Downloads since deposit
550Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item