Module summary

Tags: Tube0D

Tube0D is designed to simulate pressure-volume relations of vessels.


l [m]: double

Length of the tube

A_wall [m2]: double

Cross-sectional area of the wall

k [-]: double

Stiffness coefficient of the wall

p0 [Pa]: double

Pressure at A=A0

A0 [m2]: double

Cross-sectional cavity area for p=p0

target_wall_stress: double

Adaptation target for wall stress

target_mean_flow: double

Adaptation target for mean flow


V [m3]: array

Volume in the Cavity

p [Pa]: array

Pressure in the Node

Physiological background

The blood circulation consists of a pump (the heart), conduits (larger blood vessels) and the microvascular beds of tissues and organs, that requires transport of nutrients to and waste products from them. The ArtVen module is designed to represent the hemodynamic load for a given vascular bed, either consisting of a confined section of tissue (e.g. skeletal muscle) or an organ (e.g. kidney or brain), or for an entire pulmonary or systemic vascular bed (spanning from valve to atrium). Such a given vascular bed is a branching network structure from the large feeding and draining vessels inwards (Fig. 4 ). Typically, blood enters via larger arteries, passes a microvascular part with the smallest vessels, and is drained by larger veins.


Fig. 4 Anatomical structure of a vascular bed and associated hemodynamic properties. The larger vessels at the arterial and venous sides contribute the most to the compliance of the bed, while the microvasculature contributes is the prime determinant of the relationship between flow through the bed and pressure difference across it. Because of these distributions the properties of a vascular bed can be represented by a lumped model.

Model Description

The Tube0D module is a Cavity for which the transmural pressure and wave impedance are described as function of the normalized cross-sectional area \(A_{norm}\) of a cylinder with length \(l\) and cavity volume \(V(t)\). To do so, we use a normalized area \(A_{norm}\) based on the state variable \(V\)

(1)\[A_{norm} = \frac{A}{A_{wall}} = \frac{V(t)}{l \cdot A_{wall}}\]

Transmural pressure \(p_{\text{trans}}\) is calculated based on reference pressure \(p_0\), reference area \(A_0\), and a nonlinear scaling factor \(k\):

(2)\[ \begin{align}\begin{aligned}p_{trans} = p_0 \cdot \left(\frac{A_{norm} + 0.5}{A_0 / A_{wall} + 0.5}\right)^k\\= p_0 \cdot \left(\frac{A + 0.5 A_{wall}}{A_0 + 0.5 A_{wall}}\right)^k\end{aligned}\end{align} \]

Wave impedance \(Z\) in a cylindrical tube is the ratio of pressure \(p\) to flow \(q\), expressed as a function of blood density \(\rho_b\), pulse wave velocity \(c\), and cross-sectional area \(A\):

(3)\[Z=p/q=\rho_b c / A\]

Pulse wave velocity \(c\) is given by:

(4)\[c = \sqrt{\frac{V}{\rho_b} \frac{dp}{dV}}\]

The pressure-volume derivative \(\frac{dp}{dV}\) is derived from the transmural pressure to volume relationship:

(5)\[\frac{dp}{dV} = \frac{dp}{dA_{norm}} \frac{dA_{norm}}{dV}\]


(6)\[ \begin{align}\begin{aligned}\frac{dp_{trans}}{dA_{norm}} = p_0 k \left(\frac{A_{norm} + 0.5}{A_0 / A_{wall} + 0.5}\right)^{(k-1)} \cdot \frac{1}{A_0 / A_{wall} + 0.5}\\ = k p_0 \left(\frac{A_{norm} + 0.5}{A_0 / A_{wall} + 0.5}\right)^k \cdot \frac{1}{A_{norm} + 0.5}\\ = \frac{p_{trans} k }{A_{norm} + 0.5}\end{aligned}\end{align} \]


(7)\[\frac{dA_{norm}}{dV} = \frac{1}{l \cdot A_{wall}}\]

Therefore, the pressure-volume derivative of a Tube0D element is

(8)\[\frac{dp}{dV} = \frac{1}{l \cdot A_{wall}} \frac{p_{trans} k }{A_{norm} + 0.5}\]

The pulse wave velocity \(c\) (Equation 4) in the Tube0D then is

(9)\[ \begin{align}\begin{aligned}c = \sqrt{\frac{V}{\rho_b} \frac{1}{l \cdot A_{wall}} \frac{p_{trans} k }{A_{norm} + 0.5}}\\= \sqrt{\frac{A_{norm}}{\rho_b} \frac{p_{trans} k }{A_{norm} + 0.5}}\end{aligned}\end{align} \]

Filling Equation 9 into Equation 3, we find the wave impedance \(Z\) for the Tube0D element:

(10)\[ \begin{align}\begin{aligned}Z = \frac{\rho_b c}{A} = \frac{\rho_b c}{A_{wall}\cdot A_{norm}} = \frac{\rho_b}{A_{wall}\cdot A_{norm}} \sqrt{\frac{A_{norm}}{\rho_b} \frac{p_{trans} k }{A_{norm} + 0.5}}\\= \frac{1}{A_{wall}} \sqrt{\frac{\rho_b}{ A_{norm}} \cdot \frac{p_{trans} k }{A_{norm} + 0.5}}\\= \sqrt{\frac{\rho_b p_{trans} k }{A (A + 0.5 A_{wall})}}\end{aligned}\end{align} \]

The Tube0D inherets all properties form the Cavity. Therefore, the pressure inside a Tube0D element is calculated based on the transmural pressure \(p_{trans}\), the external pressure of the surrounding cavity \(p_{extern}\) (optional, \(p_{extern}=0\) in absence of a surrounding cavity), wave impedance \(Z\), and netto flow of the tube \(q\):

(11)\[p = p_{trans} + p_{extern} + Z \cdot \Sigma q\]

Numerical Implementation

No additional assumptions are made on top of the equations shown above.

The verification of this module can be found here

Sensitivity Analysis

(Source code, png, hires.png, pdf)


Fig. 5 Black line shows a typical relationship between Cavity volume and transmural pressure. Dotted and dashed lines represent a change in a single parameter with respect to the typical relationship. More information on how to read the Sensitivity Analysis here.

circadapt.components.cavity.Tube0D(model[, ...])

Tube0D is designed to simulate pressure-volume relations of vessels.