Hello Bernard,
Hi. Can someone explain to me why ML_BSSN calls SelectBoundConds within MoL_PostStep? It seems like the kind of once-off routine that would happen near the start of a simulation, rather than something that has to be performed every single timestep.
In the "new" boundary/symmetry interface (ie using thorn Boundary and Symbase) one has to Select the variables for boundaries each time before ApplyBCs is scheduled. There is a routine in Boundaries that clears the selection.
I wouldn't mind, but while trying to understand why ML_BSSN was evolving so slowly on one of our machines, I looked at the TimerReport files, and saw that SelectBoundConds was taking *much* more time (like 20 times as long) than the actual RHS calculation routines.
The long time is most likely caused by the fact that the boundary selection routine tends to be the one calling SYNC which means it is the one that does an MPI wait (if there is load imbalance) and communicates data for buffer zone prolongation etc.
Yours, Roland