1 Introduction

Reduced order modeling (ROM) (see, e.g., [1]) is a well-spread technique used both in academia and in industry. It has been introduced as an efficient tool to approximate full order systems by significantly reducing the computational cost required to obtain numerical solutions in a parametric setting. ROM consists in two main stages: an offline phase that can be carried out on high performance computing facilities, and an online one that hinges on a system of reduced dimensionality to perform the parametric computation on portable devices. In the offline phase, the reduced order space is built starting from full order complex simulations computed for certain values of the physical and/or geometrical parameters. In this work, we employ the proper orthogonal decomposition (POD) for the detection of the reduced basis functions that span this new reduced space. After the creation of such a space, in the online phase a new parametric solution is obtained as a linear combination of the precomputed reduced basis functions, by means of an interpolation carried out by using RBF functions [2]. The resulting ROM is thus called proper orthogonal decomposition with interpolation (PODI) [3].

The aim of this work is the development of an efficient non-intrusive data-driven reduced order model to be used within hemodynamics framework. The reader can find examples of the ROM application in the hemodynamics field in [4,5,6,7,8]. We highlight that the online evaluation of the data-driven approach used here is based only on data and does not require knowledge about the governing equations that describe the system. It is also non-intrusive, i.e. no modification of the simulation software is carried out. For this reason it is particularly versatile thanks to its capability to be coupled with commercial solvers as well. It should be noted that many efforts are making in order to integrate ROM and technological innovation. From this viewpoint, a crucial step is the web server ARGOS [9], developed by mathLab group at SISSA that will make possible the exploitation of reduced order models to a wide category of people working in industrial and biomedical contexts. Through specific web applications the user will be able to solve many complex problems without the need of being an expert in numerical analysis and scientific computing. In particular, it is expected that the ATLAS project [10] will collect all cardiovascular applications. In this framework, we present a preliminary web application through which one can run the ROM by using a very user-friendly GUI interface. The benchmark we have chosen to test the efficiency of our algorithm is represented by the aortic blood flow pattern in presence of a left ventricular assist device (LVAD) (see, e.g., [11,12,13,14,15,16,17]) when varying the pump flow rate (see, e.g., [8, 18, 19]).

The work is organized as follows. In Sect. 2 we present the general parametric full order model governing hemodynamics problems, over which we apply the proposed numerical methodology. In Sect. 3 we present the PODI method, whilst in Sect. 4 we show the numerical setting of the problem and the achieved results, as well as provide a brief description of the web application developed. Finally, in Sect. 5 conclusions and perspectives are provided.

2 Full order model

In this work we consider the blood as modeled by the unsteady incompressible Navier-Stokes equations described in an Eulerian framework. We consider a fixed domain \(\Omega \subset {\mathbb {R}}^d\) with \(d = 2, 3\) over a time interval of interest (\(t_0\), T) \(\subset {\mathbb {R}}^+\). Let \(\varvec{\pi } \in {\mathcal {P}} \subset {\mathbb {R}}^P\) be a parameter vector in a P-dimensional parameter space \({\mathcal {P}}\). We have

$$\begin{aligned}&\rho \, \partial _t {\varvec{u}}(\varvec{x},t; \varvec{\pi })+ \rho \,\nabla \cdot \left( {\varvec{u}}(\varvec{x},t; \varvec{\pi }) \otimes {\varvec{u}}(\varvec{x},t; \varvec{\pi })\right) - \nonumber \\&\quad 2\mu \Delta {\varvec{u}}(\varvec{x},t; \varvec{\pi }) + \nabla p(\varvec{x},t; \varvec{\pi }) = 0, \end{aligned}$$
(1)
$$\begin{aligned}&\nabla \cdot {\varvec{u}}(\varvec{x},t; \varvec{\pi }) = 0, \end{aligned}$$
(2)

in \(\Omega \times [t_0,T]\), endowed with proper boundary conditions. In Eqs. (1)–(2), \(\partial _t\) denotes the time derivative, \(\rho = 1060\) kg/m\(^3\) is the blood density, \(\mu = 0.004\) Pa\(\cdot \)s is the blood dynamic viscosity, \(\varvec{u}\) is the blood velocity and p is the pressure.

We impose a no slip boundary condition on the wall of the domain. At the inflow, we prescribe a known flow-rate and \({\partial p}/{\partial {\varvec{n}}} = 0\) where \({\varvec{n}}\) is the outward normal. On the other hand, in order to enforce realistic outflow boundary conditions at each outlet of the domain, we consider the Windkessel model based on the electric–hydraulic analogy [20]. By representing the blood pressure and flow rate with voltage and current, respectively, and by describing the effects of friction and inertia in blood flow and of vessel elasticity with resistance R, inductance L and capacitance C, respectively, the methods for analysis of electric circuits can be borrowed and applied to the investigation of cardiovascular dynamics. In this work, we consider a three-element Windkessel RCR model [21]. It consists of a proximal resistance \(R_{p,k}\), a compliance \(C_k\), and a distal resistance \(R_{d,k}\), for each outlet k (Fig. 1).

Fig. 1
figure 1

Three-element Windkessel model for the generic outlet k

The downstream pressure, \(p_k\), is expressed through the following differential algebraic equations (DAE) system:

$$\begin{aligned} {\left\{ \begin{array}{ll} C_k \dfrac{\mathrm{d}p_{p,k}}{\mathrm{d}t} + \dfrac{p_{p,k} - p_{d,k}}{R_{d,k}} = Q_k, \\ p_k - p_{p,k} = R_{p,k}Q_k, \\ \end{array}\right. } \end{aligned}$$
(3)

where \(Q_k\) is the flow rate, and \(p_{p,k}\) and \(p_{d,k}\) are the proximal and the distal pressure, respectively.

For the space discretization of problems Eqs. (1)–(2), we adopt the Finite Volume (FV) approximation. A partitioned approach has been used to deal with the pressure-velocity coupling. In particular a Poisson equation for pressure has been used. This is obtained by taking the divergence of the momentum equation (1) and exploiting the divergence free constraint (2),

$$\begin{aligned} \Delta p = -\nabla \cdot \left[ \nabla \cdot \left( {\varvec{u}}\otimes {\varvec{u}}\right) \right] . \end{aligned}$$
(4)

We have used the PISO algorithm [22] employed in the finite volume C++ library OpenFOAM® [23].

For more details, we refer the reader to Ref. [8].

3 Reduced order model

The reduced order model we propose is the so-called proper orthogonal decomposition with interpolation. It is a technique widely used within the reduced order modeling community in the study of parametric problems. POD allows to extract, from a set of high-dimensional snapshots, the optimal basis which minimizes the error between the original snapshots and their orthogonal projection. The data-driven approach used in this work is based only on data and does not require knowledge about the governing equations that describe the system (and which generated the snapshots). It is also non-intrusive, i.e., no modification of the simulation software is carried out. Still, there are works that use non-intrusive methods that are not data-driven (see, e.g., [24]). The original snapshots are projected onto the POD space in order to reduce their dimensionality. Then the solution manifold is approximated using an interpolation technique. In this work, we will use a radial basis function (RBF) interpolation [2]. Several examples of applications based on this so-called POD with interpolation (PODI) [3] technique can be found in literature, in a wide range of contexts (see, e.g., [25]).

We are going to briefly describe the method that consists in two phases.

I. Offline:

Let N denote the number of degrees of freedom, e.g. associated to the FV discretization introduced in the previous section. Let \(\varvec{\varphi }_i\), with \(i = 1,2, \dots , N_s\), be the snapshots related to a generic variable of interest collected by solving the high-fidelity problem, with different values of the input parameters \(\varvec{\pi }_i\), resulting in \(N_s\) input-output pairs (\(\varvec{\pi }_i\), \(\varvec{\varphi }_i\)). The snapshots matrix \(\varvec{S}\) is assembled by arranging the snapshots as columns, i.e. \(\varvec{S} = [\varvec{\varphi }_1, \varvec{\varphi }_2, \dots , \varvec{\varphi }_{N_s}]\). By applying the singular value decomposition to this matrix, we have:

$$\begin{aligned} \varvec{S} = \varvec{U}\varvec{\Sigma }\varvec{V}^* \approx \varvec{U}_k\varvec{\Sigma }_k{\varvec{V}_k}^*, \end{aligned}$$
(5)

where \(\varvec{U} \in {\mathcal {A}}^{N \times N_s}\) is the unitary matrix containing the left-singular vectors, \(\varvec{\Sigma } \in {\mathcal {A}}^{N_s \times N_s}\) is the diagonal matrix containing the singular values \(\lambda _i\), and \(\varvec{V} \in {\mathcal {A}}^{N_s \times N_s}\), with the symbol \(^*\) denoting the conjugate transpose. The left-singular vectors, namely the columns of \(\varvec{U} = [\varvec{\phi }_1, \varvec{\phi }_2, \dots , \varvec{\phi }_{N_s}]\), are the so-called POD modes. In order to reduce the dimensionality of the problem, we can keep the first k modes to span the optimal space with dimension k to represent the snapshots. By considering that the singular values are returned in decreasing order, we could truncate the number of modes simply selecting the first k columns of \(\varvec{U}\). Therefore, the matrices \(\varvec{U}_k \in {\mathcal {A}}^{N \times k}\), \(\varvec{\Sigma }_k \in {\mathcal {A}}^{k \times k}\), \(\varvec{V}_k \in {\mathcal {A}}^{N_s \times k}\) in Eq. (5) are the truncated matrices with rank k.

After constructing the POD space, we can project the original snapshots onto this space. We compute \(\varvec{C} \in {\mathcal {R}}^{k \times N_s}\) as \(\varvec{C} = {\varvec{U}_k}^T \varvec{S}\), where the columns of \(\varvec{C}\) are the so-called modal coefficients. We express the input snapshots as a linear combination of the modes using such coefficients. Then, we have:

$$\begin{aligned} \varvec{\varphi }_i \approx \sum _{j=1}^{k} {\alpha }_j(\varvec{\pi }_i)\varvec{\phi }_j, \quad \forall i \in [1,2, \dots , N_s], \end{aligned}$$
(6)

where \({\alpha }_j(\varvec{\pi }_i)\) are the elements of \(\varvec{C}\). At a given mode \(\varvec{\phi }_j\), the (\(\varvec{\pi }_i\), \({\alpha }_j(\varvec{\pi }_i)\)) pairs sample the solution manifold in the parametric space. The interpolation of the modal coefficients \(\alpha _j(\varvec{\pi }_i)\) in the parameter space is carried by using RBF functions. It is based on the following formula:

$$\begin{aligned} A_j(\varvec{\pi }) = \sum _{m=1}^{N_s} w_{j,m} \zeta _{j,m} \left( ||\varvec{\pi } - \varvec{\pi }_m||_{L^2({\mathbb {R}}^{{\mathcal {P}}+1})}\right) , \end{aligned}$$
(7)

where \(w_{j,m}\) are proper weights and \(\zeta _{j,m}\) are the RBF functions which are chosen to be Gaussian functions, centered in \(\varvec{\pi }_m\).

For the computation of the weights \(w_{j,m}\), the following property has to be used:

$$\begin{aligned} A_j(\varvec{\pi }_i) = {\alpha }_j(\varvec{\pi }_i). \end{aligned}$$
(8)

The last equation can be rewritten in form of a linear system:

$$\begin{aligned} \varvec{A}_j^{\zeta } \varvec{w}_j = \varvec{\alpha }_j. \end{aligned}$$
(9)

Thus, one could solve the latter linear system to obtain the weights \(\varvec{w}_j\) related to the mode \(\varvec{\phi }_j\) which will be stored to be then used in the online stage.

II. Online:

We are able, for any new parameter value \(\varvec{\pi ^\star }\) to calculate the new coefficients \(\alpha _j(\varvec{\pi ^\star })\), which are given simply by:

$$\begin{aligned} \alpha _j(\varvec{\pi ^\star }) = \sum _{m=1}^{N_s} w_{j,m} \zeta _{j,m} \left( ||\varvec{\pi ^\star } - \varvec{\pi }_m||_{L^2({\mathbb {R}}^{{\mathcal {P}}+1})}\right) . \end{aligned}$$
(10)

Then, we compute the high-dimensional solution by projecting back the (approximated) modal coefficients to the original space:

$$\begin{aligned} \varvec{\varphi }(\varvec{\pi ^\star }) = \sum _{j=1}^{k} \alpha _j(\varvec{\pi ^\star }) \phi _j. \end{aligned}$$
(11)

We remark that the procedure can be repeated for several variables of interests. Furthermore, it is not necessary for such a variable to be an unknown of the original system (such as velocity and pressure); indeed, we will use the PODI technique not only for primal quantities, but also for derived quantities such as wall shear stress (WSS).

Fig. 2
figure 2

View of the mesh: a overview, b a section next to the aortic inlet

Regarding the technical implementation of the PODI method, we use the Python package called EZyRB [26].

Table 1 Windkessel coefficients: proximal resistance \(R_{p,k}\) and distal resistance \(R_{d,k}\), and compliance \(C_k\), for each outlet k [8]

4 Numerical results and discussion

In order to test the performance of the presented computational pipeline, we investigate the aortic blood flow pattern in presence of an LVAD when varying the pump flow rate. This case study has been thoroughly discussed both at high-fidelity (or full order model, FOM) and ROM level in Ref. [8]. Here, after summarizing some relevant computational details related to the clinical data, geometrical model and full order simulations (Sect. 4.1), we are going to further extend the ROM investigation with additional tests (Sect. 4.2) and to provide a brief description of the preliminary web application under development (Sect. 4.3).

4.1 Computational details

A real patient-specific aorta model was reconstructed from computed tomography (CT) images by using the open source medical image analysis software 3D Slicer® (http://www.slicer.org). The model is referred to the post-surgery configuration, i.e. after the implantation of the LVAD device (the Heartmate 3\(^{\mathrm{TM}}\) Left Ventricular Assist System [27]), and includes the outflow cannula of the LVAD device (with inlet in the bottom left of Fig. 2a), the ascending aorta (with inlet in the center of Fig. 2a, which is observed from below in Fig. 2b), brachiocephalic artery, right subclavian artery, right common carotid artery, left common carotid artery, left subclavian artery and descending aorta, as shown in Fig. 2. We consider a tetrahedral computational grid with \(h_{min} = 5.83\times 10^{-4}\) and \(h_{max} = 3.2\times 10^{-3}\) for a total of 200k cells. The quality of this mesh is suitable for a FV solver: it features very low values of average non-orthogonality (30\(^\circ \)) and skewness (around 1). Figure 2 shows the mesh. It should be noted that such a computational grid has been used in Ref. [8] where a mesh convergence analysis is carried out.

By making reference to Eqs. (1)–(4), the convective term is discretized by using a first order upwind scheme. On the other hand, for the diffusive term, a central differencing interpolation scheme with non-orthogonality correction is preferred. Regarding the pressure gradient, we use a linear interpolation scheme. For more details about such schemes, the reader can make reference to Refs. [23, 28]. Finally, to discretize Eqs. (1) and (3) in time, we adopt Backward Differentiation Formula of order 1 (BDF1), see e.g. [29].

Coefficients values of the Windkessel models used for the enforcement of the outlet boundary conditions shown in Table 1 are based on Ref. [8].

Although the high-order simulations are obtained through time-stepping by solving the governing equations (1)–(4), we are interested in computing and collecting the steady states, i.e. solutions where \(\partial _t {\varvec{u}}\) vanishes.

4.2 ROM results

To train the ROM, we consider the range of pump flow rate (i.e., the flow rate at the inlet of outflow cannula) \(PF \in [3, 5]\) that covers typical clinical values. Thus, we consider as parameter \(\varvec{\pi }\) the pump flow rate PF. In particular, we choose equispaced distributions inside the ranges \(PF \in [3, 3.8]\) and \(PF \in [4.2, 5]\). The sampling frequency is 0.2 for both ranges, so that we have a database including 10 snapshots related to the high-fidelity steady state solutions. It should be noted that in Ref. [8] we have showed that, for this benchmark, the number of snapshots does not affect significantly the accuracy of the ROM. One new value of PF in which the ROM has not been trained but which belongs to the range of the training space, \(PF = 4\), is used to evaluate the performance of the parametrized ROM. In Ref. [8] a equispaced distribution of 11 snapshots inside the range \(PF \in [3, 5]\) was used, i.e. the snapshot related \(PF = 4\) was included in the FOM database, and ROM was performed for \(PF = 3.45\) and \(PF = 4.35\). We note that, in Ref. [8], the distance between the parameter values for which the ROM is performed and the nearest snapshot is 0.05. On the other hand, here such a distance is larger, 0.2.

Table 2 shows the cumulative energy of the eigenvalues for pressure p, wall shear stress WSS, and velocity components, \(u_x\), \(u_y\) and \(u_z\).

Table 2 Cumulative energy of the eigenvalues for pressure p, wall shear stress WSS, and velocity components, \(u_x\), \(u_y\) and \(u_z\)

In order to retain the 99% of the system’s energy, 1 mode for p, 1 for WSS, 2 for \(u_x\), \(u_y\) and \(u_z\) are selected. It has been verified that considering a larger number of POD modes does not increase the accuracy of the ROM. To provide some quantitative results, the relative error in the \(L^2\)-norm, calculated as

$$\begin{aligned} E_X = 100\dfrac{||X_{FOM} - X_{ROM}||_{L^2(\Omega )}}{||X_{FOM}||_{L^2(\Omega )}} \%, \end{aligned}$$
(12)

where \(X_{FOM}\) is the value of a particular field in the FOM model, and \(X_{ROM}\) the one that is calculated using the ROM, is considered. In Table 3, the relative error for all the variables of interest is reported.

Table 3 \(L^2\) norm relative errors for pressure p, wall shear stress WSS, and velocity components, \(u_x\), \(u_y\) and \(u_z\), for \(PF = 4\) l/min

Figure 3 displays a comparison between FOM and ROM for p and WSS, and for the velocity related to a section of the ascending aorta next to the anastomosis location. The comparison indicates that the ROM is able to provide a good reconstruction for all the variables.

Fig. 3
figure 3

Comparison of the FOM/ROM pressure (1st row), WSS (2nd row) and velocity steady-state solutions related to a section of the ascending aorta next to the anastomosis location (3nd row) at \(PF = 4\)

Finally, we comment on the computational costs. The CPU time required by a FOM simulation is 9600 s and the one of the ROM, that is related to the computation of the modal coefficients and reconstruction of the fields, is 40 s. This corresponds to a speed-up of \(\approx 240\), that demonstrates the fact that it is possible to use the ROM in the place of the FOM in order to obtain accurate simulations with a significant reduction of the computational cost.

4.3 Web application

Due to the aforementioned speedup, research activities based on techniques (e.g., ROMs) that leads to technological innovation for real time calculation is acquiring considerable relevance and popularity also in the biomedical field. The combination of ROMs with technological development through a web interface would allow real time data to be accessed in hospitals and operating rooms on portable devices. In this scenario, the web server ARGOS [9] has been created, which has the task of proposing a platform to favor a more widespread exploitation of real time computing through a simple “click”. It is a very intuitive and smooth web platform, which does not need a strong experience in numerical analysis, fluid dynamics or scientific computing field to be used. ARGOS offers a wide variety of applications related to several problems and in particular it contains the section ATLAS [10] focused on the cardiovascular field. Here, we are going to provide a brief description of the web application under development which has the aim to support the user (which in this case could either be a scientist involved in the manufacturing of the pump, or a medical doctor interested in evaluation the hemodynamics in different operating scenarios) to set the LVAD device according to the need of the patient.

Fig. 4
figure 4

LVAD web application: a overview, b close-up of Panel 1, c close-up of Panel 2

Figure 4a displays a screenshot of the application under development [30]. On the left side, the user can set up the pump configuration. We have two control panels related to two different settings denoted as Panel 1 (Figure 4b) and Panel 2 (Figure 4c). In Panel 1, required input data are the pressure head \(\Delta P\) and pump speed \(\omega \), and the corresponding output is the pump flow rate PF. The target user for this panel is a scientist involved in the design of the pump (i.e., for instance, by changing the pressure head \(\Delta P\)). In Panel 2, the user provides a measured pump speed \(\omega \) and the corresponding measured pump flow rate PF, and the application returns the corresponding pressure head \(\Delta P\). Then, for this value of \(\Delta P\), it is possible to vary the value of \(\omega \) to obtain a different value of PF. The target user for this panel is a medical doctor, who reads measured values of pump speed \(\omega \) and flow rate PF during an LVAD ramp test, and is then interested in predicting possible hemodynamics outcomes when changing the pump configuration set during the ramp test. The relationship between \(\omega \), \(\Delta P\) and PF used in the application is given by the following analytical relationship

$$\begin{aligned} \Delta P = K_A\cdot \omega ^2+K_B\cdot \omega \cdot PF+K_C\cdot PF^2, \end{aligned}$$
(13)
Table 4 Constants of the analytical fitting for the pump dynamics (see Eq. (13)). \(K_A\) (mmHg\(\cdot \)rpm\(^{-2}\)), \(K_B\) (mmHg \(\cdot \)l\(\cdot \)min\(^{-1}\cdot \)rpm\(^{-1}\)), \(K_C\) (mmHg\(\cdot \) l\(^2\cdot \)rpm\(^{-2}\))
Fig. 5
figure 5

Pressure head (\(\Delta P\)) - volume flow rate (PF) curves (continuous line with circles) and analytical fitting (dashed line) based on Eq. 13 for Heartmate 3\(^\text {TM}\) [27] pump at several pump speed values: \(\omega = 3000\) rpm (black), \(\omega = 4000\) rpm (red), \(\omega = 5000\) rpm (blue), \(\omega = 6000\) rpm (green), \(\omega = 7000\) rpm (cyan), and \(\omega = 8000\) rpm (magenta)

where \(K_A\), \(K_B\) and \(K_C\) are constants which depend on pump design (Table 4), that provides an acceptable fit as showed in Fig. 5. The \(\Delta P-PF\) analytical curve also is displayed in the application, below the control panels, and updates in real time when the pump speed \(\omega \) is changed by the user. Currently, the application can be used only for \(PF \in [3,5]\) because the FOM snapshots are collected for such a range of values. Then, if the values of \(\omega \) and \(\Delta P\) selected are such that the corresponding PF is outside the range [3,5], an error message will appear. On the right part of the screen, we report a brief description of the web application, including relevant references, logos and acknowledgements, and we visualize in real time the solutions provided by the ROM related to the PF value corresponding to the pump setting for the variables of interest: pressure, velocity and wall shear stress.

5 Conclusion and perspectives

In this work, an efficient non-intrusive data-driven reduced order modelling to be used within hemodynamics framework is presented. The FOM is represented by the incompressible Navier-Stokes equations discretized by using a FV technique. Furthermore, the development of the ROM is carried out by using the proper orthogonal decomposition with interpolation (PODI). The online phase of the ROM results in a data-driven approach which is based only on data and does not require knowledge about the governing equations that describe the system. It is also non-intrusive, i.e. no modification of the simulation software is required. For this reason it is particularly versatile thanks to its capability to be coupled also with commercial solvers. Moreover, we have presented a preliminary web application through which one can run the ROM by using a very user-friendly interface, without the need of having a specific numerical expertise, and thus possibly widening the use of numerical tools to practitioners. The benchmark we have chosen to test the efficiency of our algorithm is represented by the aortic blood flow pattern in presence of a left ventricular assist device (LVAD) when varying the pump flow rate. We show that the ROM provides accurate solutions with a significant reduction of the computational cost, up to at least two orders of magnitudes.

As a follow-up of the present work, we are going to make further efforts in order to improve the ease of use of the web application. We are also moving towards geometrical parametrization in the context of patient-specific geometries, extending e.g. the work carried out in Ref. [5] to different problems and different model reduction techniques. Finally, we are interested in improving the full order model, by considering turbulence effects (see, e.g., [31, 32]), as well as coupling the fluid model with an elasticity model to simulate fluid-structure interaction (FSI) (see, e.g., [18, 33,34,35]). This would make the presented pipeline more complete and versatile.