Skip to main content

AiiDA data plugin to manage gaussian datatypes (basis sets and pseudopotentials) as first-class citizens

Project description

AiiDA Gaussian Data Plugin

tests codecov PyPI

Plugin to handle GTO-based basis sets and pseudopotentials and manage them as first-class citizens in AiiDA.

Commandline usage

After the installation, you will get new commands in verdi data

$ verdi data
Usage: verdi data [OPTIONS] COMMAND [ARGS]...

  Inspect, create and manage data nodes.

Options:
  -h, --help  Show this message and exit.

Commands:
  array              Manipulate ArrayData objects.
  bands              Manipulate BandsData objects.
  cif                Manipulation of CIF data objects.
  parameter          View and manipulate Dict objects.
  plugins            Print a list of registered data plugins or details of
                     a...
  remote             Managing RemoteData objects.
  structure          Manipulation of StructureData objects.
  trajectory         View and manipulate TrajectoryData instances.
  upf                Manipulation of the upf families.
  gaussian.basisset  Manage basis sets for GTO-based codes
  gaussian.pseudo    Manage Pseudopotentials for GTO-based codes

$ verdi data gaussian.basisset
Usage: verdi data gaussian.basisset [OPTIONS] COMMAND [ARGS]...

  Manage basis sets for GTO-based codes

Options:
  -h, --help  Show this message and exit.

Commands:
  dump    Print specified Basis Sets
  import  Add a basis sets from a file to the database
  list    List Gaussian Basis Sets

$ verdi data gaussian.pseudo
Usage: verdi data gaussian.pseudo [OPTIONS] COMMAND [ARGS]...

  Manage Pseudopotentials for GTO-based codes

Options:
  -h, --help  Show this message and exit.

Commands:
  dump    Print specified Pseudopotential
  import  Add a pseudopotential from a file to the database
  list    List Gaussian Pseudopotentials

Examples

Import and use Basis Set from CP2K

To import a specific basis set from a file with basis sets in CP2K's native format, simply use:

$ verdi data gaussian.basisset import --sym He data/BASIS_MOLOPT
Info: 2 Gaussian Basis Sets found:

  Nr.  Sym    Names                                      Tags                         # Val. e⁻    Version
-----  -----  -----------------------------------------  -------------------------  -----------  ---------
    1  He     SZV-MOLOPT-SR-GTH-q2, SZV-MOLOPT-SR-GTH    SZV, MOLOPT, SR, GTH, q2             2          1
    2  He     DZVP-MOLOPT-SR-GTH-q2, DZVP-MOLOPT-SR-GTH  DZVP, MOLOPT, SR, GTH, q2            2          1

Which Gaussian Basis Set do you want to add? ('n' for none, 'a' for all, comma-seperated list or range of numbers): 2
Info: Adding Gaussian Basis Set for: He (DZVP-MOLOPT-SR-GTH-q2)... DONE

$ verdi data gaussian.basisset list
Info: 1 Gaussian Basis Sets found:

ID                                    Sym    Names                                      Tags                       # Val. e⁻      Version
------------------------------------  -----  -----------------------------------------  -------------------------  -----------  ---------
4a173d43-b022-4e1e-aca9-c4db51da223b  He     DZVP-MOLOPT-SR-GTH-q2, DZVP-MOLOPT-SR-GTH  DZVP, MOLOPT, SR, GTH, q2  2                    1

Notes:

  • The command line argument --sym He is optional (leaving it away will simply show all available entries)
  • The plugin automatically filters already imported basis sets

To reference this in a verdi script, you can use the following snippet:

from aiida.plugins import DataFactory

BasisSet = DataFactory('gaussian.basisset')

basis_He = BasisSet.get(element="He", name="DZVP-MOLOPT-SR-GTH")

# the generic way using BasisSet.objects.find(...) works too, of course

Notes:

  • You don't have to specify the full name (DZVP-MOLOPT-SR-GTH-q2), the shorter name (DZVP-MOLOPT-SR-GTH) also works

Import and use Pseudopotential from CP2K

To import a specific pseudopotential from a file with pseudopotentials in CP2K's native format, simply use:

$ verdi data gaussian.pseudo import --sym He data/GTH_POTENTIALS
Info: 4 Gaussian Pseudopotentials found:

  Nr.  Sym    Names                                       Tags           Val. e⁻ (s, p, d)      Version
-----  -----  ------------------------------------------  -------------  -------------------  ---------
    1  He     GTH-BLYP-q2, GTH-BLYP                       GTH, BLYP, q2  2, 0, 0                      1
    2  He     GTH-BP-q2, GTH-BP                           GTH, BP, q2    2, 0, 0                      1
    3  He     GTH-PADE-q2, GTH-LDA-q2, GTH-PADE, GTH-LDA  GTH, PADE, q2  2, 0, 0                      1
    4  He     GTH-PBE-q2, GTH-PBE                         GTH, PBE, q2   2, 0, 0                      1

Which Gaussian Pseudopotentials do you want to add? ('n' for none, 'a' for all, comma-seperated list or range of numbers): 4
Info: Adding Gaussian Pseudopotentials for: He (GTH-PBE-q2)... DONE

$ verdi data gaussian.pseudo list
Info: 1 Gaussian Pseudopotential found:

ID                                    Sym    Names                                         Tags            Val. e⁻ (s, p, d)      Version
------------------------------------  -----  --------------------------------------------  --------------  -------------------  ---------
5838b0b7-336a-4b97-b76a-e5c42a4e98ac  He     GTH-PBE-q2, GTH-PBE                           GTH, PBE, q2    2, 0, 0                      1

Notes:

  • The command line argument --sym He is optional (leaving it away will simply show all available entries)
  • The plugin automatically filters already imported basis sets

To reference this in a verdi script, you can use the following snippet:

from aiida.plugins import DataFactory

Pseudopotential = DataFactory('gaussian.pseudo')

pseudo_He = Pseudopotential.get(element="He", name="GTH-PBE")

# the generic way using Pseudopotential.objects.find(...) works too, of course

Notes:

  • You don't have to specify the full name (GTH-PBE-q2), the shorter name (GTH-PBE) also works

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida-gaussian-datatypes-0.3.3.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiida_gaussian_datatypes-0.3.3-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file aiida-gaussian-datatypes-0.3.3.tar.gz.

File metadata

  • Download URL: aiida-gaussian-datatypes-0.3.3.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for aiida-gaussian-datatypes-0.3.3.tar.gz
Algorithm Hash digest
SHA256 81179f209a6eefc39d17f7a15090042de4e34a521c8a1e227a4f69d4117a3c5c
MD5 87b8eb14ea04114aa091e8eae7fee050
BLAKE2b-256 8ae3dfc97872dfec476cf1c41c617148a00b8016afb3c838d345bd61e38d0dc6

See more details on using hashes here.

File details

Details for the file aiida_gaussian_datatypes-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: aiida_gaussian_datatypes-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for aiida_gaussian_datatypes-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3e702f54a19a65a740ac6d9e18b9876f0be6fcfcbcaa108af25e4c41a038dae8
MD5 1f0c138c18baeb2e446a2799e4a1ede7
BLAKE2b-256 b584741bd41e765ffa2988fd3d288821feb49268f87d12ed08f3b35badf11099

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page