CLASS MANUAL
perturbations.h
Go to the documentation of this file.
1 
3 #ifndef __PERTURBATIONS__
4 #define __PERTURBATIONS__
5 
6 #include "thermodynamics.h"
7 
8 #define _scalars_ ((ppt->has_scalars == _TRUE_) && (index_md == ppt->index_md_scalars))
9 #define _vectors_ ((ppt->has_vectors == _TRUE_) && (index_md == ppt->index_md_vectors))
10 #define _tensors_ ((ppt->has_tensors == _TRUE_) && (index_md == ppt->index_md_tensors))
11 
12 #define _set_source_(index) ppt->sources[index_md][index_ic * ppt->tp_size[index_md] + index][index_tau * ppt->k_size[index_md] + index_k]
13 
26 
27 enum tca_flags {tca_on, tca_off};
28 enum rsa_flags {rsa_off, rsa_on};
29 enum tca_idm_dr_flags {tca_idm_dr_on, tca_idm_dr_off};
30 enum rsa_idr_flags {rsa_idr_off, rsa_idr_on};
31 enum ufa_flags {ufa_off, ufa_on};
32 enum ncdmfa_flags {ncdmfa_off, ncdmfa_on};
33 
35 
41 
42 enum tca_method {first_order_MB,first_order_CAMB,first_order_CLASS,second_order_CRS,second_order_CLASS,compromise_CLASS};
43 enum rsa_method {rsa_null,rsa_MD,rsa_MD_with_reio,rsa_none};
44 enum idr_method {idr_free_streaming,idr_fluid}; /* for the idm-idr case */
45 enum rsa_idr_method {rsa_idr_none,rsa_idr_MD}; /* for the idm-idr case */
46 enum ufa_method {ufa_mb,ufa_hu,ufa_CLASS,ufa_none};
47 enum ncdmfa_method {ncdmfa_mb,ncdmfa_hu,ncdmfa_CLASS,ncdmfa_none};
48 enum tensor_methods {tm_photons_only,tm_massless_approximation,tm_exact};
49 
51 
57 
61 };
62 
64 
66 
70 #define _SELECTION_NUM_MAX_ 100
71 enum selection_type {gaussian,tophat,dirac};
72 
74 
75 
77 
81 #define _MAX_NUMBER_OF_K_FILES_ 30
82 
84 
85 
86 
98 {
105 
108  short has_cls;
110  short has_scalars;
111  short has_vectors;
112  short has_tensors;
114  short has_ad;
115  short has_bi;
116  short has_cdi;
117  short has_nid;
118  short has_niv;
120  /* perturbed recombination */
124  enum tensor_methods tensor_method;
143  short has_nc_rsd;
144  short has_nc_lens;
145  short has_nc_gr;
150  int l_lss_max;
151  double k_max_for_pk;
155  enum selection_type selection;
159  int switch_sw;
173  double z_max_pk;
175  double * alpha_idm_dr;
176  double * beta_idr;
181 
185 
186  short has_cmb;
187  short has_lss;
189  short has_idm_dr;
192 
196 
197  enum possible_gauges gauge;
200 
204 
209  int md_size;
212 
216 
224  int * ic_size;
227 
231 
232  short has_source_t;
233  short has_source_p;
266  short has_source_h;
274  /* remember that the temperature source function includes three
275  terms that we call 0,1,2 (since the strategy in class v > 1.7 is
276  to avoid the integration by part that would reduce the source to
277  a single term) */
325  int * tp_size;
328 
332 
333  int * k_size_cmb;
337  int * k_size_cl;
341  int k_size_pk;
343  int * k_size;
347  double ** k;
349  double k_min;
350  double k_max;
353 
358 
359  double * tau_sampling;
360  int tau_size;
367  double * selection_tau_min;
368  double * selection_tau_max;
369  double * selection_tau;
373 
377 
378  double *** sources;
384 
388 
389  double * ln_tau;
395  double *** late_sources;
402  double *** ddlate_sources;
408 
412 
416  char scalar_titles[_MAXTITLESTRINGLENGTH_];
417  char vector_titles[_MAXTITLESTRINGLENGTH_];
418  char tensor_titles[_MAXTITLESTRINGLENGTH_];
433 
437 
440  ErrorMsg error_message;
443 
444 };
445 
454 {
459  int l_max_g;
482  int l_max_ur;
487  int l_max_idr;
489  /* perturbed recombination */
497  int l_max_dr;
499  int N_ncdm;
500  int* l_max_ncdm;
501  int* q_size_ncdm;
510  int pt_size;
512  double * y;
513  double * dy;
519 };
520 
521 
530 {
531 
537 
548  int mt_size;
551 
557 
558  double * pvecback;
559  double * pvecthermo;
560  double * pvecmetric;
565  double delta_rho;
568  double delta_p;
570  double rho_plus_p_tot;
572  double gw_source;
576  double tca_shear_g;
577  double tca_slip;
579  double rsa_delta_g;
580  double rsa_theta_g;
581  double rsa_delta_ur;
582  double rsa_theta_ur;
583  double rsa_delta_idr;
584  double rsa_theta_idr;
586  double theta_idm;
589  double * delta_ncdm;
590  double * theta_ncdm;
591  double * shear_ncdm;
593  double delta_m;
594  double theta_m;
596  double delta_cb;
597  double theta_cb;
599  double delta_rho_fld;
600  double delta_p_fld;
602  double S_fld;
609 
613 
614  short inter_mode;
620 
624 
631  int ap_size;
633  int * approx;
636 
640 
641  int max_l_max;
642  double * s_l;
645 
646 };
647 
655 
656  struct precision * ppr;
657  struct background * pba;
658  struct thermodynamics * pth;
659  struct perturbations * ppt;
660  int index_md;
661  int index_ic;
662  int index_k;
663  double k;
666 };
667 
668 /*************************************************************************************************************/
669 /* @cond INCLUDE_WITH_DOXYGEN */
670 /*
671  * Boilerplate for C++
672  */
673 #ifdef __cplusplus
674 extern "C" {
675 #endif
676 
678  struct perturbations * ppt,
679  int index_md,
680  int index_ic,
681  int index_tp,
682  double tau,
683  double * psource_at_tau
684  );
685 
687  struct background * pba,
688  struct perturbations * ppt,
689  int index_md,
690  int index_ic,
691  int index_tp,
692  double z,
693  double * psource_at_z
694  );
695 
697  struct background * pba,
698  struct perturbations * ppt,
699  int index_md,
700  int index_ic,
701  int index_tp,
702  double k,
703  double z,
704  double * psource_at_k_and_z
705  );
706 
708  struct background * pba,
709  struct perturbations * ppt,
710  enum file_format output_format,
711  double z,
712  int number_of_titles,
713  double *data
714  );
715 
717  struct background * pba,
718  struct perturbations * ppt,
719  enum file_format output_format,
720  int index_tau,
721  int number_of_titles,
722  double *data
723  );
724 
726  struct background * pba,
727  struct perturbations * ppt,
728  enum file_format output_format,
729  double * tkfull,
730  int number_of_titles,
731  double *data
732  );
733 
735  struct background *pba,
736  struct perturbations *ppt,
737  enum file_format output_format,
738  char titles[_MAXTITLESTRINGLENGTH_]
739  );
740 
742  struct perturbations *ppt,
743  int index_ic,
744  char first_line[_LINE_LENGTH_MAX_],
745  char ic_suffix[_SUFFIXNAMESIZE_]
746  );
747 
748  int perturbations_init(
749  struct precision * ppr,
750  struct background * pba,
751  struct thermodynamics * pth,
752  struct perturbations * ppt
753  );
754 
756  struct perturbations * ppt
757  );
758 
759  int perturbations_free(
760  struct perturbations * ppt
761  );
762 
764  struct precision * ppr,
765  struct background * pba,
766  struct thermodynamics * pth,
767  struct perturbations * ppt
768  );
769 
771  struct precision * ppr,
772  struct background * pba,
773  struct thermodynamics * pth,
774  struct perturbations * ppt
775  );
777  struct precision * ppr,
778  struct background * pba,
779  struct thermodynamics * pth,
780  struct perturbations * ppt
781  );
782 
784  struct precision * ppr,
785  struct background * pba,
786  struct thermodynamics * pth,
787  struct perturbations * ppt,
788  int index_md,
789  struct perturbations_workspace * ppw
790  );
791 
793  struct perturbations * ppt,
794  int index_md,
795  struct perturbations_workspace * ppw
796  );
797 
799  struct precision * ppr,
800  struct background * pba,
801  struct thermodynamics * pth,
802  struct perturbations * ppt,
803  int index_md,
804  int index_ic,
805  int index_k,
806  struct perturbations_workspace * ppw
807  );
808 
810  struct background * pba,
811  struct perturbations * ppt
812  );
813 
815  struct precision * ppr,
816  struct background * pba,
817  struct thermodynamics * pth,
818  struct perturbations * ppt,
819  int index_md,
820  double k,
821  struct perturbations_workspace * ppw,
822  double tau_ini,
823  double tau_end,
824  int * interval_number,
825  int * interval_number_of
826  );
827 
829  struct precision * ppr,
830  struct background * pba,
831  struct thermodynamics * pth,
832  struct perturbations * ppt,
833  int index_md,
834  double k,
835  struct perturbations_workspace * ppw,
836  double tau_ini,
837  double tau_end,
838  double precision,
839  int interval_number,
840  int * interval_number_of,
841  double * interval_limit,
842  int ** interval_approx
843  );
844 
846  struct precision * ppr,
847  struct background * pba,
848  struct thermodynamics * pth,
849  struct perturbations * ppt,
850  int index_md,
851  int index_ic,
852  double k,
853  double tau,
854  struct perturbations_workspace * ppw,
855  int * pa_old
856  );
857 
859  struct perturbations_vector * pv
860  );
861 
863  struct precision * ppr,
864  struct background * pba,
865  struct perturbations * ppt,
866  int index_md,
867  int index_ic,
868  double k,
869  double tau,
870  struct perturbations_workspace * ppw
871  );
872 
874  struct precision * ppr,
875  struct background * pba,
876  struct thermodynamics * pth,
877  struct perturbations * ppt,
878  int index_md,
879  double k,
880  double tau,
881  struct perturbations_workspace * ppw
882  );
883 
885  double tau,
886  void * parameters_and_workspace,
887  double * timescale,
888  ErrorMsg error_message
889  );
890 
892  struct precision * ppr,
893  struct background * pba,
894  struct thermodynamics * pth,
895  struct perturbations * ppt,
896  int index_md,
897  double k,
898  double tau,
899  double * y,
900  struct perturbations_workspace * ppw
901  );
902 
904  struct precision * ppr,
905  struct background * pba,
906  struct thermodynamics * pth,
907  struct perturbations * ppt,
908  int index_md,
909  double k,
910  double * y,
911  struct perturbations_workspace * ppw
912  );
913 
915  double tau,
916  double * pvecperturbations,
917  double * pvecderivs,
918  int index_tau,
919  void * parameters_and_workspace,
920  ErrorMsg error_message
921  );
922 
924  double tau,
925  double * y,
926  double * dy,
927  void * parameters_and_workspace,
928  ErrorMsg error_message
929  );
930 
932  double tau,
933  double * y,
934  double * dy,
935  void * parameters_and_workspace,
936  ErrorMsg error_message
937  );
938 
940  double * y,
941  void * parameters_and_workspace,
942  ErrorMsg error_message
943  );
944 
946  struct precision * ppr,
947  struct background * pba,
948  struct thermodynamics * pth,
949  struct perturbations * ppt,
950  double k,
951  double * y,
952  double a_prime_over_a,
953  double * pvecthermo,
954  struct perturbations_workspace * ppw,
955  ErrorMsg error_message
956  );
957 
959  struct precision * ppr,
960  struct background * pba,
961  struct thermodynamics * pth,
962  struct perturbations * ppt,
963  double k,
964  double * y,
965  double a_prime_over_a,
966  double * pvecthermo,
967  struct perturbations_workspace * ppw,
968  ErrorMsg error_message
969  );
970 
971 #ifdef __cplusplus
972 }
973 #endif
974 
975 /**************************************************************/
976 
977 #endif
978 /* @endcond */
Definition: background.h:48
file_format
Definition: common.h:369
Definition: common.h:378
int perturbations_rsa_idr_delta_and_theta(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, double k, double *y, double a_prime_over_a, double *pvecthermo, struct perturbations_workspace *ppw, ErrorMsg error_message)
Definition: perturbations.c:10481
int perturbations_vector_free(struct perturbations_vector *pv)
Definition: perturbations.c:5327
int perturbations_rsa_delta_and_theta(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, double k, double *y, double a_prime_over_a, double *pvecthermo, struct perturbations_workspace *ppw, ErrorMsg error_message)
Definition: perturbations.c:10342
int perturbations_sources(double tau, double *y, double *dy, int index_tau, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:7443
int perturbations_prepare_k_output(struct background *pba, struct perturbations *ppt)
Definition: perturbations.c:3381
int perturbations_einstein(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, double k, double tau, double *y, struct perturbations_workspace *ppw)
Definition: perturbations.c:6551
int perturbations_timescale(double tau, void *parameters_and_workspace, double *timescale, ErrorMsg error_message)
Definition: perturbations.c:6381
int perturbations_workspace_free(struct perturbations *ppt, int index_md, struct perturbations_workspace *ppw)
Definition: perturbations.c:2934
int perturbations_output_data_at_z(struct background *pba, struct perturbations *ppt, enum file_format output_format, double z, int number_of_titles, double *data)
Definition: perturbations.c:246
int perturbations_output_data_at_index_tau(struct background *pba, struct perturbations *ppt, enum file_format output_format, int index_tau, int number_of_titles, double *data)
Definition: perturbations.c:360
int perturbations_tca_slip_and_shear(double *y, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:9957
int perturbations_sources_at_tau(struct perturbations *ppt, int index_md, int index_ic, int index_tp, double tau, double *psource_at_tau)
Definition: perturbations.c:45
int perturbations_output_titles(struct background *pba, struct perturbations *ppt, enum file_format output_format, char titles[_MAXTITLESTRINGLENGTH_])
Definition: perturbations.c:542
int perturbations_output_data(struct background *pba, struct perturbations *ppt, enum file_format output_format, double *tkfull, int number_of_titles, double *data)
Definition: perturbations.c:428
int perturbations_derivs(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:8719
int perturbations_total_stress_energy(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, double k, double *y, struct perturbations_workspace *ppw)
Definition: perturbations.c:6772
int perturbations_workspace_init(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, struct perturbations_workspace *ppw)
Definition: perturbations.c:2756
int perturbations_find_approximation_number(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, double k, struct perturbations_workspace *ppw, double tau_ini, double tau_end, int *interval_number, int *interval_number_of)
Definition: perturbations.c:3516
int perturbations_free(struct perturbations *ppt)
Definition: perturbations.c:1139
int perturbations_timesampling_for_sources(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:1653
int perturbations_output_firstline_and_ic_suffix(struct perturbations *ppt, int index_ic, char first_line[_LINE_LENGTH_MAX_], char ic_suffix[_SUFFIXNAMESIZE_])
Definition: perturbations.c:630
int perturbations_get_k_list(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:2108
int perturbations_sources_at_z(struct background *pba, struct perturbations *ppt, int index_md, int index_ic, int index_tp, double z, double *psource_at_z)
Definition: perturbations.c:136
int perturbations_sources_at_k_and_z(struct background *pba, struct perturbations *ppt, int index_md, int index_ic, int index_tp, double k, double z, double *psource_at_k_and_z)
Definition: perturbations.c:178
int perturbations_approximations(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, double k, double tau, struct perturbations_workspace *ppw)
Definition: perturbations.c:6104
int perturbations_initial_conditions(struct precision *ppr, struct background *pba, struct perturbations *ppt, int index_md, int index_ic, double k, double tau, struct perturbations_workspace *ppw)
Definition: perturbations.c:5358
int perturbations_solve(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, int index_ic, int index_k, struct perturbations_workspace *ppw)
Definition: perturbations.c:2985
int perturbations_init(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:690
int perturbations_indices(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:1222
int perturbations_free_input(struct perturbations *ppt)
Definition: perturbations.c:1119
int perturbations_vector_init(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, int index_ic, double k, double tau, struct perturbations_workspace *ppw, int *pa_old)
Definition: perturbations.c:3908
int perturbations_print_variables(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:8112
int perturbations_find_approximation_switches(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt, int index_md, double k, struct perturbations_workspace *ppw, double tau_ini, double tau_end, double precision, int interval_number, int *interval_number_of, double *interval_limit, int **interval_approx)
Definition: perturbations.c:3605
int index_tp_H_T_Nb_prime
Definition: perturbations.h:322
double * shear_ncdm
Definition: perturbations.h:591
int k_size_pk
Definition: perturbations.h:341
short evolve_tensor_ncdm
Definition: perturbations.h:127
int index_pt_delta_cdm
Definition: perturbations.h:467
double * vector_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:425
int size_vector_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:429
int index_pt_perturbed_recombination_delta_temp
Definition: perturbations.h:490
int index_tp_theta_idm
Definition: perturbations.h:310
int store_perturbations
Definition: perturbations.h:166
double rsa_theta_idr
Definition: perturbations.h:584
int l_tensor_max
Definition: perturbations.h:149
char tensor_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:418
int index_md_scalars
Definition: perturbations.h:205
short has_source_delta_dr
Definition: perturbations.h:245
int index_tp_theta_dr
Definition: perturbations.h:311
int switch_dop
Definition: perturbations.h:162
short has_idm_soundspeed
Definition: perturbations.h:190
int idr_nature
Definition: perturbations.h:178
struct perturbations_vector * pv
Definition: perturbations.h:561
int index_pt_shear_idr
Definition: perturbations.h:485
double * alpha_idm_dr
Definition: perturbations.h:175
short has_source_theta_ncdm
Definition: perturbations.h:261
int index_mt_eta_prime
Definition: perturbations.h:542
int index_tp_eta
Definition: perturbations.h:320
short has_source_delta_tot
Definition: perturbations.h:236
short has_perturbations
Definition: perturbations.h:106
int * l_max_ncdm
Definition: perturbations.h:500
double * theta_ncdm
Definition: perturbations.h:590
double rsa_theta_ur
Definition: perturbations.h:582
double theta_m
Definition: perturbations.h:594
double * tensor_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:426
int index_pt_delta_ur
Definition: perturbations.h:478
int index_ap_ncdmfa
Definition: perturbations.h:630
short has_source_delta_fld
Definition: perturbations.h:243
#define _MAX_NUMBER_OF_K_FILES_
Definition: perturbations.h:81
int l_max_idr
Definition: perturbations.h:487
char scalar_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:416
int index_tp_delta_idr
Definition: perturbations.h:294
short has_source_phi_prime
Definition: perturbations.h:263
double eisw_lisw_split_z
Definition: perturbations.h:164
short has_source_theta_b
Definition: perturbations.h:252
int index_pt_theta_fld
Definition: perturbations.h:474
double theta_idm_prime
Definition: perturbations.h:587
int index_tp_delta_cb
Definition: perturbations.h:283
int index_tp_delta_g
Definition: perturbations.h:285
int index_tp_delta_tot
Definition: perturbations.h:284
int index_tp_eta_prime
Definition: perturbations.h:321
short has_source_theta_dr
Definition: perturbations.h:259
short has_cls
Definition: perturbations.h:108
int index_tp_theta_idr
Definition: perturbations.h:309
double vector_source_pi
Definition: perturbations.h:573
int index_pt_hv_prime
Definition: perturbations.h:505
double three_cvis2_ur
Definition: perturbations.h:171
short has_cdi
Definition: perturbations.h:116
int index_ap_rsa_idr
Definition: perturbations.h:628
short has_nid
Definition: perturbations.h:117
int index_pt_theta_dcdm
Definition: perturbations.h:472
int l_scalar_max
Definition: perturbations.h:147
int index_tp_theta_g
Definition: perturbations.h:302
int index_pt_delta_idr
Definition: perturbations.h:483
double ** k
Definition: perturbations.h:347
int index_pt_delta_dcdm
Definition: perturbations.h:471
int index_tp_theta_tot
Definition: perturbations.h:301
int number_of_tensor_titles
Definition: perturbations.h:422
short has_source_phi
Definition: perturbations.h:262
int index_tp_delta_idm
Definition: perturbations.h:288
double k_min
Definition: perturbations.h:349
short has_source_delta_g
Definition: perturbations.h:237
int index_tp_h
Definition: perturbations.h:318
short has_source_delta_cdm
Definition: perturbations.h:239
short has_source_psi
Definition: perturbations.h:265
int index_tp_theta_cdm
Definition: perturbations.h:304
possible_gauges
Definition: perturbations.h:58
@ synchronous
Definition: perturbations.h:60
@ newtonian
Definition: perturbations.h:59
int index_tp_t0
Definition: perturbations.h:278
double * selection_tau_max
Definition: perturbations.h:368
int index_ic_nid
Definition: perturbations.h:220
double * selection_function
Definition: perturbations.h:370
int index_pt_V
Definition: perturbations.h:506
int last_index_thermo
Definition: perturbations.h:617
int index_ln_tau_pk
Definition: perturbations.h:393
double k_max_for_pk
Definition: perturbations.h:151
tca_method
Definition: perturbations.h:42
int index_ic_cdi
Definition: perturbations.h:218
int tau_size
Definition: perturbations.h:360
short has_nc_lens
Definition: perturbations.h:144
int index_pt_delta_b
Definition: perturbations.h:465
short has_source_theta_tot
Definition: perturbations.h:250
int index_tp_p
Definition: perturbations.h:281
short has_source_H_T_Nb_prime
Definition: perturbations.h:270
short has_lss
Definition: perturbations.h:187
int index_pt_psi0_ncdm1
Definition: perturbations.h:498
double k
Definition: perturbations.h:663
int index_tp_theta_cb
Definition: perturbations.h:300
int switch_pol
Definition: perturbations.h:163
double delta_p_fld
Definition: perturbations.h:600
int index_tp_phi_prime
Definition: perturbations.h:315
double *** sources
Definition: perturbations.h:378
int index_mt_psi
Definition: perturbations.h:538
short has_bi
Definition: perturbations.h:115
int number_of_scalar_titles
Definition: perturbations.h:420
double * scalar_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:424
int index_ap_tca_idm_dr
Definition: perturbations.h:627
int index_pt_pol2_g
Definition: perturbations.h:462
short has_metricpotential_transfers
Definition: perturbations.h:137
int last_index_back
Definition: perturbations.h:616
int l_max_dr
Definition: perturbations.h:497
int switch_eisw
Definition: perturbations.h:160
int * k_size_cl
Definition: perturbations.h:337
int index_tp_k2gamma_Nb
Definition: perturbations.h:323
short has_source_delta_cb
Definition: perturbations.h:235
int * ic_size
Definition: perturbations.h:224
double rho_plus_p_theta_fld
Definition: perturbations.h:601
int mt_size
Definition: perturbations.h:548
double k_max
Definition: perturbations.h:350
int index_ic
Definition: perturbations.h:661
int index_md_tensors
Definition: perturbations.h:206
short has_source_delta_ncdm
Definition: perturbations.h:247
short has_nc_density
Definition: perturbations.h:142
FILE * perturbations_output_file
Definition: perturbations.h:605
int index_tp_theta_ncdm1
Definition: perturbations.h:312
struct perturbations * ppt
Definition: perturbations.h:659
int index_ic_bi
Definition: perturbations.h:219
double theta_idm
Definition: perturbations.h:586
double * dy
Definition: perturbations.h:513
double selection_min_of_tau_min
Definition: perturbations.h:362
short has_idm_dr
Definition: perturbations.h:189
short has_source_h
Definition: perturbations.h:266
int * index_k_output_values
Definition: perturbations.h:413
int index_tp_delta_ncdm1
Definition: perturbations.h:295
double selection_width[_SELECTION_NUM_MAX_]
Definition: perturbations.h:157
int l_max_ur
Definition: perturbations.h:482
short has_source_theta_g
Definition: perturbations.h:251
int index_pt_theta_ur
Definition: perturbations.h:479
short has_source_k2gamma_Nb
Definition: perturbations.h:271
int index_pt_l3_g
Definition: perturbations.h:458
short has_source_theta_cdm
Definition: perturbations.h:253
double z_max_pk
Definition: perturbations.h:173
short has_source_delta_dcdm
Definition: perturbations.h:242
short has_pk_matter
Definition: perturbations.h:134
int index_tp_delta_cdm
Definition: perturbations.h:287
double delta_p
Definition: perturbations.h:568
int N_ncdm
Definition: perturbations.h:499
int size_scalar_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:428
short has_source_delta_b
Definition: perturbations.h:238
double rho_plus_p_tot
Definition: perturbations.h:570
int * k_size
Definition: perturbations.h:343
int * q_size_ncdm
Definition: perturbations.h:501
tca_flags
Definition: perturbations.h:27
short has_source_p
Definition: perturbations.h:233
short has_source_theta_idr
Definition: perturbations.h:255
int index_pt_theta_idm
Definition: perturbations.h:470
int index_md_vectors
Definition: perturbations.h:207
short has_source_delta_scf
Definition: perturbations.h:244
double vector_source_v
Definition: perturbations.h:574
double S_fld
Definition: perturbations.h:602
double delta_rho
Definition: perturbations.h:565
int index_ap_tca
Definition: perturbations.h:625
int index_pt_phi_scf
Definition: perturbations.h:476
int index_ic_ten
Definition: perturbations.h:222
int ln_tau_size
Definition: perturbations.h:392
int index_tp_h_prime
Definition: perturbations.h:319
double rho_plus_p_shear
Definition: perturbations.h:567
int index_pt_perturbed_recombination_delta_chi
Definition: perturbations.h:491
int index_tp_delta_b
Definition: perturbations.h:286
double delta_rho_fld
Definition: perturbations.h:599
short has_perturbed_recombination
Definition: perturbations.h:122
double * selection_tau
Definition: perturbations.h:369
int index_tp_theta_dcdm
Definition: perturbations.h:305
int index_tp_delta_dr
Definition: perturbations.h:292
int index_tp_delta_dcdm
Definition: perturbations.h:289
int index_pt_theta_g
Definition: perturbations.h:456
int index_tp_delta_m
Definition: perturbations.h:282
char vector_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:417
int index_pt_Gamma_fld
Definition: perturbations.h:475
int index_tp_theta_m
Definition: perturbations.h:299
short has_cl_lensing_potential
Definition: perturbations.h:132
int index_tp_theta_ur
Definition: perturbations.h:308
short has_cl_cmb_temperature
Definition: perturbations.h:129
int index_tp_delta_ur
Definition: perturbations.h:293
double gw_source
Definition: perturbations.h:572
struct thermodynamics * pth
Definition: perturbations.h:658
int index_pt_gw
Definition: perturbations.h:508
int l_vector_max
Definition: perturbations.h:148
short has_Nbody_gauge_transfers
Definition: perturbations.h:138
short has_source_theta_dcdm
Definition: perturbations.h:256
double Gamma_prime_fld
Definition: perturbations.h:603
short has_tensors
Definition: perturbations.h:112
int l_max_g
Definition: perturbations.h:459
double * y
Definition: perturbations.h:512
int index_mt_h_prime
Definition: perturbations.h:540
short has_source_delta_idr
Definition: perturbations.h:241
int index_pt_F0_dr
Definition: perturbations.h:496
ErrorMsg error_message
Definition: perturbations.h:440
int l_max_pol_g
Definition: perturbations.h:464
int index_pt_shear_ur
Definition: perturbations.h:480
int index_pt_delta_fld
Definition: perturbations.h:473
double * delta_ncdm
Definition: perturbations.h:589
short has_vectors
Definition: perturbations.h:111
short has_source_theta_fld
Definition: perturbations.h:257
int index_k
Definition: perturbations.h:662
short has_cl_cmb_polarization
Definition: perturbations.h:130
short inter_mode
Definition: perturbations.h:614
int index_tp_psi
Definition: perturbations.h:317
int index_pt_eta
Definition: perturbations.h:503
double rsa_delta_ur
Definition: perturbations.h:581
double selection_delta_tau
Definition: perturbations.h:365
double * pvecthermo
Definition: perturbations.h:559
int index_pt_pol1_g
Definition: perturbations.h:461
struct perturbations_workspace * ppw
Definition: perturbations.h:664
double rsa_theta_g
Definition: perturbations.h:580
int max_l_max
Definition: perturbations.h:641
double rsa_delta_idr
Definition: perturbations.h:583
double theta_cb
Definition: perturbations.h:597
int index_tp_delta_scf
Definition: perturbations.h:291
int index_pt_pol0_g
Definition: perturbations.h:460
int index_ap_rsa
Definition: perturbations.h:626
int index_pt_delta_idm
Definition: perturbations.h:469
int index_pt_phi_prime_scf
Definition: perturbations.h:477
int index_tp_perturbed_recombination_delta_chi
Definition: perturbations.h:297
int index_tp_phi
Definition: perturbations.h:314
short has_velocity_transfers
Definition: perturbations.h:136
short has_source_delta_m
Definition: perturbations.h:234
short evolve_tensor_ur
Definition: perturbations.h:126
enum possible_gauges gauge
Definition: perturbations.h:197
double tca_shear_idm_dr
Definition: perturbations.h:578
int l_lss_max
Definition: perturbations.h:150
double selection_max_of_tau_max
Definition: perturbations.h:363
short has_source_phi_plus_psi
Definition: perturbations.h:264
int index_pt_shear_g
Definition: perturbations.h:457
double delta_cb
Definition: perturbations.h:596
short has_source_theta_ur
Definition: perturbations.h:260
short has_source_theta_idm
Definition: perturbations.h:254
short has_nc_rsd
Definition: perturbations.h:143
int * used_in_sources
Definition: perturbations.h:515
double * pvecback
Definition: perturbations.h:558
int index_mt_h_prime_prime
Definition: perturbations.h:541
double delta_m
Definition: perturbations.h:593
int index_md
Definition: perturbations.h:660
int pt_size
Definition: perturbations.h:510
int index_tp_delta_fld
Definition: perturbations.h:290
short has_source_theta_cb
Definition: perturbations.h:249
double * tau_sampling
Definition: perturbations.h:359
enum selection_type selection
Definition: perturbations.h:155
int index_tp_theta_fld
Definition: perturbations.h:306
double rsa_delta_g
Definition: perturbations.h:579
int index_ikout
Definition: perturbations.h:606
double * selection_tau_min
Definition: perturbations.h:367
int index_pt_phi
Definition: perturbations.h:504
double *** late_sources
Definition: perturbations.h:395
int index_tp_phi_plus_psi
Definition: perturbations.h:316
short has_source_delta_idm
Definition: perturbations.h:240
double * ln_tau
Definition: perturbations.h:389
int * tp_size
Definition: perturbations.h:325
int index_pt_delta_g
Definition: perturbations.h:455
short has_source_h_prime
Definition: perturbations.h:267
int index_pt_l3_ur
Definition: perturbations.h:481
int index_ic_niv
Definition: perturbations.h:221
double rho_plus_p_theta
Definition: perturbations.h:566
int index_tp_t2
Definition: perturbations.h:280
int index_mt_phi_prime
Definition: perturbations.h:539
short has_source_theta_m
Definition: perturbations.h:248
int index_pt_theta_cdm
Definition: perturbations.h:468
double * beta_idr
Definition: perturbations.h:176
int number_of_vector_titles
Definition: perturbations.h:421
int * k_size_cmb
Definition: perturbations.h:333
int * approx
Definition: perturbations.h:633
short has_density_transfers
Definition: perturbations.h:135
int index_pt_gwdot
Definition: perturbations.h:509
short has_niv
Definition: perturbations.h:118
short perturbations_verbose
Definition: perturbations.h:438
short has_source_delta_ur
Definition: perturbations.h:246
int ap_size
Definition: perturbations.h:631
short has_source_theta_scf
Definition: perturbations.h:258
int index_mt_hv_prime_prime
Definition: perturbations.h:547
double k_output_values[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:168
short has_nc_gr
Definition: perturbations.h:145
int index_mt_V_prime
Definition: perturbations.h:546
int index_mt_alpha
Definition: perturbations.h:543
enum tensor_methods tensor_method
Definition: perturbations.h:124
short has_cl_cmb_lensing_potential
Definition: perturbations.h:131
int index_pt_theta_b
Definition: perturbations.h:466
short has_scalars
Definition: perturbations.h:110
int selection_num
Definition: perturbations.h:153
short has_source_t
Definition: perturbations.h:232
int switch_lisw
Definition: perturbations.h:161
int index_pt_l3_idr
Definition: perturbations.h:486
int index_pt_pol3_g
Definition: perturbations.h:463
int k_output_values_num
Definition: perturbations.h:167
short has_nl_corrections_based_on_delta_m
Definition: perturbations.h:140
int index_mt_alpha_prime
Definition: perturbations.h:544
double tca_shear_g
Definition: perturbations.h:576
double * s_l
Definition: perturbations.h:642
int index_tp_theta_b
Definition: perturbations.h:303
int index_ap_ufa
Definition: perturbations.h:629
double * pvecmetric
Definition: perturbations.h:560
struct background * pba
Definition: perturbations.h:657
double *** ddlate_sources
Definition: perturbations.h:402
short has_cl_number_count
Definition: perturbations.h:133
short has_source_eta_prime
Definition: perturbations.h:269
double three_ceff2_ur
Definition: perturbations.h:170
double tca_slip
Definition: perturbations.h:577
int switch_sw
Definition: perturbations.h:159
short has_cmb
Definition: perturbations.h:186
int index_mt_gw_prime_prime
Definition: perturbations.h:545
int index_ic_ad
Definition: perturbations.h:217
int index_pt_theta_idr
Definition: perturbations.h:484
short has_ad
Definition: perturbations.h:114
int index_tp_theta_scf
Definition: perturbations.h:307
double selection_mean[_SELECTION_NUM_MAX_]
Definition: perturbations.h:156
int size_tensor_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:430
#define _SELECTION_NUM_MAX_
Definition: perturbations.h:70
int md_size
Definition: perturbations.h:209
int index_tp_t1
Definition: perturbations.h:279
int index_tp_perturbed_recombination_delta_temp
Definition: perturbations.h:296
struct precision * ppr
Definition: perturbations.h:656
short has_source_eta
Definition: perturbations.h:268
Definition: perturbations.h:98
Definition: perturbations.h:654
Definition: perturbations.h:454
Definition: perturbations.h:530
Definition: thermodynamics.h:59