mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 19:43:32 +01:00
Fixed problems with trexio files coming from cp2k
This commit is contained in:
parent
c35278cddb
commit
7a0194d576
@ -160,7 +160,6 @@ def write_ezfio(trexio_filename, filename):
|
|||||||
ezfio.set_basis_shell_ang_mom(ang_mom)
|
ezfio.set_basis_shell_ang_mom(ang_mom)
|
||||||
ezfio.set_basis_basis_nucleus_index([ x+1 for x in nucl_index ])
|
ezfio.set_basis_basis_nucleus_index([ x+1 for x in nucl_index ])
|
||||||
ezfio.set_basis_prim_expo(exponent)
|
ezfio.set_basis_prim_expo(exponent)
|
||||||
ezfio.set_basis_prim_coef(coefficient)
|
|
||||||
|
|
||||||
nucl_shell_num = []
|
nucl_shell_num = []
|
||||||
prev = None
|
prev = None
|
||||||
@ -194,6 +193,10 @@ def write_ezfio(trexio_filename, filename):
|
|||||||
|
|
||||||
shell_factor = trexio.read_basis_shell_factor(trexio_file)
|
shell_factor = trexio.read_basis_shell_factor(trexio_file)
|
||||||
prim_factor = trexio.read_basis_prim_factor(trexio_file)
|
prim_factor = trexio.read_basis_prim_factor(trexio_file)
|
||||||
|
for i,p in enumerate(prim_factor):
|
||||||
|
coefficient[i] *= prim_factor[i]
|
||||||
|
ezfio.set_ao_basis_primitives_normalized(False)
|
||||||
|
ezfio.set_basis_prim_coef(coefficient)
|
||||||
|
|
||||||
elif basis_type.lower() == "numerical":
|
elif basis_type.lower() == "numerical":
|
||||||
|
|
||||||
@ -245,7 +248,6 @@ def write_ezfio(trexio_filename, filename):
|
|||||||
ezfio.set_basis_nucleus_shell_num(nucl_shell_num)
|
ezfio.set_basis_nucleus_shell_num(nucl_shell_num)
|
||||||
|
|
||||||
shell_factor = trexio.read_basis_shell_factor(trexio_file)
|
shell_factor = trexio.read_basis_shell_factor(trexio_file)
|
||||||
prim_factor = [1.]*prim_num
|
|
||||||
else:
|
else:
|
||||||
raise TypeError
|
raise TypeError
|
||||||
|
|
||||||
@ -387,10 +389,11 @@ def write_ezfio(trexio_filename, filename):
|
|||||||
|
|
||||||
# Renormalize MO coefs if needed
|
# Renormalize MO coefs if needed
|
||||||
if trexio.has_ao_normalization(trexio_file_cart):
|
if trexio.has_ao_normalization(trexio_file_cart):
|
||||||
|
ezfio.set_ao_basis_ao_normalized(False)
|
||||||
norm = trexio.read_ao_normalization(trexio_file_cart)
|
norm = trexio.read_ao_normalization(trexio_file_cart)
|
||||||
for j in range(mo_num):
|
# for j in range(mo_num):
|
||||||
for i,f in enumerate(norm):
|
# for i,f in enumerate(norm):
|
||||||
MoMatrix[i,j] *= f
|
# MoMatrix[i,j] *= f
|
||||||
ezfio.set_mo_basis_mo_coef(MoMatrix)
|
ezfio.set_mo_basis_mo_coef(MoMatrix)
|
||||||
|
|
||||||
mo_occ = [ 0. for i in range(mo_num) ]
|
mo_occ = [ 0. for i in range(mo_num) ]
|
||||||
|
@ -55,9 +55,6 @@ END_PROVIDER
|
|||||||
|
|
||||||
do i=1,ao_num
|
do i=1,ao_num
|
||||||
|
|
||||||
! powA(1) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3)
|
|
||||||
! powA(2) = 0
|
|
||||||
! powA(3) = 0
|
|
||||||
powA(1) = ao_power(i,1)
|
powA(1) = ao_power(i,1)
|
||||||
powA(2) = ao_power(i,2)
|
powA(2) = ao_power(i,2)
|
||||||
powA(3) = ao_power(i,3)
|
powA(3) = ao_power(i,3)
|
||||||
@ -76,16 +73,19 @@ END_PROVIDER
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
! Normalization of the contracted basis functions
|
! Normalization of the contracted basis functions
|
||||||
if (ao_normalized) then
|
norm = 0.d0
|
||||||
norm = 0.d0
|
do j=1,ao_prim_num(i)
|
||||||
do j=1,ao_prim_num(i)
|
do k=1,ao_prim_num(i)
|
||||||
do k=1,ao_prim_num(i)
|
call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,k),powA,powA,overlap_x,overlap_y,overlap_z,c,nz)
|
||||||
call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,k),powA,powA,overlap_x,overlap_y,overlap_z,c,nz)
|
norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k)
|
||||||
norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k)
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
ao_coef_normalization_factor(i) = 1.d0/dsqrt(norm)
|
||||||
|
|
||||||
|
if (.not.ao_normalized) then
|
||||||
|
do j=1,ao_prim_num(i)
|
||||||
|
ao_coef_normalized(i,j) = ao_coef_normalized(i,j) * ao_coef_normalization_factor(i)
|
||||||
enddo
|
enddo
|
||||||
ao_coef_normalization_factor(i) = 1.d0/dsqrt(norm)
|
|
||||||
else
|
|
||||||
ao_coef_normalization_factor(i) = 1.d0
|
ao_coef_normalization_factor(i) = 1.d0
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
Loading…
Reference in New Issue
Block a user