-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcommons.f90
More file actions
70 lines (63 loc) · 3.17 KB
/
commons.f90
File metadata and controls
70 lines (63 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
! OPTIM: A program for optimizing geometries and calculating reaction pathways
! Copyright (C) 1999-2006 David J. Wales
! This file is part of OPTIM.
!
! OPTIM is free software; you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation; either version 2 of the License, or
! (at your option) any later version.
!
! OPTIM is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software
! Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
!
MODULE COMMONS
IMPLICIT NONE
INTEGER :: NOPT
DOUBLE PRECISION :: ZSTAR, RHO, EVDISTTHRESH, NEWRES_TEMP, PERCCUT
DOUBLE PRECISION :: PARAM1=0.0D0, PARAM2=0.0D0, PARAM3=0.0D0, PARAM4=0.0D0, PARAM5=0.0D0, PARAM6=0.0D0, PARAM7=0.0D0
LOGICAL REDOPATH, REDOPATHXYZ, RATIOS, REDOPATHNEB, MPIT, DEBUG, REAXFFDECOMPT, REAXNUMD, CHECKREAXD, REVERSEGEDIFFTOLT, SPRINGT, PERMUT
CHARACTER(LEN=10) SPRINGOPT1
CHARACTER(LEN=6) SPRINGOPT2
DOUBLE PRECISION SPRINGOPT3, SPRINGFACT
INTEGER, ALLOCATABLE, DIMENSION(:) :: NR, IATNUM ! MXATMS
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: ATMASS ! MXATMS
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: STPMAX ! 3*MXATMS
CHARACTER(LEN=5), ALLOCATABLE, DIMENSION(:) :: ZSYM ! MXATMS
DOUBLE PRECISION, ALLOCATABLE :: TAGFAC(:)
DOUBLE PRECISION, ALLOCATABLE :: RBSITE(:,:), RBSTLA(:,:), STCHRG(:), DPMU(:)
INTEGER, ALLOCATABLE :: TAGNUM(:)
INTEGER NTAG
LOGICAL TAGT, CHANGE_TEMP, PERCT
DOUBLE PRECISION, PARAMETER :: NUMBERPI=3.141592653589793115997963468544185162d0 !DACOS(-1.D0)
INTEGER, PARAMETER :: RK = KIND(1.D0) ! read kind
INTEGER, ALLOCATABLE :: SA1(:), SA2(:)
DOUBLE PRECISION, ALLOCATABLE :: SPRINGCONST1(:), SPRINGCONST2(:),SPRINGDIST(:), CURDIST(:)
DOUBLE PRECISION :: CELLDATA(9)
CONTAINS
SUBROUTINE COMMONS_DEALLOCATE()
IMPLICIT NONE
IF (ALLOCATED(NR)) DEALLOCATE(NR)
IF (ALLOCATED(IATNUM)) DEALLOCATE(IATNUM)
IF (ALLOCATED(ATMASS)) DEALLOCATE(ATMASS)
IF (ALLOCATED(STPMAX)) DEALLOCATE(STPMAX)
IF (ALLOCATED(ZSYM)) DEALLOCATE(ZSYM)
IF (ALLOCATED(TAGFAC)) DEALLOCATE(TAGFAC)
IF (ALLOCATED(RBSITE)) DEALLOCATE(RBSITE)
IF (ALLOCATED(RBSTLA)) DEALLOCATE(RBSTLA)
IF (ALLOCATED(STCHRG)) DEALLOCATE(STCHRG)
IF (ALLOCATED(DPMU)) DEALLOCATE(DPMU)
IF (ALLOCATED(TAGNUM)) DEALLOCATE(TAGNUM)
IF (ALLOCATED(SA1)) DEALLOCATE(SA1)
IF (ALLOCATED(SA2)) DEALLOCATE(SA2)
IF (ALLOCATED(SPRINGCONST1)) DEALLOCATE(SPRINGCONST1)
IF (ALLOCATED(SPRINGCONST2)) DEALLOCATE(SPRINGCONST2)
IF (ALLOCATED(SPRINGDIST)) DEALLOCATE(SPRINGDIST)
IF (ALLOCATED(CURDIST)) DEALLOCATE(CURDIST)
END SUBROUTINE COMMONS_DEALLOCATE
END MODULE COMMONS