cholla
cooling_cuda.h
Go to the documentation of this file.
1 
4 #ifdef CUDA
5 #ifdef COOLING_GPU
6 
7 #ifndef COOLING_CUDA_H
8 #define COOLING_CUDA_H
9 
10 #include<cuda.h>
11 #include<math.h>
12 #include"global.h"
13 
14 
18 __global__ void cooling_kernel(Real *dev_conserved, int nx, int ny, int nz, int n_ghost, int n_fields, Real dt, Real gamma, Real *dt_array);
19 
20 
21 /* \fn __device__ Real test_cool(Real n, Real T)
22  * \brief Cooling function from Creasey 2011. */
23 __device__ Real test_cool(int tid, Real n, Real T);
24 
25 
26 /* \fn __device__ Real primordial_cool(Real n, Real T)
27  * \brief Primordial hydrogen/helium cooling curve
28  derived according to Katz et al. 1996. */
29 __device__ Real primordial_cool(Real n, Real T);
30 
31 
32 /* \fn __device__ Real CIE_cool(Real n, Real T)
33  * \brief Analytic fit to a solar metallicity CIE cooling curve
34  calculated using Cloudy. */
35 __device__ Real CIE_cool(Real n, Real T);
36 
37 
38 /* \fn __device__ Real Cloudy_cool(Real n, Real T)
39  * \brief Uses texture mapping to interpolate Cloudy cooling/heating
40  tables at z = 0 with solar metallicity and an HM05 UV background. */
41 __device__ Real Cloudy_cool(Real n, Real T);
42 
43 
44 #endif //COOLING_CUDA_H
45 #endif //COOLING_GPU
46 #endif //CUDA