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.5.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

aiida_gaussian_datatypes-0.5.1-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for aiida-gaussian-datatypes-0.5.1.tar.gz
Algorithm Hash digest
SHA256 d7c4b853e4bca080d4efbc38a413eaf0e4a16d24046899a44d4b0dbd7d409543
MD5 43ebd1a1e24ff52f72834852e2a285be
BLAKE2b-256 be159239e2f99f0344c37ca49ce15ffa6aa8ee889f02a85589cc9694f04db387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiida_gaussian_datatypes-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49b4915133b9e4412b094a77e6aecebdd948f70bd4c473e1d8032ccd94ef2524
MD5 a686b8626d02a9c472f9a31ad8fe9106
BLAKE2b-256 2b91975ecdd781cf9d9a3ac59d55803913212140bbcaa3e5fde693b349e33ca6

See more details on using hashes here.

Supported by

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