6.1 Surface remeshing
Once the shape of the model has been finalized, a computational mesh must be generated for the numerical solution of the partial differential equations describing blood flow. Our approach for automated mesh generation is to generate a high quality triangulated surface mesh and to then fill the volume using a combination of tetrahedral and prismatic elements.
For the present work, we adopted a mesh improvement approach to surface remeshing, where we assume that the input surface mesh is a good polygonal approximation of the continuous geometry. In fact, this may not be true for a surface generated from level sets in case the geometric features are on the order of a voxel in size, since those features end up being linearly interpolated with large triangles. In this case, surface mesh density can be first increased using a smooth subdivision scheme. In particular, we employ Loop’s subdivision scheme [
20], provided by VTK, which yields a C2 continuous surface when mesh density tends to infinity, under assumptions of regularity of the starting mesh. Taking the input surface mesh as the reference geometry has the advantage of avoiding the conversion of the input triangulation to a CAD-like parametric representation, which could in principle introduce a regularization of the input geometry which is not directly controllable from the user side.
Our algorithm for surface remeshing belongs to the class of explicit remeshing algorithms, in which an initial triangulation
\({{\fancyscript{T}}}_{0}\) is progressively modified in order for the surface mesh to conform to imposed quality and sizing criteria [
14,
28]. Mesh improvement is performed through three basic topological operations, namely edge collapse, edge split and edge flip, acting on surface triangles, and one geometric operation, point relocation, acting on point position. Target triangle area is locally defined as a sizing function
A(
u) on the nodes of
\({{\fancyscript{T}}}_{0},\)where
u is a point in the parameterization of
\({{\fancyscript{T}}}_{0}.\) The four atomic operations are iteratively applied to the mesh
\({{\fancyscript{T}}}\) until the following criteria are met:
-
the Frobenius aspect ratio of each triangle, defined as \(f=\frac{e_{1}^{2}+e_{2}^{2}+e_{3}^{2}}{4\sqrt{3}A}\)where e
i
is the length of triangle edge i and A is triangle area, is as high as possible and higher than a threshold (by default set to 1.2);
-
local triangle area A(u) conforms the sizing function specified on \({{\fancyscript{T}}}_{0};\)
-
triangle neighborhoods have a valence (i.e., the number of vertices connected to a vertex through a triangle edge) as close as possible to 6.
Whenever a new point is inserted in \({{\fancyscript{T}}}\) or a point relocation is performed, the point is projected back on \({{\fancyscript{T}}}_{0}\) by means of a fast octree locator. The same locator is used whenever a value of A(u) defined on \({{\fancyscript{T}}}_{0}\) is needed for a triangle on \({{\fancyscript{T}}}.\) The sizing function A(u) can be automatically defined on the basis of the geometry of \({{\fancyscript{T}}}_{0},\) for instance by setting it proportional to the surface mean curvature. This solution has the advantage of refining the mesh around small-scale features, but suffers from sensitivity to the presence of small-scale noise on the surface, which potentially leads to artifactual over-refinements. We instead choose to define A(u) on the basis of local vessel size, with the rationale that a vessel should have the same number of elements around, or across, the lumen, irrespective of its local diameter.
We adopt the distance of surface points to centerlines,
D
c
(
u), as a robust surrogate of local vessel size. For each surface point, we compute its distance to the centerline point that yields the minimum tube function value among all centerline points. This tube-based approach is superior to simply computing the distance to the closest point on centerlines, since the latter approach would tend to underestimate local size where the size of vessels change abruptly, such as in the case of stenoses or T-shaped bifurcations. Finding the centerline point that yields the minimal tube function can be performed efficiently by considering that a tube
c
T
is a line in a 4-dimensional space
c
T
(
s) = (
x(
s),
y(
s),
z(
s),
ir(
s)), where
s is the line parameter,
x,
y and
z the spatial coordinates of the centerline,
r its radius and
i the imaginary unit [
3]. The tube function evaluated at a point
p = (
x
p
,
y
p
,
z
p
, 0) is then
$$ f({\mathbf p})=\underset{s\in[0,L]}{\min}\left\{\left\Vert {\mathbf c}_{T}(s)-{\mathbf p}\right\Vert \right\} $$
(7)
For a piecewise linear representation, Eq.
7 has to be evaluated for every linear segment [
s
i+1,
s
i
] to find
τ ∈ [0,1] such that the tube function is minimal at
s =
s
i
+ τ(
s
i+1−
s
i
). This is done analytically by extending the expression for the closest point to a line in Euclidean geometry to the 4-dimensional geometry of the tube function
$$ \tau=\frac{\left({\mathbf p}-{\mathbf c}_{T}(s_{i})\right)\cdot\left({\mathbf c}_{T}(s_{i+1})-{\mathbf c}_{T}(s_{i})\right)}{\left\Vert {\mathbf c}_{T}(s_{i+1})-{\mathbf c}_{T}(s_{i})\right\Vert} $$
(8)
Once the distance to centerlines has been defined at every node on
\({{\fancyscript{T}}}_{0},\) it can be manipulated and used as a sizing function for the surface remeshing algorithm. In our framework, we compute the local target area field as
$$ A({\mathbf u})=\frac{\sqrt{3}}{4}*\left(R_{\rm el}*D_{c}({\mathbf u})\right)^{2} $$
(9)
where
R
el is a constant factor expressing the ratio between the nominal edge length and the distance to centerlines, as shown in Fig.
4. In practice,
R
el is the only free parameter in the surface remeshing procedure, and it quantifies the length of the nominal triangle edge relative to the vessel size. Since it’s a relative quantity, it can be chosen once for all in a population study.
The above approach is robust but suffers from the presence structures that are not well represented by centerlines, such as saccular aneurysms, on whose surface
D
c
(
u) could assume artifactually high values. A simple workaround is to set a upper threshold to the admissible values of
D
c
(
u). However, this introduces an absolute mesh sizing parameter which may imply model-specific decisions, and impede automatic meshing in a population study. An alternative, more robust, approach is to replace
D
c
(
u) with
R
c
(
u), i.e., the radius of the maximal inscribed sphere at the centerline point with the minimal tube function. In other words, after finding the point with the minimal tube value, we get its inscribed sphere radius instead of computing the distance to it. The definition of
A(
u) is then the same as in Eq.
9 with
D
c
(
u) replaced by
R
c
(
u). This way, the target area doesn’t increase in those regions that deviate from a tubular shape, such as saccular aneurysms as shown in Fig.
5, but it instead depends on the size of the tube where those regions originate.
6.2 Volume meshing
Volume mesh generation is performed on the basis of the surface mesh produced at the previous step, as the latter is left unchanged and the interior is filled with volumetric elements. The mesh is composed of two parts, the tetrahedral interior and the prismatic or tetrahedral boundary layer. We will now present them in this order.
Tetrahedral mesh generation in the Vascular Modeling Toolkit is performed by incorporating the functionality offered by the Tetgen mesh generator [
27], a tool for constrained Delaunay and high-quality tetrahedralization of piecewise linear complexes. The algorithms provided by Tetgen are provided in code that was directly embedded within a VTK class, which provides seamless integration with the rest of the framework and achieves complete automation. We refer to [
26] for in-depth description of the theory and algorithms behind the tool. For our purposes, it is sufficient to mention that Tetgen is capable of generating meshes conforming to a boundary triangulation and satisfying the Delaunay criterion (i.e., no vertex falls inside the circumsphere of any tetrahedron). In addition, mesh quality is ensured through the specification of a bound on the target ratio of the radius of the element circumsphere to the length of the shortest element edge.
Sizing of the tetrahedral mesh can be provided through the specification of target tetrahedron edge size at a set of points in space. In our case, we express target volume at each node of the input surface mesh, setting it proportional to the local triangle edge length on the surface mesh, as shown in Fig.
4. The proportionality constant can be chosen once close to 1. In practice, dealing with tubular geometries, and in general with concave bounding surfaces with non-negligible curvature everywhere, it is advisable to keep the proportionality constant lower than one (e.g., 0.8), in order to penalize the generation of elongated tetrahedra at the boundary surface.
Since the behavior of the solution close to the wall is of great interest for hemodynamics, as it is directly linked to wall shear stress and derived quantities, it is in general desirable that the mesh has a high element density near the wall, and that elements are aligned with the local orientation of the boundary surface in that region. In practice, this is realized by generating one or more layers of prismatic elements having the boundary triangles as their base and protruding into the domain along the surface normal direction (for solvers not supporting prismatic element types, the boundary layer can then be tetrahedralized). The thickness of the boundary layer is expressed as a fraction of the local edge length, which is in turn dependent on the local vessel size, consistently with the fact that the size of the physical shear layer is expected to scale with the vessel size, as shown in Fig.
4.
The concrete advantage of the generation of such boundary layer depends on the specific problem at hand and on the density of the internal tetrahedral mesh. When using an adaptive mesh refinement strategy as presented in the next section, it is expected that resolving the boundary layer in the direction normal to the surface will limit the number of elements tagged for refinement within the shear layer, therefore increasing efficiency. A systematic evaluation of such effect is beyond the scope of this paper and will be subject of future work.
As detailed in the next section, our solution strategy is based on P2-P1 finite elements. For this task we adopt isoparametric quadratic finite elements, namely 10-noded quadratic tetrahedra and 18-noded quadratic prisms. The conversion of the elements from linear to quadratic is performed by introducing additional nodes using a regular subdivision scheme. Once subdivided, midside nodes of boundary triangles are instead projected onto the initial surface \({{\fancyscript{T}}}_{0}\) using the octree locator, so to obtain a proper high-order representation of the surface.