Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 

Riemann Solver Repository

This repository is a centralized location for all Clawpack-compatible Riemann solvers. If you have developed a Riemann solver that is not already here, please send it to us or issue a pull request. The format for Riemann solvers has changed significantly since Clawpack 4.3, but if you have a 4.3-style solver, send it along and we will update it.

Adding a Riemann solver

When adding a new Riemann solver, in addition to adding the normal and (optionally) transverse solver code files in src/, you should do the following in order to ensure the new solver is importable in PyClaw. To make things concrete, suppose you are committing a 2D elasticity solver, so your Fortran files are named rpn2_elasticity.f90 and rpt2_elasticity.f90. Then you should:

  1. Add the following to clawpack/riemann/riemann/init.py:
import vc_elasticity_2D
  1. Add 'vc_elasticity' to two_d_riemann in clawpack/riemann/riemann/setup.py.
  2. Add appropriate entries for num_eqn and num_waves in clawpack/riemann/riemann/static.py.

If you are adding a Python solver, then you should have a vc_elasticity_2D_py.py file in clawpack/riemann/riemann. Assuming it contains a function vc_elasticity_2D, then you should do:

  1. Add the following to clawpack/riemann/riemann/init.py:
from vc_elasticity_2D_py import vc_elasticity_2D
  1. Add appropriate entries for num_eqn and num_waves in clawpack/riemann/riemann/static.py.

About

One place for all Clawpack-style Riemann solvers

Resources

License

Packages

No packages published

Languages