9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2025-04-26 10:14:45 +02:00

ao_cart_one_ints compiles

This commit is contained in:
eginer 2025-04-25 12:03:51 +02:00
parent 451351600e
commit 6695444367
10 changed files with 44 additions and 43 deletions

View File

@ -68,7 +68,7 @@ subroutine ao_cart_to_ao_basis(A_cart, LDA_cart, A_ao_basis, LDA_ao_basis)
! A_cart = ao_cart_to_ao_basis_mat A_cart ao_cart_to_ao_basis_mat^T ! A_cart = ao_cart_to_ao_basis_mat A_cart ao_cart_to_ao_basis_mat^T
END_DOC END_DOC
double precision, intent(in) :: A_cart(LDA_cart, ao_cart_num) double precision, intent(in) :: A_cart(LDA_cart, ao_cart_num)
double precision, intent(out :: A_ao_basis(LDA_ao_basis, ao_num) double precision, intent(out) :: A_ao_basis(LDA_ao_basis, ao_num)
integer, intent(in) :: LDA_cart, LDA_ao_basis integer, intent(in) :: LDA_cart, LDA_ao_basis
double precision, allocatable :: tmp(:,:) double precision, allocatable :: tmp(:,:)
allocate (tmp(ao_num,ao_cart_num)) allocate (tmp(ao_num,ao_cart_num))
@ -97,7 +97,7 @@ subroutine ao_cart_to_ao_basis_vec(V_cart, V_ao_basis)
! V_cart = ao_cart_to_ao_basis_mat V_cart ! V_cart = ao_cart_to_ao_basis_mat V_cart
END_DOC END_DOC
double precision, intent(in) :: V_cart(ao_cart_num) double precision, intent(in) :: V_cart(ao_cart_num)
double precision, intent(out :: A_ao_basis(ao_num) double precision, intent(out) :: V_ao_basis(ao_num)
call dgemv('N',ao_num,ao_cart_num, 1.d0, & call dgemv('N',ao_num,ao_cart_num, 1.d0, &
ao_cart_to_ao_basis_mat,size(ao_cart_to_ao_basis_mat,1), & ao_cart_to_ao_basis_mat,size(ao_cart_to_ao_basis_mat,1), &

View File

@ -45,7 +45,7 @@ END_PROVIDER
! Spherical to cartesian transformation matrix obtained with ! Spherical to cartesian transformation matrix obtained with
! Horton (http://theochem.github.com/horton/, 2015) ! Horton (http://theochem.github.com/horton/, 2015)
! First index is the index of the cartesian AO, obtained by ao_power_index ! First index is the index of the cartesian AO, obtained by ao_cart_power_index
! Second index is the index of the spherical AO ! Second index is the index of the spherical AO
BEGIN_PROVIDER [ double precision, cart_to_sphe_0, (1,1) ] BEGIN_PROVIDER [ double precision, cart_to_sphe_0, (1,1) ]
@ -855,7 +855,7 @@ END_PROVIDER
!! S_cart^-1 <cart|sphe> !! S_cart^-1 <cart|sphe>
! END_DOC ! END_DOC
! integer :: i ! integer :: i
! integer, external :: ao_power_index ! integer, external :: ao_cart_power_index
! integer :: ibegin,j,k ! integer :: ibegin,j,k
! integer :: prev, ao_sphe_count ! integer :: prev, ao_sphe_count
! prev = 0 ! prev = 0
@ -868,18 +868,18 @@ END_PROVIDER
! enddo ! enddo
! else ! else
! ! Assume order provided by ao_power_index ! ! Assume order provided by ao_cart_power_index
! i = 1 ! i = 1
! ao_sphe_count = 0 ! ao_sphe_count = 0
! do while (i <= ao_num) ! do while (i <= ao_num)
! select case ( ao_l(i) ) ! select case ( ao_cart_l(i) )
! case (0) ! case (0)
! ao_sphe_count += 1 ! ao_sphe_count += 1
! ao_cart_to_sphe_coef(i,ao_sphe_count) = 1.d0 ! ao_cart_to_sphe_coef(i,ao_sphe_count) = 1.d0
! i += 1 ! i += 1
! BEGIN_TEMPLATE ! BEGIN_TEMPLATE
! case ($SHELL) ! case ($SHELL)
! if (ao_power(i,1) == $SHELL) then ! if (ao_cart_power(i,1) == $SHELL) then
! do k=1,size(cart_to_sphe_$SHELL,2) ! do k=1,size(cart_to_sphe_$SHELL,2)
! do j=1,size(cart_to_sphe_$SHELL,1) ! do j=1,size(cart_to_sphe_$SHELL,1)
! ao_cart_to_sphe_coef(i+j-1,ao_sphe_count+k) = cart_to_sphe_$SHELL(j,k) ! ao_cart_to_sphe_coef(i+j-1,ao_sphe_count+k) = cart_to_sphe_$SHELL(j,k)
@ -924,7 +924,7 @@ END_PROVIDER
! S_cart^-1 <cart|sphe> ! S_cart^-1 <cart|sphe>
END_DOC END_DOC
integer :: i integer :: i
integer, external :: ao_power_index integer, external :: ao_cart_power_index
integer :: ibegin,j,k integer :: ibegin,j,k
integer :: prev, ao_sphe_count integer :: prev, ao_sphe_count
prev = 0 prev = 0
@ -938,11 +938,11 @@ END_PROVIDER
enddo enddo
else else
! Assume order provided by ao_power_index ! Assume order provided by ao_cart_power_index
i = 1 i = 1
ao_sphe_count = 0 ao_sphe_count = 0
do while (i <= ao_num) do while (i <= ao_num)
select case ( ao_l(i) ) select case ( ao_cart_l(i) )
case (0) case (0)
ao_sphe_count += 1 ao_sphe_count += 1
ao_cart_to_sphe_coef(i,ao_sphe_count) = 1.d0 ao_cart_to_sphe_coef(i,ao_sphe_count) = 1.d0
@ -950,7 +950,7 @@ END_PROVIDER
i += 1 i += 1
BEGIN_TEMPLATE BEGIN_TEMPLATE
case ($SHELL) case ($SHELL)
if (ao_power(i,1) == $SHELL) then if (ao_cart_power(i,1) == $SHELL) then
do k=1,size(cart_to_sphe_$SHELL,2) do k=1,size(cart_to_sphe_$SHELL,2)
do j=1,size(cart_to_sphe_$SHELL,1) do j=1,size(cart_to_sphe_$SHELL,1)
ao_cart_to_sphe_coef(i+j-1,ao_sphe_count+k) = cart_to_sphe_$SHELL(j,k) ao_cart_to_sphe_coef(i+j-1,ao_sphe_count+k) = cart_to_sphe_$SHELL(j,k)

View File

@ -26,7 +26,7 @@ BEGIN_PROVIDER [double precision, ao_cart_integrals_n_e_cgtos, (ao_cart_num, ao_
ao_cart_coul_n_e_cgtos = 0.d0 ao_cart_integrals_n_e_cgtos = 0.d0
!$OMP PARALLEL & !$OMP PARALLEL &
!$OMP DEFAULT (NONE) & !$OMP DEFAULT (NONE) &
@ -37,7 +37,7 @@ BEGIN_PROVIDER [double precision, ao_cart_integrals_n_e_cgtos, (ao_cart_num, ao_
!$OMP ao_cart_power, nucl_num, nucl_charge, n_pt_max_integrals, & !$OMP ao_cart_power, nucl_num, nucl_charge, n_pt_max_integrals, &
!$OMP ao_cart_expo_cgtos_ord_transp, ao_cart_coef_cgtos_norm_ord_transp, & !$OMP ao_cart_expo_cgtos_ord_transp, ao_cart_coef_cgtos_norm_ord_transp, &
!$OMP ao_cart_expo_pw_ord_transp, ao_cart_expo_phase_ord_transp, & !$OMP ao_cart_expo_pw_ord_transp, ao_cart_expo_phase_ord_transp, &
!$OMP ao_cart_coul_n_e_cgtos) !$OMP ao_cart_integrals_n_e_cgtos)
!$OMP DO SCHEDULE (dynamic) !$OMP DO SCHEDULE (dynamic)
do j = 1, ao_cart_num do j = 1, ao_cart_num
@ -91,7 +91,7 @@ BEGIN_PROVIDER [double precision, ao_cart_integrals_n_e_cgtos, (ao_cart_num, ao_
c = c - Z * 2.d0 * real(C1 * I1 + C2 * I2) c = c - Z * 2.d0 * real(C1 * I1 + C2 * I2)
enddo enddo
ao_cart_coul_n_e_cgtos(i,j) += c * ao_cart_coef_cgtos_norm_ord_transp(n,j) & ao_cart_integrals_n_e_cgtos(i,j) += c * ao_cart_coef_cgtos_norm_ord_transp(n,j) &
* ao_cart_coef_cgtos_norm_ord_transp(l,i) * ao_cart_coef_cgtos_norm_ord_transp(l,i)
enddo enddo
enddo enddo

View File

@ -47,7 +47,7 @@ double precision function NAI_pol_mult_erf_ao_cart(i_ao, j_ao, mu_in, C_center)
n_pt_in = n_pt_max_integrals n_pt_in = n_pt_max_integrals
NAI_pol_mult_erf_ao = 0.d0 NAI_pol_mult_erf_ao_cart = 0.d0
do i = 1, ao_cart_prim_num(i_ao) do i = 1, ao_cart_prim_num(i_ao)
alpha = ao_cart_expo_ordered_transp(i,i_ao) alpha = ao_cart_expo_ordered_transp(i,i_ao)
do j = 1, ao_cart_prim_num(j_ao) do j = 1, ao_cart_prim_num(j_ao)
@ -55,11 +55,11 @@ double precision function NAI_pol_mult_erf_ao_cart(i_ao, j_ao, mu_in, C_center)
integral = NAI_pol_mult_erf(A_center, B_center, power_A, power_B, alpha, beta, C_center, n_pt_in,mu_in) integral = NAI_pol_mult_erf(A_center, B_center, power_A, power_B, alpha, beta, C_center, n_pt_in,mu_in)
NAI_pol_mult_erf_ao += integral * ao_cart_coef_normalized_ordered_transp(j,j_ao) * ao_cart_coef_normalized_ordered_transp(i,i_ao) NAI_pol_mult_erf_ao_cart += integral * ao_cart_coef_normalized_ordered_transp(j,j_ao) * ao_cart_coef_normalized_ordered_transp(i,i_ao)
enddo enddo
enddo enddo
end function NAI_pol_mult_erf_ao end function NAI_pol_mult_erf_ao_cart
! --- ! ---

View File

@ -1,7 +1,7 @@
! --- ! ---
BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)] BEGIN_PROVIDER [ double precision, ao_cart_integrals_n_e, (ao_cart_num,ao_cart_num)]
BEGIN_DOC BEGIN_DOC
! Nucleus-electron interaction, in the |AO| basis set. ! Nucleus-electron interaction, in the |AO| basis set.
@ -18,11 +18,11 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)]
double precision :: A_center(3),B_center(3),C_center(3) double precision :: A_center(3),B_center(3),C_center(3)
double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult
ao_cart_coul_n_e = 0.d0 ao_cart_integrals_n_e = 0.d0
if (read_ao_cart_coul_n_e) then if (read_ao_cart_integrals_n_e) then
call ezfio_get_ao_cart_one_e_ints_ao_cart_coul_n_e(ao_cart_coul_n_e) call ezfio_get_ao_cart_one_e_ints_ao_cart_integrals_n_e(ao_cart_integrals_n_e)
print *, 'AO N-e integrals read from disk' print *, 'AO N-e integrals read from disk'
else else
@ -31,7 +31,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)]
do j = 1, ao_cart_num do j = 1, ao_cart_num
do i = 1, ao_cart_num do i = 1, ao_cart_num
ao_cart_coul_n_e(i,j) = ao_cart_coul_n_e_cgtos(i,j) ao_cart_integrals_n_e(i,j) = ao_cart_integrals_n_e_cgtos(i,j)
enddo enddo
enddo enddo
@ -42,7 +42,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)]
!$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,C_center,power_A,power_B,& !$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,C_center,power_A,power_B,&
!$OMP num_A,num_B,Z,c,c1,n_pt_in) & !$OMP num_A,num_B,Z,c,c1,n_pt_in) &
!$OMP SHARED (ao_cart_num,ao_cart_prim_num,ao_cart_expo_ordered_transp,ao_cart_power,ao_cart_nucl,nucl_coord,ao_cart_coef_normalized_ordered_transp,& !$OMP SHARED (ao_cart_num,ao_cart_prim_num,ao_cart_expo_ordered_transp,ao_cart_power,ao_cart_nucl,nucl_coord,ao_cart_coef_normalized_ordered_transp,&
!$OMP n_pt_max_integrals,ao_cart_coul_n_e,nucl_num,nucl_charge) !$OMP n_pt_max_integrals,ao_cart_integrals_n_e,nucl_num,nucl_charge)
n_pt_in = n_pt_max_integrals n_pt_in = n_pt_max_integrals
@ -86,7 +86,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)]
c = c - Z * c1 c = c - Z * c1
enddo enddo
ao_cart_coul_n_e(i,j) = ao_cart_coul_n_e(i,j) & ao_cart_integrals_n_e(i,j) = ao_cart_integrals_n_e(i,j) &
+ ao_cart_coef_normalized_ordered_transp(l,j) & + ao_cart_coef_normalized_ordered_transp(l,j) &
* ao_cart_coef_normalized_ordered_transp(m,i) * c * ao_cart_coef_normalized_ordered_transp(m,i) * c
enddo enddo
@ -102,14 +102,14 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e, (ao_cart_num,ao_cart_num)]
endif endif
if (write_ao_cart_coul_n_e) then if (write_ao_cart_integrals_n_e) then
call ezfio_set_ao_cart_one_e_ints_ao_cart_coul_n_e(ao_cart_coul_n_e) call ezfio_set_ao_cart_one_e_ints_ao_cart_integrals_n_e(ao_cart_integrals_n_e)
print *, 'AO N-e integrals written to disk' print *, 'AO N-e integrals written to disk'
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_imag, (ao_cart_num,ao_cart_num)] BEGIN_PROVIDER [ double precision, ao_cart_integrals_n_e_imag, (ao_cart_num,ao_cart_num)]
BEGIN_DOC BEGIN_DOC
! Nucleus-electron interaction, in the |AO| basis set. ! Nucleus-electron interaction, in the |AO| basis set.
! !
@ -123,8 +123,8 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_imag, (ao_cart_num,ao_cart_n
integer :: i,j,k,l,n_pt_in,m integer :: i,j,k,l,n_pt_in,m
double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult
if (read_ao_cart_coul_n_e) then if (read_ao_cart_integrals_n_e) then
call ezfio_get_ao_cart_one_e_ints_ao_cart_coul_n_e_imag(ao_cart_coul_n_e_imag) call ezfio_get_ao_cart_one_e_ints_ao_cart_integrals_n_e_imag(ao_cart_integrals_n_e_imag)
print *, 'AO N-e integrals read from disk' print *, 'AO N-e integrals read from disk'
else else
print *, irp_here, ': Not yet implemented' print *, irp_here, ': Not yet implemented'
@ -132,7 +132,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_imag, (ao_cart_num,ao_cart_n
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_per_atom, (ao_cart_num,ao_cart_num,nucl_num)] BEGIN_PROVIDER [ double precision, ao_cart_integrals_n_e_per_atom, (ao_cart_num,ao_cart_num,nucl_num)]
BEGIN_DOC BEGIN_DOC
! Nucleus-electron interaction in the |AO| basis set, per atom A. ! Nucleus-electron interaction in the |AO| basis set, per atom A.
! !
@ -146,14 +146,14 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_per_atom, (ao_cart_num,ao_ca
integer :: i,j,k,l,n_pt_in,m integer :: i,j,k,l,n_pt_in,m
double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult double precision :: overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult
ao_cart_coul_n_e_per_atom = 0.d0 ao_cart_integrals_n_e_per_atom = 0.d0
!$OMP PARALLEL & !$OMP PARALLEL &
!$OMP DEFAULT (NONE) & !$OMP DEFAULT (NONE) &
!$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,power_A,power_B,& !$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,power_A,power_B,&
!$OMP num_A,num_B,c,n_pt_in,C_center) & !$OMP num_A,num_B,c,n_pt_in,C_center) &
!$OMP SHARED (ao_cart_num,ao_cart_prim_num,ao_cart_expo_ordered_transp,ao_cart_power,ao_cart_nucl,nucl_coord,ao_cart_coef_normalized_ordered_transp,& !$OMP SHARED (ao_cart_num,ao_cart_prim_num,ao_cart_expo_ordered_transp,ao_cart_power,ao_cart_nucl,nucl_coord,ao_cart_coef_normalized_ordered_transp,&
!$OMP n_pt_max_integrals,ao_cart_coul_n_e_per_atom,nucl_num) !$OMP n_pt_max_integrals,ao_cart_integrals_n_e_per_atom,nucl_num)
n_pt_in = n_pt_max_integrals n_pt_in = n_pt_max_integrals
!$OMP DO SCHEDULE (dynamic) !$OMP DO SCHEDULE (dynamic)
@ -189,7 +189,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_coul_n_e_per_atom, (ao_cart_num,ao_ca
* ao_cart_coef_normalized_ordered_transp(m,i) * ao_cart_coef_normalized_ordered_transp(m,i)
enddo enddo
enddo enddo
ao_cart_coul_n_e_per_atom(i,j,k) = -c ao_cart_integrals_n_e_per_atom(i,j,k) = -c
enddo enddo
enddo enddo
enddo enddo

View File

@ -3,7 +3,8 @@ logical function ao_cart_two_e_integral_zero(i,j,k,l)
integer, intent(in) :: i,j,k,l integer, intent(in) :: i,j,k,l
ao_cart_two_e_integral_zero = .False. ao_cart_two_e_integral_zero = .False.
if (.not.(read_ao_cart_two_e_integrals.or.is_periodic.or.use_cgtos)) then ! if (.not.(read_ao_cart_two_e_integrals.or.is_periodic.or.use_cgtos)) then
if (.not.(is_periodic.or.use_cgtos)) then
if (ao_cart_overlap_abs(j,l)*ao_cart_overlap_abs(i,k) < ao_cart_integrals_threshold) then if (ao_cart_overlap_abs(j,l)*ao_cart_overlap_abs(i,k) < ao_cart_integrals_threshold) then
ao_cart_two_e_integral_zero = .True. ao_cart_two_e_integral_zero = .True.
return return

View File

@ -39,7 +39,7 @@ double precision function NAI_pol_mult_erf_ao(i_ao, j_ao, mu_in, C_center)
end function NAI_pol_mult_erf_ao end function NAI_pol_mult_erf_ao
! --- ! ---
subroutine all_NAI_pol_mult_erf_ao_with1s(beta, B_center, mu_in, C_center) subroutine all_NAI_pol_mult_erf_ao_with1s(beta, B_center, mu_in, C_center,integrals_ao)
BEGIN_DOC BEGIN_DOC
! !
@ -59,7 +59,7 @@ subroutine all_NAI_pol_mult_erf_ao_with1s(beta, B_center, mu_in, C_center)
allocate(integrals_ao_cart(ao_cart_num,ao_cart_num)) allocate(integrals_ao_cart(ao_cart_num,ao_cart_num))
do i = 1, ao_cart_num do i = 1, ao_cart_num
do j = 1, ao_cart_num do j = 1, ao_cart_num
integrals_ao_car(j,i) = NAI_pol_mult_erf_ao_cart_with1s(i_ao, j_ao, beta, B_center, mu_in, C_center) integrals_ao_cart(j,i) = NAI_pol_mult_erf_ao_cart_with1s(i, j, beta, B_center, mu_in, C_center)
enddo enddo
enddo enddo
call ao_cart_to_ao_basis(integrals_ao_cart, ao_cart_num, integrals_ao, ao_num) call ao_cart_to_ao_basis(integrals_ao_cart, ao_cart_num, integrals_ao, ao_num)
@ -84,7 +84,7 @@ double precision function NAI_pol_mult_erf_ao_with1s(i_ao, j_ao, beta, B_center,
allocate(integrals_ao(ao_num,ao_num),integrals_ao_cart(ao_cart_num,ao_cart_num)) allocate(integrals_ao(ao_num,ao_num),integrals_ao_cart(ao_cart_num,ao_cart_num))
do i = 1, ao_cart_num do i = 1, ao_cart_num
do j = 1, ao_cart_num do j = 1, ao_cart_num
integrals_ao_car(j,i) = NAI_pol_mult_erf_ao_cart_with1s(i_ao, j_ao, beta, B_center, mu_in, C_center) integrals_ao_cart(j,i) = NAI_pol_mult_erf_ao_cart_with1s(i_ao, j_ao, beta, B_center, mu_in, C_center)
enddo enddo
enddo enddo
call ao_cart_to_ao_basis(integrals_ao_cart, ao_cart_num, integrals_ao, ao_num) call ao_cart_to_ao_basis(integrals_ao_cart, ao_cart_num, integrals_ao, ao_num)

View File

@ -27,7 +27,7 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)]
else else
call ao_cart_to_ao_basis(ao_cart_coul_n_e, ao_cart_num, ao_integrals_n_e, ao_num) call ao_cart_to_ao_basis(ao_cart_integrals_n_e, ao_cart_num, ao_integrals_n_e, ao_num)
IF(do_pseudo) THEN IF(do_pseudo) THEN
ao_integrals_n_e += ao_pseudo_integrals ao_integrals_n_e += ao_pseudo_integrals
@ -78,7 +78,7 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e_per_atom, (ao_num,ao_num,nuc
implicit none implicit none
integer :: i integer :: i
do i = 1, nucl_num do i = 1, nucl_num
call ao_cart_to_ao_basis(ao_cart_coul_n_e_per_atom(1,1,i), ao_cart_num,ao_integrals_n_e_per_atom(1,1,i), ao_num) call ao_cart_to_ao_basis(ao_cart_integrals_n_e_per_atom(1,1,i), ao_cart_num,ao_integrals_n_e_per_atom(1,1,i), ao_num)
enddo enddo
END_PROVIDER END_PROVIDER

View File

@ -79,7 +79,7 @@ doc: If true, assume primitive basis functions are normalized
interface: ezfio, provider, ocaml interface: ezfio, provider, ocaml
default: true default: true
[ao_normalized] [ao_cart_normalized]
type: logical type: logical
doc: If true, normalize the basis functions doc: If true, normalize the basis functions
interface: ezfio, provider, ocaml interface: ezfio, provider, ocaml

View File

@ -7,7 +7,7 @@
integer :: n_pt_sup integer :: n_pt_sup
integer :: prim_power_l_max integer :: prim_power_l_max
include 'utils/constants.include.F' include 'utils/constants.include.F'
prim_power_l_max = maxval(ao_power) prim_power_l_max = maxval(ao_cart_power)
n_pt_max_integrals = 24 * prim_power_l_max + 4 n_pt_max_integrals = 24 * prim_power_l_max + 4
n_pt_max_i_x = 8 * prim_power_l_max n_pt_max_i_x = 8 * prim_power_l_max
ASSERT (n_pt_max_i_x-1 <= max_dim) ASSERT (n_pt_max_i_x-1 <= max_dim)