
Figure 1
Example geometry of a bifurcation implemented in VaMpy. The example represents the common carotid artery (parent vessel) and its two daughter vessels, which are used for validation purposes of the software. Artery segments have an upstream and downstream radius, where the downstream radius has to be equal to or smaller than the upstream radius. The radius of the vessel then is .

Figure 2
Illustration of the LW method. The solution is fully known at time step n (black circles) and we are looking for the solution at grid point m at time step n + 1 (white circle). To determine the unknown solution, two intermediate solutions at half grid points m ± 1/2 and at half time step n + 1/2 are determined from grid points m – 1, m and m + 1 at current time step n. The intermediate solutions are then used in conjunction with the known solution at grid point m and current time step n to calculate the unknown solution at grid point m and next time step n + 1 [4].
| pos = 0 # identifier for the next artery |
| arteries[pos] = Artery (Ru, Rd) # list containing artery |
| # objects |
| radii_u = [Ru] # list containing upstream radii of arteries |
| radii_d = [Rd] # list containing downstream radii of |
| # arteries |
| for j in range (depth): |
| # lists for storage of upstream/downstream radii |
| # of arteries on the next depth level |
| new_radii_u = [] |
| new_radii_d = [] |
| for i in range (length (radii_u)): |
| # set daughter vessel radii using scaling |
| # parameters a and b |
| ra_u = radii_u[i] * a |
| rb_u = radii_u[i] * b |
| ra_d = radii_d[i] * a |
| rb_d = radii_d[i] * b |
| pos + = 1 |
| # first daughter vessel using scaling |
| # parameter a |
| arteries[pos] = Artery (ra_u, ra_d) |
| pos + = 1 |
| # second daughter vessel using scaling |
| # parameter b |
| arteries[pos] = Artery (rb_u, rb_d) |
| # store new radii for next iteration over j |
| new_radii_u[i] = ra_u |
| new_radii_u[i] = rb_u |
| new_radii_d[i] = ra_d |
| new_radii_d[i] = rb_d |
| radii_u = new_radii_u |
| radii_d = new_radii_d |

Figure 3
One pulse in the common carotid artery using VaMpy: a) flow rate, b) pressure. Comparison with the results for the same simulation in [4] validates the implementation of the blood flow equations in VaMpy.
