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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions