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

Reply via email to