Skip to content

Different behavior with single and multiple grids at the same refinement level #659

@carlosmunozmoncayo

Description

@carlosmunozmoncayo

Hello, I am working with a shallow water-type system on GeoClaw. The solver works fine for most tests, but there are some scenarios where I encounter some unexpected behavior when using multiple grids, even if they all have the same refinement level. For instance, if I consider this problem (all the variables initialized as 0 except for the depth),
I get this with a single grid:

Image

Image

and this with multiple grids:

Image

Image

Image

Since I am using a single refinement level in both cases, shouldn't the solutions be exactly the same? I get this behavior with qad.f turned on and off. I suspect this is related to the way the aux array values are passed across patch boundaries (maybe it is related to #653 ?).
My Riemann problems depend on the aux array which, for this scenario, does not depend on time:

aux array single grid aux array multiple grids
Image Image

The system I am solving has 5 conserved quantities (the first three ones are the same as the SWEs), and has larger eigenvalues, which I am accounting for in the Riemann solver speeds and getmaxspeed.f90. The routines I have more extensively modified are:

rpn2.f90
rpt2.f90
setaux.f90
src2.f90

I have also made some small modifications to:

amr2.f90
filval.f90
tick.f
valout.f90

But, to my understanding, nothing that would interfere with the way aux arrays are handled at patch boundaries. Could this be a GeoClaw or AMRClaw bug?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions