[ET Trac] #2723: No boundary conditions registered for variables in group LEANBSSNMOL

Samuel Cupp trac-noreply at einsteintoolkit.org
Wed May 31 14:37:13 CDT 2023


#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](https://bitbucket.org/einsteintoolkit/tickets/issues/2723/no-boundary-conditions-registered-for). However, the changes aren’t in master. This ticket changed

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

schedule GROUP ApplyBCs as LeanBSSN_ApplyBCs at CCTK_INITIAL after LeanBSSN_adm2bssn
{
} "Apply boundary conditions"
```

to

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

schedule LeanBSSN_Boundaries at CCTK_INITIAL after LeanBSSN_adm2bssn
{
  LANG: Fortran
  OPTIONS: LEVEL
  SYNC: LeanBSSNMoL::gammat
} "Boundary enforcement"

schedule GROUP ApplyBCs as LeanBSSN_ApplyBCs at CCTK_INITIAL after LeanBSSN_adm2bssn
{
} "Apply boundary conditions"
```

It looks like this change **is** in the development branch.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2723/no-boundary-conditions-registered-for
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/trac/attachments/20230531/493ae5fc/attachment.htm>


More information about the Trac mailing list