diff --git a/scripts/compilation/cache_compile.py b/scripts/compilation/cache_compile.py index 398dc1b9..77e799b8 100755 --- a/scripts/compilation/cache_compile.py +++ b/scripts/compilation/cache_compile.py @@ -18,7 +18,9 @@ p = re.compile(ur'-I IRPF90_temp/\S*\s+') mod = re.compile(ur'module\s+(?P\S+).+end\s?module\s+(?P=mod)?', re.MULTILINE | re.IGNORECASE) -TMPDIR = "/tmp/qp_compiler/" +tmpdir_root = os.environ.get("TMPDIR",failobj="/dev/shm") +TMPDIR = os.path.join(tmpdir_root,os.environ["USER"],"qp_compiler") + def return_filename_to_cache(command): @@ -67,7 +69,7 @@ def cache_utility(command): # Create temp directory try: - os.mkdir("/tmp/qp_compiler/") + os.makedirs(TMPDIR) except OSError: pass diff --git a/scripts/module/qp_install_module.py b/scripts/module/qp_install_module.py index 8e9f149c..6bf588a8 100755 --- a/scripts/module/qp_install_module.py +++ b/scripts/module/qp_install_module.py @@ -69,7 +69,7 @@ if __name__ == '__main__': m_instance = ModuleHandler(l_repository) - for module in m_instance.l_module: + for module in sorted(m_instance.l_module): print "* {0}".format(module) elif arguments["create"]: @@ -143,6 +143,10 @@ if __name__ == '__main__': for module_to_cp in l_module_to_cp: src = os.path.join(qp_root_plugin, module_to_cp) des = os.path.join(qp_root_src, module_to_cp) - os.symlink(src, des) + try: + os.symlink(src, des) + except OSError: + print "Your src directory is broken. Please remove %s"%des + raise print "Done" print "You can now compile as usual" diff --git a/src/DensityFit/.gitignore b/src/DensityFit/.gitignore deleted file mode 100644 index 7ac9fbf6..00000000 --- a/src/DensityFit/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -IRPF90_temp/ -IRPF90_man/ -irpf90.make -irpf90_entities -tags \ No newline at end of file diff --git a/src/DensityFit/NEEDED_CHILDREN_MODULES b/src/DensityFit/NEEDED_CHILDREN_MODULES deleted file mode 100644 index d6315de9..00000000 --- a/src/DensityFit/NEEDED_CHILDREN_MODULES +++ /dev/null @@ -1 +0,0 @@ -AOs Pseudo diff --git a/src/DensityFit/README.rst b/src/DensityFit/README.rst deleted file mode 100644 index 9687dec6..00000000 --- a/src/DensityFit/README.rst +++ /dev/null @@ -1,82 +0,0 @@ -================= -DensityFit Module -================= - -In this module, the basis of all the products of atomic orbitals is built. - -Documentation -============= - -.. Do not edit this section. It was auto-generated from the -.. by the `update_README.py` script. - -`aux_basis_coef `_ - Exponents and coefficients of the auxiliary basis - - -`aux_basis_coef_transp `_ - Exponents of the auxiliary basis - - -`aux_basis_expo `_ - Exponents and coefficients of the auxiliary basis - - -`aux_basis_expo_transp `_ - Exponents of the auxiliary basis - - -`aux_basis_four_overlap `_ - \int \chi_i(r) \chi_j(r) \chi_k(r) \chi_l(r) dr - - -`aux_basis_idx `_ - aux_basis_idx(k) -> i,j - - -`aux_basis_nucl `_ - Exponents of the auxiliary basis - - -`aux_basis_num `_ - Number of auxiliary basis functions - - -`aux_basis_num_8 `_ - Number of auxiliary basis functions - - -`aux_basis_num_sqrt `_ - Number of auxiliary basis functions - - -`aux_basis_overlap_matrix `_ - Auxiliary basis set - - -`aux_basis_power `_ - Exponents of the auxiliary basis - - -`aux_basis_prim_num `_ - Exponents of the auxiliary basis - - -`aux_basis_prim_num_max `_ - = ao_prim_num_max - - -`save_aux_basis `_ - Undocumented - -Needed Modules -============== - -.. Do not edit this section. It was auto-generated from the -.. by the `update_README.py` script. - -.. image:: tree_dependency.png - -* `AOs `_ -* `Pseudo `_ - diff --git a/src/DensityFit/aux_basis.ezfio_config b/src/DensityFit/aux_basis.ezfio_config deleted file mode 100644 index cd56d1c7..00000000 --- a/src/DensityFit/aux_basis.ezfio_config +++ /dev/null @@ -1,12 +0,0 @@ -aux_basis - aux_basis_num integer - aux_basis_num_sqrt integer - aux_basis_idx integer (2,aux_basis_aux_basis_num) - aux_basis_prim_num integer (aux_basis_aux_basis_num_sqrt) - aux_basis_nucl integer (aux_basis_aux_basis_num_sqrt) - aux_basis_power integer (aux_basis_aux_basis_num_sqrt,3) - aux_basis_prim_num_max integer = maxval(aux_basis_aux_basis_prim_num) - aux_basis_coef double precision (aux_basis_aux_basis_num_sqrt,aux_basis_aux_basis_prim_num_max) - aux_basis_expo double precision (aux_basis_aux_basis_num_sqrt,aux_basis_aux_basis_prim_num_max) - - diff --git a/src/DensityFit/aux_basis.irp.f b/src/DensityFit/aux_basis.irp.f deleted file mode 100644 index 009c59cf..00000000 --- a/src/DensityFit/aux_basis.irp.f +++ /dev/null @@ -1,130 +0,0 @@ - BEGIN_PROVIDER [ integer, aux_basis_num_sqrt ] -&BEGIN_PROVIDER [ integer, aux_basis_num ] -&BEGIN_PROVIDER [ integer, aux_basis_num_8 ] - implicit none - BEGIN_DOC - ! Number of auxiliary basis functions - END_DOC - integer :: align_double - - if (do_pseudo) then -! aux_basis_num_sqrt = ao_num + ao_pseudo_num - aux_basis_num_sqrt = ao_num - else - endif - - aux_basis_num = aux_basis_num_sqrt * (aux_basis_num_sqrt+1)/2 - aux_basis_num_8 = align_double(aux_basis_num) -END_PROVIDER - -BEGIN_PROVIDER [ integer, aux_basis_idx, (2,aux_basis_num) ] - implicit none - BEGIN_DOC -! aux_basis_idx(k) -> i,j - END_DOC - integer :: i,j,k - k=0 - do j=1,aux_basis_num_sqrt - do i=1,j - k = k+1 - aux_basis_idx(1,k) = i - aux_basis_idx(2,k) = j - enddo - enddo -END_PROVIDER - - BEGIN_PROVIDER [ double precision, aux_basis_expo_transp, (ao_prim_num_max_align,aux_basis_num_sqrt) ] -&BEGIN_PROVIDER [ double precision, aux_basis_coef_transp, (ao_prim_num_max_align,aux_basis_num_sqrt) ] -&BEGIN_PROVIDER [ integer, aux_basis_prim_num, (aux_basis_num_sqrt) ] -&BEGIN_PROVIDER [ integer, aux_basis_power, (aux_basis_num_sqrt,3) ] -&BEGIN_PROVIDER [ integer, aux_basis_nucl, (aux_basis_num_sqrt) ] - implicit none - BEGIN_DOC - ! Exponents of the auxiliary basis - END_DOC - integer :: i,j - do j=1,ao_num - do i=1,ao_prim_num_max - aux_basis_expo_transp(i,j) = ao_expo_ordered_transp(i,j) - aux_basis_coef_transp(i,j) = ao_coef_normalized_ordered_transp(i,j) - enddo - enddo - do i=1,ao_num - aux_basis_prim_num(i) = ao_prim_num(i) - aux_basis_nucl(i) = ao_nucl(i) - aux_basis_power(i,1:3) = ao_power(i,1:3) - enddo - -! do j=1,ao_pseudo_num -! aux_basis_expo_transp(1,ao_num+j) = 0.5d0*pseudo_ao_expo(j) -! aux_basis_coef_transp(1,ao_num+j) = 1.d0 -! aux_basis_power(ao_num+j,1:3) = 0 -! aux_basis_prim_num(ao_num+j) = 1 -! aux_basis_nucl(ao_num+j) = pseudo_ao_nucl(j) -! enddo - -END_PROVIDER - - -BEGIN_PROVIDER [ double precision, aux_basis_overlap_matrix, (aux_basis_num_8,aux_basis_num) ] - implicit none - BEGIN_DOC -! Auxiliary basis set - END_DOC - integer :: m,n,i,j,k,l - double precision :: aux_basis_four_overlap - - aux_basis_overlap_matrix(1,1) = aux_basis_four_overlap(1,1,1,1) - !$OMP PARALLEL DO PRIVATE(i,j,k,l,m,n) SCHEDULE(GUIDED) - do m=1,aux_basis_num - i = aux_basis_idx(1,m) - j = aux_basis_idx(2,m) - do n=1,m - k = aux_basis_idx(1,n) - l = aux_basis_idx(2,n) - aux_basis_overlap_matrix(m,n) = aux_basis_four_overlap(i,j,k,l) - aux_basis_overlap_matrix(n,m) = aux_basis_overlap_matrix(m,n) - enddo - enddo - !$OMP END PARALLEL DO - -END_PROVIDER - - BEGIN_PROVIDER [ double precision, aux_basis_expo, (aux_basis_num_sqrt,aux_basis_prim_num_max) ] -&BEGIN_PROVIDER [ double precision, aux_basis_coef, (aux_basis_num_sqrt,aux_basis_prim_num_max) ] - implicit none - BEGIN_DOC - ! Exponents and coefficients of the auxiliary basis - END_DOC - integer :: i,j - aux_basis_expo = 0.d0 - aux_basis_coef = 0.d0 - do j=1,aux_basis_num_sqrt - do i=1,aux_basis_prim_num(j) - aux_basis_expo(j,i) = aux_basis_expo_transp(i,j) - aux_basis_coef(j,i) = aux_basis_coef_transp(i,j) - enddo - enddo - -END_PROVIDER - -BEGIN_PROVIDER [ integer, aux_basis_prim_num_max ] - implicit none - BEGIN_DOC - ! = ao_prim_num_max - END_DOC - aux_basis_prim_num_max = ao_prim_num_max -END_PROVIDER - - -subroutine save_aux_basis - implicit none - call ezfio_set_aux_basis_aux_basis_num(aux_basis_num) - call ezfio_set_aux_basis_aux_basis_num_sqrt(aux_basis_num_sqrt) - call ezfio_set_aux_basis_aux_basis_idx(aux_basis_idx) - call ezfio_set_aux_basis_aux_basis_prim_num(aux_basis_prim_num) - call ezfio_set_aux_basis_aux_basis_nucl(aux_basis_nucl) - call ezfio_set_aux_basis_aux_basis_power(aux_basis_power) - call ezfio_set_aux_basis_aux_basis_coef(aux_basis_coef) - call ezfio_set_aux_basis_aux_basis_expo(aux_basis_expo) -end diff --git a/src/DensityFit/overlap.irp.f b/src/DensityFit/overlap.irp.f deleted file mode 100644 index 6c671198..00000000 --- a/src/DensityFit/overlap.irp.f +++ /dev/null @@ -1,66 +0,0 @@ -double precision function aux_basis_four_overlap(i,j,k,l) - implicit none - BEGIN_DOC -! \int \chi_i(r) \chi_j(r) \chi_k(r) \chi_l(r) dr - END_DOC - integer,intent(in) :: i,j,k,l - integer :: p,q,r,s - double precision :: I_center(3),J_center(3),K_center(3),L_center(3) - integer :: num_i,num_j,num_k,num_l,dim1,I_power(3),J_power(3),K_power(3),L_power(3) - double precision :: overlap_x,overlap_y,overlap_z, overlap - include 'Utils/constants.include.F' - double precision :: P_new(0:max_dim,3),P_center(3),fact_p,pp - double precision :: Q_new(0:max_dim,3),Q_center(3),fact_q,qq - integer :: iorder_p(3), iorder_q(3) - - dim1 = n_pt_max_integrals - - num_i = aux_basis_nucl(i) - num_j = aux_basis_nucl(j) - num_k = aux_basis_nucl(k) - num_l = aux_basis_nucl(l) - aux_basis_four_overlap = 0.d0 - - do p = 1, 3 - I_power(p) = aux_basis_power(i,p) - J_power(p) = aux_basis_power(j,p) - K_power(p) = aux_basis_power(k,p) - L_power(p) = aux_basis_power(l,p) - I_center(p) = nucl_coord(num_i,p) - J_center(p) = nucl_coord(num_j,p) - K_center(p) = nucl_coord(num_k,p) - L_center(p) = nucl_coord(num_l,p) - enddo - - do p = 1, aux_basis_prim_num(i) - double precision :: coef1 - coef1 = aux_basis_coef_transp(p,i) - do q = 1, aux_basis_prim_num(j) - call give_explicit_poly_and_gaussian(P_new,P_center,pp,fact_p,iorder_p,& - aux_basis_expo_transp(p,i),aux_basis_expo_transp(q,j), & - I_power,J_power,I_center,J_center,dim1) - double precision :: coef2 - coef2 = coef1*aux_basis_coef_transp(q,j)*fact_p - do r = 1, aux_basis_prim_num(k) - double precision :: coef3 - coef3 = coef2*aux_basis_coef_transp(r,k) - do s = 1, aux_basis_prim_num(l) - double precision :: general_primitive_integral - call give_explicit_poly_and_gaussian(Q_new,Q_center,qq,fact_q,iorder_q, & - aux_basis_expo_transp(r,k),aux_basis_expo_transp(s,l), & - K_power,L_power,K_center,L_center,dim1) - double precision :: coef4 - coef4 = coef3*aux_basis_coef_transp(s,l)*fact_q - call overlap_gaussian_xyz(P_center,Q_center,pp,qq,iorder_p,iorder_q,overlap_x,overlap_y,overlap_z,overlap,dim1) - aux_basis_four_overlap += coef4 * overlap - enddo ! s - enddo ! r - enddo ! q - enddo ! p - -end - -! TODO : Schwartz acceleration - - - diff --git a/src/DensityFit/tree_dependency.png b/src/DensityFit/tree_dependency.png deleted file mode 100644 index c212e36e..00000000 Binary files a/src/DensityFit/tree_dependency.png and /dev/null differ