forked from cmbant/CAMB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hyrec.F90
85 lines (49 loc) · 2.02 KB
/
hyrec.F90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
!---------------------------------------------------------------------------------------------------
! Recombination module for CAMB, using HyRec
! Author: Antony Lewis
!---------------------------------------------------------------------------------------------------
module Recombination
use constants
use AMLUtils
implicit none
private
type RecombinationParams
end type RecombinationParams
character(LEN=*), parameter :: Recombination_Name = 'HyRec'
public RecombinationParams, Recombination_xe, Recombination_tm, Recombination_init, &
Recombination_ReadParams, Recombination_SetDefParams, &
Recombination_Validate, Recombination_Name
contains
subroutine Recombination_ReadParams(R, Ini)
use IniFile
Type(RecombinationParams) :: R
Type(TIniFile) :: Ini
end subroutine Recombination_ReadParams
subroutine Recombination_SetDefParams(R)
type (RecombinationParams) ::R
end subroutine Recombination_SetDefParams
subroutine Recombination_Validate(R, OK)
Type(RecombinationParams), intent(in) :: R
logical, intent(inout) :: OK
end subroutine Recombination_Validate
function Recombination_tm(a)
real(dl), intent(in) :: a
real(dl) Recombination_tm, hyrec_tm
external hyrec_tm
Recombination_tm = hyrec_tm(a);
end function Recombination_tm
function Recombination_xe(a)
real(dl), intent(in) :: a
real(dl) Recombination_xe,hyrec_xe
external hyrec_xe
Recombination_xe = hyrec_xe(a);
end function Recombination_xe
subroutine Recombination_init(Recomb, OmegaC, OmegaB, OmegaN, Omegav, h0inp, tcmb, yp, num_nu)
use AMLUtils
implicit none
Type (RecombinationParams), intent(in) :: Recomb
real(dl), intent(in) :: OmegaC, OmegaB, OmegaN, OmegaV, h0inp, tcmb, yp, num_nu
external rec_build_history_camb
call rec_build_history_camb(OmegaC, OmegaB, OmegaN, Omegav, h0inp, tcmb, yp, num_nu)
end subroutine Recombination_init
end module Recombination