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

chaste codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 1; peer review: 2 approved, 1 approved with reservations]

Hendrix, M; Clerx, M; Tamuri, AU; Keating, SM; Johnstone, RH; Cooper, J; Mirams, GR; (2021) chaste codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 1; peer review: 2 approved, 1 approved with reservations]. Wellcome Open Research , 6 , Article 261. 10.12688/wellcomeopenres.17206.1. Green open access

[thumbnail of 444479cb-d0bc-46e4-ade2-46130647ceaf_17206_-_gary_mirams_v1.pdf]
Preview
PDF
444479cb-d0bc-46e4-ade2-46130647ceaf_17206_-_gary_mirams_v1.pdf - Published Version

Download (956kB) | 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 solution to this problem and has been widely-adopted. This paper specifically describes the capabilities of chaste_codegen, a Python-based CellML to C++ converter based on the new cellmlmanip Python library for reading and manipulating CellML models. While chaste_codegen is a Python 3 redevelopment of a previous Python 2 tool (called PyCML) it has some additional new features that this paper describes. Most notably, chaste_codegen has the ability to generate analytic Jacobians without the use of proprietary software, and also to find singularities occurring in equations and automatically generate and apply linear approximations to prevent numerical problems at these points.

Type: Article
Title: chaste codegen: automatic CellML to C++ code generation with fixes for singularities and automatically generated Jacobians [version 1; peer review: 2 approved, 1 approved with reservations]
Location: England
Open access status: An open access version is available from UCL Discovery
DOI: 10.12688/wellcomeopenres.17206.1
Publisher version: http://dx.doi.org/10.12688/wellcomeopenres.17206.1
Language: English
Additional information: Copyright: © 2021 Hendrix M et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Keywords: C++, CellML, GHK equation, cardiac electrophysiology, code generation, jacobian, singularity
UCL classification: UCL
URI: https://discovery-pp.ucl.ac.uk/id/eprint/10185241
Downloads since deposit
1,350Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item