From 79ee1f5a087728acb50f6e98b38b4ff985d8c567 Mon Sep 17 00:00:00 2001 From: Thomas Applencourt Date: Mon, 13 Apr 2015 18:50:37 +0200 Subject: [PATCH] Working for the LOCAL part of NaCl --- scripts/pseudo/put_pseudo_in_ezfio.py | 22 ++++++++++++++-------- src/MonoInts/pot_ao_ints.irp.f | 8 ++++---- src/MonoInts/pseudo.ezfio_config | 6 +++--- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/scripts/pseudo/put_pseudo_in_ezfio.py b/scripts/pseudo/put_pseudo_in_ezfio.py index 2ddde4b8..53170271 100755 --- a/scripts/pseudo/put_pseudo_in_ezfio.py +++ b/scripts/pseudo/put_pseudo_in_ezfio.py @@ -240,11 +240,9 @@ if __name__ == "__main__": l_v_kl, l_n_kl, l_dz_kl = get_v_n_dz_l_nonlocal(str_ele[nl:]) - ezfio.pseudo_lmaxpo = len(l_v_kl) - ezfio.pseudo_kmax = len(l_v_kl[0]) - ezfio.pseudo_v_kl = l_v_kl - ezfio.pseudo_n_kl = l_n_kl - ezfio.pseudo_dz_kl = l_dz_kl + v_kl.append(l_v_kl) + n_kl.append(l_n_kl) + dz_kl.append(l_dz_kl) # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ # # Z _ e f f , a l p h a / b e t a _ e l e c # @@ -267,9 +265,6 @@ if __name__ == "__main__": ezfio.nuclei_nucl_charge = l_zeff - print "alpha tot", alpha_tot - print "beta tot", beta_tot - alpha_tot = ezfio.get_electrons_elec_alpha_num() - alpha_tot beta_tot = ezfio.get_electrons_elec_beta_num() - beta_tot @@ -284,3 +279,14 @@ if __name__ == "__main__": ezfio.pseudo_v_k = zip(*v_k) ezfio.pseudo_n_k = zip(*n_k) ezfio.pseudo_dz_k = zip(*dz_k) + + # ~#~#~#~#~#~#~#~#~ # + # N o n _ L o c a l # + # ~#~#~#~#~#~#~#~#~ # + + ezfio.pseudo_lmaxpo = len(v_kl[0]) + ezfio.pseudo_kmax = len(v_kl[0][0]) + + ezfio.pseudo_v_kl = zip(*v_kl) + ezfio.pseudo_n_kl = zip(*n_kl) + ezfio.pseudo_dz_kl = zip(*dz_kl) diff --git a/src/MonoInts/pot_ao_ints.irp.f b/src/MonoInts/pot_ao_ints.irp.f index e57ffaab..4517bb51 100644 --- a/src/MonoInts/pot_ao_ints.irp.f +++ b/src/MonoInts/pot_ao_ints.irp.f @@ -64,15 +64,15 @@ !! Parameters of non local part of pseudo: integer :: kmax,lmax - integer, allocatable :: n_kl(:,:) - double precision, allocatable :: v_kl(:,:), dz_kl(:,:) + integer, allocatable :: n_kl(:,:,:) + double precision, allocatable :: v_kl(:,:,:), dz_kl(:,:,:) call ezfio_get_pseudo_lmaxpo(lmax) call ezfio_get_pseudo_kmax(kmax) !lmax plus one -> lmax lmax = lmax - 1 - allocate(n_kl(kmax,0:lmax), v_kl(kmax,0:lmax), dz_kl(kmax,0:lmax)) + allocate(n_kl(nucl_num,kmax,0:lmax), v_kl(nucl_num,kmax,0:lmax), dz_kl(nucl_num,kmax,0:lmax)) call ezfio_get_pseudo_n_kl(n_kl) call ezfio_get_pseudo_v_kl(v_kl) @@ -148,7 +148,7 @@ c = c - Z*NAI_pol_mult(A_center,B_center,power_A,power_B,alpha,beta,C_center,n_pt_in) c = c + Vloc( klocmax ,v_k(k,:) ,n_k(k,:) ,dz_k(k,:), A_center,power_A,alpha,B_center,power_B,beta,C_center) - c = c + Vpseudo(lmax,kmax,v_kl,n_kl,dz_kl,A_center,power_A,alpha,B_center,power_B,beta,C_center) + c = c + Vpseudo(lmax,kmax,v_kl(k,:,:),n_kl,dz_kl,A_center,power_A,alpha,B_center,power_B,beta,C_center) ! c = c - Vps(A_center,power_A,alpha,B_center,power_B,beta,C_center,klocmax,v_k,n_k,dz_k,lmax,kmax,v_kl,n_kl,dz_kl) enddo diff --git a/src/MonoInts/pseudo.ezfio_config b/src/MonoInts/pseudo.ezfio_config index 75e620ce..97f9e1be 100644 --- a/src/MonoInts/pseudo.ezfio_config +++ b/src/MonoInts/pseudo.ezfio_config @@ -5,6 +5,6 @@ pseudo dz_k double precision (nuclei_nucl_num,pseudo_klocmax) lmaxpo integer kmax integer - v_kl double precision (pseudo_kmax,pseudo_lmaxpo) - n_kl integer (pseudo_kmax,pseudo_lmaxpo) - dz_kl double precision (pseudo_kmax,pseudo_lmaxpo) \ No newline at end of file + v_kl double precision (nuclei_nucl_num,pseudo_kmax,pseudo_lmaxpo) + n_kl integer (nuclei_nucl_num,pseudo_kmax,pseudo_lmaxpo) + dz_kl double precision (nuclei_nucl_num,pseudo_kmax,pseudo_lmaxpo) \ No newline at end of file