1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2! Copyright 2010. Los Alamos National Security, LLC. This material was ! 3! produced under U.S. Government contract DE-AC52-06NA25396 for Los Alamos ! 4! National Laboratory (LANL), which is operated by Los Alamos National ! 5! Security, LLC for the U.S. Department of Energy. The U.S. Government has ! 6! rights to use, reproduce, and distribute this software. NEITHER THE ! 7! GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY, LLC MAKES ANY WARRANTY, ! 8! EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS ! 9! SOFTWARE. If software is modified to produce derivative works, such ! 10! modified software should be clearly marked, so as not to confuse it ! 11! with the version available from LANL. ! 12! ! 13! Additionally, this program is free software; you can redistribute it ! 14! and/or modify it under the terms of the GNU General Public License as ! 15! published by the Free Software Foundation; version 2.0 of the License. ! 16! Accordingly, this program is distributed in the hope that it will be ! 17! useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ! 18! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ! 19! Public License for more details. ! 20!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 21 22MODULE CONSTANTS_MOD 23 24 USE MYPRECISION 25 26 IMPLICIT NONE 27 SAVE 28 29 INTEGER :: NATS, NMAT, NOINT, NOELEM, HDIM 30 INTEGER :: CONTROL, RELAXME, PBCON, RESTART, MDON 31 INTEGER :: XBOON, XBODISON, XBODISORDER 32 INTEGER :: SCFS, SCFS_II 33 INTEGER :: LCNON, LCNITER 34 INTEGER :: ELECTRO, ELECMETH 35 INTEGER :: PPOTON, PLUSDON, VDWON 36 INTEGER :: FULLQCONV, QITER 37 INTEGER :: EMETH, CGORLIB 38 INTEGER :: SPINON, SPARSEON 39 INTEGER :: ORDERNMOL 40 INTEGER :: MAXSCF, MINSP2ITER 41 INTEGER :: VARDT 42 INTEGER :: NORECS, ENTROPYKIND 43 INTEGER :: DEBUGON, FITON 44 INTEGER :: BLKSZ ! Block size when using DBCSR 45 INTEGER :: NGPU ! Number of GPUs (blimey!) 46 INTEGER :: NUMSCF 47 INTEGER :: CHARGE 48 INTEGER :: KON ! K-SPACE FLAG 49 INTEGER :: COMPFORCE 50 INTEGER :: SPONLY ! If we only have sp-bonded elements: faster gradH 51 INTEGER :: DOSFITON, INT2FIT, NFITSTEP, QFIT ! For the simulated annealing 52 INTEGER :: PP2FIT, BINT2FIT, PPNFITSTEP, PPNMOL, PPNGEOM, BINFITSTEP 53 INTEGER :: PPFITON, ALLFITON 54 INTEGER :: MDADAPT 55 INTEGER :: PARREP 56 INTEGER :: VERBOSE = 0 57 INTEGER :: MIXER 58 INTEGER :: RSLEVEL 59 INTEGER :: RESTARTLIB 60 INTEGER :: FREEZE 61 INTEGER :: NEWSYSTEMLATTE 62 REAL(LATTEPREC) :: BOX(3,3), BOX_OLD(3,3), BOXDIMS(3) 63 REAL(LATTEPREC) :: BNDFIL, TOTNE 64 REAL(LATTEPREC) :: COVE, TOTE, ENTE, KEE, ECOUL, EREP, TRRHOH 65 REAL(LATTEPREC) :: ESPIN, ESPIN_ZERO 66 REAL(LATTEPREC) :: EPLUSD 67 REAL(LATTEPREC) :: MINEVAL, MAXEVAL, MAXMINUSMIN 68 REAL(LATTEPREC) :: CHEMPOT, KBT 69 REAL(LATTEPREC) :: EGAP, EHOMO, ELUMO 70 REAL(LATTEPREC) :: CHTOL, SPINTOL 71 REAL(LATTEPREC) :: ELEC_ETOL, ELEC_QTOL 72 REAL(LATTEPREC) :: QMIX, SPINMIX, MDMIX 73 REAL(LATTEPREC) :: BREAKTOL 74 REAL(LATTEPREC) :: SUMMASS, MASSDEN 75 REAL(LATTEPREC) :: MCBETA, MCSIGMA ! Temperature in simulated annealing 76 REAL(LATTEPREC) :: PPBETA, PPSIGMA 77 CHARACTER(LEN = 3) :: SP2CONV 78 CHARACTER(LEN = 20) :: BASISTYPE, SCLTYPE !scltype controls whether we do exp or tabular integrals 79 80 CHARACTER(LEN = 100) :: PARAMPATH = "./TBparam" 81 CHARACTER(LEN = 100) :: COORDSFILE = "./bl/inputblock.dat" 82 83 ! For the latte lib 84 CHARACTER(LEN = 20) :: JOB 85 LOGICAL :: LIBINIT = .FALSE. 86 INTEGER :: LIBCALLS = 0 87 LOGICAL(1) :: EXISTERROR 88 LOGICAL :: LIBRUN = .FALSE. 89 LOGICAL :: STOPATMAXSCF 90 91 !For the new input file parser 92 CHARACTER(LEN = 1000) :: LATTEINNAME = "latte.in" 93 LOGICAL :: LATTEINEXISTS 94 95 !! For truncated SP2 and entropy calculation 96 INTEGER :: SCFSTEP = 0 97 INTEGER :: OCCSTEPS 98 REAL(LATTEPREC) :: TSCALE 99 REAL(LATTEPREC) :: OCCERRLIMIT, TRACELIMIT, EPS 100 101 ! Some often-used constants 102 103 REAL(LATTEPREC), PARAMETER :: MVV2KE = 166.0538782/1.602176487 104 REAL(LATTEPREC), PARAMETER :: KE2T = 1.0/0.000086173435 105 REAL(LATTEPREC), PARAMETER :: F2V = 9.6484504393669415d-003 106 REAL(LATTEPREC), PARAMETER :: TOGPA = 160.2176487 107 REAL(LATTEPREC), PARAMETER :: MVV2T = 1660538.782/1.3806504 108 ! REAL(LATTEPREC), PARAMETER :: PI = 3.14159265358979323846264D0 109 REAL(LATTEPREC), PARAMETER :: PI = TWO*ACOS(ZERO) 110 111END MODULE CONSTANTS_MOD 112