[ANN] BloodFlowTrixi.jl: 1D and 2D Blood Flow Models for Arterial Circulation using Trixi.jl

[ANN] BloodFlowTrixi.jl: 1D and 2D Blood Flow Models for Arterial Circulation using Trixi.jl

I’m excited to announce the registration of BloodFlowTrixi.jl, a Julia package implementing 1D and 2D blood flow models for arterial circulation, derived from the Navier-Stokes equations. These models were developed during my PhD research in applied mathematics, with applications in cardiovascular pathologies like aneurysms and stenoses.

Key Features

  • 1D Blood Flow Model: Describes flow in compliant arteries using a reduced-order model derived under axisymmetric flow assumptions.
    Link to publication on 1D model

  • 2D Blood Flow Model: Extends the Navier-Stokes equations for thin arteries, capturing both longitudinal and angular dynamics in complex arterial geometries with curvilinear coordinates.
    Link to publication on 2D model

  • Both models are designed to work with Trixi.jl, a flexible high-performance framework for solving conservation laws using the Discontinuous Galerkin method.

Installation

When registration will be completed :
You can install the package with:

julia> ]
pkg> add Trixi
pkg> add https://github.com/yolhan83/BloodFlowTrixi.jl

Roadmap

Short-term goals:

  • Adding second-order 1D models.
  • Designing primitive variables for both 1D and 2D models.
  • Implementing proper tests for model validation.
  • Providing 3D visualizations of solutions for better interpretation.
  • Creating user-friendly interfaces for defining initial/boundary conditions and source terms.

Long-term goals:

  • Developing 3D fluid-structure interaction (FSI) models.
  • Supporting vascular network simulations by coupling the 1D and 2D models.
  • Adding autodifferentiation support for parameter optimization.

Acknowledgments

A big thanks to the Trixi.jl development team, whose framework made implementing and testing these models much easier. This package is released under the MIT license and is open for contributions!

I look forward to feedback, suggestions, and contributions from the community!
graph
graph2d

15 Likes

New version 0.0.7 of BloodFlowTrixi.jl introduces 3D visualization for the 1D model. The 2D case remains to be developed, as it supports 3D parametric curves (ideas welcome on Ideas for 2D -> 3D representation · Issue #20 · yolhan83/BloodFlowTrixi.jl · GitHub ).
pressure_3d

pressure_3d2

4 Likes

Very cool! Your project has been promoted in Hacker News and someone has asked if your package is useful for brain hemodynamics.

1 Like

Thank you I had no idea I answered there, not sure I will get notified though I will have to check it weekly

Is there a reason why you decided to add some animations in this thread but not in the README? I’ve always thought that cool packages like yours should add some animations in the README so that anyone, even people from other fields, can be amazed.

Animation are a reward for opening the docs :sunglasses: just kidding I will add them

1 Like

This is so fascinating @yolhan_mannes ! Would you be interested in presenting at the monthly JuliaHealth meeting about this work and package?

1 Like

That would be a real pleasure for sure !

1 Like