EFTCAMB  Reference documentation for version 3.0
06p1_abstract_EFTCAMB_full_map.f90
Go to the documentation of this file.
1 !----------------------------------------------------------------------------------------
2 !
3 ! This file is part of EFTCAMB.
4 !
5 ! Copyright (C) 2013-2016 by the EFTCAMB authors
6 !
7 ! The EFTCAMB code is free software;
8 ! You can use it, redistribute it, and/or modify it under the terms
9 ! of the GNU General Public License as published by the Free Software Foundation;
10 ! either version 3 of the License, or (at your option) any later version.
11 ! The full text of the license can be found in the file eftcamb/LICENSE at
12 ! the top level of the EFTCAMB distribution.
13 !
14 !----------------------------------------------------------------------------------------
15 
21 
22 
23 !----------------------------------------------------------------------------------------
28 
30 
32 
33  use precision
34  use inifile
35  use eftcamb_cache
37 
38  implicit none
39 
40  private
41 
42  public eftcamb_full_model
43 
44  !----------------------------------------------------------------------------------------
46  type, extends ( eftcamb_model ), abstract :: eftcamb_full_model
47 
48  contains
49 
50  procedure :: compute_dtauda => eftcambfullmodelcomputedtauda
51  procedure :: compute_adotoa => eftcambfullmodelcomputeadotoa
52  procedure :: compute_h_derivs => eftcambfullmodelcomputehubbleder
53 
54  end type eftcamb_full_model
55 
56 contains
57 
58  ! ---------------------------------------------------------------------------------------------
60  function eftcambfullmodelcomputedtauda( self, a, eft_par_cache, eft_cache )
61 
62  implicit none
63 
64  class(eftcamb_full_model) :: self
65  real(dl), intent(in) :: a
66  type(eftcamb_parameter_cache), intent(inout) :: eft_par_cache
67  type(eftcamb_timestep_cache ), intent(inout) :: eft_cache
68 
69  real(dl) :: eftcambfullmodelcomputedtauda
70 
71  write(*,*) 'IW'
72  stop
73 
74  end function eftcambfullmodelcomputedtauda
75 
76  ! ---------------------------------------------------------------------------------------------
78  subroutine eftcambfullmodelcomputeadotoa( self, a, eft_par_cache, eft_cache )
79 
80  implicit none
81 
82  class(eftcamb_full_model) :: self
83  real(dl), intent(in) :: a
84  type(eftcamb_parameter_cache), intent(inout) :: eft_par_cache
85  type(eftcamb_timestep_cache ), intent(inout) :: eft_cache
86 
87  write(*,*) 'IW'
88  stop
89 
90  end subroutine eftcambfullmodelcomputeadotoa
91 
92  ! ---------------------------------------------------------------------------------------------
94  subroutine eftcambfullmodelcomputehubbleder( self, a, eft_par_cache, eft_cache )
95 
96  implicit none
97 
98  class(eftcamb_full_model) :: self
99  real(dl), intent(in) :: a
100  type(eftcamb_parameter_cache), intent(inout) :: eft_par_cache
101  type(eftcamb_timestep_cache ), intent(inout) :: eft_cache
102 
103  write(*,*) 'IW'
104  stop
105 
106  end subroutine eftcambfullmodelcomputehubbleder
107 
108  !----------------------------------------------------------------------------------------
109 
111 
112 !----------------------------------------------------------------------------------------
This module contains the definition of the EFTCAMB caches. These are used to store parameters that ca...
This module contains the abstract definition of all the places where EFTCAMB interacts with CAMB...
This module contains the abstract definition of all the places where EFTCAMB interacts with CAMB in c...