10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 12:23:43 +01:00

Added qp_basis

This commit is contained in:
Anthony Scemama 2020-02-04 19:30:04 +01:00
parent ad8adda841
commit 4572aa1661
3 changed files with 63 additions and 12 deletions

54
bin/qp_basis Executable file
View File

@ -0,0 +1,54 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Installs basis sets in the data directory from Basis Set Exchange.
Usage:
qp_basis list
qp_basis get BSE_BASIS
qp_basis install BSE_BASIS QP_BASIS
"""
from __future__ import print_function
import sys
import os
import subprocess
try:
from docopt import docopt
from qp_path import QP_ROOT
except ImportError:
print("Please check if you have sourced the ${QP_ROOT}/quantum_package.rc")
print("(`source ${QP_ROOT}/quantum_package.rc`)")
sys.exit(1)
def main(arguments):
"""Main function"""
if arguments["list"]:
os.system("bse list-basis-sets")
elif arguments["install"]:
bse_basis = arguments["BSE_BASIS"]
qp_basis = arguments["QP_BASIS"]
for character in """"[]{}()*&%$#!;:,<>?'|\\""":
if character in qp_basis:
print("Invalid character %s in QP_BASIS"%character)
sys.exit(1)
path = QP_ROOT+"/data/basis/"+qp_basis
os.system("bse get-basis --unc-spdf '%s' gamess_us > %s"%(bse_basis, path))
elif arguments["get"]:
bse_basis = arguments["BSE_BASIS"]
os.system("bse get-basis --unc-spdf '%s' gamess_us"%(bse_basis))
if __name__ == '__main__':
ARGS = docopt(__doc__)
main(ARGS)

8
configure vendored
View File

@ -507,14 +507,8 @@ echo "If you have PIP, you can install the Basis Sex Exchange command-line tool:
echo ""
echo " ./configure -i bse"
echo ""
echo "Format is GAMESS/US, and combined sp, spd, ... contractions should be removed."
echo "For example:"
echo "This will enable the usage of qp_basis to install extra basis sets."
echo ""
echo " bse get-basis --unc-spdf STO-3G gamess_us > sto-3g"
echo ""
echo "For help, run"
echo ""
echo " bse -h"
echo ""
printf "\e[m\n"

View File

@ -34,9 +34,6 @@ Usage
By default, the basis set is obtained from the local database of the.
|qp| This option is mandatory .
If ``<string>`` is set to ``show``, the list of all available basis
sets is displayed.
.. option:: -c, --charge=<int>
@ -83,8 +80,8 @@ following should be used::
qp_create_ezfio -b custom.basis molecule.xyz
Basis set files should be given in |GAMESS| format, where the full
names of the atoms are given, and the basis sets for each element are
Basis set files should be given in |GAMESS| format, without combined sp, spd, ...
contractions. The full names of the atoms are given, and the basis sets for each element are
separated by a blank line. Here is an example ::
HYDROGEN
@ -128,6 +125,12 @@ separated by a blank line. Here is an example ::
1 0.3430000 1.0000000
Files can be extracted from the Basis Set Exchange database
https://www.basissetexchange.org , with the ``qp_basis`` tool.
Using custom pseudo-potentials
------------------------------