Skip to content
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

Variable-bathymetry Riemann solvers #86

Closed
wants to merge 9 commits into from

Conversation

ketch
Copy link
Member

@ketch ketch commented Nov 2, 2014

This adds both 1D and 2D PyClaw-compatible versions of the GeoClaw Riemann solvers. For an example of usage, see http://nbviewer.ipython.org/gist/ketch/9250942.

The main issue with the original solvers is the use of modules to set parameters in the Riemann solvers. I think f2py can't handle that.

This PR is just a reminder of what needs to be done. It shouldn't be merged, since I did some hacky things:

  • I removed some options that I wasn't planning to use, like mappings to the sphere and alternative solver versions. This could all be added back in; I was just trying to minimize the number of places where bugs could occur.
    • I copied a huge amount of code from geoclaw_riemann_utils.f into the main Riemann solver file.
    • I didn't deal with the transverse solver at all.

The bigger issue is that this would create a huge amount of duplicate code, one set of which is compatible with GeoClaw and the other which is compatible with PyClaw. I'd like to avoid that if at all possible. I'm hoping for help from @mandli.

This would resolve #41.

@mandli
Copy link
Member

mandli commented Nov 3, 2014

These routines are destined to be cleaned up in the near future so may be worth just waiting on this a bit until these are cleaned up. We can keep in mind that we would also like to use these in PyClaw.

@mandli
Copy link
Member

mandli commented Aug 12, 2015

So the waiting "a little bit" has turned into centuries. I think there is an active effort to rewrite the solvers into a new version which may be more amenable to this but I am not aware of its status. @rjleveque do you know what the situation is regarding the GeoClaw Riemann solvers?

* master: (62 commits)
  Use simple average of wavespeeds for 2nd-order term in traffic solvers.
  Avoid artificially small CFL numbers in traffic_vc solver.
  Make q-wave traffic solvers the default.
  Replace variable-speed traffic solver with more accurate q-wave version.
  Correctly compute fluctuations for transonic shocks in vc traffic solver.
  Use underscore instead of space in 'stress_relation' key.
  Cosmetic changes to nonlinear_elasticity Python solver.
  Switch back to using f-waves in variable-speed traffic solvers.
  Add quadratic stress-strain relation as option in Python nonlinear elasticity solver.
  Update LWR traffic solvers.
  Revert "Improvements to and new solvers for LWR traffic model."
  Improvements to and new solvers for LWR traffic model.
  Don't import different solvers under the same name.
  Don't import different solvers under the same name.
  Run python-modernize on all files.
  cleaned up indentation of comments only in rpn2_shallow_roe_with_efix.f90
  the common block containing grav is needed in rpn2_shallow_roe_with_efix.f90
  Make sonic check more efficient
  modify fw(3,:) in riemann_aug_JCP geoclaw solver to put transverse velocity jump into fw(3,1) or fw(3,3) depending on interface velocity rather than into fw(3,2), as suggested by Wenwen Li.
  change sonic test to use different criticaltol as proposed by Wenwen Li
  ...
@ketch ketch changed the title [WIP] PyClaw-compatible versions of the GeoClaw Riemann solvers Variable-bathymetry Riemann solvers Mar 5, 2017
@ketch
Copy link
Member Author

ketch commented Mar 5, 2017

The contents of this PR have changed substantially, so I'm going to close it and open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make GeoClaw Riemann solvers PyClaw compliant
2 participants