llnl / llnl/SAMRAI

level ghost fill pattern

Open
#223 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.