cbcbeat: an adjoint-enabled framework for computational cardiac electrophysiology¶
cbcbeat is a Python-based lightweight solver collection for solving computational cardiac electrophysiology problems. cbcbeat provides solvers for single cardiac cell models, the monodomain and bidomain equations and coupled systems of such. All cbcbeat solvers are adjoint-enabled thus allowing for efficient solution of both forward and inverse cardiac electrophysiology problems.
cbcbeat is based on the finite element functionality provided by the FEniCS Project software, the automated derivation and computation of adjoints offered by the dolfin-adjoint software and cardiac cell models from the CellML repository.
Installation and dependencies:¶
The cbcbeat source code is hosted on Bitbucket:
See the separate file INSTALL in the root directory of the cbcbeat source for a complete list of dependencies and installation instructions.
cbcbeat is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
cbcbeat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with cbcbeat. If not, see <http://www.gnu.org/licenses/>.
Testing and verification:¶
The cbcbeat test suite is based on pytest and available in the test/ directory of the cbcbeat source. See the INSTALL file in the root directory of the cbcbeat source for how to run the tests.
cbcbeat uses Bitbucket Pipelines for automated and continuous testing, see the current test status of cbcbeat here:
Contributions to cbcbeat are very welcome. If you are interested in improving or extending the software please contact us via the issues or pull requests on Bitbucket. Similarly, please report issues via Bitbucket.
Examples and demos:¶
A collection of examples on how to use cbcbeat is available in the demo/ directory of the cbcbeat source. We also recommend looking at the test suite for examples of how to use the cbcbeat solvers.
- 1. cbcbeat package
- 1.1. Subpackages
- 1.2. Submodules
- 1.3. cbcbeat.bidomainsolver module
- 1.4. cbcbeat.cardiacmodels module
- 1.5. cbcbeat.cellsolver module
- 1.6. cbcbeat.dolfinimport module
- 1.7. cbcbeat.gossplittingsolver module
- 1.8. cbcbeat.gotran2cellmodel module
- 1.9. cbcbeat.gotran2dolfin module
- 1.10. cbcbeat.markerwisefield module
- 1.11. cbcbeat.monodomainsolver module
- 1.12. cbcbeat.splittingsolver module
- 1.13. cbcbeat.utils module
- 1.14. Module contents