hemelb-codes / hemelb

A high performance parallel lattice-Boltzmann code for large scale fluid flow in complex geometries
GNU Lesser General Public License v3.0
34 stars 11 forks source link

Implement RBC viscosity contrast #692

Open mobernabeu opened 7 years ago

mobernabeu commented 7 years ago

We want to allow definition of different viscosity values inside and outside the RBCs. The LBGKNN kernel already provides support for variable \tau across the domain.

Tasks:

mobernabeu commented 7 years ago

We can think of many fancy ways of checking that a lattice site is inside/outside any RBC. My suggestion would be to start with a fairly naïve VTK-based approach (see link below), benchmark it, and see whether we need anything fancier. In principle, the operation is embarrassingly parallel such that for large core counts it is unlikely to be the main bottleneck.

http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PointInsideObject

One complication is that for lent cells we don't have all the vertices in the RBC mesh such that it may be tricky to define the closed surface (e.g. a VTK polydata) required by the algorithm. This needs further investigation.