diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index 5b99e38d..9c54afe2 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -711,7 +711,7 @@ def create_build_ninja_module(path_module): f.write("\n".join(l_string)) -def create_build_ninja_global(): +def create_build_ninja_global(l_module): l_string = ["rule update_build_ninja_root", " command = {0} update".format(__file__), @@ -723,7 +723,7 @@ def create_build_ninja_global(): ""] l_string += ["rule make_clean", - " command = cd {0} ; clean_modules.sh *".format(QP_SRC), + " command = module_handler.py clean {0}".format(" ".join([m.rel for m in l_module])), " description = Cleaning all modules", ""] l_string += ["build dummy_target: update_build_ninja_root", @@ -832,7 +832,7 @@ if __name__ == "__main__": d_binaries = get_dict_binaries(l_module, mode="development") l_module = d_binaries.keys() - create_build_ninja_global() + create_build_ninja_global(l_module) for module_to_compile in l_module: diff --git a/scripts/ezfio_interface/ei_handler.py b/scripts/ezfio_interface/ei_handler.py index 179ecf2b..855758c6 100755 --- a/scripts/ezfio_interface/ei_handler.py +++ b/scripts/ezfio_interface/ei_handler.py @@ -230,6 +230,8 @@ def get_dict_config_file(module_obj): # pvd = provider pvd = section.lower() + d[pvd]["module"] = module_obj + # Create the dictionary who containt the value per default d_default = {"ezfio_name": pvd, "ezfio_dir": module_obj.lower, @@ -319,7 +321,7 @@ def create_ezfio_provider(dict_ezfio_cfg): ez_p.set_doc(dict_info['doc']) ez_p.set_ezfio_dir(dict_info['ezfio_dir']) ez_p.set_ezfio_name(dict_info['ezfio_name']) - ez_p.set_output("output_%s" % dict_info['ezfio_dir']) + ez_p.set_output("output_%s" % dict_info['module'].lower) # (nuclei.nucl_num,pseudo.klocmax) => (nucl_num,klocmax) ez_p.set_size(re.sub(r'\w+\.', "", dict_info['size'])) diff --git a/scripts/module/module_handler.py b/scripts/module/module_handler.py index 2d314d67..ddaf976d 100755 --- a/scripts/module/module_handler.py +++ b/scripts/module/module_handler.py @@ -213,14 +213,10 @@ if __name__ == '__main__': for module in l_module: if not is_module(module): - print "{0} is not a module. Abort".format(module) + print "{0} is not a volide module. Abort".format(module) + print "No NEEDED_CHILDREN_MODULES in it" sys.exit(1) -# else: -# path_file = os.path.abspath(arguments['']) -# dir_ = os.path.dirname(path_file) -# - m = ModuleHandler() if arguments['print_descendant']: @@ -232,5 +228,25 @@ if __name__ == '__main__': m.create_png(l_module) if arguments["clean"]: - for i in arguments['']: - print i.is_module() + for module in l_module: + module_abs = os.path.realpath(os.path.join(QP_SRC, module)) + + import shutil + + for f in ['IRPF90_temp', 'IRPF90_man']: + try: + shutil.rmtree(os.path.join(module_abs, f)) + except: + pass + + for symlink in m.l_descendant_unique([module]): + try: + os.unlink(os.path.join(module_abs,symlink)) + except: + pass + + for f in ["irpf90_entities", "tags", "irpf90.make", "Makefile"]: + try: + os.remove(os.path.join(module_abs,f)) + except: + pass diff --git a/src/Determinants/README.rst b/src/Determinants/README.rst index f0497d7f..44ab99d7 100644 --- a/src/Determinants/README.rst +++ b/src/Determinants/README.rst @@ -205,10 +205,22 @@ Documentation degree : Degree of excitation +`det_coef `_ + det_coef + + `det_connections `_ Build connection proxy between determinants +`det_num `_ + det_num + + +`det_occ `_ + det_occ + + `det_search_key `_ Return an integer*8 corresponding to a determinant index for searching @@ -480,6 +492,10 @@ Documentation Maximum degree of excitation in the wf +`mo_label `_ + o_label + + `mono_elec_ref_bitmask_energy `_ Energy of the reference bitmask used in Slater rules @@ -505,15 +521,15 @@ Documentation determinants. idx_cas gives the indice of the CAS determinant in psi_det. -`n_det_max `_ +`n_det_max `_ Max number of determinants in the wave function -`n_det_max_jacobi `_ +`n_det_max_jacobi `_ Maximum number of determinants diagonalized by Jacobi -`n_det_max_property `_ +`n_det_max_property `_ Max number of determinants in the wave function when you select for a given property @@ -537,7 +553,7 @@ Documentation Number of single excitation bitmasks -`n_states `_ +`n_states `_ Number of states to consider @@ -585,7 +601,7 @@ Documentation rho(alpha) - rho(beta) -`only_single_double_dm `_ +`only_single_double_dm `_ If true, The One body DM is calculated with ignoring the Double<->Doubles extra diag elements @@ -762,7 +778,7 @@ Documentation Reads the determinants from the EZFIO file -`read_wf `_ +`read_wf `_ If true, read the wave function from the EZFIO file @@ -787,7 +803,7 @@ Documentation Undocumented -`s2_eig `_ +`s2_eig `_ Force the wave function to be an eigenfunction of S^2 @@ -862,7 +878,7 @@ Documentation convergence of the correlation energy of SC2 iterations -`threshold_generators `_ +`threshold_generators `_ Thresholds on generators (fraction of the norm) diff --git a/src/MOs/EZFIO.cfg b/src/MOs/EZFIO.cfg new file mode 100644 index 00000000..2dd45480 --- /dev/null +++ b/src/MOs/EZFIO.cfg @@ -0,0 +1,31 @@ +[mo_tot_num] +type: integer +doc: Total number of molecular orbitals and the size of the keys corresponding +interface: ezfio +ezfio_dir: mo_basis + +[mo_coef] +type: double precision +doc: coefficient of the ith ao on the jth mo +interface: ezfio +size: (ao_basis.ao_num,mo_basis.mo_tot_num) +ezfio_dir: mo_basis + +[mo_label] +type: character*(64) +doc: Label characterizing the MOS (local, canonical, natural, etc) +interface: ezfio +ezfio_dir: mo_basis + +[mo_occ] +type: double precision +doc: MO occupation numbers +interface: ezfio +size: (mo_basis.mo_tot_num) +ezfio_dir: mo_basis + +[ao_md5] +type: character*(32) +doc: Ao_md5 +interface: ezfio +ezfio_dir: mo_basis \ No newline at end of file diff --git a/src/MOs/mos.ezfio_config b/src/MOs/mos.ezfio_config deleted file mode 100644 index b0971eb8..00000000 --- a/src/MOs/mos.ezfio_config +++ /dev/null @@ -1,7 +0,0 @@ -mo_basis - mo_tot_num integer - mo_coef double precision (ao_basis_ao_num,mo_basis_mo_tot_num) - mo_label character*(64) - mo_occ double precision (mo_basis_mo_tot_num) - ao_md5 character*(32) - diff --git a/src/MOs/mos.irp.f b/src/MOs/mos.irp.f index 634773a8..016b48ad 100644 --- a/src/MOs/mos.irp.f +++ b/src/MOs/mos.irp.f @@ -26,7 +26,6 @@ END_PROVIDER BEGIN_PROVIDER [ double precision, mo_coef, (ao_num_align,mo_tot_num) ] -&BEGIN_PROVIDER [ character*(64), mo_label ] implicit none BEGIN_DOC ! Molecular orbital coefficients on AO basis set @@ -55,17 +54,28 @@ END_PROVIDER enddo enddo deallocate(buffer) - call ezfio_has_mo_basis_mo_label(exists) - if (exists) then - call ezfio_get_mo_basis_mo_label(mo_label) - else - mo_label = 'no_label' - endif else ! Orthonormalized AO basis mo_coef = 0. endif - +END_PROVIDER + +BEGIN_PROVIDER [ character*(64), mo_label ] + implicit none + BEGIN_DOC + ! Molecular orbital coefficients on AO basis set + ! mo_coef(i,j) = coefficient of the ith ao on the jth mo + ! mo_label : Label characterizing the MOS (local, canonical, natural, etc) + END_DOC + + logical :: exists + PROVIDE ezfio_filename + call ezfio_has_mo_basis_mo_label(exists) + if (exists) then + call ezfio_get_mo_basis_mo_label(mo_label) + else + mo_label = 'no_label' + endif END_PROVIDER BEGIN_PROVIDER [ double precision, mo_coef_transp, (mo_tot_num_align,ao_num) ]