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;
157  enum selection_type selection;
161  int switch_sw;
175  double z_max_pk;
177  double * alpha_idm_dr;
178  double * beta_idr;
183 
187 
188  short has_cmb;
189  short has_lss;
191  short has_idm_dr;
194 
198 
199  enum possible_gauges gauge;
206 
210 
215  int md_size;
218 
222 
230  int * ic_size;
233 
237 
238  short has_source_t;
239  short has_source_p;
272  short has_source_h;
280  /* remember that the temperature source function includes three
281  terms that we call 0,1,2 (since the strategy in class v > 1.7 is
282  to avoid the integration by part that would reduce the source to
283  a single term) */
331  int * tp_size;
334 
338 
339  int * k_size_cmb;
343  int * k_size_cl;
347  int k_size_pk;
349  int * k_size;
353  double ** k;
355  double k_min;
356  double k_max;
359 
364 
365  double * tau_sampling;
366  int tau_size;
373  double * selection_tau_min;
374  double * selection_tau_max;
375  double * selection_tau;
379 
383 
384  double *** sources;
390 
394 
395  double * ln_tau;
400  double *** late_sources;
407  double *** ddlate_sources;
413 
417 
421  char scalar_titles[_MAXTITLESTRINGLENGTH_];
422  char vector_titles[_MAXTITLESTRINGLENGTH_];
423  char tensor_titles[_MAXTITLESTRINGLENGTH_];
438 
442 
445  ErrorMsg error_message;
447  short is_allocated;
450 
451 };
452 
461 {
466  int l_max_g;
489  int l_max_ur;
494  int l_max_idr;
496  /* perturbed recombination */
504  int l_max_dr;
506  int N_ncdm;
507  int* l_max_ncdm;
508  int* q_size_ncdm;
517  int pt_size;
519  double * y;
520  double * dy;
526 };
527 
528 
537 {
538 
544 
555  int mt_size;
558 
564 
565  double * pvecback;
566  double * pvecthermo;
567  double * pvecmetric;
572  double delta_rho;
575  double delta_p;
577  double rho_plus_p_tot;
579  double gw_source;
583  double tca_shear_g;
584  double tca_slip;
586  double rsa_delta_g;
587  double rsa_theta_g;
588  double rsa_delta_ur;
589  double rsa_theta_ur;
590  double rsa_delta_idr;
591  double rsa_theta_idr;
593  double theta_idm;
596  double * delta_ncdm;
597  double * theta_ncdm;
598  double * shear_ncdm;
600  double delta_m;
601  double theta_m;
603  double delta_cb;
604  double theta_cb;
606  double delta_rho_fld;
607  double delta_p_fld;
609  double S_fld;
616 
620 
621  short inter_mode;
627 
631 
638  int ap_size;
640  int * approx;
643 
647 
648  int max_l_max;
649  double * s_l;
652 
653 };
654 
662 
663  struct precision * ppr;
664  struct background * pba;
665  struct thermodynamics * pth;
666  struct perturbations * ppt;
667  int index_md;
668  int index_ic;
669  int index_k;
670  double k;
673 };
674 
675 /*************************************************************************************************************/
676 /* @cond INCLUDE_WITH_DOXYGEN */
677 /*
678  * Boilerplate for C++
679  */
680 #ifdef __cplusplus
681 extern "C" {
682 #endif
683 
685  struct perturbations * ppt,
686  int index_md,
687  int index_ic,
688  int index_tp,
689  double tau,
690  double * psource_at_tau
691  );
692 
694  struct background * pba,
695  struct perturbations * ppt,
696  int index_md,
697  int index_ic,
698  int index_tp,
699  double z,
700  double * psource_at_z
701  );
702 
704  struct background * pba,
705  struct perturbations * ppt,
706  int index_md,
707  int index_ic,
708  int index_tp,
709  double k,
710  double z,
711  double * psource_at_k_and_z
712  );
713 
715  struct background * pba,
716  struct perturbations * ppt,
717  enum file_format output_format,
718  double z,
719  int number_of_titles,
720  double *data
721  );
722 
724  struct background * pba,
725  struct perturbations * ppt,
726  enum file_format output_format,
727  int index_tau,
728  int number_of_titles,
729  double *data
730  );
731 
733  struct background * pba,
734  struct perturbations * ppt,
735  enum file_format output_format,
736  double * tkfull,
737  int number_of_titles,
738  double *data
739  );
740 
742  struct background *pba,
743  struct perturbations *ppt,
744  enum file_format output_format,
745  char titles[_MAXTITLESTRINGLENGTH_]
746  );
747 
749  struct perturbations *ppt,
750  int index_ic,
751  char first_line[_LINE_LENGTH_MAX_],
752  char ic_suffix[_SUFFIXNAMESIZE_]
753  );
754 
755  int perturbations_init(
756  struct precision * ppr,
757  struct background * pba,
758  struct thermodynamics * pth,
759  struct perturbations * ppt
760  );
761 
763  struct perturbations * ppt
764  );
765 
766  int perturbations_free(
767  struct perturbations * ppt
768  );
769 
771  struct precision * ppr,
772  struct background * pba,
773  struct thermodynamics * pth,
774  struct perturbations * ppt
775  );
776 
778  struct precision * ppr,
779  struct background * pba,
780  struct thermodynamics * pth,
781  struct perturbations * ppt
782  );
784  struct precision * ppr,
785  struct background * pba,
786  struct thermodynamics * pth,
787  struct perturbations * ppt
788  );
789 
791  struct precision * ppr,
792  struct background * pba,
793  struct thermodynamics * pth,
794  struct perturbations * ppt,
795  int index_md,
796  struct perturbations_workspace * ppw
797  );
798 
800  struct perturbations * ppt,
801  int index_md,
802  struct perturbations_workspace * ppw
803  );
804 
806  struct precision * ppr,
807  struct background * pba,
808  struct thermodynamics * pth,
809  struct perturbations * ppt,
810  int index_md,
811  int index_ic,
812  int index_k,
813  struct perturbations_workspace * ppw
814  );
815 
817  struct background * pba,
818  struct perturbations * ppt
819  );
820 
822  struct precision * ppr,
823  struct background * pba,
824  struct thermodynamics * pth,
825  struct perturbations * ppt,
826  int index_md,
827  double k,
828  struct perturbations_workspace * ppw,
829  double tau_ini,
830  double tau_end,
831  int * interval_number,
832  int * interval_number_of
833  );
834 
836  struct precision * ppr,
837  struct background * pba,
838  struct thermodynamics * pth,
839  struct perturbations * ppt,
840  int index_md,
841  double k,
842  struct perturbations_workspace * ppw,
843  double tau_ini,
844  double tau_end,
845  double precision,
846  int interval_number,
847  int * interval_number_of,
848  double * interval_limit,
849  int ** interval_approx
850  );
851 
853  struct precision * ppr,
854  struct background * pba,
855  struct thermodynamics * pth,
856  struct perturbations * ppt,
857  int index_md,
858  int index_ic,
859  double k,
860  double tau,
861  struct perturbations_workspace * ppw,
862  int * pa_old
863  );
864 
866  struct perturbations_vector * pv
867  );
868 
870  struct precision * ppr,
871  struct background * pba,
872  struct perturbations * ppt,
873  int index_md,
874  int index_ic,
875  double k,
876  double tau,
877  struct perturbations_workspace * ppw
878  );
879 
881  struct precision * ppr,
882  struct background * pba,
883  struct thermodynamics * pth,
884  struct perturbations * ppt,
885  int index_md,
886  double k,
887  double tau,
888  struct perturbations_workspace * ppw
889  );
890 
892  double tau,
893  void * parameters_and_workspace,
894  double * timescale,
895  ErrorMsg error_message
896  );
897 
899  struct precision * ppr,
900  struct background * pba,
901  struct thermodynamics * pth,
902  struct perturbations * ppt,
903  int index_md,
904  double k,
905  double tau,
906  double * y,
907  struct perturbations_workspace * ppw
908  );
909 
911  struct precision * ppr,
912  struct background * pba,
913  struct thermodynamics * pth,
914  struct perturbations * ppt,
915  int index_md,
916  double k,
917  double * y,
918  struct perturbations_workspace * ppw
919  );
920 
922  double tau,
923  double * pvecperturbations,
924  double * pvecderivs,
925  int index_tau,
926  void * parameters_and_workspace,
927  ErrorMsg error_message
928  );
929 
931  double tau,
932  double * y,
933  double * dy,
934  void * parameters_and_workspace,
935  ErrorMsg error_message
936  );
937 
939  double tau,
940  double * y,
941  double * dy,
942  void * parameters_and_workspace,
943  ErrorMsg error_message
944  );
945 
947  double * y,
948  void * parameters_and_workspace,
949  ErrorMsg error_message
950  );
951 
953  struct precision * ppr,
954  struct background * pba,
955  struct thermodynamics * pth,
956  struct perturbations * ppt,
957  double k,
958  double * y,
959  double a_prime_over_a,
960  double * pvecthermo,
961  struct perturbations_workspace * ppw,
962  ErrorMsg error_message
963  );
964 
966  struct precision * ppr,
967  struct background * pba,
968  struct thermodynamics * pth,
969  struct perturbations * ppt,
970  double k,
971  double * y,
972  double a_prime_over_a,
973  double * pvecthermo,
974  struct perturbations_workspace * ppw,
975  ErrorMsg error_message
976  );
977 
978 #ifdef __cplusplus
979 }
980 #endif
981 
982 /**************************************************************/
983 
984 #endif
985 /* @endcond */
file_format
Definition: common.h:397
Definition: common.h:406
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:10484
int perturbations_vector_free(struct perturbations_vector *pv)
Definition: perturbations.c:5238
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:10345
int perturbations_sources(double tau, double *y, double *dy, int index_tau, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:7423
int perturbations_prepare_k_output(struct background *pba, struct perturbations *ppt)
Definition: perturbations.c:3290
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:6529
int perturbations_timescale(double tau, void *parameters_and_workspace, double *timescale, ErrorMsg error_message)
Definition: perturbations.c:6359
int perturbations_workspace_free(struct perturbations *ppt, int index_md, struct perturbations_workspace *ppw)
Definition: perturbations.c:2846
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:247
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:362
int perturbations_tca_slip_and_shear(double *y, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:9960
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:46
int perturbations_output_titles(struct background *pba, struct perturbations *ppt, enum file_format output_format, char titles[_MAXTITLESTRINGLENGTH_])
Definition: perturbations.c:544
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:430
int perturbations_derivs(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:8722
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:6752
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:2668
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:3425
int perturbations_free(struct perturbations *ppt)
Definition: perturbations.c:1029
int perturbations_timesampling_for_sources(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:1544
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:632
int perturbations_get_k_list(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:2020
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:137
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:179
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:6082
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:5269
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:2895
int perturbations_init(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:692
int perturbations_indices(struct precision *ppr, struct background *pba, struct thermodynamics *pth, struct perturbations *ppt)
Definition: perturbations.c:1113
int perturbations_free_input(struct perturbations *ppt)
Definition: perturbations.c:1009
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:3817
int perturbations_print_variables(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:8094
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:3514
int index_tp_H_T_Nb_prime
Definition: perturbations.h:328
double * shear_ncdm
Definition: perturbations.h:598
int k_size_pk
Definition: perturbations.h:347
short evolve_tensor_ncdm
Definition: perturbations.h:127
int index_pt_delta_cdm
Definition: perturbations.h:474
double * vector_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:430
int size_vector_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:434
int index_pt_perturbed_recombination_delta_temp
Definition: perturbations.h:497
int index_tp_theta_idm
Definition: perturbations.h:316
int store_perturbations
Definition: perturbations.h:168
double rsa_theta_idr
Definition: perturbations.h:591
int l_tensor_max
Definition: perturbations.h:149
char tensor_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:423
int index_md_scalars
Definition: perturbations.h:211
short has_source_delta_dr
Definition: perturbations.h:251
int index_tp_theta_dr
Definition: perturbations.h:317
int switch_dop
Definition: perturbations.h:164
short has_idm_soundspeed
Definition: perturbations.h:192
int idr_nature
Definition: perturbations.h:180
struct perturbations_vector * pv
Definition: perturbations.h:568
int index_pt_shear_idr
Definition: perturbations.h:492
double * alpha_idm_dr
Definition: perturbations.h:177
short has_source_theta_ncdm
Definition: perturbations.h:267
int index_mt_eta_prime
Definition: perturbations.h:549
int index_tp_eta
Definition: perturbations.h:326
short has_source_delta_tot
Definition: perturbations.h:242
short has_perturbations
Definition: perturbations.h:106
int * l_max_ncdm
Definition: perturbations.h:507
double * theta_ncdm
Definition: perturbations.h:597
double rsa_theta_ur
Definition: perturbations.h:589
double theta_m
Definition: perturbations.h:601
double * tensor_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:431
int index_pt_delta_ur
Definition: perturbations.h:485
int index_ap_ncdmfa
Definition: perturbations.h:637
short has_source_delta_fld
Definition: perturbations.h:249
#define _MAX_NUMBER_OF_K_FILES_
Definition: perturbations.h:81
int l_max_idr
Definition: perturbations.h:494
char scalar_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:421
int index_tp_delta_idr
Definition: perturbations.h:300
short has_source_phi_prime
Definition: perturbations.h:269
double eisw_lisw_split_z
Definition: perturbations.h:166
short has_source_theta_b
Definition: perturbations.h:258
int index_pt_theta_fld
Definition: perturbations.h:481
double theta_idm_prime
Definition: perturbations.h:594
int index_tp_delta_cb
Definition: perturbations.h:289
int index_tp_delta_g
Definition: perturbations.h:291
int index_tp_delta_tot
Definition: perturbations.h:290
int index_tp_eta_prime
Definition: perturbations.h:327
short has_source_theta_dr
Definition: perturbations.h:265
short has_cls
Definition: perturbations.h:108
int index_tp_theta_idr
Definition: perturbations.h:315
double vector_source_pi
Definition: perturbations.h:580
int index_pt_hv_prime
Definition: perturbations.h:512
double three_cvis2_ur
Definition: perturbations.h:173
short has_cdi
Definition: perturbations.h:116
int index_ap_rsa_idr
Definition: perturbations.h:635
short has_nid
Definition: perturbations.h:117
int index_pt_theta_dcdm
Definition: perturbations.h:479
int l_scalar_max
Definition: perturbations.h:147
int index_tp_theta_g
Definition: perturbations.h:308
int index_pt_delta_idr
Definition: perturbations.h:490
double ** k
Definition: perturbations.h:353
int index_pt_delta_dcdm
Definition: perturbations.h:478
int index_tp_theta_tot
Definition: perturbations.h:307
int number_of_tensor_titles
Definition: perturbations.h:427
short has_source_phi
Definition: perturbations.h:268
int index_tp_delta_idm
Definition: perturbations.h:294
double k_min
Definition: perturbations.h:355
short has_source_delta_g
Definition: perturbations.h:243
int index_tp_h
Definition: perturbations.h:324
short has_source_delta_cdm
Definition: perturbations.h:245
short has_source_psi
Definition: perturbations.h:271
int index_tp_theta_cdm
Definition: perturbations.h:310
possible_gauges
Definition: perturbations.h:58
@ synchronous
Definition: perturbations.h:60
@ newtonian
Definition: perturbations.h:59
int index_tp_t0
Definition: perturbations.h:284
double * selection_tau_max
Definition: perturbations.h:374
int index_ic_nid
Definition: perturbations.h:226
double * selection_function
Definition: perturbations.h:376
int index_pt_V
Definition: perturbations.h:513
int last_index_thermo
Definition: perturbations.h:624
double k_max_for_pk
Definition: perturbations.h:151
tca_method
Definition: perturbations.h:42
int index_ic_cdi
Definition: perturbations.h:224
int tau_size
Definition: perturbations.h:366
short has_nc_lens
Definition: perturbations.h:144
int index_pt_delta_b
Definition: perturbations.h:472
short has_source_theta_tot
Definition: perturbations.h:256
int index_tp_p
Definition: perturbations.h:287
short has_source_H_T_Nb_prime
Definition: perturbations.h:276
short has_lss
Definition: perturbations.h:189
int index_pt_psi0_ncdm1
Definition: perturbations.h:505
double k
Definition: perturbations.h:670
int index_tp_theta_cb
Definition: perturbations.h:306
int switch_pol
Definition: perturbations.h:165
double delta_p_fld
Definition: perturbations.h:607
int index_tp_phi_prime
Definition: perturbations.h:321
double *** sources
Definition: perturbations.h:384
int index_mt_psi
Definition: perturbations.h:545
short has_bi
Definition: perturbations.h:115
int number_of_scalar_titles
Definition: perturbations.h:425
double * scalar_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:429
int index_ap_tca_idm_dr
Definition: perturbations.h:634
int index_pt_pol2_g
Definition: perturbations.h:469
short has_metricpotential_transfers
Definition: perturbations.h:137
int last_index_back
Definition: perturbations.h:623
short want_lcmb_full_limber
Definition: perturbations.h:153
int l_max_dr
Definition: perturbations.h:504
int switch_eisw
Definition: perturbations.h:162
int * k_size_cl
Definition: perturbations.h:343
int index_tp_k2gamma_Nb
Definition: perturbations.h:329
short has_source_delta_cb
Definition: perturbations.h:241
int * ic_size
Definition: perturbations.h:230
double rho_plus_p_theta_fld
Definition: perturbations.h:608
int mt_size
Definition: perturbations.h:555
double k_max
Definition: perturbations.h:356
int index_ic
Definition: perturbations.h:668
int index_md_tensors
Definition: perturbations.h:212
short has_source_delta_ncdm
Definition: perturbations.h:253
short has_nc_density
Definition: perturbations.h:142
FILE * perturbations_output_file
Definition: perturbations.h:612
int index_tp_theta_ncdm1
Definition: perturbations.h:318
struct perturbations * ppt
Definition: perturbations.h:666
int index_ic_bi
Definition: perturbations.h:225
double theta_idm
Definition: perturbations.h:593
double * dy
Definition: perturbations.h:520
double selection_min_of_tau_min
Definition: perturbations.h:368
short has_idm_dr
Definition: perturbations.h:191
short has_source_h
Definition: perturbations.h:272
int * index_k_output_values
Definition: perturbations.h:418
int index_tp_delta_ncdm1
Definition: perturbations.h:301
double selection_width[_SELECTION_NUM_MAX_]
Definition: perturbations.h:159
int l_max_ur
Definition: perturbations.h:489
short has_source_theta_g
Definition: perturbations.h:257
int index_pt_theta_ur
Definition: perturbations.h:486
short has_source_k2gamma_Nb
Definition: perturbations.h:277
int index_pt_l3_g
Definition: perturbations.h:465
short has_source_theta_cdm
Definition: perturbations.h:259
double z_max_pk
Definition: perturbations.h:175
short get_perturbations_in_current_gauge
Definition: perturbations.h:203
short has_source_delta_dcdm
Definition: perturbations.h:248
short has_pk_matter
Definition: perturbations.h:134
int index_tp_delta_cdm
Definition: perturbations.h:293
double delta_p
Definition: perturbations.h:575
int N_ncdm
Definition: perturbations.h:506
int size_scalar_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:433
short has_source_delta_b
Definition: perturbations.h:244
double rho_plus_p_tot
Definition: perturbations.h:577
int * k_size
Definition: perturbations.h:349
int * q_size_ncdm
Definition: perturbations.h:508
tca_flags
Definition: perturbations.h:27
short has_source_p
Definition: perturbations.h:239
short has_source_theta_idr
Definition: perturbations.h:261
int index_pt_theta_idm
Definition: perturbations.h:477
int index_md_vectors
Definition: perturbations.h:213
short has_source_delta_scf
Definition: perturbations.h:250
double vector_source_v
Definition: perturbations.h:581
double S_fld
Definition: perturbations.h:609
double delta_rho
Definition: perturbations.h:572
int index_ap_tca
Definition: perturbations.h:632
int index_pt_phi_scf
Definition: perturbations.h:483
int index_ic_ten
Definition: perturbations.h:228
int ln_tau_size
Definition: perturbations.h:398
int index_tp_h_prime
Definition: perturbations.h:325
double rho_plus_p_shear
Definition: perturbations.h:574
int index_pt_perturbed_recombination_delta_chi
Definition: perturbations.h:498
int index_tp_delta_b
Definition: perturbations.h:292
double delta_rho_fld
Definition: perturbations.h:606
short has_perturbed_recombination
Definition: perturbations.h:122
double * selection_tau
Definition: perturbations.h:375
int index_tp_theta_dcdm
Definition: perturbations.h:311
int index_tp_delta_dr
Definition: perturbations.h:298
int index_tp_delta_dcdm
Definition: perturbations.h:295
int index_pt_theta_g
Definition: perturbations.h:463
int index_tp_delta_m
Definition: perturbations.h:288
char vector_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:422
int index_pt_Gamma_fld
Definition: perturbations.h:482
int index_tp_theta_m
Definition: perturbations.h:305
short has_cl_lensing_potential
Definition: perturbations.h:132
int index_tp_theta_ur
Definition: perturbations.h:314
short has_cl_cmb_temperature
Definition: perturbations.h:129
int index_tp_delta_ur
Definition: perturbations.h:299
double gw_source
Definition: perturbations.h:579
struct thermodynamics * pth
Definition: perturbations.h:665
int index_pt_gw
Definition: perturbations.h:515
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:262
double Gamma_prime_fld
Definition: perturbations.h:610
short has_tensors
Definition: perturbations.h:112
int l_max_g
Definition: perturbations.h:466
double * y
Definition: perturbations.h:519
int index_mt_h_prime
Definition: perturbations.h:547
short has_source_delta_idr
Definition: perturbations.h:247
int index_pt_F0_dr
Definition: perturbations.h:503
ErrorMsg error_message
Definition: perturbations.h:445
int l_max_pol_g
Definition: perturbations.h:471
int index_pt_shear_ur
Definition: perturbations.h:487
short is_allocated
Definition: perturbations.h:447
int index_pt_delta_fld
Definition: perturbations.h:480
double * delta_ncdm
Definition: perturbations.h:596
short has_vectors
Definition: perturbations.h:111
short has_source_theta_fld
Definition: perturbations.h:263
int index_k
Definition: perturbations.h:669
short has_cl_cmb_polarization
Definition: perturbations.h:130
short inter_mode
Definition: perturbations.h:621
int index_tp_psi
Definition: perturbations.h:323
int index_pt_eta
Definition: perturbations.h:510
double rsa_delta_ur
Definition: perturbations.h:588
double selection_delta_tau
Definition: perturbations.h:371
double * pvecthermo
Definition: perturbations.h:566
int index_pt_pol1_g
Definition: perturbations.h:468
struct perturbations_workspace * ppw
Definition: perturbations.h:671
double rsa_theta_g
Definition: perturbations.h:587
int max_l_max
Definition: perturbations.h:648
double rsa_delta_idr
Definition: perturbations.h:590
double theta_cb
Definition: perturbations.h:604
int index_tp_delta_scf
Definition: perturbations.h:297
int index_pt_pol0_g
Definition: perturbations.h:467
int index_ap_rsa
Definition: perturbations.h:633
int index_pt_delta_idm
Definition: perturbations.h:476
int index_pt_phi_prime_scf
Definition: perturbations.h:484
int index_tp_perturbed_recombination_delta_chi
Definition: perturbations.h:303
int index_tp_phi
Definition: perturbations.h:320
short has_velocity_transfers
Definition: perturbations.h:136
short has_source_delta_m
Definition: perturbations.h:240
short evolve_tensor_ur
Definition: perturbations.h:126
enum possible_gauges gauge
Definition: perturbations.h:199
double tca_shear_idm_dr
Definition: perturbations.h:585
int l_lss_max
Definition: perturbations.h:150
double selection_max_of_tau_max
Definition: perturbations.h:369
short has_source_phi_plus_psi
Definition: perturbations.h:270
int index_pt_shear_g
Definition: perturbations.h:464
double delta_cb
Definition: perturbations.h:603
short has_source_theta_ur
Definition: perturbations.h:266
short has_source_theta_idm
Definition: perturbations.h:260
short has_nc_rsd
Definition: perturbations.h:143
int * used_in_sources
Definition: perturbations.h:522
double * pvecback
Definition: perturbations.h:565
int index_mt_h_prime_prime
Definition: perturbations.h:548
double delta_m
Definition: perturbations.h:600
int index_md
Definition: perturbations.h:667
int pt_size
Definition: perturbations.h:517
int index_tp_delta_fld
Definition: perturbations.h:296
short has_source_theta_cb
Definition: perturbations.h:255
double * tau_sampling
Definition: perturbations.h:365
enum selection_type selection
Definition: perturbations.h:157
int index_tp_theta_fld
Definition: perturbations.h:312
double rsa_delta_g
Definition: perturbations.h:586
int index_ikout
Definition: perturbations.h:613
double * selection_tau_min
Definition: perturbations.h:373
int index_pt_phi
Definition: perturbations.h:511
double *** late_sources
Definition: perturbations.h:400
int index_tp_phi_plus_psi
Definition: perturbations.h:322
short has_source_delta_idm
Definition: perturbations.h:246
double * ln_tau
Definition: perturbations.h:395
int * tp_size
Definition: perturbations.h:331
int index_pt_delta_g
Definition: perturbations.h:462
short has_source_h_prime
Definition: perturbations.h:273
int index_pt_l3_ur
Definition: perturbations.h:488
int index_ic_niv
Definition: perturbations.h:227
double rho_plus_p_theta
Definition: perturbations.h:573
int index_tp_t2
Definition: perturbations.h:286
int index_mt_phi_prime
Definition: perturbations.h:546
short has_source_theta_m
Definition: perturbations.h:254
int index_pt_theta_cdm
Definition: perturbations.h:475
double * beta_idr
Definition: perturbations.h:178
int number_of_vector_titles
Definition: perturbations.h:426
int * k_size_cmb
Definition: perturbations.h:339
int * approx
Definition: perturbations.h:640
short has_density_transfers
Definition: perturbations.h:135
int index_pt_gwdot
Definition: perturbations.h:516
short has_niv
Definition: perturbations.h:118
short perturbations_verbose
Definition: perturbations.h:443
short has_source_delta_ur
Definition: perturbations.h:252
int ap_size
Definition: perturbations.h:638
short has_source_theta_scf
Definition: perturbations.h:264
int index_mt_hv_prime_prime
Definition: perturbations.h:554
double k_output_values[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:170
short has_nc_gr
Definition: perturbations.h:145
int index_mt_V_prime
Definition: perturbations.h:553
int index_mt_alpha
Definition: perturbations.h:550
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:473
short has_scalars
Definition: perturbations.h:110
int selection_num
Definition: perturbations.h:155
short has_source_t
Definition: perturbations.h:238
int switch_lisw
Definition: perturbations.h:163
int index_pt_l3_idr
Definition: perturbations.h:493
int index_pt_pol3_g
Definition: perturbations.h:470
int k_output_values_num
Definition: perturbations.h:169
short has_nl_corrections_based_on_delta_m
Definition: perturbations.h:140
short has_matter_source_in_current_gauge
Definition: perturbations.h:201
int index_mt_alpha_prime
Definition: perturbations.h:551
double tca_shear_g
Definition: perturbations.h:583
double * s_l
Definition: perturbations.h:649
int index_tp_theta_b
Definition: perturbations.h:309
int index_ap_ufa
Definition: perturbations.h:636
double * pvecmetric
Definition: perturbations.h:567
struct background * pba
Definition: perturbations.h:664
double *** ddlate_sources
Definition: perturbations.h:407
short has_cl_number_count
Definition: perturbations.h:133
short has_source_eta_prime
Definition: perturbations.h:275
double three_ceff2_ur
Definition: perturbations.h:172
double tca_slip
Definition: perturbations.h:584
int switch_sw
Definition: perturbations.h:161
short has_cmb
Definition: perturbations.h:188
int index_mt_gw_prime_prime
Definition: perturbations.h:552
int index_ic_ad
Definition: perturbations.h:223
int index_pt_theta_idr
Definition: perturbations.h:491
short has_ad
Definition: perturbations.h:114
int index_tp_theta_scf
Definition: perturbations.h:313
double selection_mean[_SELECTION_NUM_MAX_]
Definition: perturbations.h:158
int size_tensor_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:435
#define _SELECTION_NUM_MAX_
Definition: perturbations.h:70
int md_size
Definition: perturbations.h:215
int index_tp_t1
Definition: perturbations.h:285
int index_tp_perturbed_recombination_delta_temp
Definition: perturbations.h:302
struct precision * ppr
Definition: perturbations.h:663
short has_source_eta
Definition: perturbations.h:274
Definition: perturbations.h:98
Definition: perturbations.h:661
Definition: perturbations.h:461
Definition: perturbations.h:537
Definition: background.h:44
Definition: thermodynamics.h:59