UvaCsl / HemoCell

HemoCell is a high-performance suspension code for simulating blood flows developed by the Computational Science Lab at the University of Amsterdam.
https://computationalscience.nl
Other
44 stars 17 forks source link

Grid convergence on smaller scales #12

Closed ErenC1 closed 2 years ago

ErenC1 commented 2 years ago

Hello!

This is not an issue but a problem I am facing. I am new to LBM and Hemocell, and I am trying to model the capillary flow (I think dx=5e-7 and dt=1e-7 might not work for this scale) I did grid convergence study on RBC, now I want to proceed with fluid domain but it is completely different than the conventional CFD methods (I am an OpenFOAM guy). I tried to change dx and dt according to the constant viscosity but all my calculations are resulting in "out of bounds lattice viscosity" or significantly high tau/dt.

Can someone give me insight about how to conduct grid convergence study in smaller scales for fluid domain in Hemocell? I can't figure out what I am missing.

Best regards, Eren.

gzavo commented 2 years ago

Hi @ErenC1,

The first part of your question seems to be a unit conversion issue between physical units and lattice Boltzmann units. You can find information on that in plenty of places (Timm Krüger's book, Palabos forum, etc.).

On the second part: the question of going to a different numerical resolution was asked before, so I will copy a part of that conversation below as a reference. Note however, that with coupled HPC codes a full grid-convergence study is quite involved (both research time and computational cost). Given that the material models are partly empirical, the validation is usually done at a given resolution by directly comparing to experimental measurements.

Previous conversation excerpt: "This is a pretty involved question, so I can give some clarification about the direction, but not a full answer. HemoCell was in theory designed so that the resolution of both the fluid and the cellular field can change. However, only the current combination (dx =0.5 um, ncell=642) was fully validated. The reason is that it is sort of a numerical sweetspot, if you increase the resolution of the cell, you need to increase the resolution of the fluid field, otherwise several surface point of the cell will fall into the same fluid node. Since they are coupled by external force, this is obviously problematic: the cell surface point will want to exert different forces on the fluid field. Thus you need to increase fluid resolution, however then you need to decrease the time-step size (fundamental numerical issue - look at e.g. the Courant–Friedrichs–Lewycondition). These altogether will significantly increase the computational cost, and for our cases the accuracy on the current resolution was sufficient."

There are external groups working with HemoCell and applying it to capillaries, e.g. this group: https://doi.org/10.14264/99dec0a.

ErenC1 commented 2 years ago

Hello Dr. Dr. Závodszky,

I think I solved the first problem, (I checked the book again, spent more time on unit conversion chapter, it is really useful) but I had to reduced the time step so much, 10 core PC practically solved nothing in 12 hours for one RBC in channel flow (with your resolution It would move at least 30 um). So I guess "okay lets try 5x grid" is not an option in here. I'll try it with smaller dx decreases, and do the RBC validation recursively as I proceed as you suggested. Thank you for taking your time to answer my questions (twice). I hope I can contribute to Hemocell in near future to make it up!