level ghost fill pattern
- Dominant language
- C++
- Stars
- 250
- Forks
- 89
- Avg merge
- 34m
- Merged PRs (30d)
- 1
Description
This is somewhat related to the discussion in #170.
Using a basic schedule
` algo->createSchedule(level, level->getNextCoarserHierarchyLevelNumber(),
hierarchy),
`
it seems that the nodes exactly on the border of the coarse-to-fine boundary are overwritten. Even though we provide a VariableFillPattern that explicitly sets overwrite_interior=false.
#170 says, ` calcluateOverlap methods is for overlaps within the same level of resolution.`,
so I think what happens is that overlaps for coarse-to-fine areas are found by the Geometry setUpOverlap (?) which disregards our overwrite_interior trick.
I would like not to overwrite level border nodes, and assign only the "real" ghost nodes.
I had the idea of using two schedules, one restricted to the current level, with overwrite_interior set to false.
And a second for level borders exclusively, and that would be done by using a PatchLevelBorderFillPattern.
But it seems that this fill pattern also lead to the overwritting of border nodes.
This is not clear to me because the doc says :
`The fill boxes will consist of the ghost regions lying outside of the level interior`
and comments in the code :
`
* To get the level border, grow each patch box and remove
* the level from it.
`
I was thus expecting the border node not to be overwritten.
Is that a bug or am I misunderstanding and that fill pattern intends to overwrite the border node?
Can you help to adapt that fill pattern to a new one that would only leave real ghost nodes ?
Contributor guide
Research direction
Start by tracing createSchedule through Geometry setUpOverlap, then compare the documented behavior of VariableFillPattern and PatchLevelBorderFillPattern with the border-handling comments. Reproduce the coarse-to-fine case and verify that level-border nodes are not overwritten while real ghost nodes are filled.
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
- Needs clarification
- Newbie friendliness
- 25/100