Model 2 - Vessel Stiffness in the Pulmonary-Artery System


Model Details

Model 2 is a Partial Differential Equation system that describes the blood pressure and flow in the pulmonary arteries as a function of space and time, as well as a number of physiological parameters including vessel stiffness. The system is defined and described in Olufsen et al. (2000). Mitchel Colebank and M. Umar Qureshi have very kindly written some supplementary notes for the event which summarise the system and detail the equations. They are available here - Colebank And Qureshi Supplementary Notes

There are 2 observed variables, p (blood pressure) and q (blood flow), and 1 parameter to infer (Eh/r0, the vessel stiffness). Although there are many branches in the pulmonary arterial tree, the model predicts quantites of interest in the first 21 arteries. We are limiting observations to only the first 3 vessels for the purposes of this event and the code is therefore set up to produce observations only across the first 3 vessels. The best performing competitors will be invited to implement their method over more vessels after this year's event is over (participation for this additional analysis is optional).

A point of clarification about the spatial points: The system is observed over time (t) and space (x). The spatial steps are set by incrementing x between 0 and L (the vessel length) by 0.025cm uniformly. The midpoint of these steps is used as the spatial location at which we observe the pressure and flow signals over time. This has now been explicitly pointed out in the updated notes.

Cside 2018 Competition Parameters

The parameter values that generated the competition data for Model 2 are:

Parameter Value
Eh/r0 75000

Thank you

Thank you to Mitchel ColebankUmar Qureshi and Mette Olufsen of North Carolina State University for helping Cside 2018 to work with this model for this year's event. A special thanks to Mitchel and Umar for the code and for helping make it fit for purpose, as well as time discussing the model, code and writing the supplementary notes.


The code is run in Matlab and requires a compilation of C++ files. This code must be run on a Linux or Mac OS (no Windows compatibility) in order to compile the files. This is due to the commands "make clean" and "make" not having a straightforward Windows alternative. From the contents in the compressed file, competitors should only need to edit main.m for the purposes of the event. The object k3 in the code (see main.m) is equivalent to Eh/r0, the vessel stiffness, and it is this value that competitors should change.

Amongst the contents of the compressed files are p_v1, p_v2, p_v3, q_v1, q_v2 and q_v3. These are the noiseless pressure and flow values for the first three vessels should you solve the model with the default parameter settings and extract them from the output file puX_ID.2d. They have been included in case participants wish to quickly see what the pressure and flow signals look like, given the default settings. There is no requirement to use them and the competition data will of course be generated not using the default settings.

Not all parameter configurations will result in a valid PDE solution. For the range of k3 specified in the code ([10^4, 10^5]), participants should not encounter a problem. However, included in the updated code below is a variable "status" which will be 0 when the PDE has been successfully solved and output has been returned.

You can download a .zip file of the code here - ‌

You can download a .7z file of the code here - ‌PulmonaryCode.7z