Enhancement to Newton-Raphson and Bisection methods when computing T from a given epsilon in the EOS_Omni thorn.

Merged
#6 · Created  · Last updated

Merged pull request

EOS_Omni: switch to bisection early if gradient is small

192e7b6·Author: ·2020-05-14

Description

Running TOV tests with GRHydro and Spritz with the LS220 EOS, we see that the calculation of T, in some cases, may not perform well. Specifically, with the GRHydro code, roughly after 144 iterations the T goes above the prescribed parameter "GRHydro_max_temp" (which we imagine being chosen in accordance with the maximum value of T given in the Table), so the simulation is stopped. With Spritz, as well, we clearly get one wrong T value (well above T_max given in the table). This issue is probably related to a weak dependence of T on \epsilon and can be solved by using the bisection method, see Section IV of Galeazzi, Kastaun, Rezzolla, and Font, PRD (2013). Lorenzo Sala implemented a modification to the Newton-Raphson routine in EOS_Omni/src/nuc_eos_cxx/helpers.hh file: if the energy dependence on the temperature is weak, i.e., if the derivative of the function is too large and therefore the Newton-Raphson routine may overshoot (in the routine "nuc_eos_findtemp"), the code switches to a safer bisection method (in the routine "bisection"). In addition, the "bisection" routine presents a slight modification in order to be sure of not going below the minimum of tabulated temperature value. With these modifications, both tests with GRHydro and Spritz result to be successful and well in accordance.

0 attachments

0 comments

Loading commits...