(git:7f1b8e3)
Loading...
Searching...
No Matches
mcl_api.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2025 CP2K developers group <https://cp2k.org> !
4! !
5! SPDX-License-Identifier: GPL-2.0-or-later !
6!--------------------------------------------------------------------------------------------------!
7
8! **************************************************************************************************
9!> \brief Wrapper module for MiMiC Communication Library (MCL) routines
10!> \par History
11!> 05.2025 Created [AA]
12!> \author Andrej Antalik
13! **************************************************************************************************
14
15MODULE mcl_api
16
17 USE kinds, ONLY: int_4, int_8, sp, dp
18#if defined(__MIMIC)
20#endif
21
22#include "../../base/base_uses.f90"
23
24 IMPLICIT NONE
25
26
27
28 PRIVATE
29
31
32#if !defined(__MIMIC)
33
34 INTERFACE mcl_send
35 MODULE PROCEDURE mcl_send_char
36 MODULE PROCEDURE mcl_send_i4_0d
37 MODULE PROCEDURE mcl_send_i4_1d
38 MODULE PROCEDURE mcl_send_i4_2d
39 MODULE PROCEDURE mcl_send_i4_3d
40 MODULE PROCEDURE mcl_send_i8_0d
41 MODULE PROCEDURE mcl_send_i8_1d
42 MODULE PROCEDURE mcl_send_i8_2d
43 MODULE PROCEDURE mcl_send_i8_3d
44 MODULE PROCEDURE mcl_send_sp_0d
45 MODULE PROCEDURE mcl_send_sp_1d
46 MODULE PROCEDURE mcl_send_sp_2d
47 MODULE PROCEDURE mcl_send_sp_3d
48 MODULE PROCEDURE mcl_send_dp_0d
49 MODULE PROCEDURE mcl_send_dp_1d
50 MODULE PROCEDURE mcl_send_dp_2d
51 MODULE PROCEDURE mcl_send_dp_3d
52 END INTERFACE
53 INTERFACE mcl_receive
54 MODULE PROCEDURE mcl_receive_char
55 MODULE PROCEDURE mcl_receive_i4_0d
56 MODULE PROCEDURE mcl_receive_i4_1d
57 MODULE PROCEDURE mcl_receive_i4_2d
58 MODULE PROCEDURE mcl_receive_i4_3d
59 MODULE PROCEDURE mcl_receive_i8_0d
60 MODULE PROCEDURE mcl_receive_i8_1d
61 MODULE PROCEDURE mcl_receive_i8_2d
62 MODULE PROCEDURE mcl_receive_i8_3d
63 MODULE PROCEDURE mcl_receive_sp_0d
64 MODULE PROCEDURE mcl_receive_sp_1d
65 MODULE PROCEDURE mcl_receive_sp_2d
66 MODULE PROCEDURE mcl_receive_sp_3d
67 MODULE PROCEDURE mcl_receive_dp_0d
68 MODULE PROCEDURE mcl_receive_dp_1d
69 MODULE PROCEDURE mcl_receive_dp_2d
70 MODULE PROCEDURE mcl_receive_dp_3d
71 END INTERFACE
72
73CONTAINS
74
75 SUBROUTINE mcl_finalize()
76 cpabort("This CP2K executable has not been linked against MiMiC.")
77 END SUBROUTINE mcl_finalize
78
79 SUBROUTINE mcl_get_api_version(version)
80 INTEGER, DIMENSION(3) :: version, dummy_version
81 cpabort("This CP2K executable has not been linked against MiMiC.")
82 dummy_version = version
83 END SUBROUTINE mcl_get_api_version
84
85 SUBROUTINE mcl_get_program_id(id)
86 INTEGER :: id, dummy_id
87 cpabort("This CP2K executable has not been linked against MiMiC.")
88 dummy_id = id
89 END SUBROUTINE mcl_get_program_id
90
91 SUBROUTINE mcl_send_char(buffer, length, tag, remote_id, err)
92 CHARACTER(LEN=*), TARGET :: buffer
93 INTEGER :: length, tag, remote_id, dummy_integer
94 INTEGER, OPTIONAL, INTENT(OUT) :: err
95 CHARACTER(LEN=:), ALLOCATABLE :: dummy_char
96 cpabort("This CP2K executable has not been linked against MiMiC.")
97 dummy_integer = length
98 dummy_integer = tag
99 dummy_integer = remote_id
100 err = dummy_integer
101 dummy_char = trim(buffer)
102 END SUBROUTINE mcl_send_char
103
104 SUBROUTINE mcl_send_i4_0d (buffer, length, tag, remote_id, err)
105 INTEGER(KIND=int_4), TARGET :: buffer
106 INTEGER :: length, tag, remote_id, dummy_integer
107 INTEGER, OPTIONAL, INTENT(OUT) :: err
108 INTEGER(KIND=int_4), POINTER :: dummy_buffer
109 cpabort("This CP2K executable has not been linked against MiMiC.")
110 dummy_integer = length
111 dummy_integer = tag
112 dummy_integer = remote_id
113 err = dummy_integer
114 dummy_buffer => buffer
115 END SUBROUTINE mcl_send_i4_0d
116 SUBROUTINE mcl_send_i4_1d (buffer, length, tag, remote_id, err)
117 INTEGER(KIND=int_4), DIMENSION(:), TARGET :: buffer
118 INTEGER :: length, tag, remote_id, dummy_integer
119 INTEGER, OPTIONAL, INTENT(OUT) :: err
120 INTEGER(KIND=int_4), DIMENSION(:), POINTER :: dummy_buffer
121 cpabort("This CP2K executable has not been linked against MiMiC.")
122 dummy_integer = length
123 dummy_integer = tag
124 dummy_integer = remote_id
125 err = dummy_integer
126 dummy_buffer => buffer
127 END SUBROUTINE mcl_send_i4_1d
128 SUBROUTINE mcl_send_i4_2d (buffer, length, tag, remote_id, err)
129 INTEGER(KIND=int_4), DIMENSION(:,:), TARGET :: buffer
130 INTEGER :: length, tag, remote_id, dummy_integer
131 INTEGER, OPTIONAL, INTENT(OUT) :: err
132 INTEGER(KIND=int_4), DIMENSION(:,:), POINTER :: dummy_buffer
133 cpabort("This CP2K executable has not been linked against MiMiC.")
134 dummy_integer = length
135 dummy_integer = tag
136 dummy_integer = remote_id
137 err = dummy_integer
138 dummy_buffer => buffer
139 END SUBROUTINE mcl_send_i4_2d
140 SUBROUTINE mcl_send_i4_3d (buffer, length, tag, remote_id, err)
141 INTEGER(KIND=int_4), DIMENSION(:,:,:), TARGET :: buffer
142 INTEGER :: length, tag, remote_id, dummy_integer
143 INTEGER, OPTIONAL, INTENT(OUT) :: err
144 INTEGER(KIND=int_4), DIMENSION(:,:,:), POINTER :: dummy_buffer
145 cpabort("This CP2K executable has not been linked against MiMiC.")
146 dummy_integer = length
147 dummy_integer = tag
148 dummy_integer = remote_id
149 err = dummy_integer
150 dummy_buffer => buffer
151 END SUBROUTINE mcl_send_i4_3d
152 SUBROUTINE mcl_send_i8_0d (buffer, length, tag, remote_id, err)
153 INTEGER(KIND=int_8), TARGET :: buffer
154 INTEGER :: length, tag, remote_id, dummy_integer
155 INTEGER, OPTIONAL, INTENT(OUT) :: err
156 INTEGER(KIND=int_8), POINTER :: dummy_buffer
157 cpabort("This CP2K executable has not been linked against MiMiC.")
158 dummy_integer = length
159 dummy_integer = tag
160 dummy_integer = remote_id
161 err = dummy_integer
162 dummy_buffer => buffer
163 END SUBROUTINE mcl_send_i8_0d
164 SUBROUTINE mcl_send_i8_1d (buffer, length, tag, remote_id, err)
165 INTEGER(KIND=int_8), DIMENSION(:), TARGET :: buffer
166 INTEGER :: length, tag, remote_id, dummy_integer
167 INTEGER, OPTIONAL, INTENT(OUT) :: err
168 INTEGER(KIND=int_8), DIMENSION(:), POINTER :: dummy_buffer
169 cpabort("This CP2K executable has not been linked against MiMiC.")
170 dummy_integer = length
171 dummy_integer = tag
172 dummy_integer = remote_id
173 err = dummy_integer
174 dummy_buffer => buffer
175 END SUBROUTINE mcl_send_i8_1d
176 SUBROUTINE mcl_send_i8_2d (buffer, length, tag, remote_id, err)
177 INTEGER(KIND=int_8), DIMENSION(:,:), TARGET :: buffer
178 INTEGER :: length, tag, remote_id, dummy_integer
179 INTEGER, OPTIONAL, INTENT(OUT) :: err
180 INTEGER(KIND=int_8), DIMENSION(:,:), POINTER :: dummy_buffer
181 cpabort("This CP2K executable has not been linked against MiMiC.")
182 dummy_integer = length
183 dummy_integer = tag
184 dummy_integer = remote_id
185 err = dummy_integer
186 dummy_buffer => buffer
187 END SUBROUTINE mcl_send_i8_2d
188 SUBROUTINE mcl_send_i8_3d (buffer, length, tag, remote_id, err)
189 INTEGER(KIND=int_8), DIMENSION(:,:,:), TARGET :: buffer
190 INTEGER :: length, tag, remote_id, dummy_integer
191 INTEGER, OPTIONAL, INTENT(OUT) :: err
192 INTEGER(KIND=int_8), DIMENSION(:,:,:), POINTER :: dummy_buffer
193 cpabort("This CP2K executable has not been linked against MiMiC.")
194 dummy_integer = length
195 dummy_integer = tag
196 dummy_integer = remote_id
197 err = dummy_integer
198 dummy_buffer => buffer
199 END SUBROUTINE mcl_send_i8_3d
200 SUBROUTINE mcl_send_sp_0d (buffer, length, tag, remote_id, err)
201 REAL(KIND=sp), TARGET :: buffer
202 INTEGER :: length, tag, remote_id, dummy_integer
203 INTEGER, OPTIONAL, INTENT(OUT) :: err
204 REAL(KIND=sp), POINTER :: dummy_buffer
205 cpabort("This CP2K executable has not been linked against MiMiC.")
206 dummy_integer = length
207 dummy_integer = tag
208 dummy_integer = remote_id
209 err = dummy_integer
210 dummy_buffer => buffer
211 END SUBROUTINE mcl_send_sp_0d
212 SUBROUTINE mcl_send_sp_1d (buffer, length, tag, remote_id, err)
213 REAL(KIND=sp), DIMENSION(:), TARGET :: buffer
214 INTEGER :: length, tag, remote_id, dummy_integer
215 INTEGER, OPTIONAL, INTENT(OUT) :: err
216 REAL(KIND=sp), DIMENSION(:), POINTER :: dummy_buffer
217 cpabort("This CP2K executable has not been linked against MiMiC.")
218 dummy_integer = length
219 dummy_integer = tag
220 dummy_integer = remote_id
221 err = dummy_integer
222 dummy_buffer => buffer
223 END SUBROUTINE mcl_send_sp_1d
224 SUBROUTINE mcl_send_sp_2d (buffer, length, tag, remote_id, err)
225 REAL(KIND=sp), DIMENSION(:,:), TARGET :: buffer
226 INTEGER :: length, tag, remote_id, dummy_integer
227 INTEGER, OPTIONAL, INTENT(OUT) :: err
228 REAL(KIND=sp), DIMENSION(:,:), POINTER :: dummy_buffer
229 cpabort("This CP2K executable has not been linked against MiMiC.")
230 dummy_integer = length
231 dummy_integer = tag
232 dummy_integer = remote_id
233 err = dummy_integer
234 dummy_buffer => buffer
235 END SUBROUTINE mcl_send_sp_2d
236 SUBROUTINE mcl_send_sp_3d (buffer, length, tag, remote_id, err)
237 REAL(KIND=sp), DIMENSION(:,:,:), TARGET :: buffer
238 INTEGER :: length, tag, remote_id, dummy_integer
239 INTEGER, OPTIONAL, INTENT(OUT) :: err
240 REAL(KIND=sp), DIMENSION(:,:,:), POINTER :: dummy_buffer
241 cpabort("This CP2K executable has not been linked against MiMiC.")
242 dummy_integer = length
243 dummy_integer = tag
244 dummy_integer = remote_id
245 err = dummy_integer
246 dummy_buffer => buffer
247 END SUBROUTINE mcl_send_sp_3d
248 SUBROUTINE mcl_send_dp_0d (buffer, length, tag, remote_id, err)
249 REAL(KIND=dp), TARGET :: buffer
250 INTEGER :: length, tag, remote_id, dummy_integer
251 INTEGER, OPTIONAL, INTENT(OUT) :: err
252 REAL(KIND=dp), POINTER :: dummy_buffer
253 cpabort("This CP2K executable has not been linked against MiMiC.")
254 dummy_integer = length
255 dummy_integer = tag
256 dummy_integer = remote_id
257 err = dummy_integer
258 dummy_buffer => buffer
259 END SUBROUTINE mcl_send_dp_0d
260 SUBROUTINE mcl_send_dp_1d (buffer, length, tag, remote_id, err)
261 REAL(KIND=dp), DIMENSION(:), TARGET :: buffer
262 INTEGER :: length, tag, remote_id, dummy_integer
263 INTEGER, OPTIONAL, INTENT(OUT) :: err
264 REAL(KIND=dp), DIMENSION(:), POINTER :: dummy_buffer
265 cpabort("This CP2K executable has not been linked against MiMiC.")
266 dummy_integer = length
267 dummy_integer = tag
268 dummy_integer = remote_id
269 err = dummy_integer
270 dummy_buffer => buffer
271 END SUBROUTINE mcl_send_dp_1d
272 SUBROUTINE mcl_send_dp_2d (buffer, length, tag, remote_id, err)
273 REAL(KIND=dp), DIMENSION(:,:), TARGET :: buffer
274 INTEGER :: length, tag, remote_id, dummy_integer
275 INTEGER, OPTIONAL, INTENT(OUT) :: err
276 REAL(KIND=dp), DIMENSION(:,:), POINTER :: dummy_buffer
277 cpabort("This CP2K executable has not been linked against MiMiC.")
278 dummy_integer = length
279 dummy_integer = tag
280 dummy_integer = remote_id
281 err = dummy_integer
282 dummy_buffer => buffer
283 END SUBROUTINE mcl_send_dp_2d
284 SUBROUTINE mcl_send_dp_3d (buffer, length, tag, remote_id, err)
285 REAL(KIND=dp), DIMENSION(:,:,:), TARGET :: buffer
286 INTEGER :: length, tag, remote_id, dummy_integer
287 INTEGER, OPTIONAL, INTENT(OUT) :: err
288 REAL(KIND=dp), DIMENSION(:,:,:), POINTER :: dummy_buffer
289 cpabort("This CP2K executable has not been linked against MiMiC.")
290 dummy_integer = length
291 dummy_integer = tag
292 dummy_integer = remote_id
293 err = dummy_integer
294 dummy_buffer => buffer
295 END SUBROUTINE mcl_send_dp_3d
296 SUBROUTINE mcl_receive_char(buffer, length, tag, remote_id, err)
297 CHARACTER(LEN=*), TARGET :: buffer
298 INTEGER :: length, tag, remote_id, dummy_integer
299 INTEGER, OPTIONAL, INTENT(OUT) :: err
300 CHARACTER(LEN=:), ALLOCATABLE :: dummy_char
301 cpabort("This CP2K executable has not been linked against MiMiC.")
302 dummy_integer = length
303 dummy_integer = tag
304 dummy_integer = remote_id
305 err = dummy_integer
306 dummy_char = trim(buffer)
307 END SUBROUTINE mcl_receive_char
308
309 SUBROUTINE mcl_receive_i4_0d (buffer, length, tag, remote_id, err)
310 INTEGER(KIND=int_4), TARGET :: buffer
311 INTEGER :: length, tag, remote_id, dummy_integer
312 INTEGER, OPTIONAL, INTENT(OUT) :: err
313 INTEGER(KIND=int_4), POINTER :: dummy_buffer
314 cpabort("This CP2K executable has not been linked against MiMiC.")
315 dummy_integer = length
316 dummy_integer = tag
317 dummy_integer = remote_id
318 err = dummy_integer
319 dummy_buffer => buffer
320 END SUBROUTINE mcl_receive_i4_0d
321 SUBROUTINE mcl_receive_i4_1d (buffer, length, tag, remote_id, err)
322 INTEGER(KIND=int_4), DIMENSION(:), TARGET :: buffer
323 INTEGER :: length, tag, remote_id, dummy_integer
324 INTEGER, OPTIONAL, INTENT(OUT) :: err
325 INTEGER(KIND=int_4), DIMENSION(:), POINTER :: dummy_buffer
326 cpabort("This CP2K executable has not been linked against MiMiC.")
327 dummy_integer = length
328 dummy_integer = tag
329 dummy_integer = remote_id
330 err = dummy_integer
331 dummy_buffer => buffer
332 END SUBROUTINE mcl_receive_i4_1d
333 SUBROUTINE mcl_receive_i4_2d (buffer, length, tag, remote_id, err)
334 INTEGER(KIND=int_4), DIMENSION(:,:), TARGET :: buffer
335 INTEGER :: length, tag, remote_id, dummy_integer
336 INTEGER, OPTIONAL, INTENT(OUT) :: err
337 INTEGER(KIND=int_4), DIMENSION(:,:), POINTER :: dummy_buffer
338 cpabort("This CP2K executable has not been linked against MiMiC.")
339 dummy_integer = length
340 dummy_integer = tag
341 dummy_integer = remote_id
342 err = dummy_integer
343 dummy_buffer => buffer
344 END SUBROUTINE mcl_receive_i4_2d
345 SUBROUTINE mcl_receive_i4_3d (buffer, length, tag, remote_id, err)
346 INTEGER(KIND=int_4), DIMENSION(:,:,:), TARGET :: buffer
347 INTEGER :: length, tag, remote_id, dummy_integer
348 INTEGER, OPTIONAL, INTENT(OUT) :: err
349 INTEGER(KIND=int_4), DIMENSION(:,:,:), POINTER :: dummy_buffer
350 cpabort("This CP2K executable has not been linked against MiMiC.")
351 dummy_integer = length
352 dummy_integer = tag
353 dummy_integer = remote_id
354 err = dummy_integer
355 dummy_buffer => buffer
356 END SUBROUTINE mcl_receive_i4_3d
357 SUBROUTINE mcl_receive_i8_0d (buffer, length, tag, remote_id, err)
358 INTEGER(KIND=int_8), TARGET :: buffer
359 INTEGER :: length, tag, remote_id, dummy_integer
360 INTEGER, OPTIONAL, INTENT(OUT) :: err
361 INTEGER(KIND=int_8), POINTER :: dummy_buffer
362 cpabort("This CP2K executable has not been linked against MiMiC.")
363 dummy_integer = length
364 dummy_integer = tag
365 dummy_integer = remote_id
366 err = dummy_integer
367 dummy_buffer => buffer
368 END SUBROUTINE mcl_receive_i8_0d
369 SUBROUTINE mcl_receive_i8_1d (buffer, length, tag, remote_id, err)
370 INTEGER(KIND=int_8), DIMENSION(:), TARGET :: buffer
371 INTEGER :: length, tag, remote_id, dummy_integer
372 INTEGER, OPTIONAL, INTENT(OUT) :: err
373 INTEGER(KIND=int_8), DIMENSION(:), POINTER :: dummy_buffer
374 cpabort("This CP2K executable has not been linked against MiMiC.")
375 dummy_integer = length
376 dummy_integer = tag
377 dummy_integer = remote_id
378 err = dummy_integer
379 dummy_buffer => buffer
380 END SUBROUTINE mcl_receive_i8_1d
381 SUBROUTINE mcl_receive_i8_2d (buffer, length, tag, remote_id, err)
382 INTEGER(KIND=int_8), DIMENSION(:,:), TARGET :: buffer
383 INTEGER :: length, tag, remote_id, dummy_integer
384 INTEGER, OPTIONAL, INTENT(OUT) :: err
385 INTEGER(KIND=int_8), DIMENSION(:,:), POINTER :: dummy_buffer
386 cpabort("This CP2K executable has not been linked against MiMiC.")
387 dummy_integer = length
388 dummy_integer = tag
389 dummy_integer = remote_id
390 err = dummy_integer
391 dummy_buffer => buffer
392 END SUBROUTINE mcl_receive_i8_2d
393 SUBROUTINE mcl_receive_i8_3d (buffer, length, tag, remote_id, err)
394 INTEGER(KIND=int_8), DIMENSION(:,:,:), TARGET :: buffer
395 INTEGER :: length, tag, remote_id, dummy_integer
396 INTEGER, OPTIONAL, INTENT(OUT) :: err
397 INTEGER(KIND=int_8), DIMENSION(:,:,:), POINTER :: dummy_buffer
398 cpabort("This CP2K executable has not been linked against MiMiC.")
399 dummy_integer = length
400 dummy_integer = tag
401 dummy_integer = remote_id
402 err = dummy_integer
403 dummy_buffer => buffer
404 END SUBROUTINE mcl_receive_i8_3d
405 SUBROUTINE mcl_receive_sp_0d (buffer, length, tag, remote_id, err)
406 REAL(KIND=sp), TARGET :: buffer
407 INTEGER :: length, tag, remote_id, dummy_integer
408 INTEGER, OPTIONAL, INTENT(OUT) :: err
409 REAL(KIND=sp), POINTER :: dummy_buffer
410 cpabort("This CP2K executable has not been linked against MiMiC.")
411 dummy_integer = length
412 dummy_integer = tag
413 dummy_integer = remote_id
414 err = dummy_integer
415 dummy_buffer => buffer
416 END SUBROUTINE mcl_receive_sp_0d
417 SUBROUTINE mcl_receive_sp_1d (buffer, length, tag, remote_id, err)
418 REAL(KIND=sp), DIMENSION(:), TARGET :: buffer
419 INTEGER :: length, tag, remote_id, dummy_integer
420 INTEGER, OPTIONAL, INTENT(OUT) :: err
421 REAL(KIND=sp), DIMENSION(:), POINTER :: dummy_buffer
422 cpabort("This CP2K executable has not been linked against MiMiC.")
423 dummy_integer = length
424 dummy_integer = tag
425 dummy_integer = remote_id
426 err = dummy_integer
427 dummy_buffer => buffer
428 END SUBROUTINE mcl_receive_sp_1d
429 SUBROUTINE mcl_receive_sp_2d (buffer, length, tag, remote_id, err)
430 REAL(KIND=sp), DIMENSION(:,:), TARGET :: buffer
431 INTEGER :: length, tag, remote_id, dummy_integer
432 INTEGER, OPTIONAL, INTENT(OUT) :: err
433 REAL(KIND=sp), DIMENSION(:,:), POINTER :: dummy_buffer
434 cpabort("This CP2K executable has not been linked against MiMiC.")
435 dummy_integer = length
436 dummy_integer = tag
437 dummy_integer = remote_id
438 err = dummy_integer
439 dummy_buffer => buffer
440 END SUBROUTINE mcl_receive_sp_2d
441 SUBROUTINE mcl_receive_sp_3d (buffer, length, tag, remote_id, err)
442 REAL(KIND=sp), DIMENSION(:,:,:), TARGET :: buffer
443 INTEGER :: length, tag, remote_id, dummy_integer
444 INTEGER, OPTIONAL, INTENT(OUT) :: err
445 REAL(KIND=sp), DIMENSION(:,:,:), POINTER :: dummy_buffer
446 cpabort("This CP2K executable has not been linked against MiMiC.")
447 dummy_integer = length
448 dummy_integer = tag
449 dummy_integer = remote_id
450 err = dummy_integer
451 dummy_buffer => buffer
452 END SUBROUTINE mcl_receive_sp_3d
453 SUBROUTINE mcl_receive_dp_0d (buffer, length, tag, remote_id, err)
454 REAL(KIND=dp), TARGET :: buffer
455 INTEGER :: length, tag, remote_id, dummy_integer
456 INTEGER, OPTIONAL, INTENT(OUT) :: err
457 REAL(KIND=dp), POINTER :: dummy_buffer
458 cpabort("This CP2K executable has not been linked against MiMiC.")
459 dummy_integer = length
460 dummy_integer = tag
461 dummy_integer = remote_id
462 err = dummy_integer
463 dummy_buffer => buffer
464 END SUBROUTINE mcl_receive_dp_0d
465 SUBROUTINE mcl_receive_dp_1d (buffer, length, tag, remote_id, err)
466 REAL(KIND=dp), DIMENSION(:), TARGET :: buffer
467 INTEGER :: length, tag, remote_id, dummy_integer
468 INTEGER, OPTIONAL, INTENT(OUT) :: err
469 REAL(KIND=dp), DIMENSION(:), POINTER :: dummy_buffer
470 cpabort("This CP2K executable has not been linked against MiMiC.")
471 dummy_integer = length
472 dummy_integer = tag
473 dummy_integer = remote_id
474 err = dummy_integer
475 dummy_buffer => buffer
476 END SUBROUTINE mcl_receive_dp_1d
477 SUBROUTINE mcl_receive_dp_2d (buffer, length, tag, remote_id, err)
478 REAL(KIND=dp), DIMENSION(:,:), TARGET :: buffer
479 INTEGER :: length, tag, remote_id, dummy_integer
480 INTEGER, OPTIONAL, INTENT(OUT) :: err
481 REAL(KIND=dp), DIMENSION(:,:), POINTER :: dummy_buffer
482 cpabort("This CP2K executable has not been linked against MiMiC.")
483 dummy_integer = length
484 dummy_integer = tag
485 dummy_integer = remote_id
486 err = dummy_integer
487 dummy_buffer => buffer
488 END SUBROUTINE mcl_receive_dp_2d
489 SUBROUTINE mcl_receive_dp_3d (buffer, length, tag, remote_id, err)
490 REAL(KIND=dp), DIMENSION(:,:,:), TARGET :: buffer
491 INTEGER :: length, tag, remote_id, dummy_integer
492 INTEGER, OPTIONAL, INTENT(OUT) :: err
493 REAL(KIND=dp), DIMENSION(:,:,:), POINTER :: dummy_buffer
494 cpabort("This CP2K executable has not been linked against MiMiC.")
495 dummy_integer = length
496 dummy_integer = tag
497 dummy_integer = remote_id
498 err = dummy_integer
499 dummy_buffer => buffer
500 END SUBROUTINE mcl_receive_dp_3d
501
502#endif
503
504END MODULE mcl_api
505
Defines the basic variable types.
Definition kinds.F:23
integer, parameter, public int_8
Definition kinds.F:54
integer, parameter, public dp
Definition kinds.F:34
integer, parameter, public sp
Definition kinds.F:33
integer, parameter, public int_4
Definition kinds.F:51
Wrapper module for MiMiC Communication Library (MCL) routines.
Definition mcl_api.F:15
subroutine, public mcl_finalize()
Definition mcl_api.F:76
subroutine, public mcl_get_program_id(id)
Definition mcl_api.F:86
subroutine, public mcl_get_api_version(version)
Definition mcl_api.F:80