Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This file contains procedure implementations of [pm_cosmicRate](@ref pm_cosmicRate).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Wednesday 5:43 PM, December 25, 2013, Institute for Fusion Studies, The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_cosmicRate) routines
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getLogRateDensity_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define D0_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : #define H06_ENABLED 1
61 :
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 :
64 : #define RK_ENABLED 1
65 :
66 : #if RK5_ENABLED
67 : module procedure getLogRateDensityH06_D0_RK5
68 : use pm_kind, only: RKC => RK5
69 : #include "pm_cosmicRate@routines.inc.F90"
70 : end procedure
71 : #endif
72 :
73 : #if RK4_ENABLED
74 500 : module procedure getLogRateDensityH06_D0_RK4
75 : use pm_kind, only: RKC => RK4
76 : #include "pm_cosmicRate@routines.inc.F90"
77 500 : end procedure
78 : #endif
79 :
80 : #if RK3_ENABLED
81 1000 : module procedure getLogRateDensityH06_D0_RK3
82 : use pm_kind, only: RKC => RK3
83 : #include "pm_cosmicRate@routines.inc.F90"
84 1000 : end procedure
85 : #endif
86 :
87 : #if RK2_ENABLED
88 8614 : module procedure getLogRateDensityH06_D0_RK2
89 : use pm_kind, only: RKC => RK2
90 : #include "pm_cosmicRate@routines.inc.F90"
91 8614 : end procedure
92 : #endif
93 :
94 : #if RK1_ENABLED
95 500 : module procedure getLogRateDensityH06_D0_RK1
96 : use pm_kind, only: RKC => RK1
97 : #include "pm_cosmicRate@routines.inc.F90"
98 500 : end procedure
99 : #endif
100 :
101 : #undef RK_ENABLED
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 :
105 : #undef H06_ENABLED
106 :
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define L08_ENABLED 1
112 :
113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114 :
115 : #define RK_ENABLED 1
116 :
117 : #if RK5_ENABLED
118 : module procedure getLogRateDensityL08_D0_RK5
119 : use pm_kind, only: RKC => RK5
120 : #include "pm_cosmicRate@routines.inc.F90"
121 : end procedure
122 : #endif
123 :
124 : #if RK4_ENABLED
125 500 : module procedure getLogRateDensityL08_D0_RK4
126 : use pm_kind, only: RKC => RK4
127 : #include "pm_cosmicRate@routines.inc.F90"
128 500 : end procedure
129 : #endif
130 :
131 : #if RK3_ENABLED
132 1000 : module procedure getLogRateDensityL08_D0_RK3
133 : use pm_kind, only: RKC => RK3
134 : #include "pm_cosmicRate@routines.inc.F90"
135 1000 : end procedure
136 : #endif
137 :
138 : #if RK2_ENABLED
139 9088 : module procedure getLogRateDensityL08_D0_RK2
140 : use pm_kind, only: RKC => RK2
141 : #include "pm_cosmicRate@routines.inc.F90"
142 9088 : end procedure
143 : #endif
144 :
145 : #if RK1_ENABLED
146 500 : module procedure getLogRateDensityL08_D0_RK1
147 : use pm_kind, only: RKC => RK1
148 : #include "pm_cosmicRate@routines.inc.F90"
149 500 : end procedure
150 : #endif
151 :
152 : #undef RK_ENABLED
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 :
156 : #undef L08_ENABLED
157 :
158 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 :
162 : #define B10_ENABLED 1
163 :
164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 :
166 : #define RK_ENABLED 1
167 :
168 : #if RK5_ENABLED
169 : module procedure getLogRateDensityB10_D0_RK5
170 : use pm_kind, only: RKC => RK5
171 : #include "pm_cosmicRate@routines.inc.F90"
172 : end procedure
173 : #endif
174 :
175 : #if RK4_ENABLED
176 500 : module procedure getLogRateDensityB10_D0_RK4
177 : use pm_kind, only: RKC => RK4
178 : #include "pm_cosmicRate@routines.inc.F90"
179 500 : end procedure
180 : #endif
181 :
182 : #if RK3_ENABLED
183 1000 : module procedure getLogRateDensityB10_D0_RK3
184 : use pm_kind, only: RKC => RK3
185 : #include "pm_cosmicRate@routines.inc.F90"
186 1000 : end procedure
187 : #endif
188 :
189 : #if RK2_ENABLED
190 11281 : module procedure getLogRateDensityB10_D0_RK2
191 : use pm_kind, only: RKC => RK2
192 : #include "pm_cosmicRate@routines.inc.F90"
193 11281 : end procedure
194 : #endif
195 :
196 : #if RK1_ENABLED
197 500 : module procedure getLogRateDensityB10_D0_RK1
198 : use pm_kind, only: RKC => RK1
199 : #include "pm_cosmicRate@routines.inc.F90"
200 500 : end procedure
201 : #endif
202 :
203 : #undef RK_ENABLED
204 :
205 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 :
207 : #undef B10_ENABLED
208 :
209 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 :
213 : #define M14_ENABLED 1
214 :
215 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 :
217 : #define RK_ENABLED 1
218 :
219 : #if RK5_ENABLED
220 : module procedure getLogRateDensityM14_D0_RK5
221 : use pm_kind, only: RKC => RK5
222 : #include "pm_cosmicRate@routines.inc.F90"
223 : end procedure
224 : #endif
225 :
226 : #if RK4_ENABLED
227 500 : module procedure getLogRateDensityM14_D0_RK4
228 : use pm_kind, only: RKC => RK4
229 : #include "pm_cosmicRate@routines.inc.F90"
230 500 : end procedure
231 : #endif
232 :
233 : #if RK3_ENABLED
234 1000 : module procedure getLogRateDensityM14_D0_RK3
235 : use pm_kind, only: RKC => RK3
236 : #include "pm_cosmicRate@routines.inc.F90"
237 1000 : end procedure
238 : #endif
239 :
240 : #if RK2_ENABLED
241 10183 : module procedure getLogRateDensityM14_D0_RK2
242 : use pm_kind, only: RKC => RK2
243 : #include "pm_cosmicRate@routines.inc.F90"
244 10183 : end procedure
245 : #endif
246 :
247 : #if RK1_ENABLED
248 500 : module procedure getLogRateDensityM14_D0_RK1
249 : use pm_kind, only: RKC => RK1
250 : #include "pm_cosmicRate@routines.inc.F90"
251 500 : end procedure
252 : #endif
253 :
254 : #undef RK_ENABLED
255 :
256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
257 :
258 : #undef M14_ENABLED
259 :
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 :
264 : #define P15_ENABLED 1
265 :
266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 :
268 : #define RK_ENABLED 1
269 :
270 : #if RK5_ENABLED
271 : module procedure getLogRateDensityP15_D0_RK5
272 : use pm_kind, only: RKC => RK5
273 : #include "pm_cosmicRate@routines.inc.F90"
274 : end procedure
275 : #endif
276 :
277 : #if RK4_ENABLED
278 500 : module procedure getLogRateDensityP15_D0_RK4
279 : use pm_kind, only: RKC => RK4
280 : #include "pm_cosmicRate@routines.inc.F90"
281 500 : end procedure
282 : #endif
283 :
284 : #if RK3_ENABLED
285 1000 : module procedure getLogRateDensityP15_D0_RK3
286 : use pm_kind, only: RKC => RK3
287 : #include "pm_cosmicRate@routines.inc.F90"
288 1000 : end procedure
289 : #endif
290 :
291 : #if RK2_ENABLED
292 8472 : module procedure getLogRateDensityP15_D0_RK2
293 : use pm_kind, only: RKC => RK2
294 : #include "pm_cosmicRate@routines.inc.F90"
295 8472 : end procedure
296 : #endif
297 :
298 : #if RK1_ENABLED
299 500 : module procedure getLogRateDensityP15_D0_RK1
300 : use pm_kind, only: RKC => RK1
301 : #include "pm_cosmicRate@routines.inc.F90"
302 500 : end procedure
303 : #endif
304 :
305 : #undef RK_ENABLED
306 :
307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308 :
309 : #undef P15_ENABLED
310 :
311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 :
315 : #define M17_ENABLED 1
316 :
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 :
319 : #define RK_ENABLED 1
320 :
321 : #if RK5_ENABLED
322 : module procedure getLogRateDensityM17_D0_RK5
323 : use pm_kind, only: RKC => RK5
324 : #include "pm_cosmicRate@routines.inc.F90"
325 : end procedure
326 : #endif
327 :
328 : #if RK4_ENABLED
329 500 : module procedure getLogRateDensityM17_D0_RK4
330 : use pm_kind, only: RKC => RK4
331 : #include "pm_cosmicRate@routines.inc.F90"
332 500 : end procedure
333 : #endif
334 :
335 : #if RK3_ENABLED
336 1000 : module procedure getLogRateDensityM17_D0_RK3
337 : use pm_kind, only: RKC => RK3
338 : #include "pm_cosmicRate@routines.inc.F90"
339 1000 : end procedure
340 : #endif
341 :
342 : #if RK2_ENABLED
343 9766 : module procedure getLogRateDensityM17_D0_RK2
344 : use pm_kind, only: RKC => RK2
345 : #include "pm_cosmicRate@routines.inc.F90"
346 9766 : end procedure
347 : #endif
348 :
349 : #if RK1_ENABLED
350 500 : module procedure getLogRateDensityM17_D0_RK1
351 : use pm_kind, only: RKC => RK1
352 : #include "pm_cosmicRate@routines.inc.F90"
353 500 : end procedure
354 : #endif
355 :
356 : #undef RK_ENABLED
357 :
358 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359 :
360 : #undef M17_ENABLED
361 :
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365 :
366 : #define F18_ENABLED 1
367 :
368 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369 :
370 : #define RK_ENABLED 1
371 :
372 : #if RK5_ENABLED
373 : module procedure getLogRateDensityF18_D0_RK5
374 : use pm_kind, only: RKC => RK5
375 : #include "pm_cosmicRate@routines.inc.F90"
376 : end procedure
377 : #endif
378 :
379 : #if RK4_ENABLED
380 500 : module procedure getLogRateDensityF18_D0_RK4
381 : use pm_kind, only: RKC => RK4
382 : #include "pm_cosmicRate@routines.inc.F90"
383 500 : end procedure
384 : #endif
385 :
386 : #if RK3_ENABLED
387 1000 : module procedure getLogRateDensityF18_D0_RK3
388 : use pm_kind, only: RKC => RK3
389 : #include "pm_cosmicRate@routines.inc.F90"
390 1000 : end procedure
391 : #endif
392 :
393 : #if RK2_ENABLED
394 10356 : module procedure getLogRateDensityF18_D0_RK2
395 : use pm_kind, only: RKC => RK2
396 : #include "pm_cosmicRate@routines.inc.F90"
397 10356 : end procedure
398 : #endif
399 :
400 : #if RK1_ENABLED
401 500 : module procedure getLogRateDensityF18_D0_RK1
402 : use pm_kind, only: RKC => RK1
403 : #include "pm_cosmicRate@routines.inc.F90"
404 500 : end procedure
405 : #endif
406 :
407 : #undef RK_ENABLED
408 :
409 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
410 :
411 : #undef F18_ENABLED
412 :
413 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
415 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416 :
417 : #undef D0_ENABLED
418 :
419 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
420 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 :
423 : #undef getLogRateDensity_ENABLED
424 :
425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
426 :
427 : #undef CHECK_ASSERTION
428 :
429 : end submodule routines
|