-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Roe-type flux #625
base: master
Are you sure you want to change the base?
Add Roe-type flux #625
Conversation
9ce9713
to
6cac4f5
Compare
vector const & up, | ||
vector const & n) const | ||
{ | ||
return Number{0.5} * (pm + pp) + tau * (um * n - up * n); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kronbichler: If I read your comment #587 (comment) correctly, this is the Roe-type flux you were describing. Is this correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I must admit that I had to check carefully how the two fluxes are defined. I looked into http://dx.doi.org/10.1016/j.cma.2015.12.003 and formulas (18)-(20) in particular. What they call HDG flux should be the Roe flux. In your formula, I think both the local Lax-Friedrichs (Rusanov) flux and the Roe flux are the same, because it does not matter whether you switch the order of the subtraction and the multiplication u * n
. Looking at the flux, they are the Roe flux both. For a Lax-Friedrichs that dissipates in all directions, you would need to take the outer product of u \otimes n
and return that to the place of use instead of flux_mass * n
. In other words, right now you contract between u
and n
, before you multiply by n
again, but for Lax-Friedrichs you would need to contract between n
and n
, and afterwards multiply by u
.
As these formulas are intricate and I might have missed some important detail, I recommend you to have another look in terms of literature and formulas, and decide how you want to proceed.
I guess right now you don't see a difference in any of the results, do you? While I would expect that for dim > 1
, one should see a difference between Roe and Rusanov.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, that the fluxes are equivalent and the results are exactly the same.
Thank you for pointing out the paper, I didn't find helpful literature with the keyword Roe-type flux. With this, I can go through the equations in detail 👍
I will convert the PR to a draft until I find the time to do so.
Closes #588