Statistiques
| Révision :

root / src / Io_module.f90 @ 7

Historique | Voir | Annoter | Télécharger (3,3 ko)

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, IODAT=16
12
  INTEGER(KINT), PARAMETER :: IOTMP=21,IOTMP2=22, IOTMP3=23
13
  INTEGER(KINT), PARAMETER :: IOERR=19
14
  CHARACTER(SCHARS) :: RunMode
15

    
16
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17
! 
18
!  Some parameters for unit conversion
19
!
20
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21

    
22
  REAL(KREAL), PARAMETER :: ev2au= 0.036749324445d0
23

    
24
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25
!
26
! Variables for Gaussian input
27
!
28
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
  TYPE (Input_line), POINTER :: Gauss_Root, Gauss_End, Gauss_Comment
30
  TYPE (Input_Line), POINTER :: Current, Previous
31

    
32
  CHARACTER(LCHARS) :: Gauss_Charge
33
  CHARACTER(LCHARS), ALLOCATABLE :: Gauss_paste(:)
34

    
35
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36
!
37
! Variables for MOPAC input
38
!
39
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
40
  TYPE (Input_line), POINTER :: Mopac_Root, Mopac_End, Mopac_Comment
41
  TYPE (Input_Line), POINTER :: CurCom
42
  CHARACTER(LCHARS) :: Mopac_EndGeom
43

    
44
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
45
!
46
! Variables for VASP input/output
47
!
48
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
49
  CHARACTER(LCHARS) :: Vasp_Title, Vasp_Types, Vasp_comment, Vasp_direct
50
  REAL(KREAL) :: vasp_Param
51
  CHARACTER(4), ALLOCATABLE :: FFF(:,:) !(3,na)
52
  INTEGER(KINT) :: NbTypes
53
  INTEGER(KINT), PARAMETER :: MaxType=100
54
  CHARACTER(2) :: Attypes(MaxType)='  '
55
! WriteVasp controls the printing of the images coordinates in POSCAR files.
56
  LOGICAL :: WriteVasp
57

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

    
82
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
83
!
84
! For debug
85
!
86
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
87
  CHARACTER(132) :: DebugFile='Path.valid'
88

    
89
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
90
!
91
! For Printing
92
!
93
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
94
  CHARACTER(LCHARS) :: PathName
95

    
96
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
97
!
98
! For Energy+Gradient calculations
99
!
100
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
101
! CalcName: Prefix for the files used for the energy and gradient calculations
102
  CHARACTER(LCHARS) :: CalcName
103

    
104
! ISuffix: Suffix for the input file
105
  CHARACTER(LCHARS) :: ISuffix
106
! OSuffix: suffix for the output file.
107
  CHARACTER(LCHARS) :: OSuffix
108

    
109

    
110
END MODULE IO_MODULE