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

Uploaded Source

Built Distribution

aiida_gaussian_datatypes-0.5.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiida-gaussian-datatypes-0.5.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for aiida-gaussian-datatypes-0.5.0.tar.gz
Algorithm Hash digest
SHA256 559ded59279fa51e5103abdfae0e7915039d709ddc142293e9dace3f0506d407
MD5 4743dbefc57d43551de04d802d6c18c9
BLAKE2b-256 426226f681fe452798944a915704673b21f6cf528f865f1f6980c77930692192

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiida_gaussian_datatypes-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for aiida_gaussian_datatypes-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a479f2062bbd18d09538faa770511dbbbd57f644b9803d739f4f6cb4f345e1e6
MD5 41e63d21018b59e04dfa957a34cdd8d3
BLAKE2b-256 a3b87259d7f92919c82c05b7718eb90d0c76d62f5023736bc27d9fb7ae5ac196

See more details on using hashes here.

Supported by

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