1c 2c DIM/QM MA handles 3c 4c integer k_dimxyz, l_dimxyz ! DIM coordinates 5c integer k_muind, l_muind ! Induced dipoles 6 integer k_muold, l_muold ! Last cycle's induced dipoles 7 integer k_eqmn, l_eqmn ! E-field due to QM nuclei 8 integer k_scrn, l_scrn 9 common /dimqmMA/ k_muold, l_muold, k_eqmn, 10 C l_eqmn, k_scrn, l_scrn 11c 12c DIM/QM Common Logicals 13c 14 Logical ldimqm ! Whether or not DIM/QM is true 15c Logical lcpim ! Do a CPIM calculation or not 16c Logical lpim ! Do a PIM calculation or not 17 Logical lfirst ! If this is the first DIM/QM iteration or not 18 Logical lscf ! In an scf cycle (as opposed to response) 19 Logical lclFld ! Include local fields or not 20 Logical lefield ! Include homogeneous electric field 21c Logical lnopol ! Don't include polarization operator 22c Logical lnochar ! Don't include charge operator 23c Logical lnocross ! Don't allow charge-dipole interactions 24 Logical ldda ! Use DDA-like screening withing the DIM system 25 Logical lrsp ! Inlcude DIM/QM in response equations 26 Logical lfreq ! Include external frequency in DIM/QM response 27 Logical lcmplx ! Use complex equations or not 28c Logical lfullgrid ! Used for frozen density calculations 29 Logical ldebug ! More output 30 Logical latmdip ! Print atomic dipoles 31c Logical lnograd ! Don't include DIM/QM gradients 32c Logical lgradPol ! Include DIM/QM Polariztion gradients 33c Logical lgradFF ! Include DIM/QM Force Field gradients 34 Logical dimqm_go ! Start DIM/QM cycles 35 Logical dimqm_on ! Flag to stop DIM cycles if dipoles are converged 36 Logical ldim_cpks 37 Logical dimqm_seeded ! Flag if this is a seed or non-seed system 38 Logical xyz_seeded(6) ! Same as above, but for keeping track of (+/-) xyz perturbations separately 39 Logical dimqm_noseed ! Flag to ignore seeding 40 common /dimqmLog/ ldimqm, lfirst, lscf, lclFld, 41 $ lefield, ldda, 42 $ lrsp, lfreq, lcmplx, ldebug, 43 $ latmdip, dimqm_go, ldim_cpks, dimqm_on, 44 $ dimqm_seeded, xyz_seeded, dimqm_noseed 45c 46c DIM/QM Common Integers 47c 48 Integer scrnType ! Screening type used (ERF|EXP|ESP|GAU|NONE) 49 Integer alg ! Solving algorithm 50 Integer nIter ! Number of iterations for solver 51 Integer gridspacing ! CMM grid size 52 Integer maxcolleagues! CMM max # colleagues 53 Integer intlistsize ! CMM size of interaction list 54 Integer nAtomsPerCell! CMM target atoms per cell 55 Integer nOrder ! Order of the interaction matrix 56 Integer nDIM ! Number of DIM atoms 57 Integer nDIMTypes ! Number of types 58c Integer nLow ! Low atom on this processor 59c Integer nUp ! High atom on this processor 60c Integer nAtomsProc ! # Atoms on this processer 61c Integer nOrderProc ! # Unknowns on this processer 62 Integer cleanGrads ! Method to remove rigid motion from gradients 63 Integer dimqm_rtdb ! rtdb handle for fock_2e to read in dipoles 64 Integer dimqm_geom ! geometry handle for use in dim_grid_quadv0b 65 integer g_fdens 66c integer g_dipel_i ! Imagniary component of dipole matrix due to complex local fields 67 integer g_DIM_diag ! Handle for DIM diagonal GA 68 common /dimqmInt/ scrnType, alg, nIter, gridspacing, 69 $ maxcolleagues, intlistsize, nAtomsPerCell, 70 $ nOrder, nDIM, nDIMTypes, cleanGrads, 71 $ dimqm_rtdb, dimqm_geom, g_fdens,! g_dipel_i, 72 $ g_DIM_diag 73c 74c DIM/QM Common Reals 75c 76 double precision Edimqm ! DIM/QM total energy 77 double precision volume ! DIM total volume 78 double precision multeq(3) ! Equation for radius multiplier 79 double precision dimtol ! Tolerance for the iterative solver 80 double precision dimtol0 ! Original tolerance. Used for switching 81 double precision dimtolxyz(6) 82 double precision scrnFactor ! Screening factor, erf(scrnFactor*dist) 83 double precision totcharge ! Total charge of the DIM system 84 double precision lagrange ! Lagrange multiplier 85 double precision cleanGradCUT ! Cutoff radius for number of DIM point 86 double precision finiteFieldX ! Field applied for finite-difference with local fields 87 double precision finiteFieldY 88 double precision finiteFieldZ 89 common /dimqmDP/ Edimqm, volume, multeq, dimtol, scrnFactor, 90 $ totcharge, lagrange, cleanGradCUT, finiteFieldX, 91 $ finiteFieldY, finiteFieldZ, dimtol0, dimtolxyz 92 93