4
1
mirror of https://github.com/pfloos/quack synced 2024-06-25 22:52:18 +02:00

numgrid is workin

This commit is contained in:
Pierre-Francois Loos 2020-03-25 13:03:31 +01:00
parent ddb940de48
commit e3af2bb0aa
7 changed files with 90 additions and 67 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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