Closed schmie closed 9 years ago
Modified by miguel on 26 Jul 2012 08:40 UTC
Modified by hywel on 2 Aug 2012 10:38 UTC
Comment by miguel on 3 Aug 2012 16:20 UTC Done in 77c17ef06452/Resources. Hywel, please CR.
Some tech debt moved to #508.
Modified by miguel on 3 Aug 2012 16:20 UTC
Comment by miguel on 6 Aug 2012 16:26 UTC I've done a bit of literature research and I found a collection of Womersley number values for different parts of the human cardiovascular system in Bronzino, J.D. "The biomedical engineering handbook (3rd ed)". A snapshot of the relevant table is attached.
I also found a paper with similar values obtained with Dopler analysis:http://www.ncbi.nlm.nih.gov/pubmed/20659826
Womersley numbers ranging 3-21 would be representative of what happens in the main human veins and arteries.
Comment by hywel on 7 Aug 2012 08:26 UTC This looks good.
Is there another changeset somewhere that lets us read in and use the sinusoidal period?
womersley_list
in the main generating file should probably be updated to [1,2,5,10,20]
, or similar.
Cheers
Modified by hywel on 7 Aug 2012 08:32 UTC
Comment by miguel on 7 Aug 2012 09:27 UTC Replying to hywel:
Is there another changeset somewhere that lets us read in and use the sinusoidal period?
Looking at the SimConfig
class, it appears to me that the machinery to read in iolet periods is in place (and also unit tested). There's however no functional/regression tests exercising this functionality.
womersley_list
in the main generating file should probably be updated to[1,2,5,10,20]
, or similar.
Updated in a853f961d63b/Resources
Anything else before I close the ticket?
Comment by hywel on 7 Aug 2012 09:52 UTC Can't close this while it's marked as being blocked by #494...
Comment by hywel on 7 Aug 2012 09:52 UTC Replying to miguel:
Replying to hywel:
Is there another changeset somewhere that lets us read in and use the sinusoidal period?
Looking at the
SimConfig
class, it appears to me that the machinery to read in iolet periods is in place (and also unit tested). There's however no functional/regression tests exercising this functionality.
Cool, I had no idea.
womersley_list
in the main generating file should probably be updated to[1,2,5,10,20]
, or similar.Updated in a853f961d63b/Resources
Anything else before I close the ticket?
Looks good to me, cheers.
Modified by miguel on 7 Aug 2012 14:17 UTC
Comment by miguel on 7 Aug 2012 14:19 UTC Defining only the inlet period is not enough to get a sinusoidal pressure profile. Done properly in aae55d88b295/Resources.
Hywel, please CR.
Comment by hywel on 7 Aug 2012 14:25 UTC Well spotted. Sorry the review didn't catch this.
Do we have a good reason behind deciding that min(input pressure) == constant output pressure
. I.e., that output = 80
, and input = from 80 to 80 + pressure_diff
? I don't object, just want to check.
Your work looks fine, thanks.
Comment by miguel on 7 Aug 2012 15:22 UTC There's not a lot of thought put behind that choice, I'm afraid. It was just a starting point with a personal bias against back flow.
The textbook on Cardiovascular Mathematics that I have in the office gives an analytical solution of Womersley flow that assumes pressure differences of the form \delta P = A * cos(w*t) (i.e. no shift). Unless you have found anything better, I suggest we go with that expression and therefore; I will modify the inlets accordingly.
Comment by miguel on 7 Aug 2012 15:43 UTC Done in 4471c16b54a4/Resources.
Comment by hywel on 8 Aug 2012 09:40 UTC http://en.wikipedia.org/wiki/Pulsatile_flow gives the general solution for Fourier-decomposed boundary conditions. It might be nice to write our scripts in such a way that we can specify a constant difference and a sinusoidal magnitude at the inlet.
The diff looks right but...
I think we need to be careful about setting the pressure boundary conditions. We get to set (mean_pressure_diff, amplitude_pressure_diff, pressure_frequency)
and will determine v_max
(and hence Re
) and omega
(and hence Wo
). So we have 3 params to determine two constraints. I'd suggest a third constraint of V_min = 0
to avoid backflow. Anyway, my point is, we should be using the analytical solution to determine these. Specifying Wo
and Re
will determine the pressure_frequency
but the solution will be needed to specify mean_pressure_diff, amplitude_pressure_diff
in order to get the right Re
and to make sure V_min = 0
.
I don't think we're doing that at the moment, but we should. Can talk about this more in scrum.
Comment by miguel on 8 Aug 2012 13:13 UTC Replying to hywel:
http://en.wikipedia.org/wiki/Pulsatile_flow gives the general solution for Fourier-decomposed boundary conditions. It might be nice to write our scripts in such a way that we can specify a constant difference and a sinusoidal magnitude at the inlet.
Great, that's more general that what I found.
I think we need to be careful about setting the pressure boundary conditions. We get to set
(mean_pressure_diff, amplitude_pressure_diff, pressure_frequency)
and will determinev_max
(and henceRe
) andomega
(and henceWo
). So we have 3 params to determine two constraints. I'd suggest a third constraint ofV_min = 0
to avoid backflow. Anyway, my point is, we should be using the analytical solution to determine these. SpecifyingWo
andRe
will determine thepressure_frequency
but the solution will be needed to specifymean_pressure_diff, amplitude_pressure_diff
in order to get the rightRe
and to make sureV_min = 0
.
Let's discuss this during the mid-spring meeting tomorrow to make sure that the systems we simulate are sensible and representative. We need to revisit the question of entrance length (and hence min pipe length) in the Womersley framework. I've got some preliminary results that suggest that having 0 mean pressure does not necessarily translate into back flow in a Wo=4 run. See velocity profile attached (Re=1, Wo=4, sampled half way down the pipe, for t s.t. cos(wt)=-1).
Comment by miguel on 9 Aug 2012 10:01 UTC I've written a bit Python to compute and plot analytical solutions of Womersley flow. At the moment, the velocity profile I uploaded yesterday is looking nowhere near where it should, unfortunately.
Comment by miguel on 11 Aug 2012 19:31 UTC The issue regarding no back flow in comment:17 was me getting confused by plotting the magnitude of the velocity vector instead of the z component (!). As discussed on 10/08/2012, the shape of the velocity profiles is good although the magnitude is off.
I'm reassigning this ticket to Hywel while I'm on holiday.
Modified by miguel on 11 Aug 2012 19:31 UTC
Comment by jamespjh on 16 Aug 2012 13:15 UTC H. busy, back to Mig for 0.2.12
Comment by miguel on 24 Aug 2012 13:27 UTC 7a31da7bed12/Resources add flow type identifier strings in .smy files. This will be later used in the analysis tool to pick the right analytical solution to compare against.
Comment by miguel on 24 Aug 2012 15:19 UTC 83de91cf218d loads flow type in analysis tool.
Comment by hywel on 28 Aug 2012 07:13 UTC Yep, looks good to me.
Comment by miguel on 29 Aug 2012 12:26 UTC The scripts necessary to launch the Womersley runs were added in e6129b1dc252/Resources. Hywel, please CR.
Comment by miguel on 29 Aug 2012 14:04 UTC Small refactor in 8127b2cb1c63 towards being able to handle multiple types of flow
Comment by hywel on 29 Aug 2012 20:05 UTC Thanks for that refactor, looks much nicer.
What is inlet_radius
? Its definition seems nonsensical to me, looks like how far an inlet site is from (0,0,0). It's never used, so we're safe to delete it, if you agree that it doesn't calculate anything useful.
Scripts look good too. Did you have a chance to compare how we're doing against analytical solution? Or are we waiting until Womersley analysis scripts are in place?
Comment by hywel on 30 Aug 2012 10:22 UTC I'm going to take this ticket now.
Comment by hywel on 30 Aug 2012 13:12 UTC
21e4f172a40e gets ride of the inlet_radius
field. I'd put it there and it's unused, so I think there's no problem in removing it.
Comment by miguel on 31 Aug 2012 12:46 UTC Added Womersley velocity analytical solution in 08907340e87f and bug fixed in 73e7eb99f879.
Modified by hywel on 28 Sep 2012 21:21 UTC
Comment by hywel on 28 Sep 2012 21:21 UTC If there are no issues with the review, feel free to close.
Comment by miguel on 11 Oct 2012 13:31 UTC Hywel, I'm a bit confused with this ticket. The changesets in comment:30 were mine, so I guess they need reviewing by you before closing. Does that make sense?
Comment by hywel on 11 Oct 2012 13:38 UTC Yep, that all looks good to me.
Comment by miguel on 11 Oct 2012 13:46 UTC Thanks!
Reported by miguel on 25 Jul 2012 13:28 UTC None