CLASS MANUAL
perturbations.h
Go to the documentation of this file.
1 
3 #ifndef __PERTURBATIONS__
4 #define __PERTURBATIONS__
5 
6 #include "thermodynamics.h"
7 #include "evolver_ndf15.h"
8 #include "evolver_rkck.h"
9 
10 #define _scalars_ ((ppt->has_scalars == _TRUE_) && (index_md == ppt->index_md_scalars))
11 #define _vectors_ ((ppt->has_vectors == _TRUE_) && (index_md == ppt->index_md_vectors))
12 #define _tensors_ ((ppt->has_tensors == _TRUE_) && (index_md == ppt->index_md_tensors))
13 
14 #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]
15 
28 
29 enum tca_flags {tca_on, tca_off};
30 enum rsa_flags {rsa_off, rsa_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 ufa_method {ufa_mb,ufa_hu,ufa_CLASS,ufa_none};
45 enum ncdmfa_method {ncdmfa_mb,ncdmfa_hu,ncdmfa_CLASS,ncdmfa_none};
46 enum tensor_methods {tm_photons_only,tm_massless_approximation,tm_exact};
47 
49 
55 
59 };
60 
62 
64 
68 #define _SELECTION_NUM_MAX_ 100
69 enum selection_type {gaussian,tophat,dirac};
70 
72 
73 
75 
79 #define _MAX_NUMBER_OF_K_FILES_ 30
80 
82 
83 
84 
95 struct perturbs
96 {
103 
106  short has_cls;
108  short has_scalars;
109  short has_vectors;
110  short has_tensors;
112  short has_ad;
113  short has_bi;
114  short has_cdi;
115  short has_nid;
116  short has_niv;
118  /* perturbed recombination */
122  enum tensor_methods tensor_method;
139  short has_nc_rsd;
140  short has_nc_lens;
141  short has_nc_gr;
146  int l_lss_max;
147  double k_max_for_pk;
151  enum selection_type selection;
155  int switch_sw;
166  char scalar_titles[_MAXTITLESTRINGLENGTH_];
167  char vector_titles[_MAXTITLESTRINGLENGTH_];
168  char tensor_titles[_MAXTITLESTRINGLENGTH_];
184  double z_max_pk;
187 
191 
192  short has_cmb;
193  short has_lss;
196 
200 
204 
208 
213  int md_size;
216 
220 
228  int * ic_size;
231 
235 
236  short has_source_t;
237  short has_source_p;
263  /* remember that the temperature source function includes three
264  terms that we call 0,1,2 (since the strategy in class v > 1.7 is
265  to avoid the integration by part that would reduce the source to
266  a single term) */
300  int * tp_size;
303 
307 
308  int * k_size_cmb;
312  int * k_size_cl;
316  int * k_size;
320  double ** k;
322  double k_min;
323  double k_max;
326 
331 
332  int tau_size;
334  double * tau_sampling;
341  double * selection_tau_min;
342  double * selection_tau_max;
343  double * selection_tau;
347 
351 
352  double *** sources;
359 
363 
366  ErrorMsg error_message;
369 
370 };
371 
380 {
385  int l_max_g;
405  int l_max_ur;
406 /* perturbed recombination */
414  int l_max_dr;
416  int N_ncdm;
417  int* l_max_ncdm;
418  int* q_size_ncdm;
427  int pt_size;
429  double * y;
430  double * dy;
436 };
437 
438 
447 {
448 
454 
465  int mt_size;
468 
474 
475  double * pvecback;
476  double * pvecthermo;
477  double * pvecmetric;
478  struct perturb_vector * pv;
482  double delta_rho;
485  double delta_p;
486  double gw_source;
490  double tca_shear_g;
491  double tca_slip;
492  double rsa_delta_g;
493  double rsa_theta_g;
494  double rsa_delta_ur;
495  double rsa_theta_ur;
497  double * delta_ncdm;
498  double * theta_ncdm;
499  double * shear_ncdm;
501  double delta_m;
502  double theta_m;
508 
512 
513  short inter_mode;
519 
523 
528  int ap_size;
530  int * approx;
533 
537 
538  int max_l_max;
539  double * s_l;
542 
543 };
544 
552 
553  struct precision * ppr;
554  struct background * pba;
555  struct thermo * pth;
556  struct perturbs * ppt;
557  int index_md;
558  int index_ic;
559  int index_k;
560  double k;
563 };
564 
565 /*************************************************************************************************************/
566 /* @cond INCLUDE_WITH_DOXYGEN */
567 /*
568  * Boilerplate for C++
569  */
570 #ifdef __cplusplus
571 extern "C" {
572 #endif
573 
575  struct perturbs * ppt,
576  int index_md,
577  int index_ic,
578  int index_type,
579  double tau,
580  double * pvecsources
581  );
582 
583  int perturb_init(
584  struct precision * ppr,
585  struct background * pba,
586  struct thermo * pth,
587  struct perturbs * ppt
588  );
589 
590  int perturb_free(
591  struct perturbs * ppt
592  );
593 
595  struct precision * ppr,
596  struct background * pba,
597  struct thermo * pth,
598  struct perturbs * ppt
599  );
600 
602  struct precision * ppr,
603  struct background * pba,
604  struct thermo * pth,
605  struct perturbs * ppt
606  );
607  int perturb_get_k_list(
608  struct precision * ppr,
609  struct background * pba,
610  struct thermo * pth,
611  struct perturbs * ppt
612  );
613 
615  struct precision * ppr,
616  struct background * pba,
617  struct thermo * pth,
618  struct perturbs * ppt,
619  int index_md,
620  struct perturb_workspace * ppw
621  );
622 
624  struct perturbs * ppt,
625  int index_md,
626  struct perturb_workspace * ppw
627  );
628 
629  int perturb_solve(
630  struct precision * ppr,
631  struct background * pba,
632  struct thermo * pth,
633  struct perturbs * ppt,
634  int index_md,
635  int index_ic,
636  int index_k,
637  struct perturb_workspace * ppw
638  );
639 
641  struct precision * ppr,
642  struct background * pba,
643  struct thermo * pth,
644  struct perturbs * ppt,
645  int index_md,
646  double k,
647  struct perturb_workspace * ppw,
648  double tau_ini,
649  double tau_end,
650  int * interval_number,
651  int * interval_number_of
652  );
653 
655  struct precision * ppr,
656  struct background * pba,
657  struct thermo * pth,
658  struct perturbs * ppt,
659  int index_md,
660  double k,
661  struct perturb_workspace * ppw,
662  double tau_ini,
663  double tau_end,
664  double precision,
665  int interval_number,
666  int * interval_number_of,
667  double * interval_limit,
668  int ** interval_approx
669  );
670 
672  struct precision * ppr,
673  struct background * pba,
674  struct thermo * pth,
675  struct perturbs * ppt,
676  int index_md,
677  int index_ic,
678  double k,
679  double tau,
680  struct perturb_workspace * ppw,
681  int * pa_old
682  );
683 
685  struct perturb_vector * pv
686  );
687 
689  struct precision * ppr,
690  struct background * pba,
691  struct perturbs * ppt,
692  int index_md,
693  int index_ic,
694  double k,
695  double tau,
696  struct perturb_workspace * ppw
697  );
698 
700  struct precision * ppr,
701  struct background * pba,
702  struct thermo * pth,
703  struct perturbs * ppt,
704  int index_md,
705  double k,
706  double tau,
707  struct perturb_workspace * ppw
708  );
709 
710  int perturb_timescale(
711  double tau,
712  void * parameters_and_workspace,
713  double * timescale,
714  ErrorMsg error_message
715  );
716 
717  int perturb_einstein(
718  struct precision * ppr,
719  struct background * pba,
720  struct thermo * pth,
721  struct perturbs * ppt,
722  int index_md,
723  double k,
724  double tau,
725  double * y,
726  struct perturb_workspace * ppw
727  );
728 
730  struct precision * ppr,
731  struct background * pba,
732  struct thermo * pth,
733  struct perturbs * ppt,
734  int index_md,
735  double k,
736  double * y,
737  struct perturb_workspace * ppw
738  );
739 
740  int perturb_sources(
741  double tau,
742  double * pvecperturbations,
743  double * pvecderivs,
744  int index_tau,
745  void * parameters_and_workspace,
746  ErrorMsg error_message
747  );
748 
750  double tau,
751  double * y,
752  double * dy,
753  void * parameters_and_workspace,
754  ErrorMsg error_message
755  );
756 
757  int perturb_derivs(
758  double tau,
759  double * y,
760  double * dy,
761  void * parameters_and_workspace,
762  ErrorMsg error_message
763  );
764 
766  double * y,
767  void * parameters_and_workspace,
768  ErrorMsg error_message
769  );
770 
771  int perturb_rsa_delta_and_theta(
772  struct precision * ppr,
773  struct background * pba,
774  struct thermo * pth,
775  struct perturbs * ppt,
776  double k,
777  double * y,
778  double a_prime_over_a,
779  double * pvecthermo,
780  struct perturb_workspace * ppw
781  );
782 
783  int perturb_prepare_output_file(struct background * pba,
784  struct perturbs * ppt,
785  struct perturb_workspace * ppw,
786  int index_ikout,
787  int index_md);
788 
789  int perturb_prepare_output(struct background * pba,
790  struct perturbs * ppt);
791 
792 #ifdef __cplusplus
793 }
794 #endif
795 
796 /**************************************************************/
797 
798 #endif
799 /* @endcond */
short has_cdi
Definition: perturbations.h:114
int index_pt_pol3_g
Definition: perturbations.h:389
double * dy
Definition: perturbations.h:430
int index_pt_phi
Definition: perturbations.h:421
short has_nc_lens
Definition: perturbations.h:140
int index_pt_delta_ur
Definition: perturbations.h:401
enum possible_gauges gauge
Definition: perturbations.h:201
int store_perturbations
Definition: perturbations.h:162
int index_ic_niv
Definition: perturbations.h:225
double * y
Definition: perturbations.h:429
int index_pt_psi0_ncdm1
Definition: perturbations.h:415
Definition: background.h:25
int index_tp_theta_ncdm1
Definition: perturbations.h:293
short has_vectors
Definition: perturbations.h:109
short has_source_theta_ur
Definition: perturbations.h:256
short has_source_phi
Definition: perturbations.h:258
int index_tp_delta_m
Definition: perturbations.h:271
short has_source_theta_ncdm
Definition: perturbations.h:257
double vector_source_v
Definition: perturbations.h:488
double tca_shear_g
Definition: perturbations.h:490
int perturb_workspace_free(struct perturbs *ppt, int index_md, struct perturb_workspace *ppw)
Definition: perturbations.c:2001
struct perturb_vector * pv
Definition: perturbations.h:478
int index_pt_l3_g
Definition: perturbations.h:384
int index_mt_h_prime_prime
Definition: perturbations.h:458
int index_tp_theta_m
Definition: perturbations.h:284
Definition: perturbations.h:379
int perturb_tca_slip_and_shear(double *y, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:7738
double eisw_lisw_split_z
Definition: perturbations.h:160
int perturb_workspace_init(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, struct perturb_workspace *ppw)
Definition: perturbations.c:1833
double selection_max_of_tau_max
Definition: perturbations.h:337
int index_pt_gw
Definition: perturbations.h:425
int * ic_size
Definition: perturbations.h:228
int index_mt_psi
Definition: perturbations.h:455
tca_method
Definition: perturbations.h:42
int switch_pol
Definition: perturbations.h:159
Definition: perturbations.h:58
double * scalar_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:174
short has_cl_cmb_temperature
Definition: perturbations.h:127
int l_scalar_max
Definition: perturbations.h:143
int index_k
Definition: perturbations.h:559
int l_max_g
Definition: perturbations.h:385
double selection_delta_tau
Definition: perturbations.h:339
int * q_size_ncdm
Definition: perturbations.h:418
short has_nid
Definition: perturbations.h:115
short has_source_phi_plus_psi
Definition: perturbations.h:260
short perturbations_verbose
Definition: perturbations.h:364
short has_ad
Definition: perturbations.h:112
double * selection_tau
Definition: perturbations.h:343
int index_tp_phi_prime
Definition: perturbations.h:296
int index_pt_perturbed_recombination_delta_temp
Definition: perturbations.h:407
double three_ceff2_ur
Definition: perturbations.h:181
short has_source_delta_dcdm
Definition: perturbations.h:242
int index_ic_cdi
Definition: perturbations.h:222
short has_niv
Definition: perturbations.h:116
int index_pt_theta_g
Definition: perturbations.h:382
short has_source_delta_b
Definition: perturbations.h:240
int perturb_print_variables(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:6177
int index_tp_theta_dcdm
Definition: perturbations.h:288
short has_nl_corrections_based_on_delta_m
Definition: perturbations.h:136
int index_pt_phi_prime_scf
Definition: perturbations.h:400
int l_max_pol_g
Definition: perturbations.h:390
Definition: perturbations.h:95
int index_mt_phi_prime
Definition: perturbations.h:456
short evolve_tensor_ncdm
Definition: perturbations.h:125
char scalar_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:166
double gw_source
Definition: perturbations.h:486
double ** k
Definition: perturbations.h:320
short has_source_theta_cdm
Definition: perturbations.h:251
int index_pt_delta_cdm
Definition: perturbations.h:393
int index_pt_pol1_g
Definition: perturbations.h:387
short has_cl_cmb_polarization
Definition: perturbations.h:128
int last_index_back
Definition: perturbations.h:515
double * s_l
Definition: perturbations.h:539
int index_mt_alpha_prime
Definition: perturbations.h:461
int index_pt_F0_dr
Definition: perturbations.h:413
int perturb_initial_conditions(struct precision *ppr, struct background *pba, struct perturbs *ppt, int index_md, int index_ic, double k, double tau, struct perturb_workspace *ppw)
Definition: perturbations.c:4004
short has_velocity_transfers
Definition: perturbations.h:134
Definition: thermodynamics.h:57
double rho_plus_p_shear
Definition: perturbations.h:484
int index_md
Definition: perturbations.h:557
int perturb_solve(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, int index_ic, int index_k, struct perturb_workspace *ppw)
Definition: perturbations.c:2052
double * vector_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:175
int index_mt_eta_prime
Definition: perturbations.h:459
int perturb_sources(double tau, double *y, double *dy, int index_tau, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:5728
int * tp_size
Definition: perturbations.h:300
double * tau_sampling
Definition: perturbations.h:334
short has_lss
Definition: perturbations.h:193
short has_source_t
Definition: perturbations.h:236
double * selection_tau_max
Definition: perturbations.h:342
int index_pt_shear_ur
Definition: perturbations.h:403
int mt_size
Definition: perturbations.h:465
int index_pt_theta_fld
Definition: perturbations.h:398
enum tensor_methods tensor_method
Definition: perturbations.h:122
double * delta_ncdm
Definition: perturbations.h:497
short has_cl_lensing_potential
Definition: perturbations.h:130
int switch_dop
Definition: perturbations.h:158
double rsa_delta_g
Definition: perturbations.h:492
int index_pt_hv_prime
Definition: perturbations.h:422
int * k_size_cl
Definition: perturbations.h:312
int perturb_prepare_output(struct background *pba, struct perturbs *ppt)
Definition: perturbations.c:2443
#define _MAX_NUMBER_OF_K_FILES_
Definition: perturbations.h:79
double selection_width[_SELECTION_NUM_MAX_]
Definition: perturbations.h:153
int index_tp_theta_b
Definition: perturbations.h:286
double selection_mean[_SELECTION_NUM_MAX_]
Definition: perturbations.h:152
int * used_in_sources
Definition: perturbations.h:432
short has_nc_density
Definition: perturbations.h:138
int * index_k_output_values
Definition: perturbations.h:165
short has_source_delta_scf
Definition: perturbations.h:244
int l_max_dr
Definition: perturbations.h:414
int index_pt_delta_b
Definition: perturbations.h:391
int perturb_approximations(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, double k, double tau, struct perturb_workspace *ppw)
Definition: perturbations.c:4667
double * pvecmetric
Definition: perturbations.h:477
int pt_size
Definition: perturbations.h:427
char tensor_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:168
int index_mt_gw_prime_prime
Definition: perturbations.h:462
int index_tp_t1
Definition: perturbations.h:268
int switch_sw
Definition: perturbations.h:155
int index_tp_phi
Definition: perturbations.h:295
int perturb_timescale(double tau, void *parameters_and_workspace, double *timescale, ErrorMsg error_message)
Definition: perturbations.c:4871
short has_source_p
Definition: perturbations.h:237
int index_tp_delta_dcdm
Definition: perturbations.h:275
Definition: perturbations.h:446
double * selection_function
Definition: perturbations.h:344
struct precision * ppr
Definition: perturbations.h:553
int k_output_values_num
Definition: perturbations.h:163
possible_gauges
Definition: perturbations.h:56
tca_flags
Definition: perturbations.h:29
#define _SELECTION_NUM_MAX_
Definition: perturbations.h:68
double k_max
Definition: perturbations.h:323
int selection_num
Definition: perturbations.h:149
int perturb_indices_of_perturbs(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt)
Definition: perturbations.c:518
double * pvecback
Definition: perturbations.h:475
int index_ap_ncdmfa
Definition: perturbations.h:527
int index_pt_theta_b
Definition: perturbations.h:392
int index_ap_tca
Definition: perturbations.h:524
double * tensor_perturbations_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:176
short has_source_theta_m
Definition: perturbations.h:248
int index_mt_hv_prime_prime
Definition: perturbations.h:464
double * shear_ncdm
Definition: perturbations.h:499
int perturb_get_k_list(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt)
Definition: perturbations.c:1211
int l_tensor_max
Definition: perturbations.h:145
int index_ic_ten
Definition: perturbations.h:226
int perturb_timesampling_for_sources(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt)
Definition: perturbations.c:835
short inter_mode
Definition: perturbations.h:513
int size_vector_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:178
int index_tp_delta_scf
Definition: perturbations.h:277
int index_tp_theta_scf
Definition: perturbations.h:290
short has_scalars
Definition: perturbations.h:108
short has_source_theta_fld
Definition: perturbations.h:253
int tau_size
Definition: perturbations.h:332
int index_pt_pol0_g
Definition: perturbations.h:386
short has_source_delta_ncdm
Definition: perturbations.h:247
int perturb_init(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt)
Definition: perturbations.c:98
int index_mt_V_prime
Definition: perturbations.h:463
int index_tp_psi
Definition: perturbations.h:298
int index_pt_theta_ur
Definition: perturbations.h:402
double tca_slip
Definition: perturbations.h:491
short has_cmb
Definition: perturbations.h:192
int perturb_find_approximation_switches(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, double k, struct perturb_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:2656
int index_tp_delta_b
Definition: perturbations.h:273
short has_source_delta_g
Definition: perturbations.h:239
short has_nc_rsd
Definition: perturbations.h:139
ErrorMsg error_message
Definition: perturbations.h:366
int index_pt_eta
Definition: perturbations.h:420
int perturb_free(struct perturbs *ppt)
Definition: perturbations.c:444
int max_l_max
Definition: perturbations.h:538
int * approx
Definition: perturbations.h:530
short evolve_tensor_ur
Definition: perturbations.h:124
int ap_size
Definition: perturbations.h:528
int index_pt_V
Definition: perturbations.h:423
int index_tp_delta_ncdm1
Definition: perturbations.h:280
short has_tensors
Definition: perturbations.h:110
short has_cl_number_count
Definition: perturbations.h:131
double z_max_pk
Definition: perturbations.h:184
int index_pt_delta_g
Definition: perturbations.h:381
int index_md_vectors
Definition: perturbations.h:211
int index_tp_delta_dr
Definition: perturbations.h:278
double * selection_tau_min
Definition: perturbations.h:341
int index_pt_perturbed_recombination_delta_chi
Definition: perturbations.h:408
int index_pt_phi_scf
Definition: perturbations.h:399
struct background * pba
Definition: perturbations.h:554
short has_source_theta_dr
Definition: perturbations.h:255
double selection_min_of_tau_min
Definition: perturbations.h:336
int index_tp_delta_cdm
Definition: perturbations.h:274
short has_source_phi_prime
Definition: perturbations.h:259
double k_output_values[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:164
short has_source_delta_fld
Definition: perturbations.h:243
int index_md_tensors
Definition: perturbations.h:210
short has_source_delta_ur
Definition: perturbations.h:246
struct perturb_workspace * ppw
Definition: perturbations.h:561
short has_perturbations
Definition: perturbations.h:104
int * k_size_cmb
Definition: perturbations.h:308
int index_pt_gwdot
Definition: perturbations.h:426
int index_pt_theta_dcdm
Definition: perturbations.h:396
int perturb_total_stress_energy(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, double k, double *y, struct perturb_workspace *ppw)
Definition: perturbations.c:5234
double delta_m
Definition: perturbations.h:501
short has_bi
Definition: perturbations.h:113
short has_source_theta_b
Definition: perturbations.h:250
short has_density_transfers
Definition: perturbations.h:133
double rsa_theta_g
Definition: perturbations.h:493
int index_tp_theta_cdm
Definition: perturbations.h:287
double delta_p
Definition: perturbations.h:485
double * theta_ncdm
Definition: perturbations.h:498
int index_ic_ad
Definition: perturbations.h:221
int index_ic_nid
Definition: perturbations.h:224
int last_index_thermo
Definition: perturbations.h:516
double delta_rho
Definition: perturbations.h:482
double k_max_for_pk
Definition: perturbations.h:147
int perturb_vector_free(struct perturb_vector *pv)
Definition: perturbations.c:3973
int index_mt_alpha
Definition: perturbations.h:460
double vector_source_pi
Definition: perturbations.h:487
enum selection_type selection
Definition: perturbations.h:151
int switch_lisw
Definition: perturbations.h:157
int index_pt_pol2_g
Definition: perturbations.h:388
int index_tp_phi_plus_psi
Definition: perturbations.h:297
int index_pt_l3_ur
Definition: perturbations.h:404
short has_cls
Definition: perturbations.h:106
int index_ic_bi
Definition: perturbations.h:223
int index_tp_theta_ur
Definition: perturbations.h:291
int index_tp_perturbed_recombination_delta_temp
Definition: perturbations.h:281
int index_tp_theta_dr
Definition: perturbations.h:292
short has_source_psi
Definition: perturbations.h:261
short has_nc_gr
Definition: perturbations.h:141
int index_pt_delta_fld
Definition: perturbations.h:397
short has_perturbed_recombination
Definition: perturbations.h:120
int size_tensor_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:179
int index_ic
Definition: perturbations.h:558
short has_cl_cmb_lensing_potential
Definition: perturbations.h:129
int number_of_vector_titles
Definition: perturbations.h:170
int index_tp_theta_g
Definition: perturbations.h:285
char vector_titles[_MAXTITLESTRINGLENGTH_]
Definition: perturbations.h:167
int N_ncdm
Definition: perturbations.h:416
int number_of_tensor_titles
Definition: perturbations.h:171
Definition: common.h:345
double * pvecthermo
Definition: perturbations.h:476
int switch_eisw
Definition: perturbations.h:156
double *** sources
Definition: perturbations.h:352
int perturb_find_approximation_number(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, double k, struct perturb_workspace *ppw, double tau_ini, double tau_end, int *interval_number, int *interval_number_of)
Definition: perturbations.c:2567
int index_ap_rsa
Definition: perturbations.h:525
int index_tp_theta_fld
Definition: perturbations.h:289
int * k_size
Definition: perturbations.h:316
int l_max_ur
Definition: perturbations.h:405
short has_pk_matter
Definition: perturbations.h:132
int index_tp_delta_ur
Definition: perturbations.h:279
double three_cvis2_ur
Definition: perturbations.h:182
int index_pt_delta_dcdm
Definition: perturbations.h:395
int number_of_scalar_titles
Definition: perturbations.h:169
struct perturbs * ppt
Definition: perturbations.h:556
int index_ikout
Definition: perturbations.h:505
double theta_m
Definition: perturbations.h:502
int index_tp_delta_fld
Definition: perturbations.h:276
int index_md_scalars
Definition: perturbations.h:209
FILE * perturb_output_file
Definition: perturbations.h:504
double rsa_theta_ur
Definition: perturbations.h:495
int perturb_einstein(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, double k, double tau, double *y, struct perturb_workspace *ppw)
Definition: perturbations.c:5041
short has_source_theta_g
Definition: perturbations.h:249
int index_pt_shear_g
Definition: perturbations.h:383
int index_mt_h_prime
Definition: perturbations.h:457
int index_pt_theta_cdm
Definition: perturbations.h:394
int index_tp_delta_g
Definition: perturbations.h:272
int index_tp_t0
Definition: perturbations.h:267
int size_scalar_perturbation_data[_MAX_NUMBER_OF_K_FILES_]
Definition: perturbations.h:177
int index_tp_perturbed_recombination_delta_chi
Definition: perturbations.h:282
int * l_max_ncdm
Definition: perturbations.h:417
int l_vector_max
Definition: perturbations.h:144
short has_source_theta_scf
Definition: perturbations.h:254
short has_source_delta_dr
Definition: perturbations.h:245
int perturb_sources_at_tau(struct perturbs *ppt, int index_md, int index_ic, int index_type, double tau, double *psource)
Definition: perturbations.c:45
double rho_plus_p_theta
Definition: perturbations.h:483
int perturb_derivs(double tau, double *y, double *dy, void *parameters_and_workspace, ErrorMsg error_message)
Definition: perturbations.c:6698
short has_source_delta_cdm
Definition: perturbations.h:241
int index_tp_p
Definition: perturbations.h:270
short has_source_theta_dcdm
Definition: perturbations.h:252
int md_size
Definition: perturbations.h:213
short has_source_delta_m
Definition: perturbations.h:238
int perturb_vector_init(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, int index_md, int index_ic, double k, double tau, struct perturb_workspace *ppw, int *pa_old)
Definition: perturbations.c:2947
int l_lss_max
Definition: perturbations.h:146
Definition: perturbations.h:57
double k
Definition: perturbations.h:560
int index_ap_ufa
Definition: perturbations.h:526
double rsa_delta_ur
Definition: perturbations.h:494
double k_min
Definition: perturbations.h:322
struct thermo * pth
Definition: perturbations.h:555
Definition: perturbations.h:551
int index_tp_t2
Definition: perturbations.h:269