Skip to content

giorgosR/pylsewave

Repository files navigation

pylsewave

pylsewavelogo

Build Status Docker Cloud Build Status Documentation Status Anaconda-Server Badge Anaconda-Server Badge Binder DOI

Repository structure

.
+-- doc # documentation directory
+-- JupyterNbs # jupyter notebooks
+-- data # input data for case studies
+-- pylsewave # the package directory (contains all modules)
+-- test # unit test files
+. README.md
+. LICENCE
+. setup.py
+. pyproject.toml
+. Adan_77_example.py # case study for a whole arterial network (linear-elastic arterial walls)
+. vtk_example.py (example with vtk)

A Python package to solve pulse wave dynamics in arterial networks

The following diagram depicts the rationale along with the structure of the package

pylsewave toolkit

A c/python library to solve 1D pulse wave propagation in blood vessels or any hyperbolic PDE system in the form of

Hyperbolic system

Purpose

This library is designed to solve efficiently pulse wave dynamics in human arteries. It is written in python, cython and there are some bits of C++.

Install pylsewave

To install pylsewave toolkit type:

conda install -c giorgosR pylsewave

Run the example

There are two examples in this directory:

  • Adan_77_example.py

To run the case go to the top level directory of the repository and type:

python Adan_77_example.py -ivesseldatafile data\Arterial_Network_ADAN56.txt -ibcinflowfile data\inflow_Aorta.txt -oresfile arterial_network_77_vessels -language py

NOTE: You can execute the file with python classes translated via cython by changing the -language py to -language cy.

  • vtk_example.py

This is an example for storing the results in vtk multiblock file. The user should install pyvtk first (it can be found on PYPI).

python vtk_example.py -resfile <resfile> -ovisfile <visfile>

Examples in Jupyter notebooks

There are several case studies in jupyter notebooks under JupyterNbs directory. To run the cases, the user should install jupyter either with conda or pip (see the latest install instructions`` in Jupyter documentaion):

  • conda
conda install jupyter
  • pip
pip install jupyter

Build the docs

To build the documentation, under the docs directory type (you will need sphinx):

make html

Cite pylsewave

Prefered citation style for pylsewave:

Georgios E. Ragkousis (2019). PylseWave: A python package to solve pulse wave dynamics in arterial networks. Zenodo. DOI