lesgourg / class_public

Public repository of the Cosmic Linear Anisotropy Solving System (master for the most recent version of the standard code; GW_CLASS to include Cosmic Gravitational Wave Background anisotropies; classnet branch for acceleration with neutral networks; ExoCLASS branch for exotic energy injection; class_matter branch for FFTlog)
220 stars 291 forks source link

Initial Value of Phi as Shooting Parameter is not working #530

Open Amlan1996 opened 1 year ago

Amlan1996 commented 1 year ago

Hi,

I have been trying to implement the model in the class described in this paper arXiv:astro-ph/0510628. Two model parameters, $\alpha$ and $\beta$, are defined by the 2nd and 5th index in the scf_parameters list. The last two indexes in the list are defined as the initial condition for $\phi$ and $\dot{\phi}$ as usual.

Now I want to use the shooting for this model with the initial value of $\phi$ as the shooting parameter such that the present-day value of $\phi$ becomes equal to the analytically derived value $\phi_0$. So I used the shooting algorithm given in input.c for the case of 'Omega_scf' using the following equation for my shooting parameter;

xguess[index_guess] = ba.scf_parameters[ba.scf_tuning_index];
dxdy[index_guess] = 1.;

As well as I changed the calculation of the 'output[i]', given in the function 'input_try_unknown_parameters', from output[i] = ba.background_table[(ba.bt_size-1)*ba.bg_size+ba.index_bg_rho_scf]/(ba.H0*ba.H0)-ba.Omega0_scf; to output[i] = ba.background_table[(ba.bt_size-1)*ba.bg_size+ba.index_bg_phi_scf]-((ba.scf_parameters[1]/ba.scf_parameters[4])*ba.Omega0_scf/ba.Omega0_dm);

Where 'dm' is the dark matter species in my model. Now shooting keeps failing as the output[i] is not reaching the required accuracy, which I found out by printing the initial and present-day value of $\phi$ from the run, the analytical value of $\phi_0$ and the output[i], Screenshot from 2023-07-06 12-38-31

As it is clear from the picture, the initial value of $\phi$ is not changing at all during the shooting and causing it to fail. It would be very helpful if anyone could suggest how to solve this problem.

Thank you.