#2723: No boundary conditions registered for variables in group LEANBSSNMOL
Reporter:Vikram Manikantan
Status:new
Milestone:ET_2023_05
Version:ET_2022_11
Type:bug
Priority:major
Component:EinsteinToolkit thorn

Comment (by Samuel Cupp):

I’ve never used this thorn, but I can hazard a guess. On the master branch, the function LeanBSSN_Boundaries doesn’t run until

schedule LeanBSSN_Boundaries in MoL_PostStep
{
  LANG: Fortran
  OPTIONS: LEVEL
  SYNC: ADMBase::lapse
  SYNC: ADMBase::shift
  SYNC: LeanBSSNMoL::conf_fac
  SYNC: LeanBSSNMoL::hmetric
  SYNC: LeanBSSNMoL::hcurv
  SYNC: LeanBSSNMoL::trk
  SYNC: LeanBSSNMoL::gammat
} "MoL boundary enforcement"

In the old approach, boundary conditions and ghost zone synchronization were completely independent. Now, we simply do both at the same time. Hence, scheduling like

schedule LeanBSSN_adm2bssn at CCTK_INITIAL after ADMBase_PostInitial
{
  LANG: Fortran
  OPTIONS: Local
  SYNC: gammat
} "Convert initial data into BSSN variables"

will naturally trigger warnings if there are no BCs yet. Additionally, the old method didn’t make it clear that the ApplyBCs scheduled at CCTK_INITIAL was an empty call that did nothing. Since the registered BCs look to be none, it doesn't actually matter. I thought this was resolved in Issue #2648. However, the changes aren’t in master. This ticket changed

schedule LeanBSSN_adm2bssn at CCTK_INITIAL after ADMBase_PostInitial
{
  LANG: Fortran
  OP

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2723/no-boundary-conditions-registered-for