
Figure 1
Digital Blood simulated in Palabos-npFEM (a simulation snapshot). The red bodies are the RBCs, while the yellow bodies represent the PLTs. One can observe the different phases composing this complex suspension. We provide the possibility to run the solid solver either on CPUs or GPUs (as depicted by the GPU/CPU icons), while the rest of the solvers are CPU-only versions.

Figure 2
Modular design of Palabos-npFEM, where the different solvers are independent execution streams (see arrows through time). The coupling demands data exchange (two-way arrows) which is performed mainly through MPI communication. The inset shows a simulation snapshot and the static allocation of the different domains in the available infrastructure. Data that reside in different memory domains must be communicated through MPI.

Figure 3
Execution order for various operations in Palabos-npFEM. The execution order is dictated by the fluid-solid interaction (FSI), i.e. the computation of term b in equations (1) & (2). In case of different temporal discretisation, some steps are automatically deactivated.

Figure 4
Average computational load per operation/action (%) in both CPU-only and CPU-GPU versions. The “Other” category gathers the collision detection, the computation of forces on solids, and various book-keeping operations. The graph refers to cases at 35% hematocrit.

Figure 5
Cell packing as performed by Palabos-npFEM (case at 35% hematocrit). The left inset shows the initial setup with unresolved interpenetrations, while the right one shows the resulted setup (resolved overlappings) after running the framework for a few thousand iterations.

Figure 6
Simulation snapshots for a Couette (left, 20% hematocrit) and a Poiseuille (right, 35% hematocrit) flow. Through the provided xml files, one can choose the geometry, the hematocrit, and various other parameters.

Figure 7
Simulation snapshot of a colliding RBC at an obstacle.

Figure 8
Rhino-Grasshopper environment calling the npFEM stand-alone dynamic library.

Figure 9
Components in the Grasshopper environment, from which one can modify the body’s material, and run the npFEM solver.
