CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Womersley pulsatile boundary condition for blood flow. (https://www.cfd-online.com/Forums/openfoam/91265-womersley-pulsatile-boundary-condition-blood-flow.html)

 liguifan August 5, 2011 02:03

Womersley pulsatile boundary condition for blood flow.

Dear all,

I know this topic is discussed before, but I didn't find solutions. So please bear with me.

I try to use groovyBC to implement this function but:

The womersley formula include a Bessel function which need to be passed into a imaginary complex number. To my knowledge, Bessel function under OpenFOAM J0(s) can only solve the real number. And I don't know how to transfer womersley function to real domain.

I write a matlab code to simulate the womersley pulsatile flow that I want. (besselj can resolve imaginary complex number). But that's it, no idea how to corporate my mat-lab data with OpenFOAM since the data is dependent on both t (time) and y (position).

I have beening struggling with this for a while and quite frustrated...

Can anyone give some help or hint please?

 elvis August 5, 2011 03:47

Hello,

have you tried to play around with pythonflu?
http://pythonflu.wikidot.com/ maybe it gives you some opportunities that might be of value to you.

 liguifan August 5, 2011 06:02

Quote:
 Originally Posted by elvis (Post 318970) Hello, have you tried to play around with pythonflu? http://pythonflu.wikidot.com/ maybe it gives you some opportunities that might be of value to you.
Hi elvis,

Thanks for your reply, I went to pythonflu, is seems like can integrate with Matlab results. But I didn't find any manual of pythonflu.

Can you please suggest me in some details how to solve womersley inlet in pythonflu. Do I need to import data from matlab or I can just write some function in pythonflu?

Cheers!

 gschaider August 5, 2011 07:06

Quote:
 Originally Posted by elvis (Post 318970) Hello, have you tried to play around with pythonflu? http://pythonflu.wikidot.com/ maybe it gives you some opportunities that might be of value to you.
But it will only help him if he manages to interface to Matlab as pythonflu is "only" a wrapper around OpenFOAM it won't be able to calculate the complex Bessel-Function

 liguifan August 5, 2011 07:32

1 Attachment(s)
I forgot to say is that the Womersley number is known in my experiment.

 liguifan August 5, 2011 09:55

1 Attachment(s)
Quote:
 Originally Posted by gschaider (Post 319000) But it will only help him if he manages to interface to Matlab as pythonflu is "only" a wrapper around OpenFOAM it won't be able to calculate the complex Bessel-Function
Hi Bernhard,

Do you think I can use the following formula which which is in real domain to implement the Womersley solution so that I can pass into groovyBC.

Many thanks

 gschaider August 8, 2011 05:40

Quote:
 Originally Posted by liguifan (Post 319032) Hi Bernhard, Do you think I can use the following formula which which is in real domain to implement the Womersley solution so that I can pass into groovyBC. Many thanks
If the computer algebra program of your choice (or you calculating by hand) gives back a reasonable expression for the closed part (like "Re[u[y,t]]" in Mathematica) there should be no problem. I only glanced at your formula and I don't quite get what sould make it complex anyway (if t and y are real)

 liguifan August 10, 2011 06:59

Quote:
 Originally Posted by gschaider (Post 319271) If the computer algebra program of your choice (or you calculating by hand) gives back a reasonable expression for the closed part (like "Re[u[y,t]]" in Mathematica) there should be no problem. I only glanced at your formula and I don't quite get what sould make it complex anyway (if t and y are real)
Thanks for the explanation, I find the formula from somewhere else. I havn't aprove the validation of that one, but I got a parabolic velocity inlet varying with time, which is quite good. I try the Mathematica, but it can not give you expression when input something like
"FullSimplify[Re[u[y,t]]]" , the return value is still in the form of "Re[...]". I will put more time on this see whether can I get a nice derivation.