[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