Skip to main content

Anaconda-Server Badge Anaconda-Server Badge CI Platform status codecov pre-commit.ci status

pulse

A software for solving problems in cardiac mechanics.

Overview

pulse is a software based on FEniCS that aims to solve problems in cardiac mechanics (but is easily extended to solve more general problems in continuum mechanics). pulse is a results of the author's PhD thesis, where most of the relevant background for the code can be found.

While FEniCS offers a general framework for solving PDEs, pulse specifically targets problems in continuum mechanics. Therefore, most of the code for applying compatible boundary conditions, formulating the governing equations, choosing appropriate spaces for the solutions and applying iterative strategies etc. are already implemented, so that the user can focus on the actual problem he/she wants to solve rather than implementing all the necessary code for formulating and solving the underlying equations.

Installation instructions

Install with pip

pulse can be installed directly from PyPI

python3 -m pip install fenics-pulse

or you can install the most recent development version

python3 -m pip install git+https://github.com/finsberg/pulse.git

Install with conda

You can also install the package using conda

conda install -c conda-forge pulse

Docker

It is also possible to use Docker. There is a prebuilt docker image using the development version of FEniCS, python3.10 and pulse. You can get it by typing

docker pull ghcr.io/finsberg/pulse:latest

Requirements

  • FEniCS version 2019.1.0 or newer (older versions might work but is not tested against anymore)

Note that if you install FEniCS using anaconda then you will not get support for parallel HDF5 see e.g this issue.

Getting started

Check out the demos in the demo folder. These demos are currently in jupyter notebook format. If you want to run them as python files you can convert the notebooks to .py files using e.g jupytext

If you have a question about how to use the software you can ask a question or start a new discussion in the discussion section

Automated test

Test are provided in the folder tests. You can run the test with pytest

python3 -m pytest tests -vv

Documentation

Documentation can be found at finsberg.github.io/pulse You can create documentation yourselves by typing make html in the root directory.

Citing

If you use pulse in your own research, please cite the JOSS paper

@article{pulse,
  doi = {10.21105/joss.01539},
  url = {https://doi.org/10.21105/joss.01539},
  year  = {2019},
  month = {sept},
  publisher = {The Open Journal},
  volume = {4},
  number = {41},
  pages = {1539},
  author = {Henrik Finsberg},
  title = {pulse: A python package based on FEniCS for solving problems in cardiac mechanics},
  journal = {The Journal of Open Source Software}
}

Known issues

  • If you encounter errors with h5py try to uninstall it (pip uninstall h5py) and then re-install it without installing any binary packages, i.e
python3 -m pip install h5py --no-binary=h5py

Contributing

See CONTRIBUTING.md

Metadata

Release files for fenics-pulse 2025.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fenics-pulse 2025.0.0
File Size Uploaded Provenance Actions
fenics_pulse-2025.0.0.tar.gz 48.5 kB Without provenance Details for fenics_pulse-2025.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fenics-pulse 2025.0.0
File Interpreter ABI Platform Actions
fenics_pulse-2025.0.0-py3-none-any.whl Python 3 none any Details for fenics_pulse-2025.0.0-py3-none-any.whl

Total release size: 102.2 kB

Release files / fenics_pulse-2025.0.0.tar.gz

Download URL fenics_pulse-2025.0.0.tar.gz
Size 48.5 kB
Tags Source
SHA-256 checksum
How to use checksums
20f713a0cee45806ac218b16647540d6e19127d4cbbb4e11024f3c68ba0006b4
BLAKE2b-256 checksum
How to use checksums
548ddc159efda6e55a30b76117102fc1786d598a607b3637613a966e82752632
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / fenics_pulse-2025.0.0-py3-none-any.whl

Download URL fenics_pulse-2025.0.0-py3-none-any.whl
Size 53.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c30629a3a715a2f423b81c042dcf95f4e6deb6ad8854bc8f22a2d6d6d73c4a8
BLAKE2b-256 checksum
How to use checksums
fbd2ee9c34c1711bfd9667ad260f1c99a73d6456050a75b0d8cffab6f5f946cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for fenics-pulse 2025.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2025.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page