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
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;
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],
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.
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;
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;
tooutput[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](https://github.com/lesgourg/class_public/assets/32799314/6576d75f-ed7f-4e05-8e35-7da455ce1333)
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.