CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Roe approximate riemann solver (https://www.cfd-online.com/Forums/main/11901-roe-approximate-riemann-solver.html)

Kaira July 31, 2006 02:48

Roe approximate riemann solver
 
I need a roe second order solver in fortran or c. please help me to download this code. thanks everyone


mar July 31, 2006 04:20

Re: Roe approximate riemann solver
 
the roe solver is not second order but it can be made second order with an appropriate treatment of the cell-quantities using a MUSCL approach.

If you have a first order ROE solver you need only a MUSCL extrapolator which can be made by yourself because it's really simple.

Dr. Nick July 31, 2006 10:46

Re: Roe approximate riemann solver
 
BTW - i wouldn't recommend MUSCL, although it's quiet popular.I.e. i use SupBEE to reconstruct R and L fluxes.

wen long July 31, 2006 22:33

Re: Roe approximate riemann solver
 
One question for you guys, because I'm not deep into approximate riemann solvers.

Most of time, it seems to me that we need to know the Jacobian to do the riemann solver. say: u_t + f(u)_x =0, i.e. we need to know the functional form of f(u).

Yet, what if the equation is simply u_t + q(x,t)_x =0. And the functional form of q(x,t) is entirely unknown or under investigation? And calculation of Jacobian dq/du is quite difficult? Say, I have 10 formulas for q(x,t) which is some function of u and other parameters such as in the field of sediment transport, u being the elevation of the river bed, q being the flux of sands/mud. Yet q(x,t) depends on river bed very indirectly and depends on flow velocity v, sand diameter, wave period,,,,,,directly. I want to evaluate which formula is better or even come up with new formulas. Do you think we have to code 10 different Riemann solves for the 10 different formulas? What about 2D cases with irregular shape of river banks, coastalines? How much difficulty we are getting into compared to 1D river?

thanks, wen


Kaira July 31, 2006 23:38

Re: Roe approximate riemann solver
 
Dear Mar; Thanks for your suggestion, But I don't know how make a first order to second order with MUSCL. Please Guide me or send me a link for download it. I have,nt any time. Please send it to me If possible and as soon as possible. Thanks Have a Great sky


Kaira July 31, 2006 23:41

Re: Roe approximate riemann solver
 
Dear Nick; Thanks for your suggestion, But I don't know how make a first order to second order with SupBEE. I just know this parameter is a limiter for second order roe approximation (hirsch book).Please Guide me or send me a link for download it. I have,nt any time. Please send it to me If possible and as soon as possible. Thanks Have a Great sky


Dr.Nick July 31, 2006 23:47

Re: Roe approximate riemann solver
 
Hi Wen! I think in this case one can use flux vector splitting, or, if it works poorly, method of fractural steps for your equation. Say, you linearize it along the point of dT solution and split it into two categories. First you resolve the 'classical' nonlinear part with the approx. Riemann solver, and then use a more simple procedure (say standard upwind scheme with limiters) for the linearized part of your transport equations. I've done it for shallow water equations, and it worked fine.

Regards.


Dr.Nick July 31, 2006 23:58

Re: Roe approximate riemann solver
 
This is classic with MUSCL: - van Leer. Towards the Ultimate Conservation Difference Scheme IV; A New Approach to Numerical Convection,// Journal of Computational Physics, 23: 276-299, 1977.

In general: -http://en.wikipedia.org/wiki/MUSCL_scheme -http://en.wikipedia.org/wiki/Total_variation_diminishing

Say, for euler equations: -http://www.hho.edu.tr/huten/Huten%20Dergi/2005Ocak/08.pdf

SuperBEE is a bit more complex, however there's nothing new. I have few articles of my own, but those are in russian =)

The numerical validity of various limiters, see my note: -http://community.livejournal.com/numpro/3797.html#cutid1

mar August 1, 2006 03:30

Re: Roe approximate riemann solver
 
Nowdays MUSCL is a standard so you can find it everywhere. you can have a look to

http://en.wikipedia.org/wiki/MUSCL_scheme

to undestand the basics of the schemes; after this you willl need only a limiter function(the most simple is the minmod).

Because MUSCL is widely used you can search also on the NASA site .

I don't know where are you from but in European library is easy to find the following book

C. Hirsch, Numerical computation of internal and external ows- Vol. 2 (2nd edn). John Wiley & Sons.

Even if this book is quite old it is, in my opinion, a very comprehensive book for the solution of compressible Euler equations.

Good luck

ag August 1, 2006 07:57

Re: Roe approximate riemann solver
 
One technique that is used today is to use numerical Jacobians. Set du = epsilon (machine definable small number) and then compute the Jacobian as J = (q(u+du) - q(u))/du. This can be useful when the flux function is complex.

wen long August 1, 2006 08:36

Re: Roe approximate riemann solver
 
Hi Nick,

my equation is u_t + q(x,t)_x=0.

The problem is that I don't even know how to linearize q(x,t) as a function of u. Because q doesn't depend on u directly.

Can we completely avoid dq/du kind of jacobian in Riemann solver?

Thanks

Wen


wen long August 1, 2006 08:43

Re: Roe approximate riemann solver
 
Hi ag

This is not easy for me, because calculating q(u+du) is verly difficult when q doesn't depend on u directly.

say u is the sea bed level, q is calculated from flow rate, shear stress, particle fall velocity,,,,. When I give a du, I have to go through the flow solver to find flow rate, shear stress,,,and finally get q(u+du). And du is not only one number, because the flow rate depends on the whole domain. For each grid number, I have to give a du. The flow solver is expensive.

Thanks,

Wen


Kaira August 1, 2006 10:33

Re: Roe approximate riemann solver
 
<<<<<<<<Thanks everyone. >>>>>>>>>> tomorrow is my project deadline! I have the first order roe scheme but I have'nt any time to Complete my code. maybe my project is not well or Complete But Now I have many Friend in many Point of world and I happy for this. <<<<<<<<Thanks everyone. >>>>>>>>>> My real name is Karan Have a Great Sky

Dr. Nick August 2, 2006 14:28

Re: Roe approximate riemann solver
 
Hello Wen. Just a thought. And what about Gadunov-method. Say, you have a dependence of q(u,t,l,z). if u physically is a velocity, then: i.e. U*n>0 on the border of a finite volume(FV), then flows is outward, and take q=q in the FV, else, q=q in FV_next_to_that_one. Then use high order nonlinear schemes to construct q.


wen long August 2, 2006 15:09

Re: Roe approximate riemann solver
 
Nick,

Thanks a lot! That sounds very reasonable.

Baiscally Godunov type is better than any kind of Riemann scheme in my humble/not-well-meditated opinion.

If u is velocity,, take q in side of the cell when u.n >0 , take q next to the cell when u.n < 0

If u is not velocity,, need to find the direction of wave propagation. If wave go out of the cell, take q in side of the cell, if wave go into the cell, take q next to the cell.

Wen


Dr.Nick August 3, 2006 00:31

Re: Roe approximate riemann solver
 
That's right, at least i hope it would work. And don't forget to apply a high order scheme (say TVD type) for any reconstruction of 'q'.

Nick.


All times are GMT -4. The time now is 02:50.