diff --git a/src/semi_empirical_int_ana.F b/src/semi_empirical_int_ana.F index 7923880302..5452955484 100644 --- a/src/semi_empirical_int_ana.F +++ b/src/semi_empirical_int_ana.F @@ -1050,18 +1050,22 @@ CONTAINS END IF ssss = ri(1) ! Tapering function - ft = taper ( rij ) - core(:,:) = ft*core(:,:) - ssss = ft*ssss + ft = 1.0_dp + dft= 0.0_dp + IF (itype/=0) THEN + ft = taper ( rij ) + dft= dtaper_ana ( rij ) + END IF ! If no orbitals are present on the atom let's zero the integral contribution IF (sepi%natorb == -1) core(:,1) = 0.0_dp IF (sepj%natorb == -1) core(:,2) = 0.0_dp - ! - dssss = dri(1) - ! Tapering function - dft= dtaper_ana ( rij ) + ! First derivatives.. + dssss = dri(1) dcore(:,:) = ft*dcore(:,:)+dft*core(:,:) - dssss = ft*dssss+dft*ssss + dssss = ft*dssss+dft*ssss + ! Then values of functions + core(:,:) = ft*core(:,:) + ssss = ft*ssss ! If no orbitals are present on the atom let's zero the integral contribution IF (sepi%natorb == -1) dcore(:,1) = 0.0_dp IF (sepj%natorb == -1) dcore(:,2) = 0.0_dp diff --git a/src/semi_empirical_integrals.F b/src/semi_empirical_integrals.F index c072b89f39..3678f7822a 100644 --- a/src/semi_empirical_integrals.F +++ b/src/semi_empirical_integrals.F @@ -1394,7 +1394,8 @@ CONTAINS ssss = ri(1) ! Tapering function - ft = taper ( rij ) + ft = 1.0_dp + IF (itype /=0) ft = taper ( rij ) core(:,:) = ft*core(:,:) ssss = ft*ssss ! If no orbitals are present on the atom let's zero the integral contribution diff --git a/tests/QMMM/SE/regtest/TEST_FILES b/tests/QMMM/SE/regtest/TEST_FILES index b2cda5a89e..3304b04cd2 100644 --- a/tests/QMMM/SE/regtest/TEST_FILES +++ b/tests/QMMM/SE/regtest/TEST_FILES @@ -16,3 +16,4 @@ water_3_full.inp 7 #QMMM Walls water_3_NOwalls.inp 2 water_3_walls.inp 2 +zwitt.inp 2 diff --git a/tests/QMMM/SE/regtest/zwitt.inp b/tests/QMMM/SE/regtest/zwitt.inp new file mode 100644 index 0000000000..9c63efc3ab --- /dev/null +++ b/tests/QMMM/SE/regtest/zwitt.inp @@ -0,0 +1,100 @@ + +&FORCE_EVAL + METHOD QMMM + &DFT + &QS + METHOD AM1 + EXTRAPOLATION USE_PREV_WF + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 50 + EPS_SCF 1.0E-6 + &OT + PRECONDITIONER NONE + MINIMIZER DIIS + &END + &OUTER_SCF + MAX_SCF 5 + EPS_SCF 1.0E-6 + &END + &END SCF + &END DFT + &MM + &FORCEFIELD + parm_file_name ../sample_pot/zwitt.pot + parmtype CHM + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE spme + ALPHA .4 + GMAX 60 + &END EWALD + &END POISSON + &END MM + &QMMM + &CELL + ABC 15.0 15.0 15.0 + UNIT ANGSTROM + &END CELL + ECOUPL COULOMB + NOCENTER + + &MM_KIND H1 + RADIUS 0.44 + &END MM_KIND + &MM_KIND H2 + RADIUS 0.44 + &END MM_KIND + &MM_KIND O + RADIUS 0.78 + &END MM_KIND + + &QM_KIND H + MM_INDEX 2 3 4 7 + &END QM_KIND + &QM_KIND O + MM_INDEX 8 + &END QM_KIND + &QM_KIND N + MM_INDEX 1 6 + &END QM_KIND + &QM_KIND C + MM_INDEX 5 + &END QM_KIND + &END QMMM + &SUBSYS + &CELL + ABC 50.0 50.0 50.0 + UNIT ANGSTROM + &END CELL + &TOPOLOGY + CONN_FILE ../sample_psf/zwitt.psf + CONNECTIVITY PSF + COORD_FILE_NAME ../sample_pdb/zwitt.pdb + COORDINATE PDB + &END TOPOLOGY + &END SUBSYS +&END FORCE_EVAL +&GLOBAL + FFTLIB FFTSG + PRINT_LEVEL LOW + PROJECT DEBUG + RUN_TYPE MD +&END GLOBAL +&MOTION + &MD + ENSEMBLE NVE + STEPS 5 + TIMESTEP 0.5 + TEMPERATURE 300 + &END MD + &PRINT + &TRAJECTORY + ADD_LAST NO + &END + &VELOCITIES OFF + &END + &END +&END MOTION diff --git a/tests/QMMM/SE/sample_pdb/zwitt.pdb b/tests/QMMM/SE/sample_pdb/zwitt.pdb new file mode 100644 index 0000000000..49d6b2f459 --- /dev/null +++ b/tests/QMMM/SE/sample_pdb/zwitt.pdb @@ -0,0 +1,15 @@ +CRYST1 34.781 35.010 35.149 90.00 90.00 90.00 P 1 1 +ATOM 1 N1 MOL M 1 18.347 16.987 18.758 1.00 0.00 ML01 N +ATOM 2 H1 MOL M 1 19.231 16.392 18.981 1.00 0.00 ML01 H +ATOM 3 H2 MOL M 1 17.567 16.604 19.364 1.00 0.00 ML01 H +ATOM 4 H3 MOL M 1 18.496 17.955 19.163 1.00 0.00 ML01 H +ATOM 5 C1 MOL M 1 18.047 17.026 17.206 1.00 0.00 ML01 C +ATOM 6 N2 MOL M 1 18.253 15.958 16.315 1.00 0.00 ML01 N +ATOM 7 H4 MOL M 1 18.060 15.850 15.299 1.00 0.00 ML01 H +ATOM 8 O1 MOL M 1 17.507 18.020 16.842 1.00 0.00 ML01 O +ATOM 54 O WAT M 17 2.133 35.301 11.605 1.00 0.00 ML02 O +ATOM 55 H1 WAT M 17 1.968 34.389 11.774 1.00 0.00 ML02 H +ATOM 56 H2 WAT M 17 1.664 35.484 10.785 1.00 0.00 ML02 H +ATOM 60 O WAT M 19 32.501 32.805 6.785 1.00 0.00 ML02 O +ATOM 61 H1 WAT M 19 31.756 33.342 6.964 1.00 0.00 ML02 H +ATOM 62 H2 WAT M 19 32.473 32.647 5.803 1.00 0.00 ML02 H diff --git a/tests/QMMM/SE/sample_pot/zwitt.pot b/tests/QMMM/SE/sample_pot/zwitt.pot new file mode 100644 index 0000000000..52f3fe2029 --- /dev/null +++ b/tests/QMMM/SE/sample_pot/zwitt.pot @@ -0,0 +1,104 @@ +*>>>>>>> AMBER FF Converted into CHARMM FF style <<<<<<< +*>>>>>>> Generated on :: 20070525 192950.667 +0200 by :: teo <<<<<<< +*>>>>>>> pcihpc07 <<<<<<< +*>>>>>>> Leap Title :: MOL <<<<<<< +*>>>>>>> Send all comments related to the FFs conversion to <<<<<<< +*>>>>>>> teodoro.laino@gmail.com <<<<<<< + +BONDS +! +!V(bond) = Kb(b - b0)**2 +! +!Kb: kcal/mole/A**2 +!b0: A +! +!atom type Kb b0 +! +n4 hn1 369.000000000 1.033000000 +n2 hn2 375.500000000 1.029000000 +HW OW 553.000000000 0.957200000 +HW HW 553.000000000 1.513600000 +n4 c 255.500000000 1.546000000 +c n2 374.600000000 1.420000000 +c o 648.000000000 1.214000000 + +ANGLES +! +!V(angle) = Ktheta(Theta - Theta0)**2 +! +!V(Urey-Bradley) = Kub(S - S0)**2 +! +!Ktheta: kcal/mole/rad**2 +!Theta0: degrees +!Kub: kcal/mole/A**2 (Urey-Bradley) +!S0: A +! +!atom types Ktheta Theta0 Kub S0 +! +hn1 n4 hn1 40.500000000 108.110046161 +hn1 n4 c 44.700000000 110.860047626 +c n2 hn2 51.500000000 126.500054215 +n4 c n2 64.700000000 114.640049017 +n4 c o 69.600000000 118.830050985 +n2 c o 73.000000000 122.500052501 + +DIHEDRALS +! +!V(dihedral) = Kchi(1 + cos(n(chi) - delta)) +! +!Kchi: kcal/mole +!n: multiplicity +!delta: degrees +! +!atom types Kchi n delta +! +n4 c n2 hn2 4.150000000 2 180.000077144 +hn1 n4 c n2 0.188888889 3 0.000000000 +hn1 n4 c o 0.188888889 3 0.000000000 +hn2 n2 c o 4.150000000 2 180.000077144 +n4 n2 c o 10.500000000 2 180.000077144 + +IMPROPER +! +!V(improper) = Kpsi(psi - psi0)**2 +! +!Kpsi: kcal/mole/rad**2 +!psi0: degrees +!note that the second column of numbers (0) is ignored +! +!atom types Kpsi psi0 +! + +NONBONDED +! +!V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] +! +!epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) +!Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j +! +!atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 +! +n4 0.000000000 0.170000000 1.824000000 +hn1 0.000000000 0.015700000 0.600000000 +c 0.000000000 0.086000000 1.908000000 +n2 0.000000000 0.170000000 1.824000000 +hn2 0.000000000 0.015700000 0.600000000 +o 0.000000000 0.210000000 1.661200000 +OW 0.000000000 0.152000000 1.768300000 +HW 0.000000000 0.000000000 0.000000000 + +END + +! +! This Section can be cutted & pasted into the Fist input file.. +! +CHARGES +n4 -0.353000000 +hn1 0.283000000 +c 0.801000000 +n2 -1.024000000 +hn2 0.408000000 +o -0.681000000 +OW -0.834000000 +HW 0.417000000 +END CHARGES diff --git a/tests/QMMM/SE/sample_psf/zwitt.psf b/tests/QMMM/SE/sample_psf/zwitt.psf new file mode 100644 index 0000000000..169276cb3c --- /dev/null +++ b/tests/QMMM/SE/sample_psf/zwitt.psf @@ -0,0 +1,50 @@ +PSF EXT + + 1 !NTITLE + Conversion from AMBER PARMTOP ::MOL + + 14 !NATOM + 1 MOL01 1 MOL N1 n4 -0.353000 14.010 0 + 2 MOL01 1 MOL H1 hn1 0.283000 1.008 0 + 3 MOL01 1 MOL H2 hn1 0.283000 1.008 0 + 4 MOL01 1 MOL H3 hn1 0.283000 1.008 0 + 5 MOL01 1 MOL C1 c 0.801000 12.010 0 + 6 MOL01 1 MOL N2 n2 -1.024000 14.010 0 + 7 MOL01 1 MOL H4 hn2 0.408000 1.008 0 + 8 MOL01 1 MOL O1 o -0.681000 16.000 0 + 9 MOL02 2 WAT O OW -0.834000 16.000 0 + 10 MOL02 2 WAT H1 HW 0.417000 1.008 0 + 11 MOL02 2 WAT H2 HW 0.417000 1.008 0 + 12 MOL02 3 WAT O OW -0.834000 16.000 0 + 13 MOL02 3 WAT H1 HW 0.417000 1.008 0 + 14 MOL02 3 WAT H2 HW 0.417000 1.008 0 + + 13 !NBOND + 1 2 1 3 1 4 6 7 + 10 9 11 9 11 10 13 12 + 14 12 14 13 1 5 5 6 + 5 8 + + 10 !NTHETA + 2 1 3 2 1 4 2 1 5 + 3 1 4 3 1 5 4 1 5 + 5 6 7 1 5 6 1 5 8 + 6 5 8 + + 9 !NPHI + 1 5 6 7 2 1 5 6 + 2 1 5 8 3 1 5 6 + 3 1 5 8 4 1 5 6 + 4 1 5 8 7 6 5 8 + 1 6 5 8 + + 0 !NIMPHI + + 0 !NDON + + 0 !NACC + + 0 !NNB + + 0 !NGRP +