(git:374b731)
Loading...
Searching...
No Matches
header.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2024 CP2K developers group <https://cp2k.org> !
4! !
5! SPDX-License-Identifier: GPL-2.0-or-later !
6!--------------------------------------------------------------------------------------------------!
7
8! **************************************************************************************************
9!> \par History
10!> none
11!> \author APSI & CJM & JGH
12! **************************************************************************************************
13MODULE header
14 USE cp2k_info, ONLY: r_cwd,&
15 r_datx,&
17 r_pid,&
19 USE kinds, ONLY: default_path_length
20#include "./base/base_uses.f90"
21
22 IMPLICIT NONE
23
24 PRIVATE
28 PUBLIC :: tmc_header, tmc_ana_header
29 PUBLIC :: sirius_header
30 PUBLIC :: tddfpt_soc_header
31
32CONTAINS
33
34! **************************************************************************************************
35!> \brief ...
36!> \param iw ...
37!> \param wdir ...
38! **************************************************************************************************
39 SUBROUTINE cp2k_header(iw, wdir)
40 INTEGER, INTENT(IN) :: iw
41 CHARACTER(LEN=default_path_length), OPTIONAL :: wdir
42
43 CHARACTER(LEN=default_path_length) :: cwd
44 INTEGER :: l
45
46 IF (iw < 0) RETURN
47 cwd = r_cwd
48 IF (PRESENT(wdir)) cwd = wdir
49 WRITE (unit=iw, &
50 fmt="(/,A,T55,A26,/,A,T51,A30,/,A,T51,A30,/,A,T71,I10)") &
51 " **** **** ****** ** PROGRAM STARTED AT ", adjustr(r_datx), &
52 " ***** ** *** *** ** PROGRAM STARTED ON ", adjustr(r_host_name(1:30)), &
53 " ** **** ****** PROGRAM STARTED BY ", adjustr(r_user_name(1:30)), &
54 " ***** ** ** ** ** PROGRAM PROCESS ID ", r_pid
55 WRITE (unit=iw, fmt="(A,T44,A37)") &
56 " **** ** ******* ** PROGRAM STARTED IN ", adjustr(cwd(1:37))
57 DO l = 38, len_trim(cwd), 37
58 WRITE (unit=iw, fmt="(T44,A)") cwd(l:min(len_trim(cwd), l + 36))
59 END DO
60
61 END SUBROUTINE cp2k_header
62
63! **************************************************************************************************
64!> \brief ...
65!> \param iw ...
66!> \param wdir ...
67! **************************************************************************************************
68 SUBROUTINE cp2k_footer(iw, wdir)
69 INTEGER, INTENT(IN) :: iw
70 CHARACTER(LEN=default_path_length), OPTIONAL :: wdir
71
72 CHARACTER(LEN=default_path_length) :: cwd
73 INTEGER :: l
74
75 IF (iw < 0) RETURN
76 cwd = r_cwd
77 IF (PRESENT(wdir)) cwd = wdir
78 WRITE (unit=iw, &
79 fmt="(A,T55,A26,/,A,T51,A30,/,A,T51,A30,/,A,T71,I10)") &
80 " **** **** ****** ** PROGRAM ENDED AT ", adjustr(r_datx), &
81 " ***** ** *** *** ** PROGRAM RAN ON ", adjustr(r_host_name(1:30)), &
82 " ** **** ****** PROGRAM RAN BY ", adjustr(r_user_name(1:30)), &
83 " ***** ** ** ** ** PROGRAM PROCESS ID ", r_pid
84 WRITE (unit=iw, fmt="(A,T44,A37)") &
85 " **** ** ******* ** PROGRAM STOPPED IN ", adjustr(cwd(1:37))
86 DO l = 38, len_trim(cwd), 37
87 WRITE (unit=iw, fmt="(T44,A)") cwd(l:min(len_trim(cwd), l + 36))
88 END DO
89 END SUBROUTINE cp2k_footer
90
91! **************************************************************************************************
92!> \brief ...
93!> \param iw ...
94! **************************************************************************************************
95 SUBROUTINE qmmm_header(iw)
96 INTEGER, INTENT(in) :: iw
97
98 IF (iw < 0) RETURN
99 WRITE (iw, '(/,(T2,A79))') &
100 "*******************************************************************************", &
101 "*******************************************************************************", &
102 "** **", &
103 "** ####### ## ## ## ## ## ## **", &
104 "** ## ## ### ### ### ### ### ### **", &
105 "** ## ## #### #### #### #### #### #### **", &
106 "** ## ## ## ### ## ## ### ## ## ### ## **", &
107 "** ## ## ## ## ## ## ## ## ## **", &
108 "** ## ## ## ## ## ## ## ## T.Laino and F.Mohamed **", &
109 "** ##### ## ## ## ## ## ## ## 2005 - 2015 **", &
110 "** **", &
111 "** Calculation Started.. **", &
112 "*******************************************************************************", &
113 "*******************************************************************************"
114
115 END SUBROUTINE qmmm_header
116
117! **************************************************************************************************
118!> \brief ...
119!> \param iw ...
120! **************************************************************************************************
121 SUBROUTINE tddfpt_header(iw)
122 INTEGER, INTENT(in) :: iw
123
124 IF (iw < 0) RETURN
125 WRITE (iw, '(/,(T2,A79))') &
126 "*******************************************************************************", &
127 "** **", &
128 "** ######## ####### ####### ######## ####### ######## **", &
129 "** ## ## ## ## ## ## ## ## ## **", &
130 "** ## ## ## ## ## ###### ####### ## **", &
131 "** ## ## ## ## ## ## ## ## **", &
132 "** ## ####### ####### ## ## ## **", &
133 "** **", &
134 "*******************************************************************************"
135
136 END SUBROUTINE tddfpt_header
137
138! **************************************************************************************************
139!> \brief ...
140!> \param iw ...
141! **************************************************************************************************
142 SUBROUTINE tddfpt_soc_header(iw)
143 INTEGER, INTENT(in) :: iw
144
145 IF (iw < 0) RETURN
146 WRITE (iw, '(/,(T2,A79))') &
147 "*******************************************************************************", &
148 "** **", &
149 "** ####### ####### ####### **", &
150 "** # ## ## ## ## **", &
151 "** ### ###### ## ## ## **", &
152 "** # ## ## ## ## **", &
153 "** ###### ####### ####### **", &
154 "** Based on the xas module from Augustin Bussy **", &
155 "*******************************************************************************"
156
157 END SUBROUTINE tddfpt_soc_header
158
159! **************************************************************************************************
160!> \brief ...
161!> \param iw ...
162! **************************************************************************************************
163 SUBROUTINE fist_header(iw)
164 INTEGER, INTENT(in) :: iw
165
166 IF (iw > 0) THEN
167 WRITE (iw, '( / )')
168 WRITE (iw, '( 14(20x,a,/) )') &
169 ' ************* ******** *********** ', &
170 ' ************* ********************** ', &
171 ' **** **** **** *********** ', &
172 ' ******** **** ******* **** ', &
173 ' ******* **** ******* **** ', &
174 ' **** **** **** **** ', &
175 ' **** **** ********** **** ', &
176 ' **** **** ******** **** ', &
177 ' FRONTIERS IN SIMULATION TECHNOLOGY ', &
178 ' ', &
179 ' C.J. Mundy, S. Balasubramanian, ', &
180 ' Ken Bagchi, J. Hutter, Ari Seitsonen ', &
181 ' IFW Kuo, T. Laino, J. VandeVondele ', &
182 ' Version 1.0 ', &
183 ' '
184 END IF
185
186 END SUBROUTINE fist_header
187
188! **************************************************************************************************
189!> \brief ...
190!> \param iw ...
191! **************************************************************************************************
192 SUBROUTINE dftb_header(iw)
193 INTEGER, INTENT(in) :: iw
194
195 IF (iw < 0) RETURN
196 WRITE (iw, '( / )')
197 WRITE (iw, '( 11(12x,a,/) )') &
198 ' ##### ##### # ###### ####### ####### ###### ', &
199 ' # # # # # # # # # # # ', &
200 ' # # # # # # # # # # ', &
201 ' # # ##### # # # ##### # ###### ', &
202 ' # # # # # # # # # # # ', &
203 ' # # # # # # # # # # # ', &
204 ' #### # ##### # ###### # # ###### ', &
205 ' ', &
206 ' Version 0.2 ', &
207 ' J. Hutter and T. Heine ', &
208 ' '
209 END SUBROUTINE dftb_header
210
211! **************************************************************************************************
212!> \brief ...
213!> \param iw ...
214! **************************************************************************************************
215 SUBROUTINE xtb_header(iw)
216 INTEGER, INTENT(in) :: iw
217
218 IF (iw < 0) RETURN
219 WRITE (iw, '( / )')
220 WRITE (iw, '( 11(16x,a,/) )') &
221 ' ##### ##### # ####### ###### ', &
222 ' # # # # # # # # ', &
223 ' # # # # ## ## # # # ', &
224 ' # # ##### # ## ## # ###### ', &
225 ' # # # # # ### # # # ', &
226 ' # # # # # ## ## # # # ', &
227 ' #### # ##### # ## ## # ###### ', &
228 ' ', &
229 ' Version 1.0 ', &
230 ' J. Hutter and A. Hehn ', &
231 ' '
232 END SUBROUTINE xtb_header
233! **************************************************************************************************
234!> \brief ...
235!> \param iw ...
236! **************************************************************************************************
237 SUBROUTINE se_header(iw)
238 INTEGER, INTENT(in) :: iw
239
240 IF (iw < 0) RETURN
241 WRITE (iw, '( / )')
242 WRITE (iw, '( 12(12x,a,/) )') &
243 ' ##### ##### # # # ###### ###### ##### ', &
244 ' # # # # # ## # # # # # # # ', &
245 ' # # # # # # # # # # # # # ', &
246 ' # # ##### # # # # # # # # # # ', &
247 ' # # # # # # # # # # # # # # ', &
248 ' # # # # # # ## # # # # # # ', &
249 ' #### # ##### # # # ###### ###### ##### ', &
250 ' ', &
251 ' T. Laino and J. Hutter ', &
252 ' ', &
253 ' 2008 - 2015 '
254
255 END SUBROUTINE se_header
256
257! **************************************************************************************************
258!> \brief ...
259!> \param iw ...
260! **************************************************************************************************
261 SUBROUTINE qs_header(iw)
262 INTEGER, INTENT(IN) :: iw
263
264 IF (iw < 0) RETURN
265 WRITE (unit=iw, fmt="(/,(T2,A79))") &
266 "*******************************************************************************", &
267 "*******************************************************************************", &
268 "** **", &
269 "** ##### ## ## **", &
270 "** ## ## ## ## ## **", &
271 "** ## ## ## ###### **", &
272 "** ## ## ## ## ## ##### ## ## #### ## ##### ##### **", &
273 "** ## ## ## ## ## ## ## ## ## ## ## ## ## ## **", &
274 "** ## ## ## ## ## ## ## #### ### ## ###### ###### **", &
275 "** ## ### ## ## ## ## ## ## ## ## ## ## **", &
276 "** ####### ##### ## ##### ## ## #### ## ##### ## **", &
277 "** ## ## **", &
278 "** **", &
279 "** ... make the atoms dance **", &
280 "** **", &
281 "** Copyright (C) by CP2K developers group (2000-2024) **", &
282 "** J. Chem. Phys. 152, 194103 (2020) **", &
283 "** **", &
284 "*******************************************************************************"
285 END SUBROUTINE qs_header
286
287! **************************************************************************************************
288!> \brief ...
289!> \param iw ...
290! **************************************************************************************************
291 SUBROUTINE atom_header(iw)
292 INTEGER, INTENT(IN) :: iw
293
294 IF (iw < 0) RETURN
295 WRITE (iw, '( / )')
296 WRITE (iw, '( 14(25x,a,/) )') &
297 ' **** ****** **** **** ', &
298 ' ** ** ****** ** ** ****** ', &
299 ' ****** ** ** ** ** ** ', &
300 ' ** ** ** **** ** ** ', &
301 ' ', &
302 ' University of Zurich ', &
303 ' 2009 - 2015 ', &
304 ' ', &
305 ' Version 0.0 ', &
306 ' '
307 END SUBROUTINE atom_header
308
309! **************************************************************************************************
310!> \brief ...
311!> \param iw ...
312! **************************************************************************************************
313 SUBROUTINE atom_footer(iw)
314 INTEGER, INTENT(IN) :: iw
315
316 IF (iw < 0) RETURN
317 WRITE (iw, '( / )')
318 WRITE (iw, '( 14(25x,a,/) )') &
319 ' NORMAL TERMINATION OF ', &
320 ' ', &
321 ' **** ****** **** **** ', &
322 ' ** ** ****** ** ** ****** ', &
323 ' ****** ** ** ** ** ** ', &
324 ' ** ** ** **** ** ** '
325
326 END SUBROUTINE atom_footer
327
328! **************************************************************************************************
329!> \brief ...
330!> \param iw ...
331!> \param ni ...
332!> \param nr ...
333!> \param np ...
334! **************************************************************************************************
335 SUBROUTINE band_header(iw, ni, nr, np)
336 INTEGER, INTENT(IN) :: iw, ni, nr, np
337
338 IF (iw < 0) RETURN
339 WRITE (unit=iw, fmt="(/,(T2,A79))") &
340 "*******************************************************************************", &
341 "*******************************************************************************", &
342 "** **", &
343 "** ######## ### ## ## ######## Nudged Elastic Band Method **", &
344 "** ## ## ## ## ### ## ## ## String Method **", &
345 "** ## ## ## ## #### ## ## ## **"
346 WRITE (unit=iw, fmt="(T2,A,T73,I5,1X,A)") &
347 "** ######## ## ## ## ## ## ## ## Number of Images :", ni, "**", &
348 "** ## ## ######### ## #### ## ## Number of Replicas:", nr, "**", &
349 "** ## ## ## ## ## ### ## ## Number of Procs/Rep:", np, "**"
350 WRITE (unit=iw, fmt="(T2,A79)") &
351 "** ######## ## ## ## ## ######## **", &
352 "** T. Laino 2009 - 2015 **", &
353 "*******************************************************************************"
354 WRITE (unit=iw, fmt="(T2,A79,/)") &
355 "*******************************************************************************"
356
357 END SUBROUTINE band_header
358
359! **************************************************************************************************
360!> \brief ...
361!> \param iw ...
362!> \param nr ...
363!> \param np ...
364! **************************************************************************************************
365 SUBROUTINE vib_header(iw, nr, np)
366 INTEGER, INTENT(IN) :: iw, nr, np
367
368 IF (iw < 0) RETURN
369 WRITE (unit=iw, fmt="(/,(T2,A79))") &
370 "*******************************************************************************", &
371 "*******************************************************************************", &
372 "** **", &
373 "** # # # # # # ## **", &
374 "** # # ### # ## ### #### ## # # ### # **", &
375 "** # # # # # ## # # # # # # ## # # # # **", &
376 "** ## # # # # # ## # # # # # # # ## # **", &
377 "** ## # ### # # # ## # ## # # # # ### **", &
378 "** **", &
379 "** ## ## # **", &
380 "** # # # # ### # # # ### ### **", &
381 "** # # ## # # # # # # ## # ## **"
382 WRITE (unit=iw, fmt="(T2,A,T73,I5,1X,A)") &
383 "** #### # # # ## # ### ## # ## N. Replicas:", nr, "**", &
384 "** # # # # # # ### # ### # ### N. Procs/Rep:", np, "**"
385 WRITE (unit=iw, fmt="(T2,A79)") &
386 "** ## **", &
387 "** T. Laino and F. Schiffmann **", &
388 "** 2008 - 2015 **", &
389 "*******************************************************************************"
390 WRITE (unit=iw, fmt="(T2,A79,/)") &
391 "*******************************************************************************"
392
393 END SUBROUTINE vib_header
394
395! **************************************************************************************************
396!> \brief ...
397!> \param iw ...
398! **************************************************************************************************
399 SUBROUTINE sirius_header(iw)
400 INTEGER, INTENT(IN) :: iw
401
402 IF (iw < 0) RETURN
403 WRITE (unit=iw, fmt="(/,(T2,A79))") &
404 "*******************************************************************************", &
405 "*******************************************************************************", &
406 "** **", &
407 "** #### ## ## #### ##### ##### #### ## #### ## ## ## #### **", &
408 "** ## #### ## ## ## ### ##### ## ## ## # ## ## ## ## **", &
409 "** #### ## # ## ## ## ##### ### ##### ## #### ## ## ## ##### **", &
410 "** ## ####### ## ## ## ### ## ## ## # ## ##### ## **", &
411 "** ## ## # ## #### ## ### #### ## ## # ## ##### #### **", &
412 "** **", &
413 "** SIRIUS: Domain specific library for electronic structure calculations **", &
414 "** **", &
415 "*******************************************************************************"
416 END SUBROUTINE sirius_header
417
418! **************************************************************************************************
419!> \brief ...
420!> \param iw ...
421! **************************************************************************************************
422 SUBROUTINE tmc_header(iw)
423 INTEGER, INTENT(IN) :: iw
424
425 IF (iw < 0) RETURN
426 WRITE (unit=iw, fmt="(/,(T2,A79))") &
427 "*******************************************************************************", &
428 "*******************************************************************************", &
429 "** **", &
430 "** ########### ### ### ###### **", &
431 "** ### #### #### ### **", &
432 "** ### ### # # ### ### **", &
433 "** ### ### # ### ### **", &
434 "** ### ### ### ###### **", &
435 "** TreeMonteCarlo Mandes Schoenherr **", &
436 "** 2009 - 2015 **", &
437 "*******************************************************************************", &
438 "*******************************************************************************"
439 END SUBROUTINE tmc_header
440
441! **************************************************************************************************
442!> \brief ...
443!> \param iw ...
444! **************************************************************************************************
445 SUBROUTINE tmc_ana_header(iw)
446 INTEGER, INTENT(IN) :: iw
447
448 IF (iw < 0) RETURN
449 WRITE (unit=iw, fmt="(/,(T2,A79))") &
450 "*******************************************************************************", &
451 "*******************************************************************************", &
452 "** **", &
453 "** ########### ### ### ###### ## ### ## ## **", &
454 "** ### #### #### ### #### #### ## #### **", &
455 "** ### ### # # ### ### ## ## ## ## ## ## ## **", &
456 "** ### ### # ### ### ###### ## #### ###### **", &
457 "** ### ### ### ###### ## ## ## ### ## ## **", &
458 "** Trajectory analyzer for TreeMonteCarlo ensembles Mandes Schoenherr **", &
459 "** 2013 - 2015 **", &
460 "*******************************************************************************", &
461 "*******************************************************************************"
462 END SUBROUTINE tmc_ana_header
463END MODULE header
464
some minimal info about CP2K, including its version and license
Definition cp2k_info.F:16
character(len=default_string_length), public r_host_name
Definition cp2k_info.F:67
integer, public r_pid
Definition cp2k_info.F:68
character(len=default_path_length), public r_cwd
Definition cp2k_info.F:66
character(len=default_string_length), public r_user_name
Definition cp2k_info.F:67
character(len=26), public r_datx
Definition cp2k_info.F:65
subroutine, public dftb_header(iw)
...
Definition header.F:193
subroutine, public vib_header(iw, nr, np)
...
Definition header.F:366
subroutine, public xtb_header(iw)
...
Definition header.F:216
subroutine, public tddfpt_header(iw)
...
Definition header.F:122
subroutine, public sirius_header(iw)
...
Definition header.F:400
subroutine, public fist_header(iw)
...
Definition header.F:164
subroutine, public qs_header(iw)
...
Definition header.F:262
subroutine, public tmc_ana_header(iw)
...
Definition header.F:446
subroutine, public atom_header(iw)
...
Definition header.F:292
subroutine, public qmmm_header(iw)
...
Definition header.F:96
subroutine, public atom_footer(iw)
...
Definition header.F:314
subroutine, public se_header(iw)
...
Definition header.F:238
subroutine, public tddfpt_soc_header(iw)
...
Definition header.F:143
subroutine, public tmc_header(iw)
...
Definition header.F:423
subroutine, public cp2k_header(iw, wdir)
...
Definition header.F:40
subroutine, public cp2k_footer(iw, wdir)
...
Definition header.F:69
subroutine, public band_header(iw, ni, nr, np)
...
Definition header.F:336
Defines the basic variable types.
Definition kinds.F:23
integer, parameter, public default_path_length
Definition kinds.F:58