I am using the NPFEM module to design a new kind of material and i am trying to validate it using force-extension tests. I am having some difficulty in achieving a steady state deformation. I saw in the paper “Bridging the computational gap between mesoscopic and continuum modeling of red blood cells for fully resolved blood flow” that the authors have reported a stretching test for RBC and in each step they obtained an equilibrium configuration before increasing the force.
It would be helpful if the authors could provide some details regarding the criteria used for obtaining equilibrium at each step.
Here is a link to a code/example that implements a stretching test of a RBC:
The code starts from a zero force and every few iterations it increases the stretching force by 10pN until it reaches the terminal force of 200pN. The equilibrium state is always reached for a constant force as long as you leave the system to evolve for sufficient number of iterations. Therefore, there are no criteria for the equilibrium. Most probably, you do not run the code for a sufficient amount of iterations.
To compile/run the code, just unzip it inside palabos/examples/showCases. Following, navigate inside the upzipped folder, and mkdir build && cd build && cmake … && make -j. Finally, simply run the compiled code as ./Stretching_Test.
I tested the code with the latest Palabos version under Ubuntu. The code is simply for demonstration purposes, and thus it is not very clean
Let me know if this works for you.
Dear Dr. Kotsalos,
Thanks a lot for sharing the code. I was able to get equilibrium by running it for sufficient number of steps. However, for a 3D material it turns out that the number of steps to reach steady state ~ 1000 for an appropriate value of force increment. It could be lesser for a lower value of the increment, but the total time remains the same for a pre-set maximum value of the force.
I was using a stand-alone NPFEM code for running the stretching tests, and coupling it to PLB for the actual fluid flow simulations, but after looking at your code, i realized that it is a better option to couple it with PLB for the material testing also.
First of all, I also use the npFEM method for RBC simulation and learning. Now trying to do a stretching test with a standalone npFEM, I found that you have implemented the problem, could you please share this code ([RBC_StretchingTest_onlyCPU.zip]) with me, because it had been deleted now?
Moreover， although I can run a standalone npFEM, there are still some details about it that I don’t understand. Could you please share a more detailed introduction?
Thanks for your message.
This is a new link to the code:
Let me know if you can download it.
Thanks a lot for sharing the code, it has worked successfully. I was able to achieve a stretch test for red blood cells by running. This simplifies what I need to do to count the deformations separately, thanks again!