CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > CFX

Womersley profile in CFX 11

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 13, 2008, 14:30
Default Womersley profile in CFX 11
  #1
Chris Basciano
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   August 15, 2008, 02:48
Default Re: Womersley profile in CFX 11
  #2
Liza
Guest
 
Posts: n/a
Why not use a CEL-expression instead? The Bessel function is available under Expressions/CEL/besselJ

What are you modelling? Blood flow?

Cheers Liza
  Reply With Quote

Old   August 15, 2008, 11:27
Default Re: Womersley profile in CFX 11
  #3
Chris Basciano
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   August 15, 2008, 19:30
Default Re: Womersley profile in CFX 11
  #4
Rogerio Fernandes Brito
Guest
 
Posts: n/a
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/

  Reply With Quote

Old   August 18, 2008, 10:04
Default Re: Womersley profile in CFX 11
  #5
Chris Basciano
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   September 9, 2008, 21:52
Default Re: Womersley profile in CFX 11
  #6
HekLeR
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   August 12, 2009, 04:46
Default
  #7
Senior Member
 
Lance
Join Date: Mar 2009
Posts: 669
Rep Power: 22
Lance is on a distinguished road
Hi,
Does anyone have a Womersley Fortran code to share? I would write it myself, if I knew how to... :/
Lance is offline   Reply With Quote

Old   August 12, 2009, 07:28
Default
  #8
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 17,696
Rep Power: 143
ghorrocks is just really niceghorrocks is just really niceghorrocks is just really niceghorrocks is just really nice
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
ghorrocks is offline   Reply With Quote

Old   August 12, 2009, 07:43
Default
  #9
Senior Member
 
Lance
Join Date: Mar 2009
Posts: 669
Rep Power: 22
Lance is on a distinguished road
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
Lance is offline   Reply With Quote

Old   August 18, 2009, 10:04
Default Womersley profile
  #10
New Member
 
Syed Mushahid Hashmi
Join Date: Aug 2009
Location: Hamburg, Germany
Posts: 9
Rep Power: 16
Hashmi is on a distinguished road
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
Hashmi is offline   Reply With Quote

Old   August 18, 2009, 18:30
Default
  #11
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 17,696
Rep Power: 143
ghorrocks is just really niceghorrocks is just really niceghorrocks is just really niceghorrocks is just really nice
Quote:
Originally Posted by Lance View Post
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
ghorrocks is offline   Reply With Quote

Old   December 7, 2009, 21:48
Default
  #12
New Member
 
Join Date: Dec 2009
Posts: 10
Rep Power: 16
ylm054 is on a distinguished road
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.
ylm054 is offline   Reply With Quote

Old   December 8, 2009, 02:24
Default
  #13
Senior Member
 
Lance
Join Date: Mar 2009
Posts: 669
Rep Power: 22
Lance is on a distinguished road
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
Lance is offline   Reply With Quote

Old   December 8, 2009, 13:48
Default
  #14
New Member
 
Join Date: Dec 2009
Posts: 10
Rep Power: 16
ylm054 is on a distinguished road
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.
ylm054 is offline   Reply With Quote

Old   December 9, 2009, 08:33
Default
  #15
Senior Member
 
Lance
Join Date: Mar 2009
Posts: 669
Rep Power: 22
Lance is on a distinguished road
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.
Lance is offline   Reply With Quote

Old   February 23, 2010, 22:59
Default
  #16
New Member
 
rofluent
Join Date: Feb 2010
Posts: 10
Rep Power: 16
Rohini is on a distinguished road
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
Rohini is offline   Reply With Quote

Old   February 24, 2010, 00:27
Default
  #17
New Member
 
Join Date: Dec 2009
Posts: 10
Rep Power: 16
ylm054 is on a distinguished road
"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.
ylm054 is offline   Reply With Quote

Old   February 24, 2010, 12:11
Default
  #18
New Member
 
rofluent
Join Date: Feb 2010
Posts: 10
Rep Power: 16
Rohini is on a distinguished road
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
Rohini is offline   Reply With Quote

Old   February 24, 2010, 16:14
Default
  #19
New Member
 
Join Date: Dec 2009
Posts: 10
Rep Power: 16
ylm054 is on a distinguished road
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.
ylm054 is offline   Reply With Quote

Old   February 2, 2011, 10:19
Default
  #20
Senior Member
 
ali
Join Date: Oct 2009
Posts: 318
Rep Power: 17
alinik is on a distinguished road
Hi ylm054

How did you implement womersley profile in your simulation? Did you use CEL or user fortran?
alinik is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Comparison of fluent and CFX for turbomachinery Far CFX 52 December 26, 2014 18:11
Temperature profile of a cylindrical wall in CFX safikhani_hamed CFX 6 July 21, 2011 08:20
CFX or Fluent for Turbo machinery ? Far FLUENT 3 May 27, 2011 03:02
CFX 10's solutions differ from CFX 5.7's Atit Koonsrisuk CFX 4 July 26, 2006 11:59
CFX 4.4 installation problem Pandu Sattvika CFX 1 December 1, 2001 04:07


All times are GMT -4. The time now is 04:48.