Systemic Circulation Model

Published: 20 March 2023

SECRET Competition: Systemic 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 aortic vessels and immediately surrounding head and neck vessels. The PDE system generates these predictions as a function of space and time and takes into account numerous physiological parameters. Read on for details of the 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 aortic vessels and immediately surrounding head and neck 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 five parameters: four stiffness parameters -- two stiffness parameters assigned to the large vessels in the network defined in the model, and two stiffness parameters assigned to the small vessels in the structured tree model defining the outlet boundary condition. A parameter of the structured tree characterising the asymmetry of the tree will also be inferred.

The range these parameters lie between 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 flow time series from 7 vessels (midpoint of every vessel) and the maximum and minimum points in a pressure time series from one vessel (again midpoint).

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 the Makefile instructions (2nd link), which is accompanied by a video (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 (1st link) for additional information.

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