Summary. This is the documentation of the "pylsewave toolkit". The purpose of this open source software is to distribute an efficient objected-oriented tool to solve pulse wave dynamics and/or any other physical problem which can be modelled by a hyperbolic system of partial differential equations (PDEs). The core development language is cython, python and C++. The idea is that the most (computationally) expensive parts are developed in lower level languages (e.g C/C++) and; subsequently, called in high level interpreted (python) language. Moreover, the user can easily extend, modify or redistribute any part of this software with high flexibility. The presented library contains options of "elements" (e.g. for each vessel), meshes (arterial networks), different solvers (currently FD, later FE), optimisers and post-processing tools (matplotlib, VTK files, etc.).
Cython.parallel
module). In future, parallel GPU processing will be added; as well, via CUDA JIT (numba
).
Mathematical problem formulation
Derivation of 1D hyperbolic system
Velocity profile
State equation
Conservational form and coupling of PDEs
Characteristic equations
Wave decomposition
Intensity analysis
Numerical methods
Finite Differences
Boundary conditions
Case studies
Upper extremity model
A detailed arterial network
Bibliography
Appendix A: Non-linear system at conjuctions
Bifurcation case
Appendix B: Wrapping C++ classes in pylseWave via Cython
ctypes
cython