Detection of Lattice-points inside Triangular Mesh for Variable-viscosity

Model of Red Blood Cells

Tibor Po

ˇ

stek, Franti

ˇ

sek Kaj

´

anek and Mariana Ondru

ˇ

sov

´

a

Cell-in-Fluid Biomedical Modelling and Computations Group, Faculty of Management Science and Informatics,

University of

ˇ

Zilina, Slovakia

Keywords:

Deformable Objects, Lattice-Boltzmann Method, Variable Fluid Viscosity.

Abstract:

In this work we introduce the extension of an existing computational model for red blood cells that enables

modelling of different viscosity inside and outside the cells. The extension is based on an algorithm for

detection of ﬂuid lattice-points inside the cell given the membrane of the cell as a closed triangular mesh. This

algorithm enables the setting of variable viscosity in the underlying lattice-Boltzmann method for computation

of ﬂuid dynamics.

1 INTRODUCTION

Computational models serve a wide variety of roles,

including hypothesis testing, generating new insights,

deepening understanding, suggesting and interpreting

experiments, tracing chains of causation or perform-

ing sensitivity analyses. Computational modelling

helps to predict outcomes in circumstances that are

difﬁcult to achieve in laboratory (Calder and et al.,

2018). Model cannot replace experiment, but it can

demonstrate whether or not a proposed mechanism

is sufﬁcient to produce an observed phenomenon.

Model can be an effective tool in optimization and

design (Janacek et al., 2017; Kleineberg et al., 2017).

Computational modelling helps to predict out-

comes in circumstances that are difﬁcult to achieve in

laboratory (Calder and et al., 2018). It is an effective

tool in optimization and design (Janacek et al., 2017;

Kleineberg et al., 2017).

Computational modelling of deformable objects

immersed in a ﬂow such as biological cells inside

microﬂuidic devices (Bu

ˇ

s

´

ık et al., 2016; Gusenbauer

et al., 2018; Jan

ˇ

cigov

´

a and Cimr

´

ak, 2016; Cimrak,

2016; Reichel et al., 2019), requires capturing various

bio-mechanical phenomena. One such example is dif-

ferent ﬂuid viscosities inside and outside the cell. For

example, red blood cells (RBC) are composed of cell

membrane and the inner ﬂuid called cytoplasm. Cy-

toplasm has four to ﬁve times higher viscosity than

plasma surrounding red blood cells. Similar scenario

holds for other cells or other environments, for exam-

ple when various kinds of cells are manipulating in

microﬂuidic devices.

Several computational models of RBC do not con-

sider the difference between inner and outer ﬂuid vis-

cosities (Krueger, 2012; Dupin et al., 2007; Schiller

et al., 2018) while others include this possibility

(Doddi and Bagchi, 2009; Fedosov et al., 2010).

There is an ongoing discussion about the necessity

to consider variable viscosity, although it has been

shown in (Fedosov et al., 2010), that different inner

viscosity lead to different rotational behaviour of red

blood cells in a shear ﬂow.

The principal algorithmic task that is needed to be

solved is to determine all spatial points in a three-

dimensional space that lie within closed surface. In

particular, we are interested only in those points with

coordinates being integer numbers that are enclosed

by a triangulation of a closed surface. The triangu-

lation mesh-points can have non-integer coordinates.

This speciﬁcation comes from the fact that the ﬂuid is

discretized by a ﬁxed lattice - therefore ﬂuid nodes

have integer coordinates, and the cell membrane is

discretized by a triangular network.

This algorithmic task seems to be similar to

task solved e.g. in Computational Geometry Algo-

rithms Library project in a highly optimized manner.

CGAL’s particular package (Loriot et al., 2019) has

been designed to handle huge triangular meshes and

to manipulate them, for example ﬁnd intersections of

two meshes, or, decide whether a point in 3D space is

inside or outside the mesh.

Our case is however different: We need to make

such decision for all lattice points in space. There-

212

Poštek, T., Kajánek, F. and Ondrušová, M.

Detection of Lattice-points inside Triangular Mesh for Variable-viscosity Model of Red Blood Cells.

DOI: 10.5220/0009165102120217

In Proceedings of the 13th International Joint Conference on Biomedical Engineering Systems and Technologies (BIOSTEC 2020) - Volume 3: BIOINFORMATICS, pages 212-217

ISBN: 978-989-758-398-8; ISSN: 2184-4305

Copyright

c

2022 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved

fore, the use of CGAL is quite limited because run-

ning over all lattice points we get cubic computational

complexity. We further discuss the topic of complex-

ity in Section 4.2.

In this work we provide a basic study of an ex-

tension of existing RBC model to include the pos-

sibility of various viscosities inside and outside the

cell. In Section 2, we provide description of un-

derlying model for the ﬂuid and the notion of non-

constant viscosity. Next in Section 3 we analyze in

detail how non-constant viscosity is implemented in

the lattice-Boltzmann model of ﬂuid ﬂow. In Section

4 we present our algorithm, with discussion on com-

plexity.

2 NON-CONSTANT VISCOSITY

IN MODELLING OF

DEFORMABLE OBJECTS

We have been using the lattice-Boltzmann method

(LBM) coupled with the spring network method for

modelling of ﬂow of deformable objects in a ﬂuid

(Cimr

´

ak et al., 2012; Cimr

´

ak et al., 2014). Here,

the LBM governs the evolution of the ﬂuid while the

spring network is used to characterize the boundary

of the immersed object. The LBM and the spring net-

work is coupled by a dissipative coupling penalizing

the difference between the velocities of the ﬂuid and

the spring network mesh points.

This method has been previously used for simula-

tions of blood cells, having uniform ﬂuid viscosity in-

side and outside the cell. In reality however, the inner

ﬂuid of red blood cells has four times higher viscosity

than the surrounding ﬂuid. Original implementation

presented in (Cimr

´

ak et al., 2012; Cimr

´

ak et al., 2014)

concerns the case of constant ﬂuid viscosity.

We aim at introducing the possibility to account

for variable viscosity. Therefore we will consider

a spatial and time dependent kinematic viscosity

ν

s

(~x,t) instead of the constant kinematic viscosity.

From now on, if we mention viscosity, we mean kine-

matic viscosity of the ﬂuid. Bearing in mind our ﬁeld

of application being the modelling of blood or tumour

cells, we will consider ν

s

(~x,t) to be a multi valued

piece-wise constant function for each time instance

t. Since multiple cell types could be involved, we will

work with possibility to have several different viscosi-

ties of the inner ﬂuid of the cells, depending on the

type of cells. For example, red blood cells have dif-

ferent viscosity of cytoplasm than white blood cells.

Deﬁnition of variable viscosity function will be

ν

s

(~r,t) =

ν

i

, if~r lies inside a cell of type i

ν

0

, if~r lies outside any cells

(1)

where ν

i

is the shear viscosity of the inner ﬂuid of

the cells of type i, and ν

0

is the shear viscosity of the

outer ﬂuid.

To justify the possibility to use variable ﬂuid vis-

cosity in LBM, we present several such cases when

lattice-Boltzmann method has been used also for

cases of non-constant ﬂuid viscosity. Viscosity of the

ﬂuid may change for example with temperature, shear

or concentration. Laminar convection of a ﬂuid with a

temperature-dependent viscosity in an enclosure ﬁlled

with a porous medium was studied in (Guo and Zhao,

2005). The authors used lattice-Boltzmann method

combined with heat transfer equation.

In (Wang and Ho, 2011) the authors use new

lattice Boltzmann approach within the framework

of D2Q9 lattice for simulating shear-thinning non-

Newtonian blood ﬂows described by the power-law.

In (Chao et al., 2007) the authors consider variable

viscosity complicating the truncation error analysis

and creating additional interaction between the trun-

cation error and the boundary condition error. In

(Rakotomalala et al., 1996) the authors address the

use of LBM for ﬂows in which the viscosity is space

and time dependent, namely for non-Newtonian ﬂu-

ids with shear dependent viscosity and miscible ﬂuids

with concentration dependent viscosity.

The case of multiple-relaxation-time lattice-

Boltzmann method for incompressible miscible ﬂow

with large viscosity ratio and high P

´

eclet number

was studied in (Meng and Guo, 2015). Authors in

(Krafczyk and Toelke, 2003) include Smagorinsky’s

algebraic eddy viscosity approach into the multiple-

relaxation- time lattice Boltzmann equation for large-

eddy simulations of turbulent ﬂows. The inclusion

of variable viscosity is enabled by three-dimensional

multi-relaxation time lattice-Boltzmann models for

multi-phase ﬂow presented in (Premnath and Abra-

ham, 2007).

3 LATTICE-BOLTZMANN

METHOD IN THE

COMPUTATIONAL MODEL

After we justiﬁed the possibility to use variable vis-

cosity in the LBM we looked closely on how to im-

plement the variable viscosity into the LBM. We work

with LBM described in (Dunweg and Ladd, 2009;

Weik et al., 2019). This model has been implemented

Detection of Lattice-points inside Triangular Mesh for Variable-viscosity Model of Red Blood Cells

213

in ESPResSo (Arnold et al., 2013) which is a scien-

tiﬁc package that we have been using. In ESPResSo, a

three-dimensional lattice-Boltzmann model is imple-

mented where velocity space is discretized in 19 ve-

locities (D3Q19 model). The details about this model

are available in (Dunweg and Ladd, 2009). The col-

lision step is performed after a transformation of the

populations into mode space. This allows implemen-

tation of the multiple relaxation time (MRT) lattice-

Boltzmann method (Lallemand et al., 2003). It also

allows the use different relaxation times for different

modes, thus to adjust the bulk and shear viscosity of

the ﬂuid separately.

Bulk vs Shear Viscosity. Common notion of

viscosity refers mostly to shear viscosity. Shear vis-

cosity is the resistance of the ﬂuid against shearing

motion. It is present e.g. in the Couette ﬂow: Two

parallel plates are moving in the opposite directions

generating shear ﬂow. The layers of liquid in dif-

ferent heights are moving with different velocities,

the friction between them arises that generate the re-

sistance against such movement. This resistance is

called shear viscosity.

Bulk viscosity refers to resistance of the ﬂuid

against shear-less compression or expansion of the

ﬂuid. For incompressible liquids the bulk viscosity

does not enter the hydrodynamic equations at all.

Mode Space. The principle of the mode space

is that populations are transformed into modes. There

are 19 modes, denoted by indexes 0 to 18. Modes 0-

3 correspond to the conserved variables, mass density

ρ, and momentum density j. Moments 4-9 correspond

to bulk and shear stresses. These moments also affect

the viscosity of the ﬂuid. The higher modes 10-18

represent kinetic modes, they do not enter bulk hydro-

dynamic equations, but they play a role near bound-

aries and in thermal ﬂuctuations.

For the implementation of relaxation time, there

are two possibilities in ESPResSo: The multiple-

relaxation-time or two-relaxation-time (TRT). The

TRT model is described in (Chun and Ladd, 2007).

These two possibilities have two different sets of

eigenvectors and eigenvalues of the collision operator.

They are shown in Table 1 in (Chun and Ladd, 2007).

We will consider the MRT case. Here, the eigenvalues

for the ﬁrst four modes are zero, for mode 4 we have

eigenvalue γ

b

corresponding to dynamic bulk viscos-

ity µ

b

and for modes 5-9 we have eigenvalue γ

s

cor-

responding to dynamic shear viscosity µ

s

. Exact rela-

tion between eigenvalues and viscosities are given by

Equation 80 and 81 from (Dunweg et al., 2007)

µ

s

=

τρc

2

s

2

1 + γ

s

1 −γ

s

µ

b

=

τρc

2

s

d

1 + γ

b

1 −γ

b

Here, ρ is the ﬂuid density, τ is the time step and c

s

is

the speed of sound in the LB lattice, namely

c

s

=

1

√

3

b

τ

where b is the lattice spacing. So when the γ

s

needs to

be evaluated for given viscosity, we plug expression

for c

s

to get

µ

s

=

τρ

2

b

2

3τ

2

1 + γ

s

1 −γ

s

=

ρb

2

6τ

1 + γ

s

1 −γ

s

1 + γ

s

1 −γ

s

=

6τµ

s

ρb

2

If kinematic viscosity ν

s

= µ

s

/ρ is used, the ﬂuid den-

sity ρ vanishes from the expressions

1 + γ

s

1 −γ

s

=

6τν

s

b

2

After some computations, one gets

γ

s

=

6τν

s

b

2

−1

6τν

s

b

2

+ 1

= 1 −

2

6τν

s

b

2

+ 1

which is exactly the relation implemented in a lb.cpp

ﬁle of the lb_reinit_parameters() function in

the ESPResSo core code.

Eventually, we have localized the relation that tells

us dependence of γ

s

and ν

s

and at this place in the

code we need to set different viscosities for the inner

ﬂuid of the cells and outer ﬂuid.

4 ALGORITHMS FOR

DETECTION OF CELL INNER

SPACE

Practical question is how to determine whether you

are inside or outside the cell. The ﬂuid in LBM is

discretized by a ﬁxed perpendicular 3D grid. For ease

of explanation, assume this grid has spacing 1. The

cell on the other hand is discretized by a triangular

mesh that covers its surface. This mesh is not linked

to the grid, it can freely deform according to the

mechanics of the membrane. So the problem can be

stated in the following way:

Find all points in 3D with coordinates being

natural numbers that are enclosed inside a given

triangular network.

We have developed efﬁcient algorithms that solve

BIOINFORMATICS 2020 - 11th International Conference on Bioinformatics Models, Methods and Algorithms

214

this problem and we have described them in detail

in (Po

ˇ

stek, 2019). The basic idea of the algorithm

is to loop over all horizontal lines parallel to x axis

direction with coordinates being natural numbers.

For each such line, we note an ”entering” mark

whenever we detect crossing with any triangle from

the cell’s mesh, meaning we are coming from the

outside into the inside of the cell. When the second

such mark occurs, this means we are leaving the cell

and we mark it as ”exiting” mark.

After such loop we just loop again over horizon-

tal lines and all the grid points that lie between two

”entering” and ”exiting” marks are ﬂagged to be in-

side the cell. All other grid points are automatically

outside the cell.

4.1 Algorithm Details

To ﬁnd an intersection of all lines along x axis direc-

tion with remaining two coordinates natural numbers,

we do it in an loop over y-coordinate. For a ﬁxed y-

coordinate we need to ﬁnd all intersections of mesh

triangles with plane with the same y-coordinate and

parallel to x and z axis, we denote this plane as Y-

plane. In Figure 1 you can see the visualization of

such intersection.

Figure 1: Points P

1

and P

2

characterize the intersection of a

triangle with Y-plane.

After identiﬁcation of segment P

1

P

2

that is the in-

tersection of a triangle ABC (one of the mesh trian-

gles) with Y-plane, we need to detect the intersec-

tions of all horizontal lines from Y-plane that have

z-coordinate a natural number, see Figure 2

After obtaining the ”entering” and ”exiting”

marks on each horizontal line with natural y and z

coordinates, the loop over all lines will ﬂag the in-

dividual grid points as inner or outer grid points, see

Figure 3.

Figure 2: Segment P

1

P

2

is the intersection of triangle with

plane y = integer number. Points Z

1

,Z

2

are those with inte-

ger z−coordinate and those are the intersections of horizon-

tal lines with segment P

1

and P

2

. Points X

1

,X

2

are the points

on horizontal lines that have integer x−coordinate. These

points are either ”entering” or ”exiting” mark for given hor-

izontal line, depending on the orientation of triangle ABC.

Figure 3: Variants of marking inside LB nodes.

4.2 Computational Efﬁciency

Consider a cubic computational domain with its edge

divided into n points. This leads to n

3

ﬂuid lattice

points. In case of a single object (one cell in a simula-

tion), we need to decide about all n

3

points, whether

they are inside or outside the object described by a

mesh with N triangles. In our algorithm, we ﬁrst

run over N triangles, and we create a list of enter-

ing and exiting marks for each horizontal line. Since

the number of horizontal lines in n

2

, this gives us

O(N ×n

2

) operations. Afterwards, we run over all lat-

tice points with O(n

3

) complexity, and we mark them

as inside or outside points according to entering and

exiting marks: If they lie between entering and exiting

mark, we mark them inside lattice points, otherwise

we mark them as outside lattice points. Both opera-

tions result in combined O(N ×n

2

)+ O(n

3

) complex-

ity.

Detection of Lattice-points inside Triangular Mesh for Variable-viscosity Model of Red Blood Cells

215

To compare our algorithm to the established

CGAL computational library: In CGAL, there is an

available package Polygon Mesh Processing and its

class CGAL::Side of triangle mesh that can decide

for a given point in space whether it lies inside or out-

side the triangular mesh. In order to mark all lattice

points as inside or outside points, we need to run the

functor of the class CGAL::Side of triangle mesh n

3

times. The complexity of the class is O(N), since it

needs to run over all triangles. Therefore, combined

complexity of CGAL algorithm is O(n

3

×N).

To wrap up, our algorithm with O(n

3

+ N × n

2

)

complexity is more efﬁcient than CGAL algorithm

with O(N ×n

3

) complexity.

Speed-up

The presented algorithm has complexity O(n

3

+ N ×

n

2

), assuming the computational domain is a cube

with n discretization points on its edge. This might

still be too demanding for computations and if this

algorithm is executed in each time step, the computa-

tions will be dramatically slowed down.

To spare time, we propose to run this algorithm

in the beginning of the simulation to detect the cells’

interiors. Afterwards, once in a hundred time steps,

the algorithm can be executed again. Meanwhile, in

each time step a more sophisticated update algorithm

will be executed. The update algorithm will not run

over all horizontal lines and over all mesh points on

the lines, but it will only reﬂag the nearest grid points

near the mesh triangles. The update algorithm will

loop over all triangles in the mesh - which makes it

O(n

2

×N) complex - and after detecting the points in

the triangle with y and z coordinates natural numbers,

one can reﬂag the neighbouring grid points with all

coordinates natural numbers. This update algorithm

will be useful only in scenarios when during one time

step, the triangles from the mesh do not jump over

more than one grid point from the ﬂuid discretization.

But in most simulations, the cell deforms and moves

slow enough so that it does not skip several ﬂuid grid

points in one time step.

5 CONCLUSIONS AND

OUTLOOK

The presented algorithm enables the use of various

viscosity in an existing implementation of blood cell

modelling in ESPResSo. There must be several steps

done before claiming this algorithm is correct and ef-

ﬁcient and before it can be used by the scientiﬁc com-

munity:

• Computational analysis of computational costs of

the algorithm. One must be sure that the intro-

duction of this algorithm to LBM method will not

slow the computations down rapidly.

• The whole implementation must be tested against

experimental and analytical data. The work

of (Feng and Michaelides, 2001) for example

includes tables of drag coefﬁcients of viscous

spheres in a uniform ﬂow. This could be simulated

and the computational drag coefﬁcient compared

to those from (Feng and Michaelides, 2001).

ACKNOWLEDGEMENTS

This work was supported by the Slovak Research

and Development Agency (contract number APVV-

15-0751) and by the Ministry of Education, Science,

Research and Sport of the Slovak Republic (contract

number VEGA 1/0643/17).

REFERENCES

Arnold, A., Lenz, O., Kesselheim, S., Weeber, R., Fahren-

berger, F., Roehm, D., Ko

ˇ

sovan, P., and Holm, C.

(2013). ESPResSo 3.1 - molecular dynamics soft-

ware for coarse–grained models. In Griebel, M. and

Schweitzer, M., editors, Meshfree Methods for Partial

Differential Equations VI, Lecture Notes in Compu-

tational Science and Engineering, volume 89, pages

1–23.

Bu

ˇ

s

´

ık, M., Jan

ˇ

cigov

´

a, I., T

´

othov

´

a, R., and Cimr

´

ak, I.

(2016). Simulation study of rare cell trajectories and

capture rate in periodic obstacle arrays. Journal of

Computational Science, 17(2):370–376.

Calder, M. and et al. (2018). Computational modelling for

decision-making: where, why, what, who and how. R

Soc Open Sci, 5(6).

Chao, J., Mei, R., and Shyy, W. (2007). Error assessment of

lattice boltzmann equation method for variable viscos-

ity ﬂows. International journal for numerical methods

in ﬂuids, 53:1457–1471.

Chun, B. and Ladd, A. (2007). Interpolated boundary con-

dition for lattice boltzmann simulations of ﬂows in

narrow gaps. Physical Review E, 75:066705.

Cimrak, I. (2016). Collision rates for rare cell capture in

periodic obstacle arrays strongly depend on density of

cell suspension. Computer Methods in Biomechanics

and Biomedical Engineering, 19(14):1525–1530.

Cimr

´

ak, I., Gusenbauer, M., and Jan

ˇ

cigov

´

a, I. (2014).

An ESPResSo implementation of elastic objects im-

mersed in a ﬂuid. Computer Physics Communications,

185(3):900–907.

Cimr

´

ak, I., Gusenbauer, M., and Schreﬂ, T. (2012). Mod-

elling and simulation of processes in microﬂuidic de-

BIOINFORMATICS 2020 - 11th International Conference on Bioinformatics Models, Methods and Algorithms

216

vices for biomedical applications. Computers and

Mathematics with Applications, 64(3):278–288.

Doddi, S. and Bagchi, P. (2009). Three-dimensional compu-

tational modeling of multiple deformable cells ﬂow-

ing in microvessels. Phys. Rev. E, 79(4):046318.

Dunweg, B. and Ladd, A. J. C. (2009). Lattice-Boltzmann

simulations of soft matter systems. Advances in Poly-

mer Science, 221:89–166.

Dunweg, B., Schiller, U., and Ladd, A. J. C. (2007). Sta-

tistical mechanics of the ﬂuctuating lattice boltzmann

equation. Physical Review E??, 76:036704.

Dupin, M. M., Halliday, I., Care, C. M., and Alboul, L.

(2007). Modeling the ﬂow of dense suspensions of de-

formable particles in three dimensions. Physical Re-

view E, Statistical, nonlinear, and soft matter physics,

75:066707.

Fedosov, D. A., Caswell, B., and Karniadakis, G. E. (2010).

A multiscale red blood cell model with accurate me-

chanics, rheology and dynamics. Biophysical Journal,

98(10):2215–2225.

Feng, Z. G. and Michaelides, E. E. (2001). Drag coefﬁcients

of viscous spheres at intermediate and high reynolds

numbers. Journal of Fluids Engineering, 123:841–

849.

Guo, Z. and Zhao, T. (2005). Lattice boltzmann simulation

of natural convection with temperature-dependent vis-

cosity in a porous cavity. Progress in Computational

Fluid Dynamics, 5(1):110–117.

Gusenbauer, M., T

´

othov

´

a, R., Mazza, G., Brandl, M.,

Schreﬂ, T., Jan

ˇ

cigov

´

a, I., and Cimr

´

ak, I. (2018).

Cell damage index as computational indicator for

blood cell activation and damage. Artiﬁcial Organs,

42(7):746–755.

Janacek, J., Kohani, M., Koniorczyk, M., and Marton, P.

(2017). Optimization of periodic crew schedules with

application of column generation method. Trans-

portation Research Part C: Emerging Technologies,

83:165 – 178.

Jan

ˇ

cigov

´

a, I. and Cimr

´

ak, I. (2016). Non-uniform force al-

location for area preservation in spring network mod-

els. International Journal for Numerical Methods in

Biomedical Engineering, 32(10):e02757–n/a.

Kleineberg, K.-K., Buzna, L., Papadopoulos, F., Bogu

˜

n

´

a,

M., and Serrano, M. A. (2017). Geometric correla-

tions mitigate the extreme vulnerability of multiplex

networks against targeted attacks. Phys. Rev. Lett.,

118:218301.

Krafczyk, M. and Toelke, J. (2003). Large-edd simulations

with multiple-relaxation time lbe model. International

Journal of Modern Physics B, 17(1):33–39.

Krueger, T. (2012). Computer Simulation Study of Collec-

tive Phenomena in Dense Suspensions of Red Blood

Cells under Shear. PhD thesis, Max-Planck Institut.

Lallemand, P., d’Humieres, D., Luo, L., and Rubinstein,

R. (2003). Theory of the lattice boltzmann method:

three-dimensional model for linear viscoelastic ﬂuids.

Phys. Rev. E, 67:021203.

Loriot, S., Rouxel-Labb

´

e, M., Tournois, J., and Yaz, I. O.

(2019). Polygon mesh processing. In CGAL User

and Reference Manual. CGAL Editorial Board, 5.0

edition.

Meng, X. and Guo, Z. (2015). Multiple-relaxation-time

lattice boltzmann model for incompressible miscible

ﬂow with large viscosity ratio and high p

´

eclet num-

ber. PHYSICAL REVIEW E, 92:043305.

Po

ˇ

stek, T. (2019). Fluid dynamics model of cells with vari-

able inner and outer ﬂuid viscosity. In Mathematics in

science and technologies [print] : proceedings of the

MIST conference 2019, pages 65–72.

Premnath, K. and Abraham, J. (2007). Three-dimensional

multi-relaxation time (mrt) lattice-boltzmann mod-

els for multiphase ﬂow. Journal of Computational

Physics, 224:539–559.

Rakotomalala, N., Salin, D., and Watzky, P. (1996). Simu-

lations of viscous ﬂows of complex ﬂuids with a bhat-

nagar, gross, and krook lattice gas. Physics of Fluids,

8:3200–3202.

Reichel, F., Mauer, J., Nawaz, A. A., Gompper, G., Guck,

J., and Fedosov, D. A. (2019). High-throughput

microﬂuidic characterization of erythrocyte shapes

and mechanical variability. Biophysical Journal,

117(1):14 – 24.

Schiller, U. D., Kr

¨

uger, T., and Henrich, O. (2018). Meso-

scopic modelling and simulation of soft matter. Soft

Matter, 14:9–26.

Wang, C. and Ho, J. (2011). A lattice boltzmann approach

for the non-newtonian effect in the blood ﬂow. Com-

puters and Mathematics with Applications, 62:75–86.

Weik, F., Weeber, R., Szuttor, K., Breitsprecher, K.,

de Graaf, J., Kuron, M., Landsgesell, J., Menke, H.,

Sean, D., and Holm, C. (2019). Espresso 4.0 – an

extensible software package for simulating soft mat-

ter systems. The European Physical Journal Special

Topics, 227(14):1789–1816.

Detection of Lattice-points inside Triangular Mesh for Variable-viscosity Model of Red Blood Cells

217