hi Roland, all,
i'm coming back to this point since i'm now realizing that my interpretation
was not correct... just
to recall, i'm imposing boundary conditions in the following fashion:
reflevel = GetRefinementLevel(cctkGH)
map = MultiPatch_GetMap(cctkGH)
if (reflevel /= 0 .or. map == 0) return
do j = 1, cctk_lsh(2)
do i = 1, cctk_lsh(1)
do k = cctk_lsh(3)-cctk_nghostzones(3)+1, cctk_lsh(3)
if (Sn(i,j,k) == -2) then
[my BCs go here]
end if
end do
end do
end do
and my assumption was that the line "if (Sn(i,j,k) == -2)" would guarantee that
this would only run
in the physical boundary region, as per the comment in the file interface.ccl
from llama/Interpolate2:
CCTK_INT source_patch TYPE=gf TAGS='Checkpoint="no" Prolongation="none"'
{
Sn
} "source patch number, -1 for interior points, -2 for outer boundary
points, -3 for inter-
processor ghost points"
this interpretation was consistent with what it's done in the thorn
LlamaWaveToy (where the BC are
imposed in a similar way).
however, when running with several processors, it seems that there are some
inter-processor points
marked with Sn = -2, and therefore the loop above is called outside my physical
boundary region (i
noticed this by adding write statements inside the loop above).
so i have the following questions:
- what exactly does "outer boundary points" mean for the Sn function? is
there a bug, or did i
just misinterpreted that "outer boundary" means the "physical" boundary?
- what would be the canonical way of checking whether a point belongs to the
physical outer
boundary (ie, where BCs should be specified) when using Llama?
thanks,
Miguel
On 18/06/19 16:00, Haas, Roland wrote:
> Hello Miguel,
>
>> oh, but won't this be handled by the
>>
>> if (Sn(i,j,k) == -2)
>>
>> line above?
> I see. I had no idea that this is what the grid function does.
>
>> from the description of the Sn function in the Interpolate2 thorn:
>>
>> CCTK_INT source_patch TYPE=gf TAGS='Checkpoint="no"
>> Prolongation="none"' {
>> Sn
>> } "source patch number, -1 for interior points, -2 for outer
>> boundary points, -3 for inter- processor ghost points"
>>
>> and also from the way this is done in LlamaWaveToy, i was assuming
>> that Sn(i,j,k) == -2 would guarantee that the points belong to the
>> outer boundary (ie, points where i want to specify a physical
>> boundary condition). is this assumption not correct?
> Yes, in that case this should work fine. In fact it is probably more
> correct then what I did b/c due to the way Llama works may suggestion
> would likely have treated the inter-patch bondaries in Llama as outer
> boundaries (since they are "symmetry" boundaries to Cactus).
>
> So you should be fine actually.
>
> Yours,
> Roland
>
_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users