diff --git a/input/basis b/input/basis index 1ea2746..e484073 100644 --- a/input/basis +++ b/input/basis @@ -1,30 +1,38 @@ 1 6 S 8 - 1 2940.0000000 0.0006800 - 2 441.2000000 0.0052360 - 3 100.5000000 0.0266060 - 4 28.4300000 0.0999930 - 5 9.1690000 0.2697020 - 6 3.1960000 0.4514690 - 7 1.1590000 0.2950740 - 8 0.1811000 0.0125870 + 1 1469.0000000 0.0007660 + 2 220.5000000 0.0058920 + 3 50.2600000 0.0296710 + 4 14.2400000 0.1091800 + 5 4.5810000 0.2827890 + 6 1.5800000 0.4531230 + 7 0.5640000 0.2747740 + 8 0.0734500 0.0097510 S 8 - 1 2940.0000000 -0.0001230 - 2 441.2000000 -0.0009660 - 3 100.5000000 -0.0048310 - 4 28.4300000 -0.0193140 - 5 9.1690000 -0.0532800 - 6 3.1960000 -0.1207230 - 7 1.1590000 -0.1334350 - 8 0.1811000 0.5307670 + 1 1469.0000000 -0.0001200 + 2 220.5000000 -0.0009230 + 3 50.2600000 -0.0046890 + 4 14.2400000 -0.0176820 + 5 4.5810000 -0.0489020 + 6 1.5800000 -0.0960090 + 7 0.5640000 -0.1363800 + 8 0.0734500 0.5751020 S 1 - 1 0.0589000 1.0000000 + 1 0.0280500 1.0000000 P 3 - 1 3.6190000 0.0291110 - 2 0.7110000 0.1693650 - 3 0.1951000 0.5134580 + 1 1.5340000 0.0227840 + 2 0.2749000 0.1391070 + 3 0.0736200 0.5003750 P 1 - 1 0.0601800 1.0000000 + 1 0.0240300 1.0000000 D 1 - 1 0.2380000 1.0000000 - + 1 0.1239000 1.0000000 +2 3 +S 3 + 1 13.0100000 0.0196850 + 2 1.9620000 0.1379770 + 3 0.4446000 0.4781480 +S 1 + 1 0.1220000 1.0000000 +P 1 + 1 0.7270000 1.0000000 diff --git a/input/dft b/input/dft index bc4839a..c3760f9 100644 --- a/input/dft +++ b/input/dft @@ -15,7 +15,7 @@ # Hartree-Fock = 666 1 RVWN5 # quadrature grid SG-n - 1 + 2 # Number of states in ensemble (nEns) 2 # Ensemble weights: wEns(1),...,wEns(nEns-1) diff --git a/input/molecule b/input/molecule index 6a6f6d1..e76247c 100644 --- a/input/molecule +++ b/input/molecule @@ -1,4 +1,5 @@ # nAt nEla nElb nCore nRyd - 1 2 2 0 0 + 2 2 2 0 0 # Znuc x y z - Be 0.0 0.0 0.0 + Li 0. 0. 0. + H 0. 0. 3.099 diff --git a/input/molecule.xyz b/input/molecule.xyz index 8023e37..fb94244 100644 --- a/input/molecule.xyz +++ b/input/molecule.xyz @@ -1,3 +1,4 @@ - 1 + 2 - Be 0.0000000000 0.0000000000 0.0000000000 + Li 0.0000000000 0.0000000000 0.0000000000 + H 0.0000000000 0.0000000000 1.6399202947 diff --git a/input/weight b/input/weight index 1ea2746..e484073 100644 --- a/input/weight +++ b/input/weight @@ -1,30 +1,38 @@ 1 6 S 8 - 1 2940.0000000 0.0006800 - 2 441.2000000 0.0052360 - 3 100.5000000 0.0266060 - 4 28.4300000 0.0999930 - 5 9.1690000 0.2697020 - 6 3.1960000 0.4514690 - 7 1.1590000 0.2950740 - 8 0.1811000 0.0125870 + 1 1469.0000000 0.0007660 + 2 220.5000000 0.0058920 + 3 50.2600000 0.0296710 + 4 14.2400000 0.1091800 + 5 4.5810000 0.2827890 + 6 1.5800000 0.4531230 + 7 0.5640000 0.2747740 + 8 0.0734500 0.0097510 S 8 - 1 2940.0000000 -0.0001230 - 2 441.2000000 -0.0009660 - 3 100.5000000 -0.0048310 - 4 28.4300000 -0.0193140 - 5 9.1690000 -0.0532800 - 6 3.1960000 -0.1207230 - 7 1.1590000 -0.1334350 - 8 0.1811000 0.5307670 + 1 1469.0000000 -0.0001200 + 2 220.5000000 -0.0009230 + 3 50.2600000 -0.0046890 + 4 14.2400000 -0.0176820 + 5 4.5810000 -0.0489020 + 6 1.5800000 -0.0960090 + 7 0.5640000 -0.1363800 + 8 0.0734500 0.5751020 S 1 - 1 0.0589000 1.0000000 + 1 0.0280500 1.0000000 P 3 - 1 3.6190000 0.0291110 - 2 0.7110000 0.1693650 - 3 0.1951000 0.5134580 + 1 1.5340000 0.0227840 + 2 0.2749000 0.1391070 + 3 0.0736200 0.5003750 P 1 - 1 0.0601800 1.0000000 + 1 0.0240300 1.0000000 D 1 - 1 0.2380000 1.0000000 - + 1 0.1239000 1.0000000 +2 3 +S 3 + 1 13.0100000 0.0196850 + 2 1.9620000 0.1379770 + 3 0.4446000 0.4781480 +S 1 + 1 0.1220000 1.0000000 +P 1 + 1 0.7270000 1.0000000 diff --git a/src/eDFT/build_grid.f90 b/src/eDFT/build_grid.f90 index 046fb90..de3b956 100644 --- a/src/eDFT/build_grid.f90 +++ b/src/eDFT/build_grid.f90 @@ -30,6 +30,7 @@ subroutine build_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom, ! Local variables + logical :: dump_grid = .false. integer :: iNuc integer :: iG @@ -66,8 +67,8 @@ subroutine build_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom, num_points = numgrid_get_num_grid_points(context) call numgrid_get_grid(context,nNuc,center_index,rNuc(:,1),rNuc(:,2),rNuc(:,3),int(ZNuc(:)), & - root(1,iG+1:num_points),root(2,iG+1:num_points),root(3,iG+1:num_points), & - weight(iG+1:num_points)) + root(1,iG+1:iG+num_points),root(2,iG+1:iG+num_points),root(3,iG+1:iG+num_points), & + weight(iG+1:iG+num_points)) iG = iG + num_points @@ -81,13 +82,17 @@ subroutine build_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom, ! Print grid - write(*,*) ' ***********************' - write(*,*) ' *** QUADRATURE GRID ***' - write(*,*) ' ***********************' - write(*,'(A10,3X,3A15)') 'Grid point','X','Y','Z' - do iG=1,nGrid - write(*,'(I10,3X,4F15.10)') iG,weight(iG),root(:,iG) - end do - write(*,*) + if(dump_grid) then + + write(*,*) ' ***********************' + write(*,*) ' *** QUADRATURE GRID ***' + write(*,*) ' ***********************' + write(*,'(A10,3X,3A15)') 'Grid point','X','Y','Z' + do iG=1,nGrid + write(*,'(I10,3X,4F15.10)') iG,weight(iG),root(:,iG) + end do + write(*,*) + + end if end subroutine build_grid diff --git a/src/eDFT/eDFT.f90 b/src/eDFT/eDFT.f90 index 8c9a84d..e8dd7f2 100644 --- a/src/eDFT/eDFT.f90 +++ b/src/eDFT/eDFT.f90 @@ -134,17 +134,17 @@ program eDFT ! Construct quadrature grid !------------------------------------------------------------------------ call read_grid(SGn,radial_precision,nRad,nAng,nGrid) - nGrid = nRad*nAng +! nGrid = nRad*nAng -! call allocate_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom,min_exponent,max_exponent, & -! radial_precision,nRad,nAng,nGrid) + call allocate_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom,min_exponent,max_exponent, & + radial_precision,nRad,nAng,nGrid) allocate(root(ncart,nGrid),weight(nGrid)) - call quadrature_grid(nRad,nAng,nGrid,root,weight) +! call quadrature_grid(nRad,nAng,nGrid,root,weight) -! call build_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom,min_exponent,max_exponent, & -! radial_precision,nRad,nAng,nGrid,weight,root) + call build_grid(nNuc,ZNuc,rNuc,nShell,TotAngMomShell,ExpShell,max_ang_mom,min_exponent,max_exponent, & + radial_precision,nRad,nAng,nGrid,weight,root) !------------------------------------------------------------------------ ! Calculate AO values at grid points