Summary
Upon injury to a blood vessel, flowing platelets will aggregate at the injury site, forming an plug to prevent blood loss. Through a complex system of biochemical reactions, a stabilizing mesh forms around the platelet aggregate forming a stable blood clot that further seals the injury. Computational models of clot formation have been developed to a study thrombosis, where a vessel injury does not cause blood leakage outside the blood vessel but blocks blood flow. To model scenarios in which blood leaks from a main vessel out into the extravascular space, new computational tools need to be developed to handle the complex geometries that represent the injury. We have previously modeled intravascular clot formation under flow using a continuum approximation wherein the transport of platelet densities into some spatial location is limited by the platelet fraction that already reside in that location, i.e., the densities satisfy a maximum packing constraint through the use of a hindered transport coefficient. To extend this notion to extravascular injury geometries, we have modified a finite element method flux corrected transport (FEM-FCT) scheme by prelimiting anti-diffusive nodal fluxes. We show that our modified scheme, under a variety of test problems, including mesh refinement, structured vs unstructured meshes and for a range of reaction rates, produces numerical results that satisfy a maximum platelet-density packing constraint.
Keywords: flux corrected transport, finite element method, mathematical model, platelet aggregation, blood clotting, hemostasis
Graphical Abstract

In this study, we developed a new FEM-based numerical algorithm to solve advection diffusion reaction equations constrained by a physical packing limit. Components of the algorithm include a change in interpolation space of a hindered transport coefficient, which limits the transport of mobile species, and a density dependent prelimiter to a FEM-FCT scheme. Our algorithm, under a variety of test problems and applied to a model of extravascular platelet aggregation, produced numerical results that satisfy the maximum packing constraint.
1 |. INTRODUCTION
When a blood vessel is injured, blood platelets aggregate at the site of injury as part of the normal physiologic response. Briefly, flowing platelets adhere to molecules embedded in the vessel wall at the site of injury, become activated, and cohere with one another to form a massive plug that slows the initial leakage of blood from the vessel. The next stage of the response is the biochemical process of coagulation; the major enzyme produced during coagulation promotes formation of a fibrous mesh to stabilize the platelet aggregates and chemically activates platelets, which further enhances platelet aggregation. The overall blood clotting process is complex and nonlinear and is thus, difficult to predict. For this reason, computational approaches are well-suited to obtain a better understanding of the clotting process as a whole and to make testable hypotheses that can be validated experimentally. For example, our spatial-temporal model of platelet aggregation and coagulation under flow 1,2 was used to explain differing dynamics of clot formation in hemophilia A due to various treatments3; this was achieved by comparing results from our computational model and those from microfluidic assays. Our model was also extended by others to include fibrin formation and was then compared to microfluidic experiments to understand how the growth and structure of clots that form under flow vary with initial stimulus4,5.
Most computational models of platelet aggregation, including our previous work, were used to study intravascular clot formation, where there is no leakage of blood from the vessel6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; this scenario models thrombosis, a physiological disorder in which pathological clot formation obstructs normal blood flow. Fewer studies have focused on extravascular clotting where blood leaks out of the vessel from a hole; this scenario could represent the normal hemostatic response where clots form to prevent blood leakage but the blood also retains fluidity in the main blood vessel. Our group has recently begun to investigate extravascular injuries using computational fluid dynamics in conjunction with a microfluidic device21; we have modeled the 3D fluid dynamics using the finite element method to estimate pressure drops and wall shear stresses within the complex geometry of the device. Direct application of our previous platelet aggregation model in this geometry has proven to be less straightforward.
In our previous work, we modeled the platelets by using a continuum approximation, i.e., we tracked platelet densities rather than individual platelets. We developed a four-species platelet model that incorporated the adhesion, activation and aggregation of platelets, where mobile species were tracked using advection-diffusion-reaction equations, and the static (bound, aggregated) species were tracked with reaction equations at specified spatial locations. To properly account for the platelet size, advective and diffusive fluxes of platelet densities were scaled by a spatially-varying coefficient that decreased as the platelet fraction increased1,2. The result of this was a modified, hindered velocity in the advection equation for the mobile platelet species; the advection and diffusion parts of the equations were solved separately with a fractional step method. Using a finite-difference approximation, we solved the advection equation in its conservative form, with Leveque’s high-resolution advection algorithm22 that employs flux-limiters to control oscillations near discontinuities or steep gradients. Within that framework, it was straight-forward to modify the fluxes to incorporate the hindered velocity and control the mobile platelet densities transported from grid cell to grid cell to ensure that platelet densities never exceeded a physical packing limit.
Now that we are interested in complex geometry associated with extravascular injuries, our approach to numerically solving the equations of the platelet model will be to use the finite element method (FEM). Using the FEM requires reexamination of the modified advection-diffusion equation for the mobile platelet species. Flux corrected transport (FCT) methods are another class of algorithms based on the idea of flux-limiters, designed to control oscillations that arise when numerically solving the advection-diffusion equation. Although they were originally developed for use with finite difference approximations23,24, they have since been extended and further developed for the finite element method (FEM-FCT)25,26,27,28; we will build on such algorithms in this work. There are other methods to solve advection-diffusion equations using linear finite elements, such as streamline upwind/Petrov-Galerkin (SUPG) methods 29 or spurious oscillations at layers diminishing (SOLD) methods 30,31. In comparison to these methods, FEM-FCT has been shown to consistently preserve positivity in solutions, a requirement with chemical reacting flow problems.32. A direct application of a FEM-FCT algorithm to our mobile platelet equations results in a violation of a physical packing limit due to platelets being transported into regions that are already filled. The objective of this study is thus to develop a methodology to model platelet transport, subject to a physical packing-limit constraint using the FEM-FCT framework; we do so by modifying the weak form of the transport equations and by extending a current FEM-FCT algorithm.
To develop and test our methodology, we use a simplified version of our previous platelet aggregation model in which there are only two species of platelets, mobile and bound, tracked as number densities; the model is fully described in Section 2. Briefly, mobile platelets are transported through a moving fluid and allowed to bind and unbind to either a wall or a bound platelet aggregate through a reaction term. The fluid velocity is reduced when it coincides with bound platelet aggregates that behave as porous materials. A key component of the mobile platelet transport equation is the hindered transport coefficient, which reduces the total advective and diffusive flux of platelets as a function of the total density of platelets.
In Section 3 we describe the numerical methods used to solve the platelet equations. In Section 3.1, we describe the finite element discretization of the mobile platelet transport equation, used in the FEM-FCT algorithm with piecewise linear continuous functions as a basis for the solution space. The total platelet density and the hindered transport coefficient are thus also defined using elements. We reason that with this spatial discretization of the mobile platelet transport equation, the total platelet density would fail to satisfy the maximum packing density Pmax. To remedy this, we suggest a modification to the interpolation space and to the hindered transport coefficient so that it is a piecewise constant space defined on the mesh. In Section 3.2, we describe how to represent the platelet-dependent fluid resistance term, α(ϕB), in the weak form. In Section 3.3, we give an overview of FEM-FCT methods that are currently available to solve the discretized equations27. In Section 3.4, since there is no guarantee that the current FEM-FCT methods will uphold the platelet packing limit, we propose a modification in which prelimiting fluxes into regions that are maximally packed with platelets become platelet-density dependent. Finally, in Section 3.5 we summarize the complete algorithm for solving the model equations in this framework.
We rigorously tested our methodology with several test problems in Section 4. First, we considered a region of space in which there was a mass of prebound platelets; the test involved flowing mobile platelets through and around the mass and determining if the total platelet fraction, ϕT, satisfied the maximum packing limit, ϕT ≤ 1. The platelet fraction stayed within the packing limit over a range of densities of mobile platelets flowing continually into the domain and under grid refinement. We quantified any packing-limit overage as a function of the time step and mobile platelet density. In the next problem, mobile platelets were allowed to reversibly bind the prebound mass and here the total fraction was also shown to satisfy ϕT ≤ 1. Finally, we showed that ϕT ≤ 1 is also satisfied using an unstructured mesh in a complex geometrical domain that models an extravascular injury. Our results suggest that the proposed method allows the maximum packing limit to be satisfied for a variety of modeling situations in addition to platelet aggregation.
2 |. TWO-SPECIES MODEL OF PLATELET AGGREGATION
To describe the details of our density-dependent FEM-FCT algorithm in a straightforward manner, and show how it applies to a model of platelet aggregation, we present a reduced version of our previous four-species platelet model1. A model for which the algorithm is useful should include at least one mobile species that is carried by a fluid and diffuses within that fluid, in addition to at least one stationary or ‘bound’ species that acts as a porous material through which the mobile species can be transported, and to which the mobile species can bind. The platelet species are coupled to the fluid through the assumption that the bound aggregate is a porous material; fluid motion within an aggregate should decrease with extra resistance that increases due to platelet density. Thus, for simplicity, we consider a minimal, two-species platelet model, where platelets are either mobile (Pm) or bound (Pb). We note, however, that the algorithm applies more generally to cases where there are more than two species. The platelet species are characterized by their the total platelet fraction, ϕT, and their the bound platelet fraction, ϕB. We also assume there is a physical platelet packing limit, i.e., a maximum number density of platelets at any point in space. We denote this limit as Pmax and set its value to be 6.67 × 107 platelets per µL, estimated from a scenario where 20 platelets fit tightly in a 300 µm3 region. The total platelet fraction ϕT is the ratio of the sum of Pm and Pb to Pmax, while the bound platelet fraction is the ratio of Pb to Pmax. The bound platelet fraction affects the fluid velocity, reducing fluid motion within a platelet aggregate, and the total platelet fraction changes how quickly platelets can move due to crowding by one another.
2.1 |. Fluid
The fluid motion is described by the Navier-Stokes-Brinkman equation
| (1) |
| (2) |
where and p represent fluid velocity and pressure, respectively, ρ is the dynamic viscosity and ρ is the fluid density. The term −µα(ϕB) represents a frictional resistance to the fluid motion due to the presence of bound platelets via their platelet fraction, ϕB = Pb/Pmax. As more platelets become bound at any spatial location, the permeability decreases there and thus the resistance, α(ϕB), increases; we assume that α(ϕB) satisfies the Carman-Kozeny relation33,34
and a representative plot is shown in Figure 1. Although the Carman-Kozeny model is typically used for spherically-packed granular beds, it has also been shown to have good qualitative agreement with experimental estimates of clot permeability35.
FIGURE 1.

Fluid resistance due to bound platetets: α(ϕB)
Unless otherwise noted, all simulations we present in this work consider fluid motion that occurs in a domain Ω, with prescribed parabolic profiles at the inlets of the domain, Γin, no-slip boundary conditions on the walls orthogonal to the direction of flow, ΓW, and prescribed pressures at the outlets of the domain, Γout. We prescribe pressures with open/natural boundary conditions of the form:
| (3) |
where n is the outward normal vector on the boundary Γout and is the constant prescribed pressure.
2.2 |. Platelets
The evolution equations for mobile and bound platelets, Pm and Pb, are defined by:
| (4) |
| (5) |
This is a continuum model that tracks number densities of platelets rather than individual discrete platelets and therefore, the model requires an additional procedure to account for the finite size of the platelets. This notion of size is captured by using spatially-varying, phenomenological functions for platelet-platelet cohesion (aggregation) and density-dependent limited transport, as was done in our previous work1. Briefly, motion of mobile platelets into a region that is already occupied by a platelet aggregate must be limited in some way. This limitation is achieved by modifying the advective and diffusive flux of mobile platelets, , which is the first term in equation (4). We multiply this flux by a scalar function W(ϕT), which is a monotonically decreasing function of the total platelet fraction, ϕT, given by W(ϕT) = tanh [π (1 − ϕT)]; a schematic of this function is shown in Figure 2A. For increasing values of ϕT the shape of W(ϕT) represents a gradual hindrance of mobile platelet transport until ϕT approaches 0.5, when it begins to more rapidly hinder transport and then drops to zero as ϕT approaches 1.
FIGURE 2.

(A) Platelet density-dependent transport limiting function W(ϕT), and (B) Binding affinity function.
The second and third terms in equation (4) account for platelet-platelet cohesion and represent the transient binding of mobile platelets on and off of platelet aggregates, respectively. The finite size of platelets must also be considered with cohesion so that the mobile platelets densities are able to build up (bind to aggregates) when they are sufficiently close to aggregates. This is achieved through a virtual substance η, that acts as a proximity function to identify where and how many bound platelets reside in a particular spatial location, and a “binding affinity” function g(η) that, in part, determines the cohesion rate of mobile platelets to an aggregate. The functional form of the binding affinity function is and is shown in Figure 2. The parameter ηt is the threshold value before which platelets do not bind, η* + ηt is the value of η which g(η) changes rapidly, and g0 is chosen such that g(1) = 1. The evolution equation for η follows the reaction-diffusion dynamics:
| (6) |
This formulation assumes that η decays at a rate γη and is produced at that same rate by bound platelets. It also diffuses with diffusion coefficient Dη. As in our previous work, Dη and γη are chosen such that the value of η drops substantially at a distance comparable to a platelet diameter d, i.e. 1.
The cohesion rate, kcoh(s−1 M−1), and the unbinding rate koff(s−1) are related through a disassociation constant , defined as the ratio of koff to kcoh. As a first approximation, we assume that
| (7) |
where P0 is the normal platelet count in plasma, P0 ≈ 2.5 × 105/µL. As presented in the results section, we test the algorithm with various dissociation constants; to do this we use the value kcoh × Pmax = 102 s−1 M−1 and vary koff accordingly.
For the boundary conditions on Pm, we assume constant densities entering through each fluid inlet boundary, Γin and on the remainder of the boundaries, Γout and ΓW, Pm satisfies a homogeneous Neumann boundary condition:
| (8) |
| (9) |
3 |. NUMERICAL METHODS
In this section, we describe our new numerical methodology that ensures platelet fractions remain within physical limits, comprised of modifications and updates to current algorithms at various stages during the solution process. First, we describe the new spatial and temporal discretizations of the equation for mobile platelets using the finite element method, including the dis-cretization of hindered transport and Brinkman coefficient. Next we give an overview of current FEM-FCT methods in order to highlight the places within its algorithm that require modifications; in particular, we define a new prelimiter that ensures platelet fractions remain within physical limits during the correction step. Finally, we provide an overall summary for the solution algorithm.
3.1 |. Approximating W(ϕT) in the Weak Formulation
To understand why a modification to the scalar W(ϕT) is needed, we rewrite the partial differential equation of Pm using the finite element method. Let be the triangulation of the domain Ω such that is a triangular cell on the mesh. For now, we will ignore the reaction terms (i.e. kcohPmax = kof f = 0) for the PDE of Pm.
To discretize the equations, we first apply a finite-difference approximation in time using a modified Crank-Nicolson time-stepping scheme. Assuming a time step size Δt, equation (4) (without reaction terms) at time step level k + 1 becomes:
| (10) |
where Pm,[k+1] is the mobile platelet density, Pm, at time level k+1. Note that at this stage, we assume that W(ϕT) is extrapolated from time level k in both of the transport terms, since ϕT depends on Pm.
Next we apply the standard Galerkin method to (10) using elements. Assuming there are N basis functions {ψ1, … ψN} that span , with Pm being approximated by a linear combination of the basis functions, we have:
| (11) |
Multiplying both sides of (10) by a test function ψj for j = 1, 2, 5, …, N, integrating over the domain Ω, integrating the diffusive term by parts (where the boundary terms vanish due to equation (9) and for now we ignore the condition from equation (8)), and plugging in (11) for Pm, we obtain the following discrete equation for Pm:
| (12) |
Here, is a vector of coefficients from the expansion in (11), and the matrices M, K, and D have entries:
| (13) |
| (14) |
| (15) |
By construction, through the use of elements, if i ≠ j, then Kij and Dij consist of integrals on at most two cells, and these are the cells that nodes i and j share. Then, Kij and Dij can be interpreted as the nodal mass exchange of Pm from node j into node i. We use these matrix properties together to inform our choice in approximating W(ϕT), on each cell, as follows.
Since we obtain ϕT by summing the nodal values of Pb and Pm, then it is natural to also define W(ϕT) on the same nodes. The integrals defined in Kij and Dij are computed using Gaussian quadrature on each triangular cell. Since Gaussian quadrature uses interior points of the cell instead of nodal points for the quadrature, then W(ϕT), defined as a function, may cause matrices K and D to exchange mass of Pm into nodes where ϕT ≈ 1.
Consider the following example where W(ϕT), a function, would fail to prevent ϕT > 1. Let T be a single triangular cell, and denote the nodal values of ϕT at the three vertices of T as , and , respectively. If we assume that , but , , then , while , . Now consider the mass exchange matrix for Pm due to advection from node 2 into node 1 on cell T′, i.e. :
Since W(ϕT) is a function, it is not guaranteed to be zero at the quadrature points evaluated in the integral of . Consequently, mass exchange of Pm from node 2 into node 1 by will cause ϕT > 1 at node 1!
To alleviate this, we modify the interpolant space for W(ϕT) by assuming that it is piecewise constant on each . Let be the space of piecewise constant functions defined on . Then, using a function for W(ϕT) on each cell makes it invariant to the quadrature point choice during the numerical integration. We choose the maximum nodal value of ϕT on T to evaluate W(ϕT), see Figure 3. This choice was motivated by the worse case scenario in which platelet densities could be transported into a node where ϕT = 1.
FIGURE 3.

Schematic of defining W(ϕT) on a single mesh cell. Denoting each of the vertices of the cell from 1 to 3, we have the nodal values of ϕT on the cell. The maximum between the 3 values is denoted as ϕT,*. W(ϕT,*) replaces W(ϕT) in the weak formulation of Pm.
3.2 |. Defining α(ϕB) in a weak formulation
The Brinkman term, α(ϕB), is also interpolated using a finite element space. Since ϕB is defined as a function on the mesh, the bound platelet fraction ϕB should only induce frictional resistance on the fluid in cells occupied by ϕB. Given a triangular cell , if all of the three nodal values of ϕB on T are below a threshold value of the bound platelet fraction ϕB,* = 0.1, then we set α = 0 on T. If any of the three nodal values exceed this threshold, we compute using the average of ϕB over the three nodes in T. The scheme for computing α(ϕB) on each cell is summarized in Figure 4. The reason for having a small, nonzero threshold ϕB,* is that we assume very small densities of platelets will not significantly contribute to fluid resistance.
FIGURE 4.

Schematic of defining α(ϕB) on a single mesh cell. Denoting each of the vertices of the cell from 1 to 3, we have the nodal values of ϕB on the cell. The average ϕB across 3 values is denoted as ϕB,*. α(ϕB) is set as α(ϕB,*) whenever all nodal values of ϕB are greater than a specified threshold value .
3.3 |. Overview of the flux-corrected transport (FCT) method
Flux-corrected transport (FCT) methods are designed to solve convection-dominated transport problems where solutions must remain positive for physical reasons, e.g., the solutions represent concentrations or densities26. FCT methods can be interpreted as two-step, predictor-corrector schemes. In the first step, one predicts a low-order solution, obtained by adding artificial diffusion to the discretized model equation (e.g., equation (12)); this smooths the solution to suppress oscillatory overshoots and undershoots. Next, an anti-diffusive flux is constructed by using a residual between the original and low-order equation, and this flux is added to the low-order solution to recover accuracy, while also preserving stability and positivity.
The FCT framework was originally formulated by Boris and Book23, using finite difference methods to numerically solve the equations of conservation laws. The finite difference methodology has been widely used and extended for multiple dimensions and curvilinear domains; a good review of the history, development and application of FCT methods can be found in36,24,37,26. FCT algorithms have also been developed for use with the finite element method (FEM), called FEM-FCT algorithms, first developed in 1988 by Löhner25. When using elements to solve linear advection equations and advection-diffusion equations, a good choice is the FEM-FCT algorithm developed by Kuzmin 27, which is what we build on in this work. The approach is to use a linearization of the anti-diffusive flux to avoid an additional iterative solution procedure during the correction step. The algorithm results in a good balance between efficiency and accuracy and is thus potentially the ideal approach to solve the advection-diffusion component of the Pm equation in our model. Unfortunately, a direct application of this method, specifically during correction step, will not guarantee that mobile platelets satisfy ϕT ≤ 1. We wish to exploit the efficiency and accuracy of the method so we have extended it by making a modification in the correction step that prevents the anti-diffusive fluxes from moving mobile platelets into regions where ϕT = 1. Details of the procedure are as follows.
To begin, rewrite the transport terms as L = K + D in the discrete equation for Pm (12) so that
| (16) |
To obtain the predicted solution, the consistent mass matrix, M, is replaced by a lumped mass matrix, Ml, and artificial diffusion, , is added to the transport component, L, to obtain the low-order equation:
| (17) |
The lumped mass matrix Ml is a diagonal matrix where each entry Ml,ij is the sum of the entries in the corresponding row of the consistent mass matrix:
| (18) |
The artificial diffusion matrix consists of the entries of L in a symmetric fashion:
| (19) |
| (20) |
With this construction, the artificial diffusion matrix has the zero row (and column) property and thus discrete mass conservation is preserved. We must ensure that the solution to the low-order equation (17) preserves positivity, and thus the time step must be chosen carefully. More specifically, if
are left-hand side of (17) at time level k + 1 and the right-hand side of (17) at time level k, respectively, with , then the time step must be chosen such that their diagonal entries satisfy
| (21) |
| (22) |
for all i27.
At this stage, the positivity-preserving solution to equation (17) is overly diffusive due to the mass lumping and added artificial diffusion, thus to recover accuracy we then make an anti-diffusive correction. This is achieved by constructing anti-diffusive fluxes that move into each node from each of its neighboring nodes, throughout the entire computational domain. To estimate how much we have over-diffused, we look at the residual between the low-order equation (17) and the high-order oscillatory Galerkin equation (16). The residual is used to define the nodal components of the anti-diffusive flux 27:
| (23) |
Each of these nodal components, fij, is such that the flux moves from node j into node i. Using with again, the flux-corrected equation includes the sum of all neighboring nodal components as follows:
| (24) |
where is simply called the anti-diffusive flux, and βij ∈ [0, 1] are the weighted correction factors. The correction factors allow one to choose how much and at which nodal value, each of the anti-diffusive flux components are incorporated back into the low-order solution. Notice that when βij = 1 everywhere, the Galerkin equation (16) is recovered and when βij = 0, the low-order equation (17) is recovered.
Choosing the optimal correction weights βij is a nontrivial task. Optimizing the weights to minimize the residual error becomes a computationally inefficient task when they must be updated at every time step. Zalesak proposed an alternative flux-limiting algorithm to circumvent this complication37. In this algorithm, the nodal correction factors are chosen so that the solution stays bounded within some local extrema, i.e., the solution at node i does not exceed a maximum value or dip below a minimum value but to bound the solution in this way, the positive and negative anti-diffusive fluxes must then be limited separately. Let be the set of nodal neighbors that share an edge with node i, then the Zalesak’s flux-limiting algorithm is as follows:
- Compute , the sums of positive and negative nodal anti-diffusive into node i:
(25) - Compute , the distances to a local maxima/minima of the low-order solution at node i:
(26) - Compute , the nodal correction factors corresponding to the total increment to node i:
(27) - Define the nodal correction factors βij by limiting the nodal anti-diffusive fluxes fij and fji symmetrically:
(28)
Addition of makes equation (24) nonlinear in Pm. Solution to this nonlinear equation by iterative methods would significantly increase the simulation time since new correction factors are required at every iteration and the iterations are performed at every time step. Following Kuzmin27, to reduce the overall cost of the implicit FCT algorithm, we remove the nonlinearity by using an approximation to the anti-diffusive flux that incorporates the solution to the low-order equation. Denoting PL as a low-order solution to (17), a new explicit correction becomes
| (29) |
Here, the nodal components in depend only on the low-order solution in the following way:
| (30) |
where is the time derivative of PL, approximated by solving:
Hence, the time derivative of is also approximated by the low-order solution. By using this algorithm, we only have to compute the anti-diffusive flux and its nodal correction factors once per time step. Previous numerical results show equal order error with this method compared to the nonlinear, iterative-solver counterpart, while having significantly smaller CPU time27.
3.4 |. A new density-dependent FCT prelimiter
Since we have constructed W(ϕT) to be a piecewise constant function, the low-order solution will surely respect the condition that ϕT ≤ 1. However, there is no guarantee that the anti-diffusive fluxes as defined in the previous section will prevent Pm from being transported into a region where ϕT = 1. Zalesak’s algorithm does use nodal correction factors constrained by local extrema but there could be a case where fij > 0 and ϕi = 1 and the nodal correction factor βij is positive; this would lead to nodal mass exchange of Pm, from node j into node i, where . To ensure that this never occurs in our simulations, we modify the algorithms of Kuzmin and Zalesak. Our approach is to “prelimit” the anti-diffusive fluxes so they are canceled out whenever ϕT = 1 at any node.
In the original FCT formulation by Boris and Book23, flux correction was shown to sometimes reintroduce numerical ripples due to fij having the same sign as its corresponding solution gradient, . Whenever such a ‘defective’ anti-diffusive flux was found, a safe solution was to simply zero-out fij whenever it was in the same direction as the gradient of , i.e., fij := 0; if . This technique was coined ‘prelimiting’ since it was performed before the correction factors and flux limiters were computed.
As discussed above, there could be situations with our model where the anti-diffusive fluxes cause Pm to move into regions where ϕT = 1. To prevent this, we adopt of the idea of prelimiting, and apply it to ϕT in the following way: if a node in the domain has ϕT = 1 from the previous time step and the sign of fij is such that mass would flow into that node, then we simply set fij = 0.
The algorithm is summarized below: When the nodal component is positive, i.e., fij > 0, this implies that there is a positive
flux going from node j into node i; in the first if-statement, this flux is canceled if . In the second if-statement, fij < 0 means there is a negative flux going from node j into node i. Since fij = −fji due to mass conservation, this means there is a positive flux going from node i into node j. Thus, if when fij < 0, then we also cancel that flux.
3.5 |. Summary of density-dependent FEM-FCT algorithm for modeling platelet aggregation
All partial differential equations are discretized in space using the finite element method (FEM). For the Navier-Stokes-Brinkman equations, we use a modified rotational pressure-correction scheme, originally proposed in38, with Taylor-Hood elements for the velocity and pressure terms, respectively. The modification assumes that the Brinkman term is implicit during the momentum step of the projection method. A good review of all steps in the rotational projection method used in our solver can be found in Guermond et. al.39. The advection-diffusion-reaction equation for the mobile platelets are solved using elements with operator-splitting in time, and our modified Flux-Corrected transport (FCT) method with flux linearization for the advection-diffusion operator27. Similarly, η is solved with operating-splitting in time, where the diffusion equation solved using a standard Crank-Nicolson time-stepping scheme with elements. Reactions for Pm, Pb and η are solved nodally using Heun’s Method, a 2nd-order Runge-Kutta scheme. The software, finite element discretization, iterative solvers, and parallelization are handled using the FEniCS software suite40. The time-stepping scheme of our two-species platelet model is as follows:
Define the initial values for Pm, Pb, , p and η.
- Starting at t = ∆t:
- Compute α(ϕB) and solve fluid equations using the rotational pressure-correction scheme.
- Update ϕT from the previous time step and compute W (ϕT,*).
- Advect and diffuse Pm using our modified FEM-FCT algoirthm:
- Solve for the low-order solution using equation (17).
- Compute the components of the anti-diffusive flux fij using equation (30). While looping through each component, cancel the anti-diffusive flux components according to our density-dependent prelimiter given by Algorithm 1.
- Run Zalesak’s flux limiting algorithm using the prelimited components fij to obtain the nodal correctional factors βij.
- Solve for the corrected solution using equation (29).
- Diffuse η using a Crank-Nicolson time-stepping scheme.
- Compute reactions for Pm, Pb and 4 using Heun’s Method.
- Update ϕB using the previous timestep value of P b.
- Advance t = t + ∆t.
- Repeat (a)-(g) until desired final time.
4 |. NUMERICAL RESULTS
In this section, we perform a series of numerical tests to show the conditions under which ϕT ≤ 1 is satisfied when solving the evolution equation for Pm with our modified FCT scheme. We first consider advection-diffusion and then add the reaction terms as a separate numerical test; both of these tests are performed in a square domain with a circular region that contains nonzero densities of Pb. We test two different models for W (ϕT), a piecewise constant W(ϕT) and a ϕT-dependent prelimiter, and then determine if and how much the total density ϕT increases over the value of 1. For the advection-diffusion only case, Pm is transported through and around the domain but Pb remains at a fixed value; when the reactions are reintroduced, Pm is allowed to transiently bind to the prebound aggregate of Pb through kcoh and unbind through koff. Here we test that the algorithm ensures ϕT ≤ 1 for a range of these rates.
Finally, our motivation for developing this algorithm was to use the finite element method to model platelet aggregation within extravascular injuries, i.e., in more complex geometries than a rectangular channel. For our last numerical test, we model platelet aggregation in a domain that represents an extravascular injury where aggregation is initiated by assuming there is a thin layer of prebound platelets lining the injury region. In this test, we show that W as a function together with the use of the density-dependent prelimiter can be used on unstructured meshes in complex geometries. In addition, we show when our method preserves ϕT ≤ 1 through a range of binding rates.
4.1 |. Advection-diffusion only
In our first numerical experiment, we test how well our numerical approximation of W (ϕT), in combination with a density-dependent FCT prelimiter, prevents mobile platelets from being transported into regions fully occupied by bound platelets. This test is in the absence of reaction terms; setting kcoh and koff to zero in equations (4) and (5), we are therefore solving
| (31) |
| (32) |
The computational domain is a 60 by 60 µm box where in the center of the domain, there is a circular patch (9 µm radius) of prebound platelets such that Pb = Pmax. There are initially no mobile platelets on the interior of the computational domain, but the boundary conditions are such that platelets flow uniformly from the inlet boundary (x = 0) with zero diffusive flux conditions on the top and bottom walls (y = 0, 60 µm), and at the outlet of the domain (x = 60 µm). For the fluid boundary conditions, a parabolic velocity profile is specified at the inlet boundary corresponding to a 500 s−1 shear rate, a zero pressure is specified at the outlet and no-slip conditions are set on the top and bottom walls. Initially, the fluid starts at rest (i.e. ) with the Brinkman term α(ϕB) defined by the initial concentration of Pb through ϕB. The fluid solver is iterated until the velocity field reaches an equilibrium, i.e., we stop solving the fluid equations when
at time level k with tolerance ε = 10−10. Initial and boundary conditions are summarized in Figure 5. The resulting steady-state velocity field and the prebound Pb profiles are shown in Figure 6.
FIGURE 5.

Initial and boundary conditions for the prebound platelet flow problem. At the inlet, a parabolic velocity profile for the fluid (not pictured) and a uniform distribution of mobile platelets Pm,up are specified (green), respectively. At the outlet, zero pressure and diffusive flux conditions are specified for the fluid and mobile platelets, respectively. Finally, no slip and no diffusive flux conditions are specified on the horizontal walls for the fluid and mobile platelets, respectively. Initially, the fluid starts at rest and there are no mobile platelets ( and Pm = 0, respectively), but a circle of prebound platelets are specified with density Pb,cir at the center of the domain. After the fluid reaches equilibrium, the bulk of the fluid flow moves around the prebound platelet mass (white vectors).
FIGURE 6.

Representative plots of the initial bound platelet fraction ϕB (A) and equilibrated velocity field (B). Mesh is constructed to have a cell width of h = 0.25 µm, consisting of 115,200 cells and 60,269 points (nodes), where h refers to the grid-spacing parameter specified near points on the mesh using Gmsh 41.
To show that both our new numerical approximation of W(ϕT) and density-dependent FCT prelimiter are necessary to ensure that ϕT ≤ 1, we run the simulation up a set final time for the following three separate cases:
W (ϕT) is interpolated as a piecewise linear function using the nodal values of ϕT.
W (ϕT) is a piecewise constant function as described in Section 3.1.
W (ϕT) is a piecewise constant function and Pm is solved using the density-dependent prelimiter described in Algorithm 1.
A normal physiologic platelet count is P0 = 2.5 × 105 per µL, which implies that P0 ≈ 0.00375 × Pmax. Hence, in order to show the invariance and robustness to magnitude of Pm transporting around prebound platelets, we also consider three uniform upstream concentrations of Pm with concentrations significantly higher than P0 in each of the 3 scenarios for W(ϕT): Pm,up = 0.25, 0.50, and 0.75 × Pmax.
To compare all of the scenarios, we compute and report the maximum value of ϕT, for each of the three Pm,up, at the final time of t ≈ 1 second. The results are summarized in Table 1.
TABLE 1.
Comparison of the spatial max of ϕT at t ≈ 1 second when defining W (ϕT) as: A function (first row), A function (second row) and A function with the density-dependent prelimiter (third row). ∆t = 2.5 × 10−5 sec, h = 0.25µm.
| W(ϕT) Space | Prelimiter? | Pm,up = 0.25 × Pmax | Pm,up = 0.5 × Pmax | Pm,up = 0.75 × Pmax | |
|---|---|---|---|---|---|
| No | 150.54 | 1607.75 | 1274.65 | ||
| No | 1.00171 | 1.00327 | 1.0038 | ||
| Yes | 1 | 1 | 1 | ||
The results from using an interpolated W (ϕT) as a function on the mesh are unsatisfactory, as the max platelet fraction ϕT greatly exceeds 1 in all cases. The results for W (ϕT) as a function on the mesh are somewhat improved, but there is still overage and it increases as Pm,up increases, reaching approximately 0.38% over 1 in the worse case. The results using the prelimiter are promising; the maximum value of ϕT ≤ 1 regardless of the upstream value of Pm.
To ensure that ϕT ≤ 1 is preserved under a change in mesh resolution with W (ϕT) as a function and the ϕT–dependent prelimiter, we performed a number of tests using the same circle problem with Pm,up = 0.5 × Pmax, with various grid spacings: h = 0.0625 × n µm, where n is a scalar integer. The results of these tests are shown in Table 2 where we can see that the methodology preserves ϕT ≤ 1 under mesh coarsening or refinement. A detailed summary of grid convergence results for this problem is summarized in Appendix C.2.
TABLE 2.
Grid refinement study of the spatial max of ϕT in the advection-diffusion circle problem at t ≈ 1 second. All reported spatial data was analyzed using Paraview 42.
| h (µm) | # of Cells | # of Points | Δt (sec) | max{ϕT} |
|---|---|---|---|---|
| 0.0625 | 1,843,200 | 932,600 | 6.25 ×10−6 | 1 |
| 0.1250 | 460,800 | 232,760 | 1.25 ×10−5 | 1 |
| 0.2500 | 115,200 | 60,269 | 2.5 × 10−5 | 1 |
| 0.5000 | 28,800 | 149,12 | 5.0 × 10−5 | 1 |
| 1.0000 | 7,200 | 3,845 | 1.0 × 10−4 | 1 |
| 2.0000 | 1,800 | 1,026 | 2.0 × 10−4 | 1 |
| 4.0000 | 450 | 298 | 4.0 × 10−4 | 1 |
The above results are for the case where the region is completely full, i.e. Pb = Pmax. However, when considering the transport of Pm into a region where ϕT is nearly 1, the prelimiter may not prevent overage between time steps. Anti-diffusive fluxes can still cause densities of Pm to be transported into nearly packed regions if the hindered fluxes, , and/or ∆t are sufficiently large. For example, if , but fij has magnitude such that correction term in equation (17) transports more than Pm = 0.001 × Pmax, then this will cause ; however, this will only occur once at a given spatial point, as the prelimiter prevents any further propagation. The magnitude of this one-time overage is thus affected by time step size and the amount of mobile platelets initially prescribed to the background fluid.
We next tested the robustness of our algorithm to both the prescribed initial platelet fraction (equal to the prescribed boundary value at the inlet) Pm,init and ∆t, by considering a prebound patch of bound platelets as described above. Here we assume that he platelet fraction within the bound patch is nearly 1, i.e., Pb = 0.99 × Pmax. For Pm, we set the initial distribution and the upstream boundary condition of mobile platelets to be a fixed density everywhere except within the prebound patch. We varied our time step in multiples of the minimum time step required to satisfy the CFL condition, such that Δt = λCFL(h/umax), where h is the mesh width, umax is the maximum inlet velocity (defined in Appendix A) and λCFL is a multiplier between 0 and 1. Then, we varied λCFL and the initial density of mobile platelets and measured any overage of ϕT after a final time of t = 1 second.
To gain some insight into what initial values might lead to the highest potential one-time overage, in Figure 7 A, we plotted the hypothetical form of a hindered mobile platelet density, defined as a function of the initial prescribed platelet fraction:. This function suggests that when the initial prescribed platelet fraction is approximately 0.65 × Pmax, we may see the most overage. Figures 7 B,C show the resulting one-time overage for initial platelet fractions between 0.01 and 0.1 times Pmax and 0.1 and 0.99 times Pmax, respectively, and for various values of the CFL multiplier.
FIGURE 7.

(A) W(Pm/Pmax) × (Pm/Pmax) vs Pm/Pmax shows that the maximum contribution of the advective flux by mobile platelets occurs when Pm ≈ 0.656 × Pmax. (B-C) The spatial max of ϕT as function of λCFL vs Pm/Pmax. Simulations were run using a mesh corresponding to a h = 1µm mesh.
When Pm = 0.01 × Pmax (Figure 7 B), we observe that the maximum ϕT decreases as a function of λCFL. When Pm is greater than 0.01 × Pmax, the spatial max of ϕT always went over 1; the maximum in this case was 1.00000005757, and occurred when λCFL = 0.8 and Pm = 0.1 × Pmax. In Figure (7C), the spatial max of ϕT also went over 1, and this was for all initial values of Pm and λCFL. The largest value of ϕT was 1.00000035425 and occurred when Pm = 0.6 × Pmax, with λCFL is 0.99, consistent with the plot in Figure 7 A. Regardless of the initial platelet fraction and the time step choice, assuming the time step satisfies the CFL condition, we see that the worse case one-time overage was on the order of 10−7.
4.2 |. Advection-diffusion-reaction
Next, we want to know if ϕT ≤ 1 is preserved when mobile platelets are allowed to transiently bind to a prebound platelet aggregate. We use the same domain and initial/boundary conditions as in the advection-diffusion case, but now the initial density of bound platelets in the circular region is Pb = 0.5 × Pmax. The upstream concentration of Pm is set to P0 ≈ 0.00375 × Pmax to prevent platelet-platelet binding that would take over the entire domain in a short period of time; in addition, P0 is the typical platelet density observed in plasma. Here we study the sensitivity of the overage to the three different values of the binding rates by setting kcoh × Pmax = 102 s−1 and varying the rate of platelet unbinding koff = 0.1, 0.01, 0. Since ϕT ≤ 1 under mesh coarsening (and refinement) from the advection-diffusion test, we use the h = 1 μm mesh for this advection-diffusion reaction problem.
To couple the temporal effects of platelet-platelet binding on the fluid dynamics, the Navier-Stokes-Brinkman equations will also be solved during the time stepping of Pm, Pb and η as described in Section 3.5.
In Figure 8, we show the growth of the total platelet fraction ϕT with koff = 0.1 as a function of time. Mobile platelets transiently bind inside the circular region (Fig. 8A), and gradually bind around the circular region due to the cohesion region designated by the virtual substance η (Fig. 8B,C). The maximum platelet fraction is already close to 1 when t ≈ 15 seconds with max{ϕT} = 0.997122. Letting the simulation continue to 60 seconds, we see the the clot grows substantially larger, while still maintaining max{ϕT} ≤ 1. In Figure 9, we compare max{ϕT} for koff = 0, 0.01, 0.1 as a function of time. We see that koff does change how fast the clot has a point where ϕT ≈ 1 in the domain, but does not cause ϕT > 1.
FIGURE 8.

Spatial distribution of the total platelet fraction ϕT at t ≈ 15, 30, 60 seconds (A,B,C respectively) for koff = 0.1 with h = 1 µm and Δt = 1.0 × 10−4 seconds. The clot builds gradually near the upstream end of the domain but the platelet fraction ϕT never exceeds 1.
FIGURE 9.

max{ϕT} as a function of time for koff = 0, 0.01, 0.1 up to 10 seconds (A) and from 10 to 60 seconds (B). Decreasing koff delays the time to ϕT ≈ 1, but does not cause ϕT > 1 in all cases.
4.3 |. Platelet Aggregation in an Extravascular Injury Domain
We have shown that the algorithm using a numerical approximation to W (ϕT) to the discrete equations in combination with a density-dependent prelimiter for the FCT method strongly mitigates overage of platelet densities above 1, in a simple domain with a structured mesh. A natural next step is to show how the algorithm behaves with unstructured meshes and in more complicated geometries. Modeling with the finite element method is supposed to make complicated domains such as an extravascular injury domain easy to achieve with the use of unstructured meshes. Furthermore, nothing in our formulation of W (ϕT) as a function or the prelimiter is restricted to use with structured meshes. Nevertheless, we will test our method with a model platelet aggregation in a domain with an extravascular injury channel using an unstructured mesh.
The extravascular injury domain represents a model of a microfluidic device described in our previous work where we modeled the 3D fluid dynamics to estimate pressure drops and wall shear stresses within the device 21. Due to the computational complexity of continuum modeling in large domains with long timescales, we formulate the current platelet aggregation model in 2D instead of 3D as we did previously with only the fluid.
The microfluidic device contains two vertical channels, consisting of a “blood” channel and a “wash” channel, connected at the horizontal “injury” channel, forming a “H”-shaped geometry (see Figure 10B). With an imposed flow rate and prescribed pressures, blood flows into the device through the blood channel, and then also through the injury channel (from right to left); blood exits through the outlet of the wash channel and the outlet of the blood channel. The domain is depicted in Figure 10B.
FIGURE 10.

(A) Circuit diagram to setup initial fluid boundary conditions. Quantities in red are inputs, while violet are calculated, and blue are unknown and solved by the circuit analysis equations (see Appendix). (B) A schematic of the domain and how the circuit results are applied to the boundaries. Flow rates are prescribed at the two inlets (∂Ω1 and ∂Ω3), while pressures are prescribed at the outlets (∂Ω2 and ∂Ω4). A uniform profile of mobile, platelets Pm,up are prescribed at the inlet on the blood channel.
To setup the boundary conditions for the fluid, we impose flow rates Q1 and Q3 via a parabolic velocity profile at the blood and wash channels, respectively. We fix the wash channel outlet pressure Pa and use hydraulic circuit analysis (HCA) to set the blood channel outlet pressure in order to achieve a injury channel flow rate that is approximately equal to QM, the prescribed injury channel flow rate (see Figure 10A). A summary of the HCA setup and its parameters can be found in Appendix B.
For the platelet equations, we assume a uniform profile of mobile platelets that enter through the inlet of the blood channel at a concentration of P0, while no mobile platelets enter through the wash channel. To initiate the reactions for platelet aggregation, we assume there are bound platelets Pb = 0.5 × Pmax specified in a thin 4 µm layer on the top and bottom walls of the injury channel (see Figure 10B). A summary of rate constants, and other parameters can be found in the Appendix.
We are mainly interested in the spatial dynamics of platelet aggregate growth inside the injury channel, and thus the finest region of the mesh is taken to be inside the injury channel, while the more coarse mesh is in the rest of the domain. A maximum grid resolution of 2 µm was chosen at the inlet of the blood channel and near the outlet of the wash channel, 1 µm inside the injury channels and the remainder of the domain was chosen to be a 8µm resolution since few platelets reach these regions of the domain. These choices for the mesh yield a good balance of efficiency and accuracy for our current and future modeling objectives. Details of the mesh setup can seen in Figure 11.
FIGURE 11.

(A) Mesh corresponding to the “H” domain. Triangular cells have diameters corresponding to h = 1 µm in the injury channel, 2 µm at the inlet of the blood channel and near the outlet of the wash channel, and 8 µm everywhere else. (B) Zoomed-in view of the injury channel.
In Figure 12, spatial plots of ϕT are shown at different times and for each time snapshot, we report the max ϕT in the domain. As time evolves, the bound platelet mass grows at the upstream end of the injury channel (Figure 12B), eventually causing the bound platelets from the top and bottom walls of the injury channels to meet (Figure 12C) and ultimately causing occlusion of the injury channel (Figure 12 D), where there is little flow going through the fully bound platelet clot.
FIGURE 12.

Spatial distribution of the total platelet fraction ϕT at t ≈ 1, 10, 20, and 30 seconds (A to D, respectively) for koff = 0.1 for the unstructured “H” mesh with ∆t ≈ 3.21 × 10−5 seconds. ϕT < 1 is observed at all time snapshots (A-D).
Similar to our advection-diffusion-reaction circle test problem, we also measure the max ϕT as a function of time for koff = 0, 0.01, 0.1. In Figure 12, we again observe that the rate of ϕT reaching 1 increases as koff decreases. In all cases, Figure 12 seems to show that ϕT ≤ 1 for all time. However, when k = 0, max{ϕT} = 1.00000000045 occurs at some time between t = 9 and 10 seconds. After 10 seconds, max{ϕT} = 1.00000000045 for the rest of the simulation time.
5 |. DISCUSSION
In our mathematical model of platelet aggregation, we use a continuum approximation to represent platelet densities rather than modeling individual platelets. Within this modeling framework, mobile platelet densities are transported through fluid and into masses of other bound platelet densities, where they can build up to form high-density, stationary aggregates. The build up of platelet densities must obey physical platelet-density packing limits, and this constraint should be satisfied during the numerical solution of the model equations. However, current numerical methods for solving transport equations with FEM do not automatically satisfy the constraint and produce nonphysical results. To our knowledge, there is no general approach to satisfy this constraint for continuum models in complex geometries. In this work, we have developed a density-dependent, numerical algorithm for modeling platelet aggregation using the FEM that produces results within physical packing limits and allow for modeling within complex geometrical domains. Our two contributions to this algorithm include a modification of the W (ϕT) function in the weak form of Pm that accounts for the local total platelet density and a density-dependent FEM-FCT prelimiter that prevents anti-diffusive fluxes from further propagating ϕT past 1.
We presented a two-species model of platelet aggregation to develop and validate phenomenologically-motivated modifications to the discrete equations and to the FEM-FCT algorithm to ensure that a maximum platelet fraction is preserved numerically. Using our density-dependent FEM-FCT algorithm, we showed that the platelet fraction ϕT ≤ 1 is preserved in a variety of test problems that varied the upstream Pm concentration, mesh resolution and element type (structured and unstructured) as well as reaction rates (via koff) with physiologically-relevant domain sizes and time spans.
There are some limitations to our density-dependent FEM-FCT algorithm. First, in our formulation of W (ϕT) as a function, we assume that the function W is evaluated with a constant value, using the maximal nodal value of ϕT on each triangular cell, denoted by W (ϕT,*). Consequently, if we use the functional form of W and apply it to ϕT as a function, we can see that W (ϕT,*) ≠ (ϕT) at every point in a triangular cell. However, we expect the error between the and function to decrease as the cell size h → 0; to illustrate this, a mesh refinement study of the errors between W as a function versus a function using the initial prebound platelet circle is shown in Figure (C1) in the Appendix. Second, during the prelimiting step, anti-diffusive flux components are set to zero when moving into nodes where ϕT = 1 and there is a positive anti-diffusive flux going into that node. Consequently, the solution will possess the overly diffusive qualities given from the predictor step at the neighboring points where ϕT = 1. This is the trade off we make in accuracy to achieve the correct physical packing behavior for our application. However, the accuracy-recovering qualities of the correction step remain everywhere in the domain where ϕT < 1. Third, the prelimiter may not prevent the transport of Pm into a region where ϕT is nearly 1. Our time step sensitivity study in Section 4.1 shows that there will be a negligible one-time overage that depends on the time step and the flux of mobile platelets, as long as the time step is constrained by the CFL condition. We chose the CFL condition as a time step constraint to ensure the numerical speed of platelet transport is within the limits of the maximum fluid velocity. Finally, our modified FEM-FCT algorithm uses an extrapolated value of ϕT from the previous time step. However, this issue also addressed in our time step study in Section 4.1.
Addressing dense-packing limits has been previously considered in the FEM-FCT framework, using the group finite element formulation 43 for linear advection only 28. In that study, an additional flux correction step was suggested to limit fluxes of a transported species subject to a maximum packing density. However, densities were only limited at the final correction step, rather than modifying the PDE at the continuous level as we have done here. A combination of our piecewise constant W (ϕT) function with this method could obtain higher-order solutions in regions where ϕT ≈ 1.
In this study, we examined a two-species platelet model of aggregation, but our methodology can be extended to multiple mobile and bound platelet species that are coupled through reaction terms. With multiple mobile species, the total platelet fraction ϕT and the corresponding hindered transport coefficient, W (ϕT), would need to be updated between the solution steps for each of the mobile platelet equations, to account for the possibility that if one mobile species fills the spatial region, then the other species should be prevented from moving into that same region. This does suggest that the order in which the equations are solved may be important when the spatial location is nearly full. However, our current work shows that the hindered fluxes into the nearly full regions are an extremely tiny portion of the total platelet fraction in that region and so the order in which the region fills is likely to be biologically insignificant.
Continuum models of cell aggregates are typically set up so that the length scale of the aggregates are much larger than that of the cells. Here, and in our previous work 1,2, our continuum approach is atypical in that the grid size in the injury channel (≈ 1µm) is smaller than that of one individual cell (≈ 2µm). In our previous works, we describe the methodology that enables he single cell (platelet) length scale to play a role in the model, i.e., through the phenomenological adhesion, cohesion, and hindered transport. There are other approaches to modeling platelet aggregation where each platelet is individually modeled as a discrete object, such as the immersed boundary method, cellular potts methods, lattice boltzmann, or dissipative particle dynamics 7,8,9,10,11,12,13,14,15,16,17,18,19,20; with these methods each platelet is usually modeled as a discrete structure that interacts with the surrounding fluid, and in some instances with fluid on its interior. These modeling techniques have been instrumental in learning about platelet-platelet and platelet-wall interactions and platelet margination. However, when it comes to thrombus formation, there are two major challenges that have to be addressed: (i) clot formation occurs on the timescales of minutes, and (ii) clot formation includes platelet aggregation together with the complex network of the surface-mediated coagulation reactions. The discrete platelet modeling approach works well on the timescale of seconds, but even then it is extremely computationally expensive and thus modeling clot formation on minutes is simply not feasible. Further, it is difficult to model platelet-surface reactions on these structures as they move and deform in time and space, although progress is being made in that direction 44. Our modeling approach, albeit atypical in the sense of continuum modeling, can handle both challenges and it simulates growing clots with core-shell characteristics, as seen experimentally 45,46, and is able to predict clotting time-courses in agreement with the microfluidic device measurements for hemophiliac blood, including its response to treatment 3. Thus, we believe that with our numerical algorithm developed in the current study, this approach is a good one for future modeling of extravascular thrombus formation that occurs in companion microfluidic devices.
Our density-dependent FEM-FCT algorithm has many future applications. As mentioned above, we used FEniCS to implement our FEM equations. However, both the density-dependent prelimiter and the interpolation space for the W (ϕT) function could be applied to any existing finite element codes that support nodal and cell-based data structures from the mesh, respectively. Although we are interested in modeling platelet aggregation, this algorithm could also be applied to any chemical or sediment advection-diffusion problem that requires a transport-limitation due to a maximum packing density.
FIGURE 13.

max{ϕT} as a function of time for koff = 0, 0.01, 0.1 up to 10 seconds (A) and from 10 to 32 seconds (B) for the unstructured, “H” mesh. Decreasing koff delays the time to ϕT ≈ 1, but does not cause ϕT > 1 in all cases.
ACKNOWLEDGEMENTS
The work was supported by the National Institutes of Health (R01HL120728). We would also like to acknowledge Professor Keith B. Neeves and his lab for the microfluidic device data and for helpful discussions related to this work.
APPENDIX. All parameters below are rounded to 5 decimal figures.
A. RATE CONSTANTS AND OTHER PHYSICAL PARAMETERS
The fluid parameters are given below:
| Fluid Density (ρ) | 1 g/cm3 |
| Fluid Viscosity (µ) (Circle Problem) | 4.0 × 10−2 Poise |
| Fluid Viscosity (µ) (“H” problem) | 2.62507 × 10−2 Poise |
| Re (Circle problem) | 1.12500 × 10−3 |
| Re (“H” problem) | 1.77773 × 10−2 |
Characteristic scales for the problem are given below:
| xchar | 3 µm |
| tchar (Circle Problem) | 2 × 10−3 s |
| tchar (“H” Problem) | 1.92857 × 10−4 s |
| uchar (Circle Problem) | 1.5 × 103 µm/s |
| uchar (“H” Problem) | 1.55556 × 104 µm/s |
Finally the rest of the kinetic and other physical parameters are given below:
| Mobile Platelet Density Scale (P0) | 2.5 ×105 platelets/µL |
| Max Platelet Density Scale (Pmax) | 6.67 ×107 platelets/µL |
| Platelet Diffusion Coefficent (Dp) | 2.5 ×10−7 cm2 s−1 |
| Cohesion rate of platelet-platelet binding (kcoh) | 1 ×102/Pmax s−1 |
| Unbinding rate of bound platelets (koff) | 0.1, 0.01, 0 s−1 |
| Pe (“Circle” Problem) | 1.8 × 102 |
| Pe (“H” Problem) | 1.86667 × 103 |
The Reynolds number, Re, is defined as the ratio of inertial to viscous forces, is given by
Where uchar and xchar are the characteristic velocity and length scales, respectively.
The Peclet number, Pe, is defined as the ratio of advective and diffusive transport of Pm, is given by:
B. FLUID CIRCUIT SETUP AND RESULTS
Using the circuit diagram shown in Figure 10A, we can use a hydraulic analog of linear circuit theory to determine the pressures of the bleeding chip. Between each pressure value on Figure 10A, this requires assuming that flow is fully developed.
Conservation of flow rate tells us that
| (B1) |
| (B2) |
Using our assumption of fully developed full between each pressure segment shown in Figure 10A can be written as ∆P = QR, where ∆P is the difference between two pressure values, Q is the flow rate, and R is the resistance from the channel geometry. For a 2D parallel plate flow, this resistance is given by:
where µ is the fluid viscosity, L and w is the length and width of the channel, respectively. Hence, the rest of the equations are given by:
| (B3) |
| (B4) |
| (B5) |
| (B6) |
| (B7) |
| (B8) |
| (B9) |
The inlet flow rates Q1, Q2 and the injury channel flow rate QM are given, while the outlet flow rates Q2 and Q4 are unknown. Similarly, we set the outlet pressure Pa and solve for the remainding pressures; this yields a system of equations of 9 equations with 9 unknowns. We can write this as the following matrix system:
| (B10) |
We summarize the parameters used in the circuit model below:
Dimensions of Circuit
| Width of vertical channels | 100 µm |
| Width of injury channel | 20 µm |
| Length from to PB (and to PW) | 4915 µm |
| Length from PCB to P1 (and to P2) | 85 µm |
| Length from P1 to PCB0 (and P2 to ) | 85 µm |
| Length of Injury | 150 µm |
| Length of Injury used in HCA | 165 µm |
HCA Viscosities and Computed Resistances
| Blood Channel Viscosity | 3.6 × 10−2 Poise |
| Upstream Wash Channel Viscosity | 1 × 10−2 Poise |
| Injury Channel Viscosity | 2.67 × 10−2 Poise |
| Downstream Wash Channel Viscosity | 2.3 × 10−2 Poise |
| RU B | 2.12328 × 108 Pa s/m2 |
| RU W | 5.898 × 107 Pa s/m2 |
| R1, R2 | 3.672 × 106 Pa s/m2 |
| RM | 6.60825 × 108 Pa s/m2 |
| R3 | 1.02 × 106 Pa s/m2 |
| R4 | 2.346 × 106 Pa s/m2 |
There are some assumptions with the parameters used in the HCA. First, in the experimental bleeding chip, there are variable viscosities corresponding to the blood, wash and injury channels. Furthermore, the downstream end of the wash channel will be a mix of the blood and wash when blood can flow freely from the blood channel through the injury channel. Therefore, in the HCA we account for the viscosities through the resistance terms as noted in the table above. We assume that the viscosity of the downstream end of the wash channel is an average of the blood and wash viscosities. However, in the fluid simulations, we use a volume-averaged viscosity through entire domain as noted in the table above. Second, we also assume there is an effective length of the injury channel that spans outside its 150 µm length, corresponding to the laminar flow that enters and exits the injury channel. We assume that this extra length is 15 µm, leading to a L = 165µm used in the HCA for the injury channel resistance RM. This adjustment is required for the fluid simulation to recover an approximate flow rate through the injury channel equal to QM.
Finally, we summarize the solving the circuit system in the table below:
| Inlet Flow Rate (Blood, Q1) | 1.55556×10−6 m2/s |
| Outlet Flow Rate (Blood, Q2) | 1.13056 ×10−6 m2/s |
| Inlet Flow Rate (Wash, Q3) | 2.77778 ×10−6 m2/s |
| Outlet Flow Rate (Wash, Q4) | 3.20278 ×10−6 m2/s |
| Injury Channel Flow Rate (QM) | 4.25 ×10−7 m2/s |
| Pressure Inlet (Blood, PB) | 6.24364 × 102 Pa |
| Pressure Inlet (Wash, PW) | 1.7418 × 102 Pa |
| Pressure Inlet (Blood, PCB) | 2.94076 × 102 Pa |
| Pressure Outlet (Blood, ) | 2.84213 × 102 |
| Pressure Inlet (Wash, PCW) | 1.03471 × 101 Pa |
| Pressure Outlet (Wash, ) | 0 Pa |
| Pressure Drop Across Injury (P1 − P2) | 2.80851 × 102 Pa |
C. MESH CONVERGENCE STUDIES
In the following sections, we quantify the error caused by the change in interpolation space for the W(ϕT) function from a to a space. We do this in three cases:
Compute the error of W(ϕT) applied to the prebound clot using a versus a space.
Compute the grid error of the advection-diffusion test problem from Section 4.1 at the final time t = 1.0 second. Note that this problem has no analytical solution, so instead we use the solution from the h = 0.0625µm grid to compute the error convergence.
Compute the grid error of the advection-diffusion-reaction test problem from Section 4.2. We use the solution from the h = 0.125µm grid to compute the error convergence at different time points.
C.1. W function mesh convergence study
In order for ϕT ≤ 1, the equation of Pm uses a hindered transport coefficient W (ϕT) which scales the advective and diffusive flux as a function of ϕT. When the equation was discretized using the FEM, an approximation of W(ϕT) was done in accordance of Figure 3 in place of approximating W(ϕT) as a function. We claim that the error between the and forms of W would go to zero as mesh size h → 0. Hence, the objective of this study is show the error difference between the and W functions upon mesh refinement.
To do the comparison between the two functions, we begin by constructing Pb = Pmax as described in the advection-diffusion circle problem and shown in Figure 6A. Next, we apply the W function, denoted W(ϕT) and the W, denoted W(ϕT) using the prebound circle of platelets. Next, the error is between the two functions is defined by the L2 norm:
| (C11) |
where Ω is the domain and the L2-norm applied to a function f on Ω is defined by:
| (C12) |
Integrals are computed directly on the mesh using the mesh sizes specified in Table 1. Results in Figure C1 show that the error decreases as h decreases.
FIGURE C1.

A mesh convergence study between the vs W function, denoted as W(ϕT,*) and W(ϕT), respectively. The relative L2 error is computed using relative to W(ϕT).
C.2. Advection-Diffusion Only
In this section, we compute the error of the advection-diffusion test problem by comparing the solution between a fine and coarse grid. For this study, we use Pm,up = 0.5 × Pmax as the inlet boundary condition and Pb = Pmax in the 9 µm radius circle as decribed in Section 4.1. We denote the the finest grid with as hfine, where ufine is the solution on the finest grid. In order to compare the solutions on different grid resolutions, we interpolate the solutions onto a mesh grid using Scipy’s griddata() function using the same number (30002) of points for each of the grids with a piecewise linear interpolant. We also set the time step as a function of h that satisfies the CFL condition: ∆t = (3/4)h/(umax), where umax is defined in Appendix A.
We define the grid norm applied to a solution vector with grid width hk as
| (C13) |
We use 3 different norms to look at the error of the solution applied to a n-tuple vector solution νh = (ν1, ν2, … νn):
- -norm:
(C14) - -norm:
(C15) - -norm:
(C16)
We summarize the error convergence in Figure (C2). Using Numpy’s polyfit() function to fit the error vectors to a line on a log-log scale, we find an observed order of convergence of approximately 1.61, 1.55 and 0.97 for the , , and norms, respectively.
C.3. Advection-Diffusion-Reaction
In this section, we compute the error of the advection-diffusion-reacction test problem by comparing the solution between the finest grid and a coarser one. For this study, we use Pm,up = P0 as the inlet boundary condition, and initially set Pb = 0.99 × Pmax in the 9 µm radius circle as decribed in Section 4.1. We also use the same kcoh value from Section 4.2 and set koff = 0.1 s−1. We use h = 0.125 µm for hfine for these studies and compare the solution for h = 4, 2, 1, 0.5, 0.25 µm. We use the same grid norms as defined in Appendix C.2. Finally, we compute the error at three different time points: t = 0.1, 0.5, 0.7, 1.0 seconds. The grid convergence is summarized in the figure below.
FIGURE C2.

A mesh convergence study on the advection-diffusion test problem at t ≈ 1 second. The fine grid solution Pm (h = 0.0625µm) is used as a replacement for an analytical solution to compare to the Pm solution on a grid with h = 4, 2, 1, 0.5, 0.25, 0.125 µm.
FIGURE C3.

A mesh convergence study on the advection-diffusion-reaction test problem at t ≈ 0.1 seconds (left) and ≈ 0.5 seconds (right). The fine grid solution Pm (h = 0.125µm) is used as a replacement for an analytical solution to compare to the Pm solution on a grid with h = 4, 2, 1, 0.5, 0.25 µm.
For t ≈ 0.1 seconds, the observed order of convergence of approximately 1.95, 1.67 and 1.48 for the , , and norms, respectively. At the final time of t ≈ 2.0 seconds,the observed order of convergence of approximately 1.87, 1.71, and 1.17 for the , , and norms, respectively.
FIGURE C4.

A mesh convergence study on the advection-diffusion-reaction test problem at t ≈ 1.0 seconds (left) and ≈ 2.0 seconds (right). The fine grid solution Pm (h = 0.125µm) is used as a replacement for an analytical solution to compare to the Pm solution on a grid with h = 4, 2, 1, 0.5, 0.25 µm.
Footnotes
CONFLICT OF INTEREST
The authors Nicholas Danes and Karin Leiderman declare that they have no conflicts of interest.
References
- 1.Leiderman K, Fogelson AL. Grow with the flow: a spatial–temporal model of platelet deposition and blood coagulation under flow. MATH MED BIOL 2011; 28(1): 47–84. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 2.Leiderman K, Fogelson A. The influence of hindered transport on the development of platelet thrombi under flow. B MATH BIOL 2013; 75(8): 1255–1283. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3.Onasoga-Jarvis AA, Leiderman K, Fogelson AL, et al. The effect of factor VIII deficiencies and replacement and bypass therapies on thrombus formation under venous flow conditions in microfluidic and computational models. PLOS ONE 2013; 8(11): e78732. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 4.Govindarajan V, Rakesh V, Reifman J, Mitrophanov A. Computational study of thrombus formation and clotting factor effects under venous flow conditions. BIOPHYS J 2016; 110(8): 1869–1885. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5.Govindarajan V, Zhu S, Li R, et al. Impact of Tissue Factor Localization on Blood Clot Structure and Resistance under Venous Shear. BIOPHYS J 2018; 114(4): 978–991. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6.Sorensen EN, Burgreen GW, Wagner WR, Antaki JF. Computational simulation of platelet deposition and activation: I. Model development and properties. ANN BIOMED ENG 1999; 27(4): 436–448. [DOI] [PubMed] [Google Scholar]
- 7.Fogelson AL. Continuum models of platelet aggregation: formulation and mechanical properties. SIAM J APPL MATH 1992; 52(4): 1089–1110. [Google Scholar]
- 8.Fogelson AL. A Mathematical Model and Numerical Method for Studying Platelet Adhesion and Aggregation during Blood Clotting. J COMPUTE PHYS 1984; 56: 111–134. [Google Scholar]
- 9.Fogelson AL. Continuum Models of Platelet Aggregation: Mechanical Properties and Chemically-induced Phase Transitions. CONTEMP MATH 1993; 141: 279–294. [Google Scholar]
- 10.Fogelson A, Guy R. Platelet-Wall Interactions in Continuum Models of Platelet Aggregation: Formulation and Numerical Solution. MATH MED BIOL 2004; 21: 293–334. [DOI] [PubMed] [Google Scholar]
- 11.Fogelson AL, Guy RD. Immersed-boundary-type models of intravascular platelet aggregation. COMPUT METHOD APPL M 2008; 197(25–28): 2087–2104. [Google Scholar]
- 12.Filipovic N, Ravnic D, Kojic M, Mentzer S, Haber S, Tsuda A. Interactions of blood cell constituents: experimental investigation and computational modeling by discrete particle dynamics algorithm. MICROVASC RES 2008; 75(2): 279–284. [DOI] [PubMed] [Google Scholar]
- 13.Tosenberger A, Ataullakhanov F, Bessonov N, Panteleev M, Tokarev A, Volpert V. Modelling of thrombus growth in flow with a DPD-PDE method. J THEOR BIOL 2013; 337: 30–41. [DOI] [PubMed] [Google Scholar]
- 14.Tosenberger A, Ataullakhanov F, Bessonov N, Panteleev M, Tokarev A, Volpert V. Modelling of platelet–fibrin clot formation in flow with a DPD–PDE method. J MATH BIOL 2016; 72(3): 649–681. [DOI] [PubMed] [Google Scholar]
- 15.Xu Z, Chen N, Kamocka MM, Rosen ED, Alber M. A multiscale model of thrombus development. J R SOC INTERFACE 2008; 5(24): 705–722. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 16.Xu Z, Chen N, Shadden SC, et al. Study of blood flow impact on growth of thrombi using a multiscale model. SOFT MATTER 2009; 5(4): 769–779. [Google Scholar]
- 17.Xu Z, Lioi J, Mu J, et al. A multiscale model of venous thrombus formation with surface-mediated control of blood coagulation cascade. BIOPHYS J 2010; 98(9): 1723–1732. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.Yazdani A, Karniadakis GE. Sub-cellular modeling of platelet transport in blood flow through microchannels with constriction. SOFT MATTER 2016; 12(19): 4339–4351. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 19.Yazdani A, Li H, Humphrey JD, Karniadakis GE. A general shear-dependent model for thrombus formation. PLOS COMPUT BIOL 2017; 13(1): e1005291. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20.Hosseinzadegan H, Tafti DK. Modeling thrombus formation and growth. BIOTECHNOL BIOENG 2017. [DOI] [PubMed]
- 21.Schoeman R, Rana K, Danes N, et al. A microfluidic model of hemostasis sensitive to platelet function and coagulation. CELL MOL BIOENG 2017; 10(1): 3–15. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 22.LeVeque RJ. High-Resolution Conservative Algorithms for Advection in Incompressible Flow. SIAM J NUMER ANAL 1996; 33: 627–665. [Google Scholar]
- 23.Boris JP, Book DL. Flux-corrected transport. I. SHASTA, a fluid transport algorithm that works. J COMPUT PHYS 1973; 11(1): 38–69. [Google Scholar]
- 24.Boris JP, Book DL. Flux-corrected transport. III. Minimal-error FCT algorithms. J COMPUT PHYS 1976; 20(4): 397–431. [Google Scholar]
- 25.Löhner R, Morgan K, Vahdati M, Boris JP, Book D. FEM-FCT: combining unstructured grids with high resolution. COMMUN APPL NUMER M 1988; 4(6): 717–729. [Google Scholar]
- 26.Kuzmin D, Löhner R, Turek S. Flux-Corrected Transport: Principles, Algorithms, and Applications. Scientific Computation Springer; 2005. [Google Scholar]
- 27.Kuzmin D Explicit and implicit FEM-FCT algorithms with flux linearization. J COMPUT PHYS 2009; 228(7): 2517–2534. [Google Scholar]
- 28.Kuzmin D, Gorb Y. A flux-corrected transport algorithm for handling the close-packing limit in dense suspensions. J COMPUT APPL MATH 2012; 236(18): 4944–4951. [Google Scholar]
- 29.Brooks AN, Hughes TJ. Streamline upwind/Petrov-Galerkin formulations for convection dominated flows with particular emphasis on the incompressible Navier-Stokes equations. COMPUT METHOD APPL M 1982; 32(1–3): 199–259. [Google Scholar]
- 30.John V, Knobloch P. On spurious oscillations at layers diminishing (SOLD) methods for convection–diffusion equations: Part I–A review. COMPUT METHOD APPL M 2007; 196(17–20): 2197–2215. [Google Scholar]
- 31.Mizukami A, Hughes TJ. A Petrov-Galerkin finite element method for convection-dominated flows: an accurate upwinding technique for satisfying the maximum principle. COMPUT METHOD APPL M 1985; 50(2): 181–193. [Google Scholar]
- 32.John V, Schmeyer E. Finite element methods for time-dependent convection–diffusion–reaction equations with small diffusion. COMPUT METHOD APPL M 2008; 198(3–4): 475–494. [Google Scholar]
- 33.Kozeny J Uber kapillare leitung der wasser in boden. ROYAL ACADEMY OF SCIENCE 1927; 136: 271–306. [Google Scholar]
- 34.Carman PC. Fluid flow through granular beds. TRANS INST CHEM ENG 1937; 15: 150–166. [Google Scholar]
- 35.Wufsus A, Macera N, Neeves K. The hydraulic permeability of blood clots as a function of fibrin and platelet density. BIOPHYS J 2013; 104(8): 1812–1823. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 36.Book DL, Boris JP, Hain K. Flux-corrected transport II: Generalizations of the method. J COMPUT PHYS 1975; 18(3): 248–283. [Google Scholar]
- 37.Zalesak ST. Fully multidimensional flux-corrected transport algorithms for fluids. J COMPUT PHYS 1979; 31(3): 335–362. doi: 10.1016/0021-9991(79)90051-2 [DOI] [Google Scholar]
- 38.Timmermans L, Minev P, Van De Vosse F. An approximate projection scheme for incompressible flow using spectral elements. INT J NUMER METH FL 1996; 22(7): 673–688. [Google Scholar]
- 39.Guermond JL, Minev P, Shen J. An overview of projection methods for incompressible flows. COMPUT METHOD APPL M 2006; 195(44–47): 6011–6045. [Google Scholar]
- 40.Logg A, Mardal KA, Wells G. Automated solution of differential equations by the finite element method: The FEniCS book. 84 Springer Science & Business Media; 2012. [Google Scholar]
- 41.Geuzaine C, Remacle JF. Gmsh: A 3-D finite element mesh generator with built-in pre-and post-processing facilities. INT J NUMER METH ENG 2009; 79(11): 1309–1331. [Google Scholar]
- 42.Squillacote AH, Ahrens J, Law C, Geveci B, Moreland K, King B. The paraview guide 366 Kitware Clifton Park, NY: 2007. [Google Scholar]
- 43.Fletcher CA. The group finite element formulation. COMPUT METHOD APPL M 1983; 37(2): 225–244. [Google Scholar]
- 44.Shankar V, Wright GB, Kirby RM, Fogelson AL. A radial basis function (RBF)-finite difference (FD) method for diffusion and reaction–diffusion equations on surfaces. J SCI COMPUT 2015; 63(3): 745–768. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 45.Brass LF, Wannemacher KM, Ma P, Stalker TJ. Regulating thrombus growth and stability to achieve an optimal response to injury. J THROMB HAEMOST 2011; 9: 66–75. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 46.Stalker TJ, Traxler EA, Wu J, et al. Hierarchical organization in the hemostatic response and its relationship to the platelet-signaling network. BLOOD 2013; 121(10): 1875–1885. [DOI] [PMC free article] [PubMed] [Google Scholar]
