Skip to content

ssafaei/navierstokes_coupled1d0d

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1D-0D Vascular Network

Computational models can be used to gain mechanical insight into blood flowing in vessels under healthy and pathophysiological states. However, constructing full subject-specific CFD models of the entire arterial and/or venous vasculature is currently considered impractical, owing to: (1) the time and resources required to identify, segment, and constrain a model of the billions of vessels in a human body and (2) the computational cost such a model would incur.

As a result, the systemic context of a modeled system is often incorporated into definable models through boundary conditions and/or coupled models. These multiscale models restrict higher dimensional (3D/1D) models to a region of interest and rely on simpler, lower dimensional (0D), models to approximate physical behaviour outside the higher-dimensional domain. This involves coupling together of dependent fields (ie pressure and velocity/flow), material fields (eg fluid viscosity and wall compliance), and geometric fields (eg vessel diameter) at the interfaces between 3D, 1D, and/or 0D model domains.

In the following example, a 1D network of 24 major arteries has been constructed from the male Visible Human dataset, as shown below. The resulting mesh contains 135 nodes on 67 quadratic line elements, as shown below.

docs/images/1DVessels.png

docs/images/1DVHMesh.png

Figure: 1D arteries and mesh.

Simple 0D/lumped parameter RCR Windkessel models are coupled to the 1D model at the outlet boundaries. These models use the fluid-electric analog to provide an basic approximation of resistance to flow due to perfusing vascular beds (the R1 and R2 components) and downstream vessel compliance (the C component).

docs/images/RCR.png

Figure: The 3-element RCR Windkessel model

A flow waveform from published data is applied at the aortic root of the model and interpolated in time from tabulated data using cubic splines. Outlet boundary conditions are provided by the 0D solution.

OpenCMISS/CellML field mapping capabilities allow for the coupling of the 1D (OpenCMISS) and 0D (CellML) solvers:

.. literalinclude:: 1DTransientExample.py
   :language: python
   :linenos:
   :start-after: # DOC-START cellml define field maps
   :end-before: # DOC-END cellml define field maps

Snippet: OpenCMISS/CellML field mappings

Flow rate (Q) from the 1D Navier-Stokes/Characteristic solver provides the forcing term for the 0D ODE circuit solver. Pressure (P) is returned from the CellML solver to provide constraints on the Riemann invariants of the 1D system, which translate to area boundary conditions for the 1D FEM solver. At each timestep, the 1D and 0D systems are iteratively coupled until the boundary values converge within a user-specified tolerance at the 1D-0D interfaces. This procedure is outlined in the figure below.

docs/images/1D0DSolver.png

Figure: Overview of the coupled 1D-0D solution process.

Running the example

Python version:

source <path-to-opencmiss>/install/virtaul_environments/oclibs_venv_pyXY_release/bin/activate
cd ./src/python
python Coupled1D0D.py

Results

Results can be visualised by running visualise.cmgui with the Cmgui visualiser.

docs/images/1D0DVHFlowrates.png

Figure: Flow rates from the 1D-0D solution. Vessels shown at peak systole

docs/images/1D0DVHPressures.png

Figure: Pressure from the 1D-0D solution. Vessels shown at peak systole

The expected results from this example are available in expected_results folder.

Prerequisites

There are two files describing the vascular system mesh in the input folder. Also all the terminal models are located in this folder.

License

License applicable to this example is described in LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.3%
  • DIGITAL Command Language 8.5%
  • OpenEdge ABL 5.2%