37 public zero_parametrization_1d, wde_lcdm_parametrization_1d
42 type,
extends ( parametrized_function_1d ) :: zero_parametrization_1d
47 procedure :: set_param_number => zeroparametrized1dsetparamnumber
48 procedure :: init_parameters => zeroparametrized1dinitparams
49 procedure :: parameter_value => zeroparametrized1dparametervalues
52 procedure ::
value => zeroparametrized1dvalue
53 procedure :: first_derivative => zeroparametrized1dfirstderivative
54 procedure :: second_derivative => zeroparametrized1dsecondderivative
55 procedure :: third_derivative => zeroparametrized1dthirdderivative
56 procedure :: integral => zeroparametrized1dintegral
58 end type zero_parametrization_1d
63 type,
extends ( parametrized_function_1d ) :: wde_lcdm_parametrization_1d
68 procedure :: set_param_number => wdelcdmparametrized1dsetparamnumber
69 procedure :: init_parameters => wdelcdmparametrized1dinitparams
70 procedure :: parameter_value => wdelcdmparametrized1dparametervalues
73 procedure ::
value => wdelcdmparametrized1dvalue
74 procedure :: first_derivative => wdelcdmparametrized1dfirstderivative
75 procedure :: second_derivative => wdelcdmparametrized1dsecondderivative
76 procedure :: third_derivative => wdelcdmparametrized1dthirdderivative
77 procedure :: integral => wdelcdmparametrized1dintegral
79 end type wde_lcdm_parametrization_1d
89 subroutine zeroparametrized1dsetparamnumber( self )
93 class(zero_parametrization_1d) :: self
95 self%parameter_number = 0
97 end subroutine zeroparametrized1dsetparamnumber
101 subroutine zeroparametrized1dinitparams( self, array )
105 class(zero_parametrization_1d) :: self
106 real(dl),
dimension(self%parameter_number),
intent(in) :: array
108 end subroutine zeroparametrized1dinitparams
112 subroutine zeroparametrized1dparametervalues( self, i, value )
116 class(zero_parametrization_1d) :: self
117 integer ,
intent(in) :: i
118 real(dl),
intent(out) ::
value 122 end subroutine zeroparametrized1dparametervalues
126 function zeroparametrized1dvalue( self, x, eft_cache )
130 class(zero_parametrization_1d) :: self
131 real(dl),
intent(in) :: x
132 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
133 real(dl) :: zeroparametrized1dvalue
135 zeroparametrized1dvalue = 0._dl
137 end function zeroparametrized1dvalue
141 function zeroparametrized1dfirstderivative( self, x, eft_cache )
145 class(zero_parametrization_1d) :: self
146 real(dl),
intent(in) :: x
147 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
148 real(dl) :: zeroparametrized1dfirstderivative
150 zeroparametrized1dfirstderivative = 0._dl
152 end function zeroparametrized1dfirstderivative
156 function zeroparametrized1dsecondderivative( self, x, eft_cache )
160 class(zero_parametrization_1d) :: self
161 real(dl),
intent(in) :: x
162 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
163 real(dl) :: zeroparametrized1dsecondderivative
165 zeroparametrized1dsecondderivative = 0._dl
167 end function zeroparametrized1dsecondderivative
171 function zeroparametrized1dthirdderivative( self, x, eft_cache )
175 class(zero_parametrization_1d) :: self
176 real(dl),
intent(in) :: x
177 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
178 real(dl) :: zeroparametrized1dthirdderivative
180 zeroparametrized1dthirdderivative = 0._dl
182 end function zeroparametrized1dthirdderivative
186 function zeroparametrized1dintegral( self, x, eft_cache )
190 class(zero_parametrization_1d) :: self
191 real(dl),
intent(in) :: x
192 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
193 real(dl) :: zeroparametrized1dintegral
195 zeroparametrized1dintegral = 1._dl/x
197 end function zeroparametrized1dintegral
207 subroutine wdelcdmparametrized1dsetparamnumber( self )
211 class(wde_lcdm_parametrization_1d) :: self
213 self%parameter_number = 0
215 end subroutine wdelcdmparametrized1dsetparamnumber
219 subroutine wdelcdmparametrized1dinitparams( self, array )
223 class(wde_lcdm_parametrization_1d) :: self
224 real(dl),
dimension(self%parameter_number),
intent(in) :: array
226 end subroutine wdelcdmparametrized1dinitparams
230 subroutine wdelcdmparametrized1dparametervalues( self, i, value )
234 class(wde_lcdm_parametrization_1d) :: self
235 integer ,
intent(in) :: i
236 real(dl),
intent(out) ::
value 240 end subroutine wdelcdmparametrized1dparametervalues
244 function wdelcdmparametrized1dvalue( self, x, eft_cache )
248 class(wde_lcdm_parametrization_1d) :: self
249 real(dl),
intent(in) :: x
250 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
251 real(dl) :: wdelcdmparametrized1dvalue
253 wdelcdmparametrized1dvalue = -1._dl
255 end function wdelcdmparametrized1dvalue
259 function wdelcdmparametrized1dfirstderivative( self, x, eft_cache )
263 class(wde_lcdm_parametrization_1d) :: self
264 real(dl),
intent(in) :: x
265 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
266 real(dl) :: wdelcdmparametrized1dfirstderivative
268 wdelcdmparametrized1dfirstderivative = 0._dl
270 end function wdelcdmparametrized1dfirstderivative
274 function wdelcdmparametrized1dsecondderivative( self, x, eft_cache )
278 class(wde_lcdm_parametrization_1d) :: self
279 real(dl),
intent(in) :: x
280 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
281 real(dl) :: wdelcdmparametrized1dsecondderivative
283 wdelcdmparametrized1dsecondderivative = 0._dl
285 end function wdelcdmparametrized1dsecondderivative
289 function wdelcdmparametrized1dthirdderivative( self, x, eft_cache )
293 class(wde_lcdm_parametrization_1d) :: self
294 real(dl),
intent(in) :: x
295 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
296 real(dl) :: wdelcdmparametrized1dthirdderivative
298 wdelcdmparametrized1dthirdderivative = 0._dl
300 end function wdelcdmparametrized1dthirdderivative
304 function wdelcdmparametrized1dintegral( self, x, eft_cache )
308 class(wde_lcdm_parametrization_1d) :: self
309 real(dl),
intent(in) :: x
310 type(eftcamb_timestep_cache),
intent(in),
optional :: eft_cache
311 real(dl) :: wdelcdmparametrized1dintegral
313 wdelcdmparametrized1dintegral = x**2
315 end function wdelcdmparametrized1dintegral
This module contains the definition of the EFTCAMB caches. These are used to store parameters that ca...
This module contains the definition of neutral parametrizations that can be used when parametrized fu...
This module contains the abstract class for generic parametrizations for 1D functions that are used b...