Open lingyuanji opened 4 years ago
With help from Vivian Poulin I have figured out where this happens in the code: it is in the 'perturb_print_variables' and starts with the comment: "/ converting synchronous variables to newtonian ones /". By commenting this out you can get synchronous gauge mode evolution.
Thanks for providing this workaround! But I think the desired behavior of the code probably is that all outputs should be consistent with gauge
. So I will leave this issue open in case the developers would like to have it as a reminder.
I stumbled upon the same issue of gauge in k_output_values. I agree with @lingyuanji that the output should be consistent with the user input. I believe this can be fixed by simply changing "if (ppt->gauge == synchronous)" to "if (ppt->gauge == newtonian)" in the gauge transformation section.
The mode evolutions obtained from
k_output_values
in the initial file do not follow the gauge of computation. No matter whatgauge
is specified in the initial file (i.e.newtonian
orsynchronous
), the mode evolutions are always the same.However, the transfer functions obtained from
output = mTk
appear to follow the gauge of computation. Moreover, whengauge = newtonian
, the mode evolutions fromk_output_values
atz = 0
are the same as the transfer function for allk
. This seem to imply that no matter what gauge is set,k_output_values
always follownewtonian
gauge.So what is the gauge of mode evolutions obtained using
k_output_values
?