Statistics
| Revision:

root / src / Io_module.f90 @ 5

History | View | Annotate | Download (3.4 kB)

1
MODULE Io_Module
2
! This module contains all variables related to IO
3

    
4
  use VarTypes
5

    
6
  IMPLICIT NONE
7

    
8
  SAVE
9

    
10
  INTEGER(KINT) :: IOIN=11, IOOUT=12, IOCART=14
11
  INTEGER(KINT) :: IOGEOM=15
12
  INTEGER(KINT), PARAMETER :: IOTMP=21,IOTMP2=22, IOTMP3=23
13
  INTEGER(KINT), PARAMETER :: IOERR=19
14

    
15
  TYPE Input_Line
16
     CHARACTER(LCHARS) :: Line
17
     TYPE (Input_Line), POINTER :: Prev
18
     TYPE (Input_Line), POINTER :: Next
19
  END TYPE Input_Line
20

    
21
  CHARACTER(SCHARS) :: RunMode
22

    
23
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
24
! 
25
!  Some parameters for unit conversion
26
!
27
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28

    
29
  REAL(KREAL), PARAMETER :: ev2au= 0.036749324445d0
30

    
31
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
!
33
! Variables for Gaussian input
34
!
35
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36
  TYPE (Input_line), POINTER :: Gauss_Root, Gauss_End, Gauss_Comment
37
  TYPE (Input_Line), POINTER :: Current, Previous
38

    
39
  CHARACTER(LCHARS) :: Gauss_Charge
40
  CHARACTER(LCHARS), ALLOCATABLE :: Gauss_paste(:)
41

    
42
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
43
!
44
! Variables for MOPAC input
45
!
46
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
47
  TYPE (Input_line), POINTER :: Mopac_Root, Mopac_End, Mopac_Comment
48
  TYPE (Input_Line), POINTER :: CurCom
49
  CHARACTER(LCHARS) :: Mopac_EndGeom
50

    
51
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
52
!
53
! Variables for VASP input/output
54
!
55
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
56
  CHARACTER(LCHARS) :: Vasp_Title, Vasp_Types, Vasp_comment, Vasp_direct
57
  REAL(KREAL) :: vasp_Param
58
  CHARACTER(4), ALLOCATABLE :: FFF(:,:) !(3,na)
59
  INTEGER(KINT) :: NbTypes
60
  INTEGER(KINT), PARAMETER :: MaxType=100
61
  CHARACTER(2) :: Attypes(MaxType)='  '
62
! WriteVasp controls the printing of the images coordinates in POSCAR files.
63
  LOGICAL :: WriteVasp
64

    
65
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
66
!
67
! Variables for SIESTA input
68
!
69
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
70
  TYPE (Input_line), POINTER :: Siesta_Input
71
  TYPE (Input_line), POINTER :: Siesta_Comment_Species,Siesta_Comment_Coord
72
  TYPE (Input_Line), POINTER :: CurComSpec, CurComCoord
73
  CHARACTER(LCHARS) :: Siesta_Label, Siesta_CoordFile
74
! Number of species used in Siesta
75
  INTEGER(KINT) :: Siesta_NbSpecies
76
! Mass number for each species
77
  REAL(KREAL), ALLOCATABLE :: ListSpecies(:) ! NbSpecies
78
! Name of each species
79
  CHARACTER(LCHARS), ALLOCATABLE :: Siesta_SpeciesName(:) ! NbSpecies
80
! Species for each atom
81
  INTEGER(KINT), ALLOCATABLE :: IdxSpecies(:) ! NAt
82
! What to add at the end of each coordinate line
83
  CHARACTER(LCHARS), ALLOCATABLE :: Siesta_Paste(:) ! Nat
84
! This is the unit (ang or bohr) to read/write the coordinates
85
  REAL(KREAL) :: Siesta_Unit_Read, Siesta_Unit_Write
86
! The lattice constant in case we are in periodic calculation
87
  REAL(KREAL) :: Siesta_LatticeConstant,Siesta_lat_unit
88

    
89
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
90
!
91
! For debug
92
!
93
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
94
  CHARACTER(132) :: DebugFile='Path.valid'
95

    
96
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
97
!
98
! For Printing
99
!
100
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
101
  CHARACTER(LCHARS) :: PathName
102

    
103
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
104
!
105
! For Energy+Gradient calculations
106
!
107
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
108
! CalcName: Prefix for the files used for the energy and gradient calculations
109
  CHARACTER(LCHARS) :: CalcName
110

    
111
! ISuffix: Suffix for the input file
112
  CHARACTER(LCHARS) :: ISuffix
113
! OSuffix: suffix for the output file.
114
  CHARACTER(LCHARS) :: OSuffix
115

    
116

    
117
END MODULE IO_MODULE