#1261: Suspicious logic in NewRad thorn -----------------------------------------+---------------------------------- Reporter: wolfgang.kastaun@… | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: Keywords: newrad boundary | -----------------------------------------+---------------------------------- In NewRad boundary conditions, there is some logic to determine for which faces/edges/corners BC should be applied. This logic is duplicated in two files, extrap.cc and newrad.cc. In the latter, there is the line (324 in the Oersted release)
all_physbnd_or_ghostbnd = all_physbnd_or_ghostbnd and (is_physbnd[2*d+0] or not is_ipbnd[2*d+0]);
for the left boundary, while the same thing for the right boundary reads
all_physbnd_or_ghostbnd = all_physbnd_or_ghostbnd and (is_physbnd[2*d+1] or not is_ipbnd[2*d+1]);
in line 337. In extrap.cc, the right boundary is treated the same, for the left one however we have in line 136
all_physbnd_or_ghostbnd = all_physbnd_or_ghostbnd and (is_physbnd[2*d+0] or is_ipbnd[2*d+0]);
Note the "or" instead of "or not". I have no idea what this conditions are supposed to do, but it looks inconsistent. If it is correct, can someone enlighten me ?