mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-03 20:53:54 +01:00
8b22e38c9c
* fixed laplacian of aos * corrected the laplacians of aos * added dft_one_e * added new feature for new dft functionals * changed the configure to add new functionals * changed the configure * added dft_one_e/README.rst * added README.rst in new_functionals * added source/programmers_guide/new_ks.rst * Thesis Yann * Added gmp installation in configure * improved qp_e_conv_fci * Doc * Typos * Added variance_max * Fixed completion in qp_create * modif TODO * fixed DFT potential for n_states gt 1 * improved pot pbe * trying to improve sr PBE * fixed potential pbe * fixed the vxc smashed for pbe sr and normal * Comments in selection * bug fixed by peter * Fixed bug with zero beta electrons * Update README.rst * Update e_xc_new_func.irp.f * Update links.rst * Update quickstart.rst * Update quickstart.rst * updated cipsi * Fixed energies of non-expected s2 (#9) * Moved diag_algorithm in Davdison * Add print_ci_vector in tools (#11) * Fixed energies of non-expected s2 * Moved diag_algorithm in Davdison * Fixed travis * Added print_ci_vector * Documentation * Cleaned qp_set_mo_class.ml * Removed Core in taskserver * Merge develop-toto and manus (#12) * Fixed energies of non-expected s2 * Moved diag_algorithm in Davdison * Fixed travis * Added print_ci_vector * Documentation * Cleaned qp_set_mo_class.ml * Removed Core in taskserver * Frozen core for heavy atoms * Improved molden module * In sync with manus * Fixed some of the documentation errors * Develop toto (#13) * Fixed energies of non-expected s2 * Moved diag_algorithm in Davdison * Fixed travis * Added print_ci_vector * Documentation * Cleaned qp_set_mo_class.ml * Removed Core in taskserver * Frozen core for heavy atoms * Improved molden module * In sync with manus * Fixed some of the documentation errors * Develop manus (#14) * modified printing for rpt2 * Comment * Fixed plugins * Scripting for functionals * Documentation * Develop (#10) * fixed laplacian of aos * corrected the laplacians of aos * added dft_one_e * added new feature for new dft functionals * changed the configure to add new functionals * changed the configure * added dft_one_e/README.rst * added README.rst in new_functionals * added source/programmers_guide/new_ks.rst * Thesis Yann * Added gmp installation in configure * improved qp_e_conv_fci * Doc * Typos * Added variance_max * Fixed completion in qp_create * modif TODO * fixed DFT potential for n_states gt 1 * improved pot pbe * trying to improve sr PBE * fixed potential pbe * fixed the vxc smashed for pbe sr and normal * Comments in selection * bug fixed by peter * Fixed bug with zero beta electrons * Update README.rst * Update e_xc_new_func.irp.f * Update links.rst * Update quickstart.rst * Update quickstart.rst * updated cipsi * Fixed energies of non-expected s2 (#9) * Moved diag_algorithm in Davdison * some modifs * modified gfortran_debug.cfg * fixed automatization of functionals * modified e_xc_general.irp.f * minor modifs in ref_bitmask.irp.f * modifying functionals * rs_ks_scf and ks_scf compiles with the automatic handling of functionals * removed prints * fixed configure * fixed the new functionals * Merge toto * modified automatic functionals * Changed python into python2 * from_xyz suppressed * Cleaning repo * Update README.md * Update README.md * Contributors * Update GITHUB.md * bibtex
78 lines
1.7 KiB
Python
Executable File
78 lines
1.7 KiB
Python
Executable File
#!/usr/bin/env python2
|
|
|
|
|
|
"""
|
|
Automatically finds n, the number of core electrons. Calls qp_set_mo_class
|
|
setting all MOs as Active, except the n/2 first ones which are set as Core.
|
|
If pseudo-potentials are used, all the MOs are set as Active.
|
|
|
|
For elements on the right of the periodic table, qp_set_frozen_core will work
|
|
as expected. But for elements on the left, a small core will be chosen. For
|
|
example, a Carbon atom will have 2 core electrons, but a Lithium atom will have
|
|
zero.
|
|
|
|
|
|
Usage:
|
|
qp_set_frozen_core [-q|--query] EZFIO_DIR
|
|
|
|
Options:
|
|
-q --query Prints in the standard output the number of frozen MOs
|
|
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
import os.path
|
|
|
|
try:
|
|
import qp_path
|
|
except ImportError:
|
|
print "source .quantum_package.rc"
|
|
raise
|
|
|
|
from docopt import docopt
|
|
from ezfio import ezfio
|
|
|
|
|
|
def main(arguments):
|
|
"""Main function"""
|
|
|
|
filename = arguments["EZFIO_DIR"]
|
|
ezfio.set_filename(filename)
|
|
|
|
n_frozen = 0
|
|
try:
|
|
do_pseudo = ezfio.pseudo_do_pseudo
|
|
except:
|
|
do_pseudo = False
|
|
|
|
if not do_pseudo:
|
|
for charge in ezfio.nuclei_nucl_charge:
|
|
if charge < 5:
|
|
pass
|
|
elif charge < 13:
|
|
n_frozen += 1
|
|
elif charge < 31:
|
|
n_frozen += 5
|
|
else:
|
|
n_frozen += 9
|
|
|
|
mo_num = ezfio.mo_basis_mo_num
|
|
|
|
if arguments["--query"]:
|
|
print n_frozen
|
|
sys.exit(0)
|
|
|
|
if n_frozen == 0:
|
|
os.system("""qp_set_mo_class -a "[1-%d]" %s""" %
|
|
(mo_num, sys.argv[1]))
|
|
else:
|
|
os.system("""qp_set_mo_class -c "[1-%d]" -a "[%d-%d]" %s""" %
|
|
(n_frozen, n_frozen+1, mo_num, sys.argv[1]))
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
ARGUMENTS = docopt(__doc__)
|
|
main(ARGUMENTS)
|