More example cases

More example cases#

Beyond the walk-throughs above, the examples/ directory ships several further cases. They have less hand-holding than the tutorials, but each is a self-contained, runnable starting point. Compile them like any other example (cmake --build build --target <name>) and run them with their bundled config.xml (see Compiling HemoCell from source and Running a HemoCell case).

Example

What it demonstrates

simple

The smallest realistic case: RBCs and PLTs in a periodic cube driven by a Poiseuille-like body force, with bounce-back walls. A good template to copy from. Mirrors the case built in Creating your own HemoCell Case.

parallelplanes

Flow between two infinite parallel planes (plane Couette/Poiseuille). A minimal wall-bounded flow useful for testing and validation.

cube

A weak-scaling benchmark: a rectangular domain under shear flow, periodic in x with bounce-back front/back walls. Reports time per iteration and component timings — used to measure performance and scaling. Input files and job scripts are generated by the script in its preprocess/ folder.

flowaroundsphere

Flow around a spherical bead resting on the channel floor, driven by a moving top wall, reproducing a shear-gradient platelet-aggregation experiment [5]. The bead size is set by sphere_diameter.

microcontraction

Flow through a stenotic microfluidic contraction, reproducing a strain-rate micro-gradient device [5]. The contraction angle is set by c_angle_degrees.

curvedflow_with_preinlet

Flow through a curved geometry voxelised from an STL file, combined with a pre-inlet for sustained cell inflow.

cell_shapes

Demonstrates the different cell types and construction methods side by side — RBCs from the analytical sphere model and from an STL mesh, platelets, and a white blood cell. A useful reference when setting up a new cell type (see Building the mesh).

Note

These cases are provided as research starting points and are not all covered by step-by-step tutorials. Read the README (where present) and the *.cpp source in each example’s folder for the specifics, and see the FAQ if you hit an undocumented feature.