CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Main CFD Forum

Outflow b.c. for shallow water riemann solver

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

Reply
 
LinkBack Thread Tools Display Modes
Old   March 16, 2010, 08:52
Default Outflow b.c. for shallow water riemann solver
  #1
New Member
 
Join Date: Mar 2010
Posts: 2
Rep Power: 0
phdoofus is on a distinguished road
So, the deal is I've developed a shallow water solver to look at a problem in the emergence of complexity. It's a conservative finite volume code with cell centered variables (h, uh, vh) on an unstructured triangular mesh and uses MPI and OpenMP to scale. There is also variable bottom topography and bottom friction. This is basically looking at flow in a channel so the problem is cartesian. So far, I am not using any ghost cells at boundaries, though I do have halo cells for communications between MPI tasks. The code seems to work well and the side wall boundary conditions are working fine. I'm really looking at a problem where the flow is sub-critical. The one thing that I haven't been able to get right is the outflow boundary condition.
For one thing, there is no 'reference state' outside of the boundary. In fact, I start the problem with a completely dry state and , in general, at any time there may even be dry regions on the boundary (the Roe solver handles the dry regions just fine).
Can anyboy point me at a paper that describes how to implement something like this? Most of the time, I run into things that either aren't relevant to my problem or are vague enough to be confusing. I'm just not seeing how to relate this business about Riemann invariants to something I can set in my algorithm....
Ok, there. I've confessed my brain fart to the world. ;-)
phdoofus is offline   Reply With Quote

Old   April 12, 2010, 12:33
Default
  #2
New Member
 
Patrick Godon
Join Date: Apr 2010
Posts: 19
Rep Power: 8
PGodon is on a distinguished road
Is your question simply How to impose the boundary conditions on the Riemann Invariants (charateristics of the flow) rather than on the primitive variables (h, u, v) ? and are you still interested in an answer?
PGodon is offline   Reply With Quote

Old   April 14, 2010, 06:40
Default
  #3
New Member
 
Join Date: Mar 2010
Posts: 2
Rep Power: 0
phdoofus is on a distinguished road
Quote:
Originally Posted by PGodon View Post
Is your question simply How to impose the boundary conditions on the Riemann Invariants (charateristics of the flow) rather than on the primitive variables (h, u, v) ? and are you still interested in an answer?
Yes, I am still interested. At present, I'm simply specifying h, u, and v on the opposite side of the boundary (e.g. hr = hl ).
phdoofus is offline   Reply With Quote

Old   April 15, 2010, 11:34
Default
  #4
New Member
 
Patrick Godon
Join Date: Apr 2010
Posts: 19
Rep Power: 8
PGodon is on a distinguished road
So you are looking at an incompressible fluid, flowing in two dimension with a thickness h, with velocities u and v.

You have to take the system of the 3 equations you are solving for h, u and v and make a transformation to that system to obtain the chatacteristics of the flow. That is the very first step, it is to find that transformation. If the velocities are u and v, they belong to the x and y dimensions ? and what are the "crossing" bondaries through which you want to impose the boundary conditions ? If for example you want to consider the bondaries y=0 and y=L (e.g.) as the fluid flows in the x direction through these boundaries, then in order to find the transformation to the system you have to ignore the derivatives in the Y dimension (each dimension perpandicular to the boundaries are treated separately). These are the very first steps to follow. If you want you can write down the basic equations you have and we can try to start from there, or I can give you some references. The process to find the Riemann invariants is to linearized the equations and make a transformation to obtain the eigen vectors associated with the eigen values v, v+c, v-c (in one dimension) and u, u+c, u-c (in the other dimension). Once you found the Riemann invariants for your flow, then you will have to use them and that transformation to impose the boundary conditions, this will make sure that the boundaries are non-reflective.
PGodon is offline   Reply With Quote

Old   April 15, 2010, 15:56
Default
  #5
New Member
 
Patrick Godon
Join Date: Apr 2010
Posts: 19
Rep Power: 8
PGodon is on a distinguished road
as to references, if you do have access to journals through your institution (otherwise you have to pay per view...) here are a couple of articles:

Abarbanel et al. 1991, Journal of Fluid Mechanics, n.225, p.557, that treats some non reflective boundary conditions.

Givoli, D. 1991, Journal of Computational Physics, n. 94, p.1, this is a review paper on non reflecting boundary conditions.

Or also have a look at
Wasberg & Andreassen, Computer Methods in Applied Mechanics and Engineering, 1990, n.80, p.459.


also you can look here...
Riemann invariant

for some prehistoric post.
PGodon 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
Viscous fluxes in a Riemann HLLC solver Bryce Sharman Main CFD Forum 5 July 8, 2009 23:29
Simulating Water Splash Using a Particle System Zi-Wei Chiou Main CFD Forum 0 March 4, 2002 07:33
Roe's Approximate Riemann Solver Chan K I Main CFD Forum 0 December 5, 2000 03:21
New Approx. Riemann Solver Andrei Chernousov Main CFD Forum 3 February 15, 2000 05:31
Outflow Bocos Romuald Skoda Main CFD Forum 3 August 6, 1999 03:08


All times are GMT -4. The time now is 18:01.