Skip to content

multi-level regriding and magnetic flux conservation #1063

@nicolasaunai

Description

@nicolasaunai

This issue details what is needed in order to conserve $\nabla\cdot\mathbf{B}=0$ during regriding that can concern recursive refinement from multiple patch levels in the hierarchy.

Say we need to regrid L2 and that needs L0 to L2 refinement through L1.
The intermediate refinement L0 to L1 is done by SAMRAI using only "standard" copy, refinement and possible RefinePatchStrategy pre/post process.

Currently on master, copy is done after refinement. This is wrong since new fine faces are obtained at the coarse-fine boundary using refined-only values while they should use some obtained by copy. The copy then overwrites some refined faces on coarse/fine border and makes new fine faces inconsistent, resulting in non-zero divB.

This is currently addressed on master by doing a copy schedule before regridding. But this does not work since this schedule is not part of the "standard" regriding (copy/refinement) operation and thus is not done for the intermediary L1 SAMRAI fills.

To make it work we need:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Done 🥳

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions