Pulmonary Circulation Model

Published: 20 March 2023

Secret Competition Pulmonary Circulation Model: Brief model overview This computational fluid-dynamics model consists of a partial differential equation (PDE) system that predicts the blood pressure and flow through the pulmonary arterial-venous vessels. The PDE system generates these predictions as a function of space and time and takes into account numerous physiological parameters. Read on to find out details of the Model, Task and Codes .................................................

Brief model overview

This computational fluid-dynamics model consists of a partial differential equation (PDE) system that predicts the blood pressure and flow through the pulmonary arterial-venous vessels. The PDE system generates these predictions as a function of space and time and takes into account numerous physiological parameters.

Further details about the model can be found in the supplementary notes (1st link)   (under the section “Background”).

Model parameters

The task is to infer a total of four parameters: one stiffness parameter of the structured tree (ST), and three parameters defining the geometry of the ST, i.e one characterising the asymmetry of both the arterial and venous STs, and two length-to-radius ratios, for the arterial and venous STs.

The range these parameters lie within can be found in the supplementary notes (1st link)  (under the section “Needed for the competition”).

Data

The parameters mentioned above will be inferred from pressure time series in one artery and flow time series in two veins (midpoint of every vessel).

Code

The mathematical model equations are solved in a series of C++ and Fortran code.

Makefile: The C++/Fortran code first needs to be compiled, which can be done by running the Makefile. Instructions on how to run the Makefile can be found in Makefile Instructions (2nd link), which is accompanied by a video Makefile_Instructions.mp4 (3rd link)

Unix: To interface the C++/Fortran code with Matlab, you can use the “unix” command, which takes the parameters of interest and passes them to the mathematical model driver, called sor06.c. Please note that linux and macOS machines will pass the command “./sor06” whereas Windows users will need to start the unix call with “sor06.exe” instead.

See also the video MatlabWrapper.mp4 (4th link)  for further instructions.

Parallelisation: instructions on running sor06.c in parallel can be found in the supplementary notes (under the section “Needed for the competition”).

Output files: The model outputs pressure, flow, and cross-sectional area in each of the vessels at the initial, middle, and end point and prints this information to the file output.2d. The spatial location where we observe the pressure and flow over time is at the midpoint of each vessel.

No output: There may be parameter combinations that lead to no output being created. This is caught by an indicator flag called “out” in the Matlab wrapper run.1D. If out = 1, an output has been created, while if out = 0, no output has been created.

Please refer to the supplementary notes for additional information, available at SupplementaryNotes (1st link) 

The C++/FORTRAN/MATLAB codes for the model can be found in the folder called “Code” (5th link)

IMPORTANT: The mathematical model can be treated as a blackbox, the participants only need to change the values of the parameters being inferred.  Further instructions on how to do so are available in the MatlabWrapper.mp4 video.

For any questions, please contact the organiser at Mihaela.Paun@glasgow.ac.uk.

 

 


First published: 20 March 2023

<< Models