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
|
!! Copyright 2009, 2010, 2011, 2012 Andrew Benson <abenson@obs.carnegiescience.edu>
!!
!! This file is part of Galacticus.
!!
!! Galacticus is free software: you can redistribute it and/or modify
!! it under the terms of the GNU General Public License as published by
!! the Free Software Foundation, either version 3 of the License, or
!! (at your option) any later version.
!!
!! Galacticus is distributed in the hope that it will be useful,
!! but WITHOUT ANY WARRANTY; without even the implied warranty of
!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
!! GNU General Public License for more details.
!!
!! You should have received a copy of the GNU General Public License
!! along with Galacticus. If not, see <http://www.gnu.org/licenses/>.
!% Contains a module which implements a null hot halo ram pressure stripping calculation, by simply returning the virial radius as
!% the ram pressure stripping radius.
module Hot_Halo_Ram_Pressure_Stripping_Virial_Radii
!% Implements a null hot halo ram pressure stripping calculation, by simply returning the virial radius as the ram pressure
!% stripping radius.
use, intrinsic :: ISO_C_Binding
use Tree_Nodes
implicit none
private
public :: Hot_Halo_Ram_Pressure_Stripping_Virial_Radii_Initialize
contains
!# <hotHaloRamPressureStrippingMethod>
!# <unitName>Hot_Halo_Ram_Pressure_Stripping_Virial_Radii_Initialize</unitName>
!# </hotHaloRamPressureStrippingMethod>
subroutine Hot_Halo_Ram_Pressure_Stripping_Virial_Radii_Initialize(hotHaloRamPressureStrippingMethod,Hot_Halo_Ram_Pressure_Stripping_Get)
!% Initializes the ``virial radius'' hot halo ram pressure stripping module.
use ISO_Varying_String
use Input_Parameters
implicit none
type(varying_string), intent(in ) :: hotHaloRamPressureStrippingMethod
procedure(double precision), pointer, intent(inout) :: Hot_Halo_Ram_Pressure_Stripping_Get
if (hotHaloRamPressureStrippingMethod == 'virialRadius') Hot_Halo_Ram_Pressure_Stripping_Get => Hot_Halo_Ram_Pressure_Stripping_Virial_Radius
return
end subroutine Hot_Halo_Ram_Pressure_Stripping_Virial_Radii_Initialize
double precision function Hot_Halo_Ram_Pressure_Stripping_Virial_Radius(thisNode)
!% Computes the hot halo ram pressure stripping radius, assuming a null calculation in which that radius always equals the
!% virial radius.
use Tree_Nodes
use Dark_Matter_Halo_Scales
implicit none
type(treeNode), intent(inout), pointer :: thisNode
Hot_Halo_Ram_Pressure_Stripping_Virial_Radius=Dark_Matter_Halo_Virial_Radius(thisNode)
return
end function Hot_Halo_Ram_Pressure_Stripping_Virial_Radius
end module Hot_Halo_Ram_Pressure_Stripping_Virial_Radii
|