Introduction

Endovascular coiling is frequently employed to treat unruptured brain aneurysms. One goal of the treatment is to reduce blood flow into the aneurysm and thereby promote thrombosis.14 Researchers have used computational fluid dynamics (CFD) to better understand the efficacy of coiling and the treatment’s specific effects on aneurysmal hemodynamic.3,7,8 Unfortunately, the complexity of deployed embolic coils is such that considerable time and effort is required to generate high quality meshes of the devices. Additionally, small coil diameters demand a high number of boundary layer mesh elements, which results in high computational cost.2 These issues have motivated researchers to look for less complex and costly ways of performing CFD on coiled aneurysms. Homogeneous porous medium theory is often applied to address the aforementioned modeling challenges.29 Using this approach, endovascular coils are considered as homogeneous porous media to simplify the explicit geometries of the devices. In other words, local characteristics of the coil mass geometry do not influence local porosity and permeability—instead, both are held constant throughout the fluid domain of the coil mass.

Several works have implemented the homogeneity assumption. For example, in Refs. 18 and 23, authors considered coils as a homogeneous porous domain. They observed that increasing the number of coils reduced the porosity, thereby decreasing intra-aneurysmal blood flow velocity. However, they mentioned that uneven distribution of coils within the aneurysmal sac invalidates the homogeneity assumption. A formula to calculate the minimum coil length needed to arrest blood flow in an aneurysm by applying the homogeneous porous medium assumption was derived in Ref. 19. In their paper, the homogeneous porous medium assumption was applied to overcome the difficulties associated with finding the permeability and porosity of a heterogeneous porous domain. Researchers in Ref. 24 attempted to assess the capability of the homogeneous porous medium assumption in comparison to the conventional approach of using explicit coil geometries. Specifically, they performed CFD simulations on explicit coil geometries and compared the results to those from simulations applying the homogeneous porous medium assumption. They concluded that despite the easier implementation of the homogeneous porous medium approach, it failed to capture the main flow features. Their results showed a significant deviation from the conventional approach.

In a recent work,22 the hemodynamics in physical models of two patient-specific aneurysms treated with coils were compared to those in a version of the same aneurysm embolized with a homogeneous porous medium. Authors showed that the homogeneity assumption considerably over-predicted blood flow into the aneurysm. Thus, despite the benefits associated with reduced computational cost and easier meshing, the non-uniform, complex geometries of coils degrade the homogeneity assumption. In other words, changes in porosity throughout the domain require a more sophisticated model that defines a position-dependent porosity map.

Experiments and numerical analyses performed in Ref. 27 quantified void spaces within the aneurysmal sac after coil deployment, and showed that the coil mass is not uniformly distributed. A Weibull distribution model was proposed to represent intra-aneurysmal pore distribution. The authors mentioned that the model could be used in numerical studies of intra-aneurysmal hemodynamics, but did not apply it themselves. As an alternative to numerical prediction of the permeability of a coil mass, experiments using a falling-head permeameter28 and fluorescence microscopy10 can also be used.

In this paper, we present a novel method that considers coils as a heterogeneous porous medium. Specifically, the method applies the porous medium assumption but also considers non-uniform changes in domain porosity. First, we verified the capabilities of the proposed method in predicting pressure drop caused by coils placed in a straight cylinder. Next, geometries of three different anatomical aneurysms were first constructed; embolic coils were then deployed virtually in each aneurysm using a finite element method (FEM). CFD simulations were performed on the explicit coil geometries, as well as corresponding homogeneous and heterogeneous porous domains.

Materials and Methods

Governing Equations

The effect of a porous medium on the flow field was modeled by an added source term in the Navier–Stokes equation. The term was borrowed from the original Darcy’s law relating pressure drop to fluid velocity via permeability.11,12,17,31,32 Permeability and porosity were considered to be position-dependent 3D maps and were used as input for the Navier–Stokes equations.

$$\rho \left( {\frac{{\partial {\user2{u}}}}{\partial t} + \nabla .\left( {\frac{{\user2{uu}}}{\phi }} \right)} \right) = - \nabla p + \rho {\user2{g}} + \mu \nabla^{2} {\user2{u}} - \frac{{\mu \phi {\user2{u}}}}{K}$$
(1)

In the equation above, ρ (kg/m3) is fluid density, u (m/s) is superficial velocity, t (s) is time, ϕ is porosity, p (kg/m s2) is pressure, g (m/s2) is gravity, μ (kg/ms) is dynamic viscosity, and K (m2) is permeability. Permeability was then calculated using the Carman–Kozeny relation.6 Defining porosity (ϕ) and specific area (A) per unit bulk volume as

$$\phi = \frac{{{\text{Device}}\;{\text{volume}}}}{{{\text{Total}}\;{\text{volume}}}}$$
(2)
$$A = \frac{{{\text{Internal}}\, {\text{surface}}\,{\text{area}}\,{\text{of}}\,{\text{the}}\,{\text{porous}}\,{\text{region}}}}{{{\text{Total}}\,{\text{volume}}}}$$
(3)

permeability is found

$$K = \frac{{\phi^{3} }}{{cA^{2} }}$$
(4)

where c is the shape factor. This factor is dependent on the cross section of the coils and was considered to be 2 in this study.6

Map Generation Procedure

Stereo-lithography (STL) representations of the deployed coil surfaces were used. This allowed us to take advantage of the triangular surface mesh to generate the porosity and permeability maps. The bounding box around each device was broken into a uniform lattice of hexahedra. Within each hexahedral, the device portion was closed by tessellating the open areas cut by the hexahedral faces. Once the device portion within the hexahedral was watertight (Fig. 1), its area was found by adding the surface areas of all the triangles forming that device portion including the closure parts. The divergence theorem was then applied to calculate volume from surface area,1 considering \(\vec{F}\) a vector field built from a triangle’s corner and origin:

$$\varOmega = \int\limits_{\varOmega } {\nabla \cdot \vec{F}(x)d\varOmega = \oint\limits_{S} {\vec{F} \cdot \hat{n} dS} ,}$$
(5)

where Ω is the volume, S is the surface, and \(\hat{n}\) is the triangle’s surface normal. The generated map was then used to find the porosity and permeability for each node in CFD mesh by means of tri-linear interpolation. This algorithm is explained further in “Appendix A”.

Figure 1
figure 1

Watertight sub-domain (right) of the porous region (left). Device portion within the smaller hexahedral has been determined and magnified as an example.

Numerical Method

The three-dimensional Navier–Stokes equations were solved using CLIFF (Cascade Technologies, Inc., Palo Alto, CA, USA). CLIFF is a second order node-based, incompressible solver and implements the fractional step method.15,16,20 The convergence criteria here was 1e−14 for the pressure Poisson’s solver. The walls were considered to be rigid and with a no-slip boundary condition. At the inlet, a constant inlet velocity was specified, and at the outlet, a convective outflow condition was used.

To ensure that the mean flow reached a steady state, kinetic energy per unit volume (Eq. 6) was calculated in the aneurysmal sac region and was tracked for five time units. The two-norm of the aneurysmal K.E. was then calculated to ensure a sufficiently steady state solution. In other words, once the two-norm of the tracked data fell below a certain threshold (0.001), the flow was considered to be settled. These values are reported in “Appendix B”. In the following equation, K.E. is kinetic energy per unit volume (kg/ms2), ∀ (m3) is total volume of cells, ∀i (m3) is individual mesh cell’s volume, ρ (kg/m3) is fluid density, and \({\user2{u}}_{\text{physical}}\) (m/s) is mesh cell’s physical velocity:

$${\text{K.E.}} = \frac{\rho }{2}\left( {\frac{1}{\forall }\sum\limits_{i} {\forall _{i} \left\| {u_{{{\text{physical}}}} } \right\|_{i}^{2}} } \right).$$
(6)

The physical velocity is a more realistic and accurate representation of velocity in porous region and is specified as33:

$${\user2{u}}_{\text{physical}} = \frac{\user2{u}}{\phi }.$$
(7)

Verification Model

To verify the porous medium approach suggested here, the common methodology which was first suggested by Darcy in 18565,30 was used here. In this approach, the pressure drop across a porous medium is related to the volumetric flow rate in a steady flow. To replicate this process, a straight cylinder with a sphere in the middle was made and then 3D printed (Fig. 2). The model helped with isolating the effects of the porous region on the domain from any other variabilities caused by an actual patient-specific aneurysmal geometry. One TruFill DCS Orbit coil (Codman Neurovascular, Johnson & Johnson, Brunswick, NJ) with length and deployed outer diameter of 0.15 m and 0.009 m, respectively, was considered to be the porous medium investigated here and was deployed in the spherical part of the model. Once the coils were deployed, µCT images were acquired using a Siemens Inveon µCT scanner. The in-plane and out of plane resolutions were 28.4 µm with a total number of 1024 * 1024 pixels on each slice. Given the individual coil diameter of 304.8 µm, there existed almost 11 pixels in each coils’ cross section. Images were then imported into Mimics software (Materialize, Ann Arbor, MI) to reconstruct the coils’ geometries. Segmentation of images was done using thresholding and region growing (Fig. 2). It should be noted that no scanner can capture gaps between adjacent coil wires that are considerably smaller than the scanner’s resolution. Some of the artifacts apparent in the geometry shown in Fig. 2, including the appearance of coil wire diameter variations and merging, are the result of resolution limitations. Nevertheless, the same baseline geometries were used in this study as inputs to the conventional CFD approach, the homogeneous porous medium approach, and the proposed heterogeneous porous medium approach. To ensure that the presented porous medium model was examined at different flow scenarios including viscous or inertia dominant, three different Reynolds numbers were considered. We first considered a Reynolds number of 4.7 which was associated with the inflow at the aneurysmal neck in one of the anatomical geometries (case A). For a viscous dominant flow a Reynolds number of 0.5, and for an inertia dominant flow, a Reynolds number of 10 were then considered. It is mentioned that these Reynolds numbers are based on an individual coil diameter.

Figure 2
figure 2

Verification model (top) and the reconstructed porous medium (coils).

Anatomical Models

The simulations for anatomical geometries (Fig. 3) were run at a constant input volumetric flow rate of 2 mL/s.13 Blood in the anatomical geometries was considered to be incompressible, Newtonian, and with a density and viscosity of 1060 (kg/m3) and 0.00371 (kg/ms),21 respectively. Based on the parent vessel inlet diameters of 0.0028 m (model A), 0.0027 m (model B), 0.0029 m (model C), the Reynolds numbers were 253, 266, and 251, respectively. Additionally, the Reynolds numbers (based on the individual coil diameter) at the aneurysmal neck for cases A, B, and C were 4.7, 7.2, and 25.7, respectively.

Figure 3
figure 3

Treated aneurysm with FEM coils, (a) first case (b) second case (c) third case. The entire anatomical models are shown on left and the saccular regions on right. Inlets for each model are indicated on the figure for clarity, the remaining branches were considered as outlets.

To create the three anatomical cerebral aneurysms, computed tomography (CT) images were acquired. The images had matrix sizes of 512 * 512 and a slice thickness of 625 µm. The raw images were anonymized prior to research use, enhanced with custom software written in MATLAB (MathWorks, Natick, MA, USA), and then imported into Mimics software (Materialise, Leuven, Belgium). Reconstructed models were then modified to ensure that the inlet length was sufficient for flow to fully develop9 (Fig. 3). The total inlet lengths for models A, B and C were 0.0681, 0.0679, and 0.0680 m, respectively. Endovantage Suite (Endovantage, LLC, Scottsdale, AZ, USA) was used to deploy coils into the aneurysm geometries. This suite replicates the actual deployment procedure and takes into account the mechanical properties of the coils.3,4 All geometries were then imported into ANSYS ICEM 16.2 (ANSYS, Inc., Canonsburg, PA, USA) and an initial mesh was generated. Due to the complexity of the anatomical aneurysm geometries and the coils, tetrahedral mesh elements were used to discretize the fluid domain. To capture the sharp velocity gradients at the walls, refined mesh regions near the walls were utilized (Fig. 4). The initial mesh was then refined twice using ANSYS FLUENT 16.2 (ANSYS, Inc., Canonsburg, PA, USA); this was done by refining all the edges by a factor of 2. This led to 3 different meshes: a coarse, medium and fine mesh.

Figure 4
figure 4

Near wall refinements for the anatomical models, (a) first case (b) second case (c) third case.

Grid-Independence Study

The independence of the solution from the generated mesh was then examined by the method presented by Roache.26 This approach, based on the so-called Grid Convergence Index (GCI), is used to estimate errors due to domain discretization. In other words, GCI measures the deviation of a computed value from the asymptotic value at infinite mesh resolution. The asymptotic value is predicted by utilizing Richardson extrapolation based on the values from the two finest grids. The details for the mesh refinement study are given in “Appendix B”. As it is seen, the error bands for all the cases are quite small (1.2795E−0.3–0.26%); this confirms that our solution is not affected by discretization errors.

Results

Verification Model

Pressure drops across the entire model were calculated based on CFD simulations. These included the model devoid of the coils (untreated), explicitly coiled (treated) model, homogeneous porous medium model, and the presented heterogeneous porous medium model at different map resolutions. Note that resolution here refers to the number of hexahedra in each axial direction that were used in the mapping algorithm. To apply the heterogeneity assumption, porosity maps at different resolutions were generated and visualized on a cut passing through the middle of the model (Fig. 5). It is evident from the figure that refinement of the porosity map resolution resulted in the better description of the coils’ configurations.

Figure 5
figure 5

Porosity maps at different resolutions for the verification model. Numbers on each subfigure show the number of hexahedra in each axial direction.

The calculated pressure drops are shown in Fig. 6. To isolate the pressure drop caused by the porous structure (coils), the pressure drop associated with the model devoid of coils (untreated) was subtracted from the numbers reported in this figure. With porosity map refinement, the pressure drops predicted by the heterogeneous porous medium model approaches the value obtained from the CFD simulations when the explicit geometry of coil mass was available (treated). The pressure drops predicted by resolutions 32, and 64 show a good agreement with the treated model. For example, at the Reynolds number of 4.7, these deviations are 0.5 and 3% for map resolutions of 32 and 64, respectively. Additionally, the homogeneous porous medium assumption under-predicts the pressure drop considerably.

Figure 6
figure 6

Porous medium pressure drop values in the verification model and for all Reynolds numbers. The solid lines show the values for the explicitly coiled geometries (treated) and the untreated models.

To better understand the capability of the heterogeneity assumption in capturing the main flow features, snapshots of velocity magnitude contours were generated on a cut plane passing through the center of the model. In Fig. 7, the snapshots of velocity in the domain for different Reynolds numbers are shown. The left, middle, and right columns correspond to the Reynolds numbers of 0.5, 4.7, and 10, respectively. As shown, the homogeneous medium (HG) fails to predict a flow field which is similar to the one from the explicitly coiled geometry. However, the heterogeneous map shows overall flow structures that are very similar to the explicitly coiled geometry.

Figure 7
figure 7

Snapshots of velocity contours in the verification model and for all Reynolds numbers. HG corresponds to the homogeneous porous medium assumption, and 64 pertains to the map resolution 64.

Anatomical Models

Cuts through the treated aneurysms containing explicit coil geometries, as well as three porosity map resolutions are given in Fig. 8. As is shown, the more refined the porosity map, the better the description of the coil’s geometry. To quantify the effect of porosity map resolution on aneurysmal hemodynamics, the kinetic energy per unit volume (K.E.) for each case was calculated in the saccular region. In Fig. 9, K.E. magnitudes for each case are shown. Reported values in this figure include the untreated and explicitly coiled geometries (treated) as well as the porous medium assumptions. As the results given in Fig. 9 show, deploying the coils led to aneurysmal K.E. reductions of 80.77, 84.30 and 67.67% with respect to the untreated geometry for cases A, B, and C, respectively. Furthermore, the homogeneity assumption overestimated K.E. by 268.42, 414.67 and 98.07% for cases A, B, and C, respectively. The refinement of the heterogeneous porous domain allowed the K.E. values to approach those from the explicitly coiled (treated) aneurysm. For example, the absolute errors at the map with 64 hexahedra in each axial direction for cases A, B, and C were 9.25, 1.87 and 1.92%, respectively.

Figure 8
figure 8

Porosity maps at different resolutions for the anatomical cases A, B and C. Numbers on each subfigure show the number of hexahedra in each axial direction. The first column represents the anatomical models in presence of the explicit geometry of coils.

Figure 9
figure 9

Aneurysmal kinetic energy (K.E.) values for the anatomical cases A, B, and C. The solid lines show the values for the explicitly coiled geometries (treated) and the untreated models.

To better visualize the effect of porous medium assumption on aneurysmal hemodynamics, snapshots of velocity streamlines are shown in Fig. 10. The first column represents the velocity streamlines in the aneurysm in the presence of the explicit coil geometries. As the figure shows, the flow path predicted by the homogeneous porous domain (HG) is not similar to the explicitly coiled geometry. To demonstrate the capability of the heterogeneity assumption, streamlines associated with the porosity map resolution of 64 were generated. It is apparent from Fig. 10 that flow path captured by the heterogeneous porous map are in better agreement with one from the explicitly coiled geometry.

Figure 10
figure 10

Velocity streamlines for the anatomical cases A, B and C. From left to right: the coiled geometry, homogeneous porous medium (HG) and heterogeneous map with 64 hexahedra in each axial direction.

Discussion

Reducing aneurysmal blood flow velocity promotes thrombosis in the aneurysmal sac and may prevent rupture and hemorrhage. The results reported in Ref. 25 also show that aneurysmal flows in untreated geometry are far more active than in the treated counterpart. Nonetheless, as other studies have shown, the rather complex geometries of coils make the CFD simulations extremely complicated and computationally very expensive.2 The detailed results tabulated in “Appendix B” also reveal the same fact. Specifically, the total mesh elements needed to discretize treated geometries are, on average, twice as many as those needed for the untreated geometries.

Unfortunately, the conventional solution to these problems, which is using the homogeneous porous domain, has not been able to produce meaningful results. Previous studies have reported the inability of this method to correctly predict flow stagnation in the aneurysm.22 Aneurysmal K.E. (Fig. 9), a representative of intra-aneurysmal hemodynamics, reported an over-prediction that is in accordance with the results reported in Ref. 22. This is due to the fact that coil masses are complex geometries with large variations in porosity and permeability. Since coils are inclined to rest against the aneurysmal wall, the coil mass is much denser in near-wall regions as well as at the neck of the aneurysm. As the flow of blood into the sac passes through the neck region, it is important to accurately estimate flow resistance in this area. The homogeneity assumption distributes the porosity and permeability in a way that porosity at the neck of the aneurysm is over-predicted and thus, there is less resistance to blood flow than in reality.

We suggested a novel way of simulating coils as a heterogeneous porous domain that, to the best of our knowledge, has not been proposed before. As our results show, implementation of the heterogeneity assumption provided a more accurate representation of coils. We showed that a porous domain with 16 hexahedra in each direction is refined enough to accurately predict the coils’ effects on K.E. in aneurysmal sac. The non-uniform spatial distribution of porosity led to a more realistic porous domain. The accurate representation of the coils, especially at the neck of the aneurysm, provided a resistance distribution that is comparable to that from the explicitly coiled geometry. Our verification data show that the pressure drop predicted by the heterogeneous model agrees well with the data obtained from the explicitly coiled model. In contrast, the pressure drops predicted by the homogeneous porous medium approach are significantly under-predicted.

Use of the proposed method helped us significantly reduce computational expense by removing boundary layer mesh elements on the coils. It is also noteworthy that the mesh we used for porous medium simulations was the same one used for the untreated geometry. In other words, having a single untreated meshed geometry enabled us not only to study the untreated aneurysm, but also to study the treated geometry when the heterogeneous porous medium assumption is applied. Additionally, implementation of the heterogeneous porous domain assumption eliminates the need to perform CFD simulations on explicitly coiled geometries. Moreover, as the data in the “Appendix” suggest for untreated geometries, a relatively coarse mesh (MESH#2) can be used as all three meshes are in the asymptotic regime of mesh convergence (ARC ≅ 1). It is also worth mentioning that the implementation of the proposed method enables one to study multiple coil deployments in an aneurysm without the need for remeshing. Lastly, the proposed method can be used to quantify intra-aneurysmal void spaces as well, toward use of a statistical model to represent the coils.27

In order to quantify the computational resources saved, the number of core-hours consumed by each simulation was recorded. By eliminating the need to perform CFD simulations for the explicitly coiled geometries and considering that the middle level mesh (MESH#2) for the untreated geometry was refined sufficiently (as the reported values are well within the asymptotic range of convergence), we were able to speed up the total simulation run time by a factor greater than 5 (case A). For example, the total number of core-hours needed to perform CFD simulations on all three meshes for the explicitly coiled geometries in case A was almost 30,000. Core-hours used for the untreated geometry (MESH#2) was about 6000 in case A. These numbers for cases B and C were roughly 35,000 and 43,000 for the explicitly coiled geometries (all three meshes) and 5000 and 6000 for the untreated geometries (MESH#2), respectively. This provides speed up factors of 7 and 7.2 for cases B and C, respectively.

Conclusions

This study showed that when coils are modeled using the homogeneity assumption, considerable errors in predicting intra-aneurysmal K.E. can occur. This is mainly due to the fact that the Carman–Kozeny equation is dependent on the geometry of the porous medium and the homogeneity assumption does not take into consideration the non-uniform changes in the porous domain. In other words, the heterogeneity assumption which considers the non-uniform changes can provide a deterministic way of calculating permeability using the Carman–Kozeny relation. The reported data in this study showed that a refined enough heterogeneous porous domain that represents the explicit geometry, can predict intra-aneurysmal K.E. and the main flow features, while reducing computational cost.