Hi Roland,
I generally suggest shifting the grid so that the closest gridpoint
to the origin is (dx/2, dy/2, dz/2), where dx,dy,dz are the resolutions on the finest grid. I've used this trick many times to stabilize evolutions. Also you may want to try the ShiftedKerrSchild thorn (in the ETK), which enables a radial offset that shrinks the BH coordinate size but at the same time kills off enormous constraint violations near r=0. Unlike the existing KerrSchild thorn(s), this one uses the standard Kerr-Schild metric written in spherical coordinates and does the basis xform.
Right, I had completely forgotten about that one. Thank you. So ShifterKerrSchild is actually different from Exact with its Kerr_KerrSchild__epsilon parameter (ie it would do proper coordinate transformation r -> r+r0 rather than just add r0 in some of the 1/r terms)?
KerrSchild_radial_shift sets r0.
For more documentation, my Master's student George Vopal developed as part of his Master's research project a couple of interactive NRPy+ tutorial modules on the shifted Kerr-Schild solution (even confirming constraint convergence to zero in a standalone code): Basic equations (takes a minute to load): https://mybinder.org/v2/gh/zachetienne/nrpytutorial/master?filepath=Tutorial... Numerical validation (takes a minute to load): https://mybinder.org/v2/gh/zachetienne/nrpytutorial/master?filepath=Tutorial...
Note that the goal is use it only as ID and not to reset the metric at each time so I will have to modify ShifterKerrSchild a bit.
Should be a pretty simple change.
Yours, Roland
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://pgp.mit.edu .