# Pulsatile boundary conditions

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

 February 28, 2016, 05:46 Pulsatile boundary conditions #1 New Member   Sigurd TH Join Date: Feb 2016 Location: Edinburgh, United Kingdom Posts: 8 Rep Power: 10 Hey guys, I am a 4th year mechanical engineering student trying to model blood flow in arteries. This is for my final year bachelor project and I am primarily interested in wall shear stress. I've been playing around with StarCCM+ for about a month now, and I'm starting to build up some confidence. There is one thing that eludes me though, and it's how exactly the boundary and initial conditions are defined. I am using velocity inlet and pressure outlet. So far for steady flow, I've just set the ICs and BCs as the same value and in trying to simulate Poiseuille flow in a pipe it has worked well. The results I get for a simple symmetric and concentric occlusion also seem to be ok. I'm still not 100% sure on what I'm defining physically though. I am right in saying that the BCs are applied to all the nodes on the inlet and outlet face of the cylinder? If that's true, are ICs necessary for steady flow as the time derivate in NS is zero? Will changing the magnitude of the ICs make a difference on my results? Finally, how would I go about defining the BCs and ICs for pulsatile flow? I've got tables of flow rate and pressure data for several cardiac cycles measured at segments of the abdominal aorta. I would like to use the flow rate as the inlet BC and the pressure as the outlet BC, but so far I have been unsuccessful in getting the simulation to work. Any help you'll be able to provide me will be greatly appreciated! Thanks in advance, Sigurd P.S. Will be sure to mention you guys in my acknowledgements

February 28, 2016, 10:47
#2
Senior Member

Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,700
Rep Power: 66
On boundary conditions and initial conditions, it's helpful to open an introductory book in ordinary differential equations or a book in partial differential equations.

Quote:
 Originally Posted by Sigurd I am right in saying that the BCs are applied to all the nodes on the inlet and outlet face of the cylinder? If that's true, are ICs necessary for steady flow as the time derivate in NS is zero? Will changing the magnitude of the ICs make a difference on my results?
Boundary conditions are applied at boundaries, yes (the faces that make up those boundaries). Some boundary conditions affect interior nodes as well, it depends on your discretization scheme. But at most, it affects the boundary adjacent cells and possibly a few more cells that are adjacent to those cells.

Initial conditions are applied to the interior cells.

For steady simulations, initial conditions are not required per se because there are no explicit initial conditions needed for problem that is not explicitly time-dependent. However, an initial guess is still needed because of the algorithm. For example, just about every root-finding algorithm except for the bisection algorithm needs an initial guess.

Hence, even when you do not need an initial condition to establish the state at time=0, you still need an initial guess and for all practical purposes you might as well call it the initial conditions.

Furthermore, even for a steady solver, the change in the solution field from one iteration is analogous to a transient solver (but with different, non-physical inertia).

Changing your initial guess in a steady-solver can impact your result. Recall that the Navier-Stokes equations are non-linear. And just like how Newton's method will diverge with a bad initial guess so too can this solver. A good initial guess can also help your simulation converge faster towards the final solution. You can test this easily by putting in outrageous values for the initial conditions, you usually end up with a divergence detected in amg solver error.

You can use tables for pulsatile flow and I think you are on the right track. Maybe you just need to play with it some more to figure out why it's not working.

March 1, 2016, 05:44
#3
New Member

Sigurd TH
Join Date: Feb 2016
Location: Edinburgh, United Kingdom
Posts: 8
Rep Power: 10
@LuckyTran Thanks for the clarification on BCs and ICs!

Quote:
 Originally Posted by LuckyTran You can use tables for pulsatile flow and I think you are on the right track. Maybe you just need to play with it some more to figure out why it's not working.
I have now set up the simulation using the implicit unsteady solver and segregated flow. I've defined the boundary conditions as 'time' tables for one cardiac cycle, of roughly 1 second. The time step is set to reflect the frequency of the data used for the boundary conditions.

It seems to be working ok, but as I already mentioned I'm a complete novice when it comes to CFD so I was wondering if someone could confirm that I'm not doing something terribly outrageous?

Sig

 March 1, 2016, 07:46 #4 Senior Member   Blanco Join Date: Mar 2009 Location: Torino, Italy Posts: 193 Rep Power: 17 Hi, Concerning time step I would say thay you have to investigate which is the most suitable time step that you need to use in order to properly obtain the resuts that you are seeking... i mean, time step is not a function of boundary conditions availability and frequency, but it must be set in such a way that the results are precise "enough" for what you are investigating...as long as their time variation is concerned. You have to rerun the SIM with different time steps to check results dependency on time step value. Best

March 1, 2016, 09:46
#5
New Member

Sigurd TH
Join Date: Feb 2016
Location: Edinburgh, United Kingdom
Posts: 8
Rep Power: 10

Quote:
 Originally Posted by Blanco time step [...] must be set in such a way that the results are precise "enough" for what you are investigating...as long as their time variation is concerned.
So, (for argument's sake) if my time step is set to 0.1; what the code is doing is solving for the flow in the first instance using the first value in the tables at t=0, in the second instance using the second value in the tables at t=0.1, and so on until it runs out of values in the provided tables. If I have provided 10 values for the boundary conditions, then the cycle will have lasted 1 second.

Then if the time step is widely different from the frequency of the boundary conditions, how can the results be interpreted physically?

Sig

 March 1, 2016, 09:54 #6 Senior Member   Lucky Join Date: Apr 2011 Location: Orlando, FL USA Posts: 5,700 Rep Power: 66 It should interpolate your time-table. I forget how, maybe it's a linear interpolation. Most likely. Last edited by LuckyTran; March 1, 2016 at 10:31. Reason: thought I was in the Fluent forum

March 1, 2016, 10:01
#7
New Member

Sigurd TH
Join Date: Feb 2016
Location: Edinburgh, United Kingdom
Posts: 8
Rep Power: 10
Quote:
 Originally Posted by LuckyTran Fluent will interpolate your time-table. I forget how, maybe it's a linear interpolation. Most likely.
Not sure about Fluent, but for StarCCM+ it seems like you can choose between linear, spline or step for the interpolation. The default setting is using a spline if I remember correctly.

 March 1, 2016, 12:44 #8 Senior Member   Blanco Join Date: Mar 2009 Location: Torino, Italy Posts: 193 Rep Power: 17 Yes I'm also pretty sure about spline interp of boundary conditions in ccm+

 March 1, 2016, 13:26 #9 New Member   Sigurd TH Join Date: Feb 2016 Location: Edinburgh, United Kingdom Posts: 8 Rep Power: 10 A couple of quick questions: 1) To clarify, the fact that my simulation keeps running after the number of time steps has exceeded the number of data points in my boundary conditions, means that it's starting the cycle over again? If so, would the results obtained from the later cycles be better than earlier ones? 2) Also, if I don't really care about results in the first part of the cycle... Do I necessarily need to make sure the solution has converged for the first few time steps as long as the solution generally is converging? Or are these solutions important for the accuracy of the following calculations? Sig