CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Womersley profile in CFX 11 (https://www.cfd-online.com/Forums/cfx/26253-womersley-profile-cfx-11-a.html)

Chris Basciano August 13, 2008 14:30

Womersley profile in CFX 11
 
Hello Everyone,

I am attempting to implement the transient Womersley profile as an inlet velocity boundary condition in CFX 11 and have begun to write some user Fortran sub-routines to accomplish this task. My google searches of implementing this profile in CFX have not resulted in any substantial results. Thus, I was wondering if any of the CFX users in this forum have successfully implemented this profile within CFX (versions 5 through 11) and if they have any tips, tricks, pointers, or snippets they would be willing to share. Thanks in advance for any assistance you can provide.

Liza August 15, 2008 02:48

Re: Womersley profile in CFX 11
 
Why not use a CEL-expression instead? The Bessel function is available under Expressions/CEL/besselJ

What are you modelling? Blood flow?

Cheers Liza

Chris Basciano August 15, 2008 11:27

Re: Womersley profile in CFX 11
 
Thanks for the response Liza. Yeah, you guessed it, modeling blood flow. I have looked into using a CEL-expression but my equations for the Womersley profile require imaginary numbers and an array of values that would represent the Fourier transform of a physiological pressure pulse. To my knowledge, CEL-expressions are not able to include these two features in the expression language. I had been trying to think of a method to side-step these issues and still use a CEL-expression, but havenot had any success and since then switched to begin a user fortran function. Let me know if you have any ideas or suggestions to overcome these two issues because I would prefer using a CEL-expression.

Rogerio Fernandes Brito August 15, 2008 19:30

Re: Womersley profile in CFX 11
 
Hi Sir Chris Basciano,

do you use fixed and static (without moving) boundary condition for your blood vessel?

How is the boundary condition for blood vessel? (wall=adiabatic?,...).

Best regards.

"A Womersley number is a dimensionless number in biofluid mechanics. It is a dimensionless expression of the of pulsatile flow frequency in relation to viscous effects. It is named after John R. Womersley (1907-1958).

The Womersley number, usually denoted α, can be written as

α = R (ω μ^-1)^0.5 = R (ω ρ μ^-1)^0.5

where R is an appropriate length scale (for example the radius of a pipe), ω (omega) is the angular frequency of the oscillations, and ν (ni), ρ, μ are the kinematic viscosity, density, and dynamic viscosity of the fluid, respectively. It can also be written in terms of the dimensionless Reynolds number (Re) and Strouhal number (Sr):

α = (2 pi Re Sr)^0.5, being pi = 3.1415.

The Womersley number arises in the solution of the linearized Navier Stokes equations for oscillatory flow (presumed to be laminar and incompressible) in a tube. When α is small (1 or less), it means the frequency of pulsations is sufficiently low that a parabolic velocity profile has time to develop during each cycle, and the flow will be very nearly in phase with the pressure gradient, and will be given to a good approximation by Poiseuille's law, using the instantaneous pressure gradient. When α is large (10 or more), it means the frequency of pulsations is sufficiently large that the velocity profile is relatively flat or plug-like, and the mean flow lags the pressure gradient by about 90 degrees.

In a flow distribution network that progresses from a large tube to many small tubes (e.g. a blood vessel network), the frequency, density, and dynamic viscosity are (usually) the same throughout the network, but the tube radii change. Therefore the Womersley number is large in large vessels and small in small vessels.

It has been argued (West et al., 1997) that universal biological scaling laws (power-law relationships that describe variation of quantities such as metabolic rate, lifespan, length, etc., with body mass) are a consequence of the need for energy minimization, the fractal nature of vascular networks, and the crossover from high to low Womersley number flow as one progresses from large to small vessels.

References:

Nichols, W. W., and O'Rourke, M. F., 2005, "McDonald's Blood Flow in Arteries", London, Hodder-Arnold.

West, G. B., Brown, J. H., and Enquist, B. J., 1997, "A General Model for the Origin of Allometric Scaling Laws in Biology", Science, Vol. 276, pp. 122-126.

Womersley, J. R., 1955, "Method for the Calculation of Velocity, Rate Flow, and Viscous Drag in Arteries when the Pressure Gradient is Known", Journal of Physiology, Vol. 127, pp. 553â€"563."

Source: from Wikipedia, the free world encyclopedia through the internet:

http://en.wikipedia.org/wiki/Womersley_number/


Chris Basciano August 18, 2008 10:04

Re: Womersley profile in CFX 11
 
Rogerio,

Thank-you for your response. I am confused by your first question if my boundary conditions (BCs) are fixed, but I will provide as much details as I can. My first round of simulations will be transient simulations with physiological flow waveforms for the average velocity implemented on the inlet boundary and physiological pressure waveforms implemented on the outlet/opening boundary. They will not include any wall motion in the first round of experiments so, measuring wave reflection is not the goal of the study. Eventually, the walls will include fluid-structure interaction (FSI) which results in mesh displacement/motion, but this will not be implemented in these first round results, and will focus on the displacement normal to the wall rather than axial displacement required for wave reflection analysis.

Also, the Womersley profile is different than the Womersley number. The profile is an expression for the velocity across the the radial distance of a tube. It is a dynamic equilibrium state that is achieved after a certain length and time of transient flow in a tube. The goal of the profile is to be more representative of the blood velocity as it enters my region of interest (abdominal aorta) rather than a uniform or parabolic velocity profile. While on a large scale, the actual profile and oscillatory effects may not be overtly significant. However, my study is focusing on the local velocity field where the inlet profile will play a large role in determining fluid streamlines.

Thanks again for the response.

HekLeR September 9, 2008 21:52

Re: Womersley profile in CFX 11
 
I am assuming you have and expression for

v = f(radius,time)

that is given as a fourier series. I suppose if there are only a few harmonics in the series then you could type the fully expanded expression in CEL. Otherwise you need a bit of user fortran. Just write a User FORTRAN function where you pass the radius and time in as arguments. By default the solver uses "r = sqrt(x*x+y*y)" so if your boundary is perpendicular to the z-axis then you can just use "r" and "t" as arguments. Otherwise you need to define a local coordinate system.

Lance August 12, 2009 04:46

Hi,
Does anyone have a Womersley Fortran code to share? I would write it myself, if I knew how to... :/

ghorrocks August 12, 2009 07:28

Hi,

Hekler's post pretty much sums it up - most functions can be done as CEL expressions or possibly interpolation functions. If that does not give you enough power only then consider fortran.

The tutorial examples explain both using CEL expressions and fortran subroutines which could be adapted to this task.

Glenn Horrocks

Lance August 12, 2009 07:43

Hi Glenn,

Yes, I've read Hekler's post and I know in principle how to do it, it's just that my Fortran skills could be better. I didnt find the tutorials on Fortran to be useful at all, since the .F files were already written. So before I take a Fortran training course I just wanted to ask if someone done this before.

Fortran in neccessary since CEL cannot handle imaginary numbers...

Lance

Hashmi August 18, 2009 10:04

Womersley profile
 
the answer for your question is exacting. I just can give you a little tip, to the best of my knowledge the program named Mathcad may produce Fortran and C++ codes from Mathcad Interface( which I guess very user friendly) and then you can utilize that code in the subroutine which is good for CFX.
I wish some day you will be able to implement the Wormsely velocity profile, then you must share on this forum.
I feel this velocity profile(having Bessel functions) is the analytical solution of some unsteady Navier stokes problem.
wishing u good luck

Hashmi

ghorrocks August 18, 2009 18:30

Quote:

Originally Posted by Lance (Post 226073)
Hi Glenn,

Yes, I've read Hekler's post and I know in principle how to do it, it's just that my Fortran skills could be better. I didnt find the tutorials on Fortran to be useful at all, since the .F files were already written. So before I take a Fortran training course I just wanted to ask if someone done this before.

Fortran in neccessary since CEL cannot handle imaginary numbers...

Lance

True, CEL cannot handle imaginary numbers. But you use a separate CEL expression to hold the real and imaginary part of the variable and expand the imaginary functions out. Not as nice as doing it directly in imaginary numbers but if you only have a few imaginary functions this is much easier than doing it in fortran.

Glenn

ylm054 December 7, 2009 21:48

Hi Chris

I am also attempting to model womersley flow in a vessel, using ANSYS CFX. It would be a great help to me if you could briefly let me know if you made any progress.

Lance December 8, 2009 02:24

I tried to do it in Fortran, but ended up doing it in Matlab instead and exported the profile to a.csv file which was read into CFX using "initialize profile data".

I would give you the matlab hack if I could find it...

Lance

ylm054 December 8, 2009 13:48

I have my own program to generate womersley flow profile as a .csv file. However, how is it that you entered the .csv as an initial condition?

At the moment, I use an oscillating pressure gradient as the boundary conditions, and want to apply womersley flow profile as an initial condition, so I can simulate womersley flow as it develops from halfway through its period.

Lance December 9, 2009 08:33

I didnt enter the womersley profile as an inital condition. I assigned it to the inlet and then let the simulation run for a couple of pulses.

Rohini February 23, 2010 22:59

Hi Lance,

I am also trying to run a blood flow simulation using the Womersley velocity profile( in fluent though). In fluent, I am supposed to write a user defined function for the Womersley velocity profile, but I am confused about the bessel function terms. Therefore, I was wondering if you have figured out the problem by now?

Thanks,
Rohini

ylm054 February 24, 2010 00:27

"I am also trying to run a blood flow simulation using the Womersley velocity profile( in fluent though). In fluent, I am supposed to write a user defined function for the Womersley velocity profile, but I am confused about the bessel function terms. Therefore, I was wondering if you have figured out the problem by now?"

Just a quick tip, that may or may not help. If your Wormersley number is fairly low (<3 or ~2 which is about right for smaller animal blood flow) you can approximate it using a parabola, there is less that 1% difference, I found.

Rohini February 24, 2010 12:11

Thanks ylm054.
Do you mean that instead of using the bessel function term, I use the parabolic velocity term?
I believe there are scientific libraries for incorporating the bessel function terms. Has anyone used those?

Thank you
Rohini

ylm054 February 24, 2010 16:14

yup, instead of bessel functions I used a parabola, because it was much simpler. Later I did implement Womersley profile since I wanted to look at higher Womersley numbers, but I used CFX not fluent, so I'm not sure how to do it.

alinik February 2, 2011 10:19

Hi ylm054

How did you implement womersley profile in your simulation? Did you use CEL or user fortran?

hesamking March 23, 2012 13:11

i am doing a research on an aneurysm, I want to redo an
already done work to learn details of this work.
I don't know how I should set up the inlet velocity. I have the inlet velocity waveform graph from the paper, but I do not have any expression or equation which i can input into CFX. will you please guide me what I should do?
I am doing my study for an aneurysm at a bifurcation of a basilar artery. I have one inlet and two outlets? I also wanted to ask what B.C i should use for the outlet. In paper, I think it mentions Newmann B.C.
I have attached the picture of inflow waveform. I would really appreciate your kind help.
Regards,
Heasam

alinik March 23, 2012 13:23

The best BC for outlet is traction free kind of boundary condition. you can find many papers to find out more about this kind of BC. for inlet you can either use Pressure or womersley velocity profile which is hard to implement because cfx expressions can not recognize imaginery numbers.

hesamking March 23, 2012 14:35

Thanks alininik.
That's the problem, what would you do for the inlet BC so?
I should obey the inlet velocity waveform graph? I have the data for this graph but
the problem is defining a function which i can put in CFX?
Regards,
Hesam

hesamking April 14, 2012 16:26

setting for blood simulation
 
can someone send me the setting for pulsatile blood flow simulation in ANSYS-CFX? This would be a great help to me.
Thanks

bipin2950 January 4, 2019 20:48

Has anybody used UDF for womersley flow as an inlet boundary condition in Ansys FLuent. IF then if can you share here.

ghorrocks January 5, 2019 05:28

If you want information for Fluent then try the Fluent forum.


All times are GMT -4. The time now is 15:38.