llnl / llnl/SAMRAI

Physical boundaries not filled correctly in RefineSchedule after regridding

Open
#186 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
250
Forks
89
Avg merge
34m
Merged PRs (30d)
1

Description

Hi,
We want to do a synchronization between levels after regridding. We use the following instruction:
d_fill_new_level->createSchedule(level,old_level,level_number-1,hierarchy,this)->fillData(data_time, true);
So data values are taken from the old level and parent level in the hierarchy.
The values in physical boundary nodes are supposed to be taken from the parent level. What occurs is that those values are 0, which is incorrect, since parent level values are not 0. However, values for internal ghost zones have the correct parent level values.
I am using a custom spatial interpolator with stencil 3. If I reduce the stencil to 1 it works since there are not all values in the physical ghost zone which are 0. The nearest values to internal domain are correctly set, but not the farther ones.

This behaviour only happens after a regrid. During simulation with schedules create like the following one all required physical boundary values from a parent level are correctly filled:
d_bdry_fill_advance12->createSchedule(level,ln-1,new_hierarchy,this)

So I suspect there is a difference for the setup of the schedule that is generating the incorrect behaviour.

Contributor guide

Open the contributing guide

Research direction

Start by comparing the schedule setup in d_fill_new_level->createSchedule(...)->fillData(data_time, true) with d_bdry_fill_advance12->createSchedule(...). Reproduce the post-regrid case with the custom stencil-3 interpolator and inspect physical versus internal ghost-zone filling. Done means physical boundary values are taken from the parent level rather than becoming zero.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.