CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Simulating capillary bloodflow

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 21, 2023, 13:52
Default Simulating capillary bloodflow
  #1
Member
 
Join Date: Feb 2014
Posts: 32
Rep Power: 12
yeharav is on a distinguished road
Hi everybody,

I am trying to build a simple model for blood flow in the capillary.

Since the fraction of red blood cells (RBC) is not negligible, it is necessary to solve
them explicitly.

Generally, the RBC is larger than the capillary, and as a result, they are deformed
while they are in the capillary.

I have come across the solid4foam, which might be a good starting point.

However, I have few questions:

1. The distance between the deformed RBC and the capillary is very small.
As a reference, assume that the capillary radius is 4 microns, and the capillary radius is
approximately 3.9 microns.

The normal overset method failed because the mesh around the object was too small.
I saw that zero-gap implementation exists for star-ccm+ (https://www.youtube.com/watch?v=RYKolUSipLQ), but could see
if OF implements it.

2. I need to introduce dynamically new blood cells at the beginning of the capillary.

I decided to test the mesh motion with pimpleDyMFoam, implemented in foam-extend-5.0. This is expected to solve the problem (1). I had some progress, but nothing conclusive yet.


Would love to hear any comments.
yeharav is offline   Reply With Quote

Old   February 24, 2023, 12:28
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Are you able to get the test case at https://www.youtube.com/watch?v=RYKolUSipLQ to work with pimpleDyMFoam in foam-extend-5.0 or OpenFOAM-v2212 (or similar versions)?

That seems like a good first step to see if either overset implementation is sufficient for your needs.
bigphil is offline   Reply With Quote

Old   February 27, 2023, 13:35
Default
  #3
Member
 
Join Date: Feb 2014
Posts: 32
Rep Power: 12
yeharav is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Are you able to get the test case at https://www.youtube.com/watch?v=RYKolUSipLQ to work with pimpleDyMFoam in foam-extend-5.0 or OpenFOAM-v2212 (or similar versions)?

That seems like a good first step to see if either overset implementation is sufficient for your needs.
Hi,

The link with the zero-gap technology is starCCM. When I tried a similar case with OF,
it removed the boundary when the objects collided.

I tried both foam-extend-5.0 and OpenFOAM-v2212. However, I decided to
proceed only with foam-extend-5.0, because pimpleDyMFoam was implemented only there.

So far, I have attempted the following:

1. I tried to change the twoCylinders tutorial to support a motion along the flow (and not perpendicular, as it was in the tutorial). This failed as I got some strange spurious flow near the object (the from and back zoned of the moving domain were far...)

Even if it worked, it would pose a problem in the future as it supports only
prescribed motion and I want to solve the motion of the submerged red blood cells.

2. dynamicMotionSolverFvMesh with displacementLaplacian motion solver.
Then, I used the sixDoFRigidBodyDisplacement boundary condition in the
pointDisplacement.

This method shows potential, as it solves the motion of the object, could support very
close mesh and multiple bodies. However my problem now is that the mesh gets
distorted and I need to remesh it.

3. I am currently trying to use the dynamicTopoFvMesh with displacementLaplacian motion solver. I hope that this will remesh the solution every couple of iterations.

The problem is that I get the annoying message

Quote:
--> FOAM FATAL ERROR:
Cannot find a triangular face bordering face: 226188 :: 4(111620 99530 120357 122152)

From function inline label dynamicTopoFvMeshLocal::getTriBoundaryEdge(const label fIndex) const
in file dynamicTopoFvMeshLocalI.H at line 202.

FOAM aborting
I get it on a simple blockMesh grid in 2D or 3D meshes.


3. If all else fails, I could always write an external python routine that performs the remesh, copies the solution using mapFields, and runs it further. However, it seems like a very dirty solution, and I would happily avoid it.

Any thoughts?
yeharav is offline   Reply With Quote

Old   April 27, 2023, 13:16
Default
  #4
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
In addition, mapFields uses a first-order mapping/interpolation, which is very diffusive, so I expect your solution would be polluted very quickly; although you could use the second-order mapConservativeFields that is available somewhere online.

OpenFOAM.com has overPimpleDyMFoam, e.g. OpenFOAM-v2212/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam. Have you tried that or an earlier version of it?
bigphil is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Simulating Capillary Effect in a heat pipe wick ruiarahul Fluent Multiphase 3 April 5, 2020 05:43
Simulating Capillary Effect in a heat pipe wick ruiarahul CFD Freelancers 2 July 13, 2019 13:16
Simulating bloodflow, error AMG solver Research_Eva Fluent UDF and Scheme Programming 0 November 6, 2018 05:51
Gas flow through capillary toyonline Main CFD Forum 0 January 19, 2015 05:35
[ANSYS Meshing] Issue with modeling dynamic capillary rise in a capillary tube cp703 ANSYS Meshing & Geometry 13 March 22, 2013 21:11


All times are GMT -4. The time now is 07:33.