
[Sponsors] 
Prescribing Fully Developed Flow as an Inlet in the Aorta 

LinkBack  Thread Tools  Search this Thread  Display Modes 
April 4, 2016, 07:44 
Prescribing Fully Developed Flow as an Inlet in the Aorta

#1 
New Member
Thiran Dhinakaran
Join Date: Apr 2016
Location: London
Posts: 4
Rep Power: 7 
Dear users,
I am using Fluent V16.2 to carry out blood flow simulations in a model of the thoracic aorta with two inlets, one is the aortic valve and the other is an inflow cannula from a left ventricle assist device (LVAD). At the moment I am trying to prescribe a fully developed velocity profile across both of these inlets, but I'm having quite a bit of trouble. From what I understand the only way to achieve this in Fluent it by using a compiled user defined function (UDF). I've read up on how to do this but I still don't have a clue on how to proceed. Any help or advice would be much appreciated! 

April 4, 2016, 17:06 

#2 
Senior Member
Join Date: Mar 2015
Posts: 892
Rep Power: 15 
Use the DEFINE_PROFILE macro and you can either use an equation (if one exists for your inlet velocity, probably some sinusoidal timedependent function of Poiseuille flow) or read values from a data file.


April 5, 2016, 09:50 

#3 
Senior Member
Lucky Tran
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 4,389
Rep Power: 52 
Well first you need to have a velocity profile, use a profile from some paper or generate your own. Then, assuming you already know the velocity profile.
Look into prescribing a velocity profile using a PROFILE. There's a Fluent tutorial on how to do this if you need step by step instructions. I think it's much simpler than UDF and does exactly what you're trying to do. 

April 6, 2016, 08:03 

#4 
New Member
Thiran Dhinakaran
Join Date: Apr 2016
Location: London
Posts: 4
Rep Power: 7 
Dear Lucky and e,
I have looked up how to define a profile and I think I have two options: 1. Create a simple 3D pipe with the same geometry and boundary conditions as my inlets. Then extract the velocity profile where it becomes fully developed using a plane surface and the "write profile" function. 2. Define the inlet profile using the equation Ux=UMax[1(y^2+z^2)^0.5/r^2], which defines a 3D parabolic velocity profile using a UDF. Option 1 seems easier, but would it work? 

April 6, 2016, 08:41 

#5  
Senior Member
Lucky Tran
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 4,389
Rep Power: 52 
Quote:
1 normally works and is much better. The problem is you need to make sure that you get the right profile with 1. For example, periodic BC's can only be used for constant property flows. To get fully developed flow without using periodic BC's requires very long lengths. This computational expense might not be something you want to waste, considering you're only doing this to get an inlet profile. And, this method is best when your grids are the same so that the profile is perfectly mapping the solution without any interpolation. If the grids are the same then the solution that you map over will be consistent with your discretization schemes and satisfy the mass & momentum balances. If the grids are not the same, then the solution will be inconsistent when it is mapped over, and then this method has the same problem as method 2. 

April 6, 2016, 09:10 

#6  
New Member
Thiran Dhinakaran
Join Date: Apr 2016
Location: London
Posts: 4
Rep Power: 7 
Quote:
Thank you for your feedback. Per your recommendation I'll most likely go with option 2. Thank you and 'e' for your help with this. It's greatly appreciated 

April 6, 2016, 11:47 

#7 
New Member
Thiran Dhinakaran
Join Date: Apr 2016
Location: London
Posts: 4
Rep Power: 7 
As it turns out you were right Lucky, option 2 requires incredibly long pipes in order for the velocity profile to fully develop.
So I've tried my hand at a UDF based on the equation: Ux=UMax[1(y^2+z^2)^0.5/r^2] This is the code I've written up, I'd greatly appreciate anyone checking over it (I'm no expert). The code was originally from another Thread in the Forums, but I've changed things round to suit my needs (I think). #include "udf.h" #define PIPE_DIAMETER 12.e3 //Defining the pipe diameter in meters #define VELOCITY ??. //Defining the maximum velocity in m/s DEFINE_PROFILE(paraboloid_velocity, thread, position) { real x[ND_ND]; real r,v_max; face_t f; r=PIPE_DIAMETER/2.; //Calculating Pipe radius v_max=VELOCITY; //Defining the maximum velocity begin_f_loop(f, thread) { F_CENTROID(x,f,thread); F_PROFILE(F, thread, position)=v_max(1.(pow(pow(x[0],2.)+pow(x[1],2.)),0.5)/pow(r,2.)); } end_F_loop(f, thread) } I've not defined a initial velocity yet. Additionally, for some background info my inlet lies in the Z axis at the origin of both X and Y. Thanks again! 

April 15, 2016, 06:37 

#8 
Senior Member
Join Date: Mar 2015
Posts: 892
Rep Power: 15 
Have you tried using this UDF and compared it against a fully developed pipe flow profile? I also use this approach for generating inlet velocity profiles for fully developed flows where an analytical solution exists. As LuckyTran has said, this analytical equation is not discretised for your mesh (consider a coarse mesh; the defined profile is either over or underpredicting the true flow). Ensure you have performed a mesh independence study (as normal) to mitigate this problem.


Tags 
aorta, fluent, udf, velocity profile 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
initial condition for fully developed flow  kmgraju  CFX  3  August 6, 2010 05:57 
Fully developed flow ,CEL expression  kmgraju  CFX  0  August 6, 2010 04:15 
How to specify an inlet boundary conditions for a fully developed gas flow in a duct.  legendyxg  FLUENT  2  May 11, 2010 07:32 
BC for fully developed turbulent flow in a pipe  mmd014  FLUENT  2  May 22, 2009 06:50 
Writing an expression for fully developed flow!  Usman  CFX  12  December 20, 2007 11:26 