Thank you very much!
I have managed (using a much smaller and somewhat more detailed simulation) to locate both initial horizons at least up to mass ratios around a factor of 10, which for now is sufficient for my learning purposes. In that regime, a good and quick guess can be made with r(m)=m/2 -0.0215.
I had also made a very silly mistake in thinking that parameter par_b in TwoPunctures sets the position of the m_plus mass exclusively (this is what I incorrectly deduced from the TwoPunctures documentation), and the other one is deduced from center-of-mass being 0. This is of course not true.
In case any future users looked here for answers, for target masses of about ~ m_plus=0.85, m_minus=0.15, I needed to go to 8 refinement levels, where the [xmin,xmax] =[-9,9], dx=0.5.
A further question, if I may - what can I adjust in setting up parameters to minimize the Hamiltonian constraint violation? Best regards Konrad Topolski
On Mon, Apr 19, 2021 at 2:47 PM Konrad Topolski k.topolski2@student.uw.edu.pl wrote:
Thank you very much!
I have managed (using a much smaller and somewhat more detailed simulation) to locate both initial horizons at least up to mass ratios around a factor of 10, which for now is sufficient for my learning purposes. In that regime, a good and quick guess can be made with r(m)=m/2 -0.0215.
I had also made a very silly mistake in thinking that parameter par_b in TwoPunctures sets the position of the m_plus mass exclusively (this is what I incorrectly deduced from the TwoPunctures documentation), and the other one is deduced from center-of-mass being 0. This is of course not true.
In case any future users looked here for answers, for target masses of about ~ m_plus=0.85, m_minus=0.15, I needed to go to 8 refinement levels, where the [xmin,xmax] =[-9,9], dx=0.5.
A further question, if I may - what can I adjust in setting up parameters to minimize the Hamiltonian constraint violation?
Constraint violations in the initial conditions have two sources: The grid used by TwoPunctures, and the grid used by Cactus. In both cases, increasing the resolution helps. The TwoPunctures grid (the number of coefficients) is defined by parameters in the TwoPunctures thorn. There is also a parameter TwoPunctures::grid_setup_method, which defaults to "Taylor expansion", and the result is more accurate when this is set to "evaluation". This is also more expensive.
As a rule of thumb, if the constraint violation has a wavy pattern that looks like a high-order Chebyshev polynomial, then you are seeing the error from TwoPuncture's spectral method, and increasing the number of modes there will help. Otherwise, if the constraint violatiotions form a rectangular/square pattern and you see the grid structure, then it's dominated by Carpet's grid structure, and a higher resolution there helps. You can also modify the finite differencing order, which helps a lot. However, due to the way AMR works in Carpet, it's difficult and expensive to get better than second order convergence at refinement boundaries. These errors will only become visible after a few time steps.
CarpetX (if you allow me the advert) makes it much easier to achieve overall high convergence orders with mesh refinement. However, it isn't production ready yet, so this advert isn't really useful to you.
-erik
users@lists.einsteintoolkit.org