9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-08 20:53:31 +01:00

Merge branch 'dev-lcpq' of github.com:QuantumPackage/qp2 into dev-lcpq

This commit is contained in:
Anthony Scemama 2019-06-04 11:39:11 +02:00
commit a1c9ec2503
22 changed files with 21454 additions and 152 deletions

View File

@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags
#
[OPT]
FC : -traceback
FCFLAGS : -xAVX -O2 -ip -ftz -g
FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g
# Profiling flags
#################

View File

@ -31,14 +31,14 @@ OPENMP : 1 ; Append OpenMP flags
# -ftz : Flushes denormal results to zero
#
[OPT]
FCFLAGS : -xAVX -O2 -ip -ftz -g -traceback
FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g -traceback
# Profiling flags
#################
#
[PROFILE]
FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz
FCFLAGS : -march=corei7 -O2 -ip -ftz
# Debugging flags

View File

@ -263,4 +263,16 @@ vtz_mclean-chandler 'McLean/Chandler VTZ' VTZ Vale
vtzp_binning-curtiss 'Binning/Curtiss VTZP' VTZP Valence Triple Zeta + Polarization
wachters+f 'Wachters+f' VDZP Valence Double Zeta + Polarization on All Atoms
aug-cc-pvdz_ecp_ncsu 'aug-cc-pvdz ecp ncsu' augmented cc-pvDz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
aug-cc-pvtz_ecp_ncsu 'aug-cc-pvtz ecp ncsu' augmented cc-pvTz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
aug-cc-pvqz_ecp_ncsu 'aug-cc-pvqz ecp ncsu' augmented cc-pvQz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
aug-cc-pv5z_ecp_ncsu 'aug-cc-pv5z ecp ncsu' augmented cc-pv5z basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
cc-pvdz_ecp_ncsu 'cc-pvdz ecp ncsu' cc-pvDz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
cc-pvtz_ecp_ncsu 'cc-pvtz ecp ncsu' cc-pvTz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
cc-pvqz_ecp_ncsu 'cc-pvqz ecp ncsu' cc-pvQz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
cc-pv5z_ecp_ncsu 'cc-pv5z ecp ncsu' cc-pv5z basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
# ; vim::nowrap

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3512
data/basis/cc-pv5z_ecp_ncsu Normal file

File diff suppressed because it is too large Load Diff

1772
data/basis/cc-pvdz_ecp_ncsu Normal file

File diff suppressed because it is too large Load Diff

2888
data/basis/cc-pvqz_ecp_ncsu Normal file

File diff suppressed because it is too large Load Diff

2308
data/basis/cc-pvtz_ecp_ncsu Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,56 +1,46 @@
H GEN 0 1
3
-10.851924053 2 21.7769665504
1.0 1 21.2435950826
21.2435950826 3 21.2435950826
1.00000000000000 1 21.24359508259891
21.24359508259891 3 21.24359508259891
-10.85192405303825 2 21.77696655044365
1
0.0 2 1.0
0.00000000000000 2 1.000000000000000
C GEN 2 1
B GEN 2 1
3
4.0 1 14.43502
57.74008 3 8.39889
-25.81955 2 7.38188
3.00000 1 31.49298
94.47895 3 22.56509
-9.74800 2 8.64669
1
52.13345 2 7.76079
20.74800 2 4.06246
Cl GEN 10 2
C GEN 2 1
3
7.0 1 22.71655173
159.01586213 3 78.57185685
-15.6531065 2 7.47352436
2
6.50888648 2 17.23708573
46.763467 2 4.31148447
2
2.9946477 2 11.38275704
28.0170341 2 3.83218762
4.00000 1 14.43502
57.74008 3 8.39889
-25.81955 2 7.38188
1
52.13345 2 7.76079
Co GEN 10 2
4
17.0 1 24.7400138129
420.580234819 3 23.5426031368
-194.630579018 2 24.0406241364
-2.94301943013 2 10.237411369
N GEN 2 1
6
3.25000 1 12.91881
1.75000 1 9.22825
41.98612 3 12.96581
16.14945 3 8.05477
-26.09522 2 12.54876
-10.32626 2 7.53360
2
270.86974114 2 23.0205711168
54.1910212498 2 10.9219568474
2
200.63032558 2 25.3244045243
38.9480947892 2 10.6533915029
34.77692 2 9.41609
15.20330 2 8.16694
Cr GEN 10 2
4
14.0 1 18.2809107439
255.932750414 3 17.0980065531
-132.018263171 2 16.7226727605
-0.773887613451 2 5.02865105891
2
219.481462096 2 16.9007876081
28.079331766 2 7.33662150761
2
139.983968717 2 17.3197451654
19.5483578632 2 6.92409757503
O GEN 2 1
3
6.000000 1 12.30997
73.85984 3 14.76962
-47.87600 2 13.71419
1
85.86406 2 13.65512
F GEN 2 1
3
@ -60,124 +50,214 @@ F GEN 2 1
1
51.3934743997 2 11.3903478843
Fe GEN 10 2
4
16.0 1 23.2209171361
371.534674178 3 23.5471467972
-181.226034452 2 23.4725634461
-2.3730523614 2 9.85238815041
2
277.500325475 2 22.2106269743
46.2049558527 2 9.51515800919
2
194.998750566 2 24.5700087185
31.6794513291 2 8.86648776669
Mn GEN 10 2
4
15.0 1 21.9061889166
328.592833748 3 21.3460106503
-162.049880237 2 21.2709151562
-1.85679609726 2 7.90771171833
2
244.669998154 2 18.9263045646
33.5399867643 2 8.31114792811
2
162.350195446 2 20.162449313
24.1593874179 2 7.79269955633
Ni GEN 10 2
4
18.0 1 37.839331506
681.107967108 3 23.875701156
-173.162219465 2 19.8803935987
0.34274858261 2 3.56565870195
2
91.6513902571 2 13.545098213
331.659352198 2 27.7907700999
2
7.5147228016 2 6.46792786898
265.586894944 2 23.6921476759
O GEN 2 1
Na GEN 10 2
3
6.0 1 12.30997
73.85984 3 14.76962
-47.876 2 13.71419
1
85.86406 2 13.65512
1.000000 1 4.311678
4.311678 3 1.925689
-2.083137 2 1.549498
2
6.234064 2 5.377666
9.075931 2 1.408414
2
3.232724 2 1.379949
2.494079 2 0.862453
Mg GEN 10 2
3
2.000000 1 6.048538
12.097075 3 2.796989
-17.108313 2 2.547408
2
6.428631 2 5.936017
14.195491 2 1.592891
2
3.315069 2 1.583969
4.403025 2 1.077297
Al GEN 2 1
3
11.000000 1 11.062056
121.682619 3 12.369778
-82.624567 2 11.965444
2
25.157259 2 81.815564
113.067525 2 24.522883
Si GEN 10 2
3
4.000000 1 5.168316
20.673264 3 8.861690
-14.818174 2 3.933474
2
14.832760 2 9.447023
26.349664 2 2.553812
2
7.621400 2 3.660001
10.331583 2 1.903653
P GEN 2 1
3
13.000000 1 15.073300
195.952906 3 18.113176
-117.611086 2 17.371539
2
25.197230 2 101.982019
189.426261 2 37.485881
S GEN 2 1
3
14.00000000 1 17.46806994
244.55297916 3 16.40396851
-128.37752591 2 16.71429998
14.000000 1 17.977612
251.686565 3 20.435964
-135.538891 2 19.796579
2
30.00006536 2 54.87912854
125.50010056 2 31.32968867
25.243283 2 111.936344
227.060768 2 43.941844
Cl GEN 2 1
3
15.000000 1 22.196266
332.943994 3 26.145117
-161.999982 2 25.015118
2
26.837357 2 124.640433
277.296696 2 52.205433
Ar GEN 2 1
3
16.000000 1 23.431337
374.901386 3 26.735872
-178.039517 2 26.003325
2
25.069215 2 135.620522
332.151842 2 60.471053
Sc GEN 10 2
4
11.0 1 16.0484863686
176.533350054 3 14.07764439
-83.673420518 2 11.993486653
0.331064789149 2 3.75115298216
11.00000000 1 16.02394388
176.26338271 3 14.08647403
-83.68149599 2 11.93985121
0.43282764 2 3.69440111
2
153.959870288 2 11.4712713921
14.9643185607 2 5.00756742752
153.96530175 2 11.49466541
14.93675657 2 5.01031394
2
97.2094454291 2 11.4449481137
10.8162163087 2 4.78509457131
97.21725690 2 11.45126730
10.81704018 2 4.76798446
Ti GEN 10 2
4
12.0 1 18.4136620219
220.963944263 3 15.9229241432
-94.2902582468 2 13.6500062314
0.0979114248227 2 5.0955521057
12.00000000 1 18.41366202
220.96394426 3 15.92292414
-94.29025824 2 13.65000623
0.09791142 2 5.09555210
2
173.946572359 2 12.7058061392
18.8376833381 2 6.11178551988
173.94657235 2 12.70580613
18.83768333 2 6.11178551
2
111.45672882 2 12.6409192965
11.1770268269 2 5.35437415684
111.45672882 2 12.64091929
11.17702682 2 5.35437415
V GEN 10 2
4
13.0 1 20.3216891426
264.181958854 3 19.5969804012
-115.292932083 2 17.3314734817
-0.662887260057 2 5.12320657929
13.00000000 1 20.32168914
264.18195885 3 19.59698040
-115.29293208 2 17.33147348
-0.66288726 2 5.12320657
2
195.567138911 2 15.1250215054
22.8864283476 2 6.2989891447
195.56713891 2 15.12502150
22.88642834 2 6.29898914
2
126.421195008 2 15.9385511327
16.0359712766 2 5.74006266866
126.42119500 2 15.93855113
16.03597127 2 5.74006266
Zn GEN 10 2
Cr GEN 10 2
4
20.0 1 35.8079761618
716.159523235 3 34.536460837
-204.683933235 2 28.6283017827
0.760266144617 2 7.9623968256
14.00000000 1 18.28091074
255.93275041 3 17.09800655
-132.01826317 2 16.72267276
-0.77388761 2 5.02865105
2
95.8764043739 2 14.6349869153
431.708043027 2 35.0214135667
219.48146209 2 16.90078760
28.07933176 2 7.33662150
2
74.0127004894 2 14.5742930415
313.577705639 2 42.2297923499
139.98396871 2 17.31974516
19.54835786 2 6.92409757
Mn GEN 10 2
4
15.00000000 1 21.91937433
328.79061500 3 21.35527127
-162.05172805 2 21.27162653
-1.82694272 2 7.93913962
2
244.66870492 2 18.92044965
33.54162717 2 8.32764757
2
162.35033685 2 20.17347020
24.17956695 2 7.80047874
Fe GEN 10 2
4
16.00000000 1 23.22091713
371.53467417 3 23.54714679
-181.22603445 2 23.47256344
-2.37305236 2 9.85238815
2
277.50032547 2 22.21062697
46.20495585 2 9.51515800
2
194.99875056 2 24.57000871
31.67945132 2 8.86648776
Co GEN 10 2
4
17.00000000 1 25.00124115
425.02109971 3 22.83490096
-195.48211282 2 23.47468155
-2.81572866 2 10.33794825
2
271.77708486 2 23.41427030
54.26461121 2 10.76931694
2
201.53430745 2 25.47446316
38.99231927 2 10.68404901
Ni GEN 10 2
4
18.000 1 2.82630001015327e+01
508.7340018275886 3 2.69360254587070e+01
-2.20099999296390e+02 2 2.70860075292970e+01
-2.13493270999809e+00 2 1.22130001295874e+01
2
3.21240002430625e+02 2 2.64320193944270e+01
6.03470084610628e+01 2 1.17489696842121e+01
2
2.36539998999428e+02 2 2.94929998193907e+01
4.43969887908906e+01 2 1.15569831458722e+01
Cu GEN 10 2
4
19.0 1 31.5381126304
599.224139977 3 31.0692553147
-244.689154841 2 30.5903586806
-1.2934952584 2 14.0514106386
19.00000000 1 31.53811263
599.22413997 3 31.06925531
-244.68915484 2 30.59035868
-1.29349525 2 14.05141063
2
66.2756081341 2 12.7723591969
370.71371825 2 29.355622426
370.71371824 2 29.35562242
66.27560813 2 12.77235919
2
49.7626505709 2 12.5247148487
271.662810283 2 33.5169454376
271.66281028 2 33.51694543
49.76265057 2 12.52471484
Zn GEN 10 2
4
20.00000000 1 35.80797616
716.15952323 3 34.53646083
-204.68393323 2 28.62830178
0.76026614 2 7.96239682
2
431.70804302 2 35.02141356
95.87640437 2 14.63498691
2
313.57770563 2 42.22979234
74.01270048 2 14.57429304

View File

@ -15,6 +15,8 @@ double precision function ao_two_e_integral_erf(i,j,k,l)
double precision :: Q_new(0:max_dim,3),Q_center(3),fact_q,qq
integer :: iorder_p(3), iorder_q(3)
double precision :: ao_two_e_integral_schwartz_accel_erf
provide mu_erf
if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then
ao_two_e_integral_erf = ao_two_e_integral_schwartz_accel_erf(i,j,k,l)

View File

@ -279,6 +279,100 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
end
subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out_val_index,non_zero_int)
use map_module
implicit none
BEGIN_DOC
! Gets multiple AO bi-electronic integral from the AO map .
! All non-zero i are retrieved for j,k,l fixed.
END_DOC
double precision, intent(in) :: thresh
integer, intent(in) :: j,l, sze,sze_max
real(integral_kind), intent(out) :: out_val(sze_max)
integer, intent(out) :: out_val_index(2,sze_max),non_zero_int
integer :: i,k
integer(key_kind) :: hash
double precision :: tmp
PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then
out_val = 0.d0
return
endif
non_zero_int = 0
do k = 1, sze
do i = 1, sze
integer, external :: ao_l4
double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then
cycle
endif
call two_e_integrals_index(i,j,k,l,hash)
call map_get(ao_integrals_map, hash,tmp)
if (dabs(tmp) < thresh ) cycle
non_zero_int = non_zero_int+1
out_val_index(1,non_zero_int) = i
out_val_index(2,non_zero_int) = k
out_val(non_zero_int) = tmp
enddo
enddo
end
subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,sze_max,out_val,out_val_index,non_zero_int)
use map_module
implicit none
BEGIN_DOC
! Gets multiple AO two-electron integrals from the AO map .
! All non-zero i are retrieved for j,k,l fixed.
END_DOC
double precision, intent(in) :: thresh
integer, intent(in) :: sze_max
integer, intent(in) :: j,l, n_list,list(2,sze_max)
real(integral_kind), intent(out) :: out_val(sze_max)
integer, intent(out) :: out_val_index(2,sze_max),non_zero_int
integer :: i,k
integer(key_kind) :: hash
double precision :: tmp
PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then
out_val = 0.d0
return
endif
non_zero_int = 0
integer :: kk
do kk = 1, n_list
k = list(1,kk)
i = list(2,kk)
integer, external :: ao_l4
double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then
cycle
endif
call two_e_integrals_index(i,j,k,l,hash)
call map_get(ao_integrals_map, hash,tmp)
if (dabs(tmp) < thresh ) cycle
non_zero_int = non_zero_int+1
out_val_index(1,non_zero_int) = i
out_val_index(2,non_zero_int) = k
out_val(non_zero_int) = tmp
enddo
end
function get_ao_map_size()
implicit none
integer (map_size_kind) :: get_ao_map_size

View File

@ -8,3 +8,9 @@ default: 2
type: integer
doc: Total number of grid points
interface: ezfio
[thresh_grid]
type: double precision
doc: threshold on the weight of a given grid point
interface: ezfio,provider,ocaml
default: 1.e-20

View File

@ -0,0 +1,9 @@
BEGIN_PROVIDER [ integer, grid_atomic_number, (nucl_num) ]
implicit none
BEGIN_DOC
! Atomic number used to adjust the grid
END_DOC
grid_atomic_number(:) = max(1,int(nucl_charge(:)))
END_PROVIDER

View File

@ -146,7 +146,7 @@ BEGIN_PROVIDER [double precision, grid_points_per_atom, (3,n_points_integration_
x = grid_points_radial(j)
! value of the radial coordinate for the integration
r = knowles_function(alpha_knowles(int(nucl_charge(i))),m_knowles,x)
r = knowles_function(alpha_knowles(grid_atomic_number(i)),m_knowles,x)
! explicit values of the grid points centered around each atom
do k = 1, n_points_integration_angular
@ -232,8 +232,8 @@ BEGIN_PROVIDER [double precision, final_weight_at_r, (n_points_integration_angul
do i = 1, n_points_radial_grid -1 !for each radial grid attached to the "jth" atom
x = grid_points_radial(i) ! x value for the mapping of the [0, +\infty] to [0,1]
do k = 1, n_points_integration_angular ! for each angular point attached to the "jth" atom
contrib_integration = derivative_knowles_function(alpha_knowles(int(nucl_charge(j))),m_knowles,x)&
*knowles_function(alpha_knowles(int(nucl_charge(j))),m_knowles,x)**2
contrib_integration = derivative_knowles_function(alpha_knowles(grid_atomic_number(j)),m_knowles,x)&
*knowles_function(alpha_knowles(grid_atomic_number(j)),m_knowles,x)**2
final_weight_at_r(k,i,j) = weights_angular_points(k) * weight_at_r(k,i,j) * contrib_integration * dr_radial_integral
if(isnan(final_weight_at_r(k,i,j)))then
print*,'isnan(final_weight_at_r(k,i,j))'

View File

@ -0,0 +1,53 @@
BEGIN_PROVIDER [integer, n_pts_per_atom, (nucl_num)]
&BEGIN_PROVIDER [integer, n_pts_max_per_atom]
BEGIN_DOC
! Number of points which are non zero
END_DOC
integer :: i,j,k,l
n_pts_per_atom = 0
do j = 1, nucl_num
do i = 1, n_points_radial_grid -1
do k = 1, n_points_integration_angular
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
cycle
endif
n_pts_per_atom(j) += 1
enddo
enddo
enddo
n_pts_max_per_atom = maxval(n_pts_per_atom)
END_PROVIDER
BEGIN_PROVIDER [double precision, final_grid_points_per_atom, (3,n_pts_max_per_atom,nucl_num)]
&BEGIN_PROVIDER [double precision, final_weight_at_r_vector_per_atom, (n_pts_max_per_atom,nucl_num) ]
&BEGIN_PROVIDER [integer, index_final_points_per_atom, (3,n_pts_max_per_atom,nucl_num) ]
&BEGIN_PROVIDER [integer, index_final_points_per_atom_reverse, (n_points_integration_angular,n_points_radial_grid,nucl_num) ]
implicit none
integer :: i,j,k,l,i_count(nucl_num)
double precision :: r(3)
i_count = 0
do j = 1, nucl_num
do i = 1, n_points_radial_grid -1
do k = 1, n_points_integration_angular
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
cycle
endif
i_count(j) += 1
final_grid_points_per_atom(1,i_count(j),j) = grid_points_per_atom(1,k,i,j)
final_grid_points_per_atom(2,i_count(j),j) = grid_points_per_atom(2,k,i,j)
final_grid_points_per_atom(3,i_count(j),j) = grid_points_per_atom(3,k,i,j)
final_weight_at_r_vector_per_atom(i_count(j),j) = final_weight_at_r(k,i,j)
index_final_points_per_atom(1,i_count(j),j) = k
index_final_points_per_atom(2,i_count(j),j) = i
index_final_points_per_atom(3,i_count(j),j) = j
index_final_points_per_atom_reverse(k,i,j) = i_count(j)
enddo
enddo
enddo
END_PROVIDER

View File

@ -1,5 +1,6 @@
BEGIN_PROVIDER [integer, n_points_final_grid]
implicit none
BEGIN_DOC
! Number of points which are non zero
END_DOC
@ -8,9 +9,9 @@ BEGIN_PROVIDER [integer, n_points_final_grid]
do j = 1, nucl_num
do i = 1, n_points_radial_grid -1
do k = 1, n_points_integration_angular
! if(dabs(final_weight_at_r(k,i,j)) < 1.d-30)then
! cycle
! endif
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
cycle
endif
n_points_final_grid += 1
enddo
enddo
@ -39,9 +40,9 @@ END_PROVIDER
do j = 1, nucl_num
do i = 1, n_points_radial_grid -1
do k = 1, n_points_integration_angular
!if(dabs(final_weight_at_r(k,i,j)) < 1.d-30)then
! cycle
!endif
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
cycle
endif
i_count += 1
final_grid_points(1,i_count) = grid_points_per_atom(1,k,i,j)
final_grid_points(2,i_count) = grid_points_per_atom(2,k,i,j)

View File

@ -31,10 +31,6 @@ double precision function cell_function_becke(r,atom_number)
double precision :: mu_ij,nu_ij
double precision :: distance_i,distance_j,step_function_becke
integer :: j
if(int(nucl_charge(atom_number))==0)then
cell_function_becke = 0.d0
return
endif
distance_i = (r(1) - nucl_coord_transp(1,atom_number) ) * (r(1) - nucl_coord_transp(1,atom_number))
distance_i += (r(2) - nucl_coord_transp(2,atom_number) ) * (r(2) - nucl_coord_transp(2,atom_number))
distance_i += (r(3) - nucl_coord_transp(3,atom_number) ) * (r(3) - nucl_coord_transp(3,atom_number))
@ -42,7 +38,6 @@ double precision function cell_function_becke(r,atom_number)
cell_function_becke = 1.d0
do j = 1, nucl_num
if(j==atom_number)cycle
if(int(nucl_charge(j))==0)cycle
distance_j = (r(1) - nucl_coord_transp(1,j) ) * (r(1) - nucl_coord_transp(1,j))
distance_j+= (r(2) - nucl_coord_transp(2,j) ) * (r(2) - nucl_coord_transp(2,j))
distance_j+= (r(3) - nucl_coord_transp(3,j) ) * (r(3) - nucl_coord_transp(3,j))

View File

@ -121,3 +121,26 @@
enddo
END_PROVIDER
BEGIN_PROVIDER[double precision, aos_in_r_array_per_atom, (ao_num,n_pts_max_per_atom,nucl_num)]
&BEGIN_PROVIDER[double precision, aos_in_r_array_per_atom_transp, (n_pts_max_per_atom,ao_num,nucl_num)]
implicit none
BEGIN_DOC
! aos_in_r_array_per_atom(i,j,k) = value of the ith ao on the jth grid point attached on the kth atom
END_DOC
integer :: i,j,k
double precision :: aos_array(ao_num), r(3)
do k = 1, nucl_num
do i = 1, n_pts_per_atom(k)
r(1) = final_grid_points_per_atom(1,i,k)
r(2) = final_grid_points_per_atom(2,i,k)
r(3) = final_grid_points_per_atom(3,i,k)
call give_all_aos_at_r(r,aos_array)
do j = 1, ao_num
aos_in_r_array_per_atom(j,i,k) = aos_array(j)
aos_in_r_array_per_atom_transp(i,j,k) = aos_array(j)
enddo
enddo
enddo
END_PROVIDER

View File

@ -66,7 +66,7 @@ BEGIN_PROVIDER [double precision, slater_bragg_radii_per_atom, (nucl_num)]
implicit none
integer :: i
do i = 1, nucl_num
slater_bragg_radii_per_atom(i) = slater_bragg_radii(int(nucl_charge(i)))
slater_bragg_radii_per_atom(i) = slater_bragg_radii(max(1,int(nucl_charge(i))))
enddo
END_PROVIDER
@ -74,7 +74,7 @@ BEGIN_PROVIDER [double precision, slater_bragg_radii_per_atom_ua, (nucl_num)]
implicit none
integer :: i
do i = 1, nucl_num
slater_bragg_radii_per_atom_ua(i) = slater_bragg_radii_ua(int(nucl_charge(i)))
slater_bragg_radii_per_atom_ua(i) = slater_bragg_radii_ua(max(1,int(nucl_charge(i))))
enddo
END_PROVIDER