[Users] Error in GRHydro_SlopeLimiter.F90

Joshua Faber jafsma at rit.edu
Mon Jan 9 14:47:27 CST 2012

Hi everyone,
   I believe the routines in GRHydro_SlopeLimiter.F90 are all either
mislabelled or simply the wrong formulae.  As a quick reminder, for  the
upwind slope ("dupw") and downwind slope ("dloc"), we expect to get the
following results:

If dupw * dloc <= 0, delta=0   [slope limiters go flat near extrema, by


if (minmod)

delta = sign(dupw) * min( abs(dupw), abs(dloc))

else if (MC)

delta = sign(dupw) * min( 2*abs(dupw), 2*abs(dloc), abs(dupw+dloc)/2 )

else if (superbee)

delta = sign(dupw) * max[ min(2*abs(dupw), dloc) , min(2*abs(dloc),dupw) ]

On the rather nice wikipedia page, http://en.wikipedia.org/wiki/Flux_limiter

they take variables r = dupw/dloc and phi = delta / dloc, but the results
are the same.

Attached are a spreadsheet where I tried to reproduce what the current
routine actually calculates for various inputs, along with the recommended
code fix for GRHydro_TVDReconstruct.F90.

In summmary: the current "MC2" and "minmod" options work like they should.
"MC1" is actually minmod with a floor for very small values.  minmod2,
minmod3, and superbee are all incorrect expressions.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20120109/6040d2ed/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slopelimiter_errors.ods
Type: application/vnd.oasis.opendocument.spreadsheet
Size: 60309 bytes
Desc: not available
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20120109/6040d2ed/attachment-0001.ods 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: GRHydro_TVDReconstruct.F90
Type: application/octet-stream
Size: 4420 bytes
Desc: not available
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20120109/6040d2ed/attachment-0001.obj 

More information about the Users mailing list