LCOV - code coverage report
Current view: top level - src - input_cp2k_read.F (source / functions) Coverage Total Hit
Test: CP2K Regtests (git:42dac4a) Lines: 100.0 % 13 13
Test Date: 2025-07-25 12:55:17 Functions: 100.0 % 1 1

            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              : !> \brief parse cp2k input files
      10              : !> \par History
      11              : !>      06.2004 created [fawzi]
      12              : !>      03.2014 moved into separate module [Ole Schuett]
      13              : !> \author fawzi
      14              : ! **************************************************************************************************
      15              : MODULE input_cp2k_read
      16              :    USE cp_parser_types,                 ONLY: cp_parser_type,&
      17              :                                               empty_initial_variables,&
      18              :                                               parser_create,&
      19              :                                               parser_release
      20              :    USE cp_units,                        ONLY: cp_unit_set_create,&
      21              :                                               cp_unit_set_release,&
      22              :                                               cp_unit_set_type
      23              :    USE input_parsing,                   ONLY: section_vals_parse
      24              :    USE input_section_types,             ONLY: section_type,&
      25              :                                               section_vals_create,&
      26              :                                               section_vals_type,&
      27              :                                               typo_match_section
      28              :    USE message_passing,                 ONLY: mp_para_env_type
      29              : #include "./base/base_uses.f90"
      30              : 
      31              :    IMPLICIT NONE
      32              :    PRIVATE
      33              : 
      34              :    LOGICAL, PRIVATE, PARAMETER :: debug_this_module = .TRUE.
      35              :    CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'input_cp2k_read'
      36              : 
      37              :    PUBLIC :: read_input, empty_initial_variables
      38              : 
      39              : CONTAINS
      40              : 
      41              : ! **************************************************************************************************
      42              : !> \brief reads the cp2k input from the given filepath and returns a section_vals
      43              : !>      containing the input
      44              : !> \param input_declaration ...
      45              : !> \param file_path path where the input should be read
      46              : !> \param initial_variables ...
      47              : !> \param para_env ...
      48              : !> \return ...
      49              : !> \author fawzi
      50              : ! **************************************************************************************************
      51         9832 :    FUNCTION read_input(input_declaration, file_path, initial_variables, para_env) RESULT(res)
      52              :       TYPE(section_type), POINTER                        :: input_declaration
      53              :       CHARACTER(len=*), INTENT(in)                       :: file_path
      54              :       CHARACTER(len=*), DIMENSION(:, :)                  :: initial_variables
      55              :       TYPE(mp_para_env_type), POINTER                    :: para_env
      56              :       TYPE(section_vals_type), POINTER                   :: res
      57              : 
      58              :       CHARACTER(len=*), PARAMETER                        :: routineN = 'read_input'
      59              : 
      60              :       INTEGER                                            :: handle
      61              :       TYPE(cp_parser_type)                               :: cpparser
      62              :       TYPE(cp_unit_set_type)                             :: default_units
      63              : 
      64         9832 :       CALL timeset(routineN, handle)
      65         9832 :       NULLIFY (res)
      66         9832 :       CALL section_vals_create(res, input_declaration)
      67              :       CALL parser_create(cpparser, initial_variables=initial_variables, file_name=file_path, &
      68         9832 :                          para_env=para_env)
      69         9832 :       CALL cp_unit_set_create(default_units, "OUTPUT")
      70         9832 :       typo_match_section => input_declaration
      71              :       CALL section_vals_parse(res, cpparser, root_section=.FALSE., &
      72         9832 :                               default_units=default_units)
      73         9832 :       typo_match_section => NULL()
      74         9832 :       CALL cp_unit_set_release(default_units)
      75         9832 :       CALL parser_release(cpparser)
      76         9832 :       CALL timestop(handle)
      77       127816 :    END FUNCTION read_input
      78              : 
      79              : END MODULE input_cp2k_read
        

Generated by: LCOV version 2.0-1