CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Spillway Analysis Fixed Water Surface Boundary Condition

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

Reply
 
LinkBack Thread Tools Display Modes
Old   March 28, 2011, 14:13
Default Spillway Analysis Fixed Water Surface Boundary Condition
  #1
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Hello All,

I have a question regarding boundary conditions for free surface (VOF) simulations using the interFoam solver (v1.7). This is my first real adventure into CFD - I am still learning. I am trying to set up and run a spillway validation case against the physical model results from the Army Corps of Engineers for a standard WES ogee spillway, as has been done with other commercial codes. So far I have successfully generated the mesh at a few different resolutions, and have been able to run the simulation and view the results for both laminar and RAS turbulence models. However, and this is where my question comes in, I have only been able to set up the case with a fixedVelocity inlet and zeroGradient outlet. This approach seems to be okay if the flow rate is known and the performance for that flow rate is needed. What I am having trouble figuring out is how to specify a fixed inlet water surface elevation boundary condition. I presume that it would be a pressure type boundary condition, but haven't had any success figuring it out.

Does anyone have any suggestions on how to set this up? I have searched extensively through the forums and have tried to look at the source code to figure it out without success.

Also I am in search of a good CFD reference to help me really understand the subject if anyone knows of one.

FYI - using the velocity inlet the results are quite good - I believe after some work with the boundary conditions the results will be very good.

Thanks,

Matt
mgdenno is offline   Reply With Quote

Old   April 1, 2011, 12:40
Default
  #2
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Hello Again,

Thanks to everyone who has read my post.

Could someone provide a little feed back? Was my question not clear? Is it not possible using current solvers? Is the answer obvious and I am just not searching for the correct terms?

Thanks,

Matt
mgdenno is offline   Reply With Quote

Old   April 3, 2011, 11:35
Default
  #3
Member
 
Paulo Vatavuk
Join Date: Mar 2009
Location: Campinas, Brasil
Posts: 80
Rep Power: 7
vatavuk is on a distinguished road
Hi Matthew,
About the boundary condition, the whole problem setup must satisfy the continuity equation. That means that the water that flows through the spillway must be replaced somehow. One way to do it is having an inflow condition in some surface, like you did. I suppose another option would be having big reservoir such that it’s level slowly decreases as the water flows out. I think it’s also possible to implement a volumetric source of fluid in the reservoir. This source would then replace the fluid that is flowing out. I don’t know if these other options would be easy to implement, perhaps the best alternative is to use the inflow condition, like you did.

About the cfd references, I would recommend, in increasing level of difficulty and completeness:
1) Numerical Heat Transfer and Fluid Flow by Patankar
2) Computational Methods for Fluid Dynamics by Ferziger and Peric

I also suggest that you look at this tread: Hydraulic jump

Last edited by vatavuk; April 3, 2011 at 11:40. Reason: correct small typing errors
vatavuk is offline   Reply With Quote

Old   April 3, 2011, 22:47
Default
  #4
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Hi Paulo,

Thank you very much for the reply. I understand what you are saying regarding the continuity equation - maybe the approach I have taken is the best, however, the Waterways Experiment Station (WES) standard spillway shape and the expected nappe profile are all based on head and not flow. I would prefer to not go through an iterative procedure varying flows until I get the head correct - although I will if I have to. I think I would like to look into setting an upstream water surface elevation (at the inlet) a little more, and maybe with your help and the input of others we/I can come up with a way - I think it must be possible.

What do you think about creating a boundary face at the inlet that is the height of the desired water surface elevation and setting the alpha for that patch to be equal to 1 (where 1 is water and 0 is air), then setting the velocity to some type that would allow the required flow to enter the system to maintain the required water surface elevation. Thoughts?

Thanks again for your help.

Matt
mgdenno is offline   Reply With Quote

Old   April 4, 2011, 14:04
Default
  #5
New Member
 
Dave West
Join Date: Mar 2011
Location: US
Posts: 11
Rep Power: 5
Terp is on a distinguished road
Maybe a horizontal inlet patch at the bottom of the reservoir with constant p = rgh where h is the height of the desired level. Makes sense to me, but I don't know if it can be implemented to be stable.
Terp is offline   Reply With Quote

Old   April 5, 2011, 11:10
Default
  #6
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Terp,

Thanks for the reply. I think I will give that a shot next. On my currently running model I do have it fed from the bottom, but using velocity not pressure. I think you are right, using pressure (if it will run ok) sounds like it would give me the ability to control water surface elevation. What is the best boundary condition type to use for this? pressureInletVelocity? or maybe pressureInletOutletVelocity?

Thanks again for your help.

Matt
mgdenno is offline   Reply With Quote

Old   April 5, 2011, 15:26
Default
  #7
New Member
 
Dave West
Join Date: Mar 2011
Location: US
Posts: 11
Rep Power: 5
Terp is on a distinguished road
Matt,
I would try pressureinletvelocity first. But I can't seem to find any examples of it working. This person tried it for a natural convection inlet, and gave up.

http://www.tfd.chalmers.se/~hani/kur...rial_Shiri.pdf

Let me know if you try it!
Terp is offline   Reply With Quote

Old   April 5, 2011, 17:06
Default
  #8
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
I will update the post with some results if I get it working.
mgdenno is offline   Reply With Quote

Old   April 6, 2011, 15:24
Default
  #9
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
So, it appears that the pressureInletVelocity BC is only a valid boundary of the for the velocity (U) boundary. Any idea what the best boundary to use for the pressure is and how to calculate the value?
mgdenno is offline   Reply With Quote

Old   October 19, 2012, 13:36
Default
  #10
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Hello,
I just wanted to check in on this thread and see if anyone has been able to implement a fixed water surface elevation inlet where the water surface elevation is specified (maybe using groovyBC) and OpenFOAM will calculate the inlet velocity. In my case I want to specify a water level behind a spillway and have OF calculate the velocity at the inlet. I have tied quite a few combinations of p_rgh (fixedValue, totalPressure, buoyantPressure, and groovyBC with different fixedValues for air and water) and U (pressureInletVelocity, zeroGradient, pressureInletUniformVelocity), but with no success. I am now thinking that maybe the answer lies in using a combination of groovyBC and sampledSets to monitor the gradient of the water surface through the inlet and adjust the velocity to keep it flat? Just wanted to throw it out there and see if anyone has any thoughts that they want to share.
Matt
mgdenno is offline   Reply With Quote

Old   October 19, 2012, 16:03
Default
  #11
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,862
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by mgdenno View Post
Hello,
I just wanted to check in on this thread and see if anyone has been able to implement a fixed water surface elevation inlet where the water surface elevation is specified (maybe using groovyBC) and OpenFOAM will calculate the inlet velocity. In my case I want to specify a water level behind a spillway and have OF calculate the velocity at the inlet. I have tied quite a few combinations of p_rgh (fixedValue, totalPressure, buoyantPressure, and groovyBC with different fixedValues for air and water) and U (pressureInletVelocity, zeroGradient, pressureInletUniformVelocity), but with no success. I am now thinking that maybe the answer lies in using a combination of groovyBC and sampledSets to monitor the gradient of the water surface through the inlet and adjust the velocity to keep it flat? Just wanted to throw it out there and see if anyone has any thoughts that they want to share.
Matt
Can't comment whether it will solve your physical problem but measuring the height with sampledSets and feeding it back to the inlet is possible with swak4Foam/groovyBC. See for instance the fillingTheDam-example that comes with swak which has all the ingredients you need: measuring the height with a sample-line and controlling a BC with it. The tricky thing in your problem might be that the measurement line sees the result of the changed inlet 7.93 seconds (my estimate) after the fact. So you've got to be careful with your control mechanism to not "overreact".

BTW: you said spillway. Just recently stumbled upon this nice tutorial that uses swak for simulating one:
https://www.hpc.ntnu.no/display/hpc/...AM+-+swak4Foam
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   October 21, 2012, 10:35
Default
  #12
Senior Member
 
Matthew Denno
Join Date: Feb 2010
Posts: 131
Rep Power: 6
mgdenno is on a distinguished road
Thanks Bernhard for your input. I think as you pointed out, (and I agree) that "overreacting" to changes may be a problem with this approach. I was thinking of possibly using some kind of "limiter" to prevent large changes to the inflow velocity. Maybe even a rolling average... I guess at this point I really just need to stop procrastinating and try it.
mgdenno is offline   Reply With Quote

Old   October 21, 2012, 11:00
Default
  #13
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,862
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by mgdenno View Post
Thanks Bernhard for your input. I think as you pointed out, (and I agree) that "overreacting" to changes may be a problem with this approach. I was thinking of possibly using some kind of "limiter" to prevent large changes to the inflow velocity. Maybe even a rolling average... I guess at this point I really just need to stop procrastinating and try it.
Something like a rolling average could be done with a stored variable (see examples and the presentation from the 6th Workshop). More sophisticated control strategies might be implemented using either the pythonIntegration-functonObject or the swakCoded-functionObject (both of them allow getting and setting global swak variables). Personally I'd go for Python because dynamicLists etc might be easier there.

What MIGHT be useful also is the function object that solves a transport equation as with this you might solve an equation for the residual time (I think the pulsedPitzDaily-example does this) and you can "measure" the time it takes the fluid to reach the "sensor". But that is just an idea
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   April 7, 2014, 11:58
Default
  #14
New Member
 
Rod
Join Date: Apr 2014
Posts: 1
Rep Power: 0
hotrod950 is on a distinguished road
Quote:
Originally Posted by mgdenno View Post
Thanks Bernhard for your input. I think as you pointed out, (and I agree) that "overreacting" to changes may be a problem with this approach. I was thinking of possibly using some kind of "limiter" to prevent large changes to the inflow velocity. Maybe even a rolling average... I guess at this point I really just need to stop procrastinating and try it.
Hello Mathew,

I am just wondering if you succeeded with your boundary conditions for the case of fixed WSE? I am going through the same type of situation.

If you could shed any light, it would be much appreciated.

Thank you,
hotrod950 is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Surface reaction boundary condition Raph OpenFOAM Running, Solving & CFD 3 June 19, 2013 13:24
Fan Boundary Condition OR Fixed Values or Source Terms SolarX FLUENT 1 June 9, 2011 05:13
Import problem ARC Open Source Meshers: Gmsh, Netgen, CGNS, ... 0 February 27, 2010 11:56
Boundary condition setting for water hammer proble yizhou FLUENT 1 October 12, 2007 13:16
boundary condition at free surface mike NUMECA 3 June 8, 2006 07:23


All times are GMT -4. The time now is 14:08.