Statistiques
| Révision :

root / src / ReadInput.f90 @ 8

Historique | Voir | Annoter | Télécharger (824 octet)

1
 SUBROUTINE ReadInput
2

    
3
! This routine reads an input template for some programs.
4
! this is a 'dispatcher' routine that calls the exact subroutine from a list.
5

    
6

    
7
  use VarTypes
8
  use Path_module, only : Prog
9
  use Io_module
10

    
11
  IMPLICIT NONE
12

    
13

    
14
  INTERFACE
15
     function valid(string) result (isValid)
16
       CHARACTER(*), intent(in) :: string
17
       logical                  :: isValid
18
     END function VALID
19
  END INTERFACE
20

    
21
  LOGICAL :: Debug
22

    
23

    
24
  Debug=Valid("readinput")
25

    
26
 if (debug) Call Header("Entering ReadInput")
27

    
28

    
29

    
30
  Select Case (Prog)
31
    CASE ("GAUSSIAN")
32
       Call ReadInput_gaussian
33
    CASE ('MOPAC')
34
       Call ReadInput_mopac
35
    CASE ("SIESTA")
36
       Call ReadInput_siesta
37
    CASE ("VASP")
38
       Call ReadInput_vasp
39
  END SELECT 
40

    
41
 if (debug) Call Header("Exiting ReadInput")
42

    
43
END SUBROUTINE ReadInput