LCOV - code coverage report
Current view: top level - src - header.F (source / functions) Coverage Total Hit
Test: CP2K Regtests (git:936074a) Lines: 94.1 % 270 254
Test Date: 2025-12-04 06:27:48 Functions: 94.7 % 19 18

            Line data    Source code
       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              : !> \par History
      10              : !>      none
      11              : !> \author APSI & CJM & JGH
      12              : ! **************************************************************************************************
      13              : MODULE header
      14              :    USE cp2k_info,                       ONLY: r_cwd,&
      15              :                                               r_host_name,&
      16              :                                               r_pid,&
      17              :                                               r_timestamp,&
      18              :                                               r_user_name
      19              :    USE kinds,                           ONLY: default_path_length
      20              : #include "./base/base_uses.f90"
      21              : 
      22              :    IMPLICIT NONE
      23              : 
      24              :    PRIVATE
      25              :    PUBLIC :: cp2k_header, cp2k_footer, vib_header
      26              :    PUBLIC :: fist_header, se_header, dftb_header, qs_header, tddfpt_header, rixs_header
      27              :    PUBLIC :: qmmm_header, atom_header, atom_footer, band_header, xtb_header, tblite_header
      28              :    PUBLIC :: tmc_header, tmc_ana_header
      29              :    PUBLIC :: sirius_header
      30              :    PUBLIC :: tddfpt_soc_header
      31              : 
      32              : CONTAINS
      33              : 
      34              : ! **************************************************************************************************
      35              : !> \brief ...
      36              : !> \param iw ...
      37              : !> \param wdir ...
      38              : ! **************************************************************************************************
      39         9881 :    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         9881 :       IF (iw < 0) RETURN
      47         5044 :       cwd = r_cwd
      48         5044 :       IF (PRESENT(wdir)) cwd = wdir
      49              :       WRITE (UNIT=iw, &
      50              :              FMT="(/,A,T55,A26,/,A,T51,A30,/,A,T51,A30,/,A,T71,I10)") &
      51         5044 :          "  **** **** ******  **  PROGRAM STARTED AT ", ADJUSTR(r_timestamp), &
      52         5044 :          " ***** ** ***  *** **   PROGRAM STARTED ON ", ADJUSTR(r_host_name(1:30)), &
      53         5044 :          " **    ****   ******    PROGRAM STARTED BY ", ADJUSTR(r_user_name(1:30)), &
      54        10088 :          " ***** **    ** ** **   PROGRAM PROCESS ID ", r_pid
      55              :       WRITE (UNIT=iw, FMT="(A,T44,A37)") &
      56         5044 :          "  **** **  *******  **  PROGRAM STARTED IN ", ADJUSTR(cwd(1:37))
      57        10129 :       DO l = 38, LEN_TRIM(cwd), 37
      58        10129 :          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         5078 :    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         5078 :       IF (iw < 0) RETURN
      76         5077 :       cwd = r_cwd
      77         5077 :       IF (PRESENT(wdir)) cwd = wdir
      78              :       WRITE (UNIT=iw, &
      79              :              FMT="(A,T55,A26,/,A,T51,A30,/,A,T51,A30,/,A,T71,I10)") &
      80         5077 :          "  **** **** ******  **  PROGRAM ENDED AT   ", ADJUSTR(r_timestamp), &
      81         5077 :          " ***** ** ***  *** **   PROGRAM RAN ON     ", ADJUSTR(r_host_name(:30)), &
      82         5077 :          " **    ****   ******    PROGRAM RAN BY     ", ADJUSTR(r_user_name(:30)), &
      83        10154 :          " ***** **    ** ** **   PROGRAM PROCESS ID ", r_pid
      84              :       WRITE (UNIT=iw, FMT="(A,T44,A37)") &
      85         5077 :          "  **** **  *******  **  PROGRAM STOPPED IN ", ADJUSTR(cwd(1:37))
      86        10195 :       DO l = 38, LEN_TRIM(cwd), 37
      87        10195 :          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          394 :    SUBROUTINE qmmm_header(iw)
      96              :       INTEGER, INTENT(in)                                :: iw
      97              : 
      98          394 :       IF (iw < 0) RETURN
      99              :       WRITE (iw, '(/,(T2,A79))') &
     100          199 :          "*******************************************************************************", &
     101          199 :          "*******************************************************************************", &
     102          199 :          "**                                                                           **", &
     103          199 :          "**             #######  ##     ## ##     ## ##     ##                        **", &
     104          199 :          "**            ##     ## ###   ### ###   ### ###   ###                        **", &
     105          199 :          "**            ##     ## #### #### #### #### #### ####                        **", &
     106          199 :          "**            ##     ## ## ### ## ## ### ## ## ### ##                        **", &
     107          199 :          "**            ##  ## ## ##     ## ##     ## ##     ##                        **", &
     108          199 :          "**            ##    ##  ##     ## ##     ## ##     ##  T.Laino and F.Mohamed **", &
     109          199 :          "**             ##### ## ##     ## ##     ## ##     ##  2005 - 2015           **", &
     110          199 :          "**                                                                           **", &
     111          199 :          "**                                                     Calculation Started.. **", &
     112          199 :          "*******************************************************************************", &
     113          398 :          "*******************************************************************************"
     114              : 
     115              :    END SUBROUTINE qmmm_header
     116              : 
     117              : ! **************************************************************************************************
     118              : !> \brief ...
     119              : !> \param iw ...
     120              : ! **************************************************************************************************
     121         1116 :    SUBROUTINE tddfpt_header(iw)
     122              :       INTEGER, INTENT(in)                                :: iw
     123              : 
     124         1116 :       IF (iw < 0) RETURN
     125              :       WRITE (iw, '(/,(T2,A79))') &
     126          558 :          "*******************************************************************************", &
     127          558 :          "**                                                                           **", &
     128          558 :          "**         ######## #######   #######   ######## #######  ########           **", &
     129          558 :          "**            ##    ##     ## ##     ## ##       ##   ##     ##              **", &
     130          558 :          "**            ##    ##     ## ##     ## ######   #######     ##              **", &
     131          558 :          "**            ##    ##     ## ##     ## ##       ##          ##              **", &
     132          558 :          "**            ##    #######   #######   ##       ##          ##              **", &
     133          558 :          "**                                                                           **", &
     134         1116 :          "*******************************************************************************"
     135              : 
     136              :    END SUBROUTINE tddfpt_header
     137              : 
     138              : ! **************************************************************************************************
     139              : !> \brief ...
     140              : !> \param iw ...
     141              : ! **************************************************************************************************
     142            8 :    SUBROUTINE tddfpt_soc_header(iw)
     143              :       INTEGER, INTENT(in)                                :: iw
     144              : 
     145            8 :       IF (iw < 0) RETURN
     146              :       WRITE (iw, '(/,(T2,A79))') &
     147            4 :          "*******************************************************************************", &
     148            4 :          "**                                                                           **", &
     149            4 :          "**                            ####### ####### #######                        **", &
     150            4 :          "**                        #   ##      ##   ## ##                             **", &
     151            4 :          "**                       ###  ######  ##   ## ##                             **", &
     152            4 :          "**                        #       ##  ##   ## ##                             **", &
     153            4 :          "**                            ######  ####### #######                        **", &
     154            4 :          "**                 Based on the xas module from Augustin Bussy               **", &
     155            8 :          "*******************************************************************************"
     156              : 
     157              :    END SUBROUTINE tddfpt_soc_header
     158              : 
     159              : ! **************************************************************************************************
     160              : !> \brief ...
     161              : !> \param iw ...
     162              : ! **************************************************************************************************
     163         2643 :    SUBROUTINE fist_header(iw)
     164              :       INTEGER, INTENT(in)                                :: iw
     165              : 
     166         2643 :       IF (iw > 0) THEN
     167         1435 :          WRITE (iw, '( / )')
     168              :          WRITE (iw, '( 14(20x,a,/) )') &
     169         1435 :             '  ************* ******** ***********   ', &
     170         1435 :             ' ************* **********************  ', &
     171         1435 :             ' ****     **** ****      ***********   ', &
     172         1435 :             ' ******** ****  *******     ****       ', &
     173         1435 :             ' *******  ****   *******   ****        ', &
     174         1435 :             ' ****     ****       ****  ****        ', &
     175         1435 :             ' ****     **** **********  ****        ', &
     176         1435 :             '  ****     **** ********    ****       ', &
     177         1435 :             ' FRONTIERS IN SIMULATION TECHNOLOGY    ', &
     178         1435 :             '                                       ', &
     179         1435 :             '    C.J. Mundy, S. Balasubramanian,    ', &
     180         1435 :             ' Ken Bagchi, J. Hutter, Ari Seitsonen  ', &
     181         1435 :             '  IFW Kuo, T. Laino, J. VandeVondele   ', &
     182         1435 :             '             Version 1.0               ', &
     183         2870 :             '                                       '
     184              :       END IF
     185              : 
     186         2643 :    END SUBROUTINE fist_header
     187              : 
     188              : ! **************************************************************************************************
     189              : !> \brief ...
     190              : !> \param iw ...
     191              : ! **************************************************************************************************
     192          222 :    SUBROUTINE dftb_header(iw)
     193              :       INTEGER, INTENT(in)                                :: iw
     194              : 
     195          222 :       IF (iw < 0) RETURN
     196          111 :       WRITE (iw, '( / )')
     197              :       WRITE (iw, '( 11(12x,a,/) )') &
     198          111 :          '  #####   #####        # ######  ####### ####### ######   ', &
     199          111 :          ' #     # #     #      #  #     # #          #    #     #  ', &
     200          111 :          ' #     # #           #   #     # #          #    #     #  ', &
     201          111 :          ' #     #  #####     #    #     # #####      #    ######   ', &
     202          111 :          ' #   # #       #   #     #     # #          #    #     #  ', &
     203          111 :          ' #    #  #     #  #      #     # #          #    #     #  ', &
     204          111 :          '  #### #  #####  #       ######  #          #    ######   ', &
     205          111 :          '                                                          ', &
     206          111 :          '                        Version 0.2                       ', &
     207          111 :          '                   J. Hutter and T. Heine                 ', &
     208          222 :          '                                                          '
     209              :    END SUBROUTINE dftb_header
     210              : 
     211              : ! **************************************************************************************************
     212              : !> \brief ...
     213              : !> \param iw ...
     214              : !> \param gfn_type ...
     215              : ! **************************************************************************************************
     216          940 :    SUBROUTINE xtb_header(iw, gfn_type)
     217              :       INTEGER, INTENT(in)                                :: iw, gfn_type
     218              : 
     219          940 :       IF (iw < 0) RETURN
     220          475 :       WRITE (iw, '( / )')
     221              :       WRITE (iw, '( 7(16x,a,/) )') &
     222          475 :          '  #####   #####        #          ####### ######   ', &
     223          475 :          ' #     # #     #      #              #    #     #  ', &
     224          475 :          ' #     # #           #    ##   ##    #    #     #  ', &
     225          475 :          ' #     #  #####     #      ## ##     #    ######   ', &
     226          475 :          ' #   # #       #   #        ###      #    #     #  ', &
     227          475 :          ' #    #  #     #  #        ## ##     #    #     #  ', &
     228          950 :          '  #### #  #####  #        ##   ##    #    ######   '
     229              : 
     230          810 :       SELECT CASE (gfn_type)
     231              :       CASE (0)
     232          335 :          WRITE (iw, '( 34x,a )') ' GFN0-xTB '
     233              :       CASE (1)
     234          140 :          WRITE (iw, '( 34x,a )') ' GFN1-xTB '
     235              :       CASE (2)
     236          475 :          WRITE (iw, '( 34x,a )') ' GFN2-xTB '
     237              :       CASE DEFAULT
     238              :       END SELECT
     239              : 
     240              :       WRITE (iw, '( 2(16x,a,/) )') &
     241          475 :          '                 Version 1.1                       ', &
     242          950 :          '            J. Hutter and A. Hehn                  '
     243              : 
     244              :    END SUBROUTINE xtb_header
     245              : 
     246              : ! **************************************************************************************************
     247              : !> \brief ...
     248              : !> \param iw ...
     249              : !> \param tb_type ...
     250              : ! **************************************************************************************************
     251            0 :    SUBROUTINE tblite_header(iw, tb_type)
     252              :       INTEGER, INTENT(in)                                :: iw, tb_type
     253              : 
     254            0 :       IF (iw < 0) RETURN
     255            0 :       WRITE (iw, '( / )')
     256              :       WRITE (iw, '( 7(16x,a,/) )') &
     257            0 :          '  #####   #####        #     #   #     #       #          ', &
     258            0 :          ' #     # #     #      #    ##### #     #   # #####  ####  ', &
     259            0 :          ' #     # #           #       #   ###   #       #   #    # ', &
     260            0 :          ' #     #  #####     #        #   #  #  #   #   #   ###### ', &
     261            0 :          ' #   # #       #   #         #   #   # #   #   #   #      ', &
     262            0 :          ' #    #  #     #  #          #   #  #  # # #   #    #   # ', &
     263            0 :          '  #### #  #####  #           #   ###   ##  #   #     ###  '
     264              : 
     265            0 :       SELECT CASE (tb_type)
     266              :       CASE (1)
     267            0 :          WRITE (iw, '( 34x,a )') ' GFN1-xTB  '
     268              :       CASE (2)
     269            0 :          WRITE (iw, '( 34x,a )') ' GFN2-xTB  '
     270              :       CASE (3)
     271            0 :          WRITE (iw, '( 34x,a )') ' IPEA1-xTB '
     272              :       CASE DEFAULT
     273              :       END SELECT
     274              : 
     275              :       WRITE (iw, '( 2(16x,a,/) )') &
     276            0 :          '                 Version 0.0                       ', &
     277            0 :          '            Johann V. Pototschnig                  '
     278              : 
     279              :    END SUBROUTINE tblite_header
     280              : 
     281              : ! **************************************************************************************************
     282              : !> \brief ...
     283              : !> \param iw ...
     284              : ! **************************************************************************************************
     285          998 :    SUBROUTINE se_header(iw)
     286              :       INTEGER, INTENT(in)                                :: iw
     287              : 
     288          998 :       IF (iw < 0) RETURN
     289          500 :       WRITE (iw, '( / )')
     290              :       WRITE (iw, '( 12(12x,a,/) )') &
     291          500 :          '  #####   #####        # #     # ######  ######   #####  ', &
     292          500 :          ' #     # #     #      #  ##    # #     # #     # #     # ', &
     293          500 :          ' #     # #           #   # #   # #     # #     # #     # ', &
     294          500 :          ' #     #  #####     #    #  #  # #     # #     # #     # ', &
     295          500 :          ' #   # #       #   #     #   # # #     # #     # #     # ', &
     296          500 :          ' #    #  #     #  #      #    ## #     # #     # #     # ', &
     297          500 :          '  #### #  #####  #       #     # ######  ######   #####  ', &
     298          500 :          '                                                         ', &
     299          500 :          '                  T. Laino and J. Hutter                 ', &
     300          500 :          '                                                         ', &
     301         1000 :          '                       2008 - 2015                       '
     302              : 
     303              :    END SUBROUTINE se_header
     304              : 
     305              : ! **************************************************************************************************
     306              : !> \brief ...
     307              : !> \param iw ...
     308              : ! **************************************************************************************************
     309         5278 :    SUBROUTINE qs_header(iw)
     310              :       INTEGER, INTENT(IN)                                :: iw
     311              : 
     312         5278 :       IF (iw < 0) RETURN
     313              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     314         2664 :          "*******************************************************************************", &
     315         2664 :          "*******************************************************************************", &
     316         2664 :          "**                                                                           **", &
     317         2664 :          "**     #####                         ##              ##                      **", &
     318         2664 :          "**    ##   ##            ##          ##              ##                      **", &
     319         2664 :          "**   ##     ##                       ##            ######                    **", &
     320         2664 :          "**   ##     ##  ##   ##  ##   #####  ##  ##   ####   ##    #####    #####    **", &
     321         2664 :          "**   ##     ##  ##   ##  ##  ##      ## ##   ##      ##   ##   ##  ##   ##   **", &
     322         2664 :          "**   ##  ## ##  ##   ##  ##  ##      ####     ###    ##   ######   ######    **", &
     323         2664 :          "**    ##  ###   ##   ##  ##  ##      ## ##      ##   ##   ##       ##        **", &
     324         2664 :          "**     #######   #####   ##   #####  ##  ##  ####    ##    #####   ##        **", &
     325         2664 :          "**           ##                                                    ##        **", &
     326         2664 :          "**                                                                           **", &
     327         2664 :          "**                                                ... make the atoms dance   **", &
     328         2664 :          "**                                                                           **", &
     329         2664 :          "**            Copyright (C) by CP2K developers group (2000-2025)             **", &
     330         2664 :          "**                      J. Chem. Phys. 152, 194103 (2020)                    **", &
     331         2664 :          "**                                                                           **", &
     332         5328 :          "*******************************************************************************"
     333              :    END SUBROUTINE qs_header
     334              : 
     335              : ! **************************************************************************************************
     336              : !> \brief ...
     337              : !> \param iw ...
     338              : ! **************************************************************************************************
     339          362 :    SUBROUTINE atom_header(iw)
     340              :       INTEGER, INTENT(IN)                                :: iw
     341              : 
     342          362 :       IF (iw < 0) RETURN
     343          181 :       WRITE (iw, '( / )')
     344              :       WRITE (iw, '( 14(25x,a,/) )') &
     345          181 :          '  ****  ******  ****   ****   ', &
     346          181 :          ' **  ** ****** **  ** ******  ', &
     347          181 :          ' ******   **   **  ** **  **  ', &
     348          181 :          ' **  **   **    ****  **  **  ', &
     349          181 :          '                              ', &
     350          181 :          '    University of Zurich      ', &
     351          181 :          '        2009 - 2015           ', &
     352          181 :          '                              ', &
     353          181 :          '        Version 0.0           ', &
     354          362 :          '                                          '
     355              :    END SUBROUTINE atom_header
     356              : 
     357              : ! **************************************************************************************************
     358              : !> \brief ...
     359              : !> \param iw ...
     360              : ! **************************************************************************************************
     361          362 :    SUBROUTINE atom_footer(iw)
     362              :       INTEGER, INTENT(IN)                                :: iw
     363              : 
     364          362 :       IF (iw < 0) RETURN
     365          181 :       WRITE (iw, '( / )')
     366              :       WRITE (iw, '( 14(25x,a,/) )') &
     367          181 :          '    NORMAL TERMINATION OF     ', &
     368          181 :          '                              ', &
     369          181 :          '  ****  ******  ****   ****   ', &
     370          181 :          ' **  ** ****** **  ** ******  ', &
     371          181 :          ' ******   **   **  ** **  **  ', &
     372          362 :          ' **  **   **    ****  **  **  '
     373              : 
     374              :    END SUBROUTINE atom_footer
     375              : 
     376              : ! **************************************************************************************************
     377              : !> \brief ...
     378              : !> \param iw ...
     379              : !> \param ni ...
     380              : !> \param nr ...
     381              : !> \param np ...
     382              : ! **************************************************************************************************
     383           34 :    SUBROUTINE band_header(iw, ni, nr, np)
     384              :       INTEGER, INTENT(IN)                                :: iw, ni, nr, np
     385              : 
     386           34 :       IF (iw < 0) RETURN
     387              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     388           17 :          "*******************************************************************************", &
     389           17 :          "*******************************************************************************", &
     390           17 :          "**                                                                           **", &
     391           17 :          "**  ########     ###    ##    ## ########    Nudged Elastic Band Method      **", &
     392           17 :          "**  ##     ##   ## ##   ###   ## ##     ##   String Method                   **", &
     393           34 :          "**  ##     ##  ##   ##  ####  ## ##     ##                                   **"
     394              :       WRITE (UNIT=iw, FMT="(T2,A,T73,I5,1X,A)") &
     395           17 :          "**  ########  ##     ## ## ## ## ##     ##   Number of Images :", ni, "**", &
     396           17 :          "**  ##     ## ######### ##  #### ##     ##   Number of Replicas:", nr, "**", &
     397           34 :          "**  ##     ## ##     ## ##   ### ##     ##   Number of Procs/Rep:", np, "**"
     398              :       WRITE (UNIT=iw, FMT="(T2,A79)") &
     399           17 :          "**  ########  ##     ## ##    ## ########                                    **", &
     400           17 :          "**                                           T. Laino  2009 - 2015           **", &
     401           34 :          "*******************************************************************************"
     402              :       WRITE (UNIT=iw, FMT="(T2,A79,/)") &
     403           17 :          "*******************************************************************************"
     404              : 
     405              :    END SUBROUTINE band_header
     406              : 
     407              : ! **************************************************************************************************
     408              : !> \brief ...
     409              : !> \param iw ...
     410              : !> \param nr ...
     411              : !> \param np ...
     412              : ! **************************************************************************************************
     413           54 :    SUBROUTINE vib_header(iw, nr, np)
     414              :       INTEGER, INTENT(IN)                                :: iw, nr, np
     415              : 
     416           54 :       IF (iw < 0) RETURN
     417              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     418           27 :          "*******************************************************************************", &
     419           27 :          "*******************************************************************************", &
     420           27 :          "**                                                                           **", &
     421           27 :          "**  #  #   #    #                  #     #                      ##           **", &
     422           27 :          "**  #  #        ###   # ##   ###  ####         ##   # #    ###   #           **", &
     423           27 :          "**  #  #   #    #  #  ##    #  #   #     #    #  #  ## #  #  #   #           **", &
     424           27 :          "**   ##    #    #  #  #     # ##   #     #    #  #  #  #  # ##   #           **", &
     425           27 :          "**   ##    #    ###   #      # #    ##   #     ##   #  #   # #  ###          **", &
     426           27 :          "**                                                                           **", &
     427           27 :          "**   ##               ##                 #                                   **", &
     428           27 :          "**  #  #  # #    ###   #    #  #   ###         ###                           **", &
     429           54 :          "**  #  #  ## #  #  #   #    #  #  ##     #    ##                             **"
     430              :       WRITE (UNIT=iw, FMT="(T2,A,T73,I5,1X,A)") &
     431           27 :          "**  ####  #  #  # ##   #     ###    ##   #      ##  N. Replicas:", nr, "**", &
     432           54 :          "**  #  #  #  #   # #  ###      #  ###    #    ###   N. Procs/Rep:", np, "**"
     433              :       WRITE (UNIT=iw, FMT="(T2,A79)") &
     434           27 :          "**                           ##                                              **", &
     435           27 :          "**                                       T. Laino  and F. Schiffmann         **", &
     436           27 :          "**                                       2008 - 2015                         **", &
     437           54 :          "*******************************************************************************"
     438              :       WRITE (UNIT=iw, FMT="(T2,A79,/)") &
     439           27 :          "*******************************************************************************"
     440              : 
     441              :    END SUBROUTINE vib_header
     442              : 
     443              : ! **************************************************************************************************
     444              : !> \brief ...
     445              : !> \param iw ...
     446              : ! **************************************************************************************************
     447           20 :    SUBROUTINE sirius_header(iw)
     448              :       INTEGER, INTENT(IN)                                :: iw
     449              : 
     450           20 :       IF (iw < 0) RETURN
     451              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     452           10 :          "*******************************************************************************", &
     453           10 :          "*******************************************************************************", &
     454           10 :          "**                                                                           **", &
     455           10 :          "**   #### ##   ## ####  ##### #####           #### ## ####  ## ## ##  ####   **", &
     456           10 :          "**   ## ####   ## ## ## ###   #####          ##    ## ##  # ## ## ## ##      **", &
     457           10 :          "**   #### ## # ## ## ## #####  ###           ##### ## ####  ## ## ## #####   **", &
     458           10 :          "**   ##   ####### ## ## ##     ###              ## ## ## #  ## #####    ##   **", &
     459           10 :          "**   ##   ## # ## ####  ##     ###           ####  ## ##  # ## ##### ####    **", &
     460           10 :          "**                                                                           **", &
     461           10 :          "**   SIRIUS: Domain specific library for electronic structure calculations   **", &
     462           10 :          "**                                                                           **", &
     463           20 :          "*******************************************************************************"
     464              :    END SUBROUTINE sirius_header
     465              : 
     466              : ! **************************************************************************************************
     467              : !> \brief ...
     468              : !> \param iw ...
     469              : ! **************************************************************************************************
     470           14 :    SUBROUTINE tmc_header(iw)
     471              :       INTEGER, INTENT(IN)                                :: iw
     472              : 
     473           14 :       IF (iw < 0) RETURN
     474              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     475           14 :          "*******************************************************************************", &
     476           14 :          "*******************************************************************************", &
     477           14 :          "**                                                                           **", &
     478           14 :          "**                      ###########  ###     ###    ######                   **", &
     479           14 :          "**                          ###      ####   ####   ###                       **", &
     480           14 :          "**                          ###      ### # # ###  ###                        **", &
     481           14 :          "**                          ###      ###  #  ###   ###                       **", &
     482           14 :          "**                          ###      ###     ###    ######                   **", &
     483           14 :          "**  TreeMonteCarlo                                        Mandes Schoenherr  **", &
     484           14 :          "**                                                        2009 - 2015        **", &
     485           14 :          "*******************************************************************************", &
     486           28 :          "*******************************************************************************"
     487              :    END SUBROUTINE tmc_header
     488              : 
     489              : ! **************************************************************************************************
     490              : !> \brief ...
     491              : !> \param iw ...
     492              : ! **************************************************************************************************
     493            6 :    SUBROUTINE tmc_ana_header(iw)
     494              :       INTEGER, INTENT(IN)                                :: iw
     495              : 
     496            6 :       IF (iw < 0) RETURN
     497              :       WRITE (UNIT=iw, FMT="(/,(T2,A79))") &
     498            6 :          "*******************************************************************************", &
     499            6 :          "*******************************************************************************", &
     500            6 :          "**                                                                           **", &
     501            6 :          "**  ###########  ###     ###    ######              ##    ###   ##    ##     **", &
     502            6 :          "**      ###      ####   ####   ###                 ####   ####  ##   ####    **", &
     503            6 :          "**      ###      ### # # ###  ###                 ##  ##  ## ## ##  ##  ##   **", &
     504            6 :          "**      ###      ###  #  ###   ###                ######  ##  ####  ######   **", &
     505            6 :          "**      ###      ###     ###    ######            ##  ##  ##   ###  ##  ##   **", &
     506            6 :          "**  Trajectory analyzer for TreeMonteCarlo ensembles      Mandes Schoenherr  **", &
     507            6 :          "**                                                        2013 - 2015        **", &
     508            6 :          "*******************************************************************************", &
     509           12 :          "*******************************************************************************"
     510              :    END SUBROUTINE tmc_ana_header
     511              : ! **************************************************************************************************
     512              : !> \brief ...
     513              : !> \param iw ...
     514              : ! **************************************************************************************************
     515            7 :    SUBROUTINE rixs_header(iw)
     516              :       INTEGER, INTENT(IN)                                :: iw
     517              : 
     518            7 :       IF (iw < 0) RETURN
     519              :       WRITE (iw, "(/,(T2,A79))") &
     520            7 :          "*******************************************************************************", &
     521            7 :          "**                   ########   ####  ##     ##   ######                     **", &
     522            7 :          "**                   ##     ##   ##    ##   ##   ##                          **", &
     523            7 :          "**                   ########    ##      ###      ######                     **", &
     524            7 :          "**                   ##   ##     ##     ## ##          ##                    **", &
     525            7 :          "**                   ##     ##  ####  ##     ##   ######                     **", &
     526            7 :          "**              Resonant Inelastic X-RAY Scattering calculations             **", &
     527           14 :          "*******************************************************************************"
     528              : 
     529              :    END SUBROUTINE rixs_header
     530              : END MODULE header
     531              : 
        

Generated by: LCOV version 2.0-1