qc2.ase.psi4

This module defines a cutomized qc2 ASE-Psi4 calculator.

For the original ASE calculator see: https://databases.fysik.dtu.dk/ase/ase/calculators/psi4.html#module-ase.calculators.psi4

Module Contents

Classes

Psi4

An extended ASE calculator for Psi4.

class qc2.ase.psi4.Psi4(*args, **kwargs)[source]

Bases: ase.calculators.psi4.Psi4, qc2.ase.qc2_ase_base_class.BaseQc2ASECalculator

An extended ASE calculator for Psi4.

Parameters:
  • Psi4_original (Psi4_original) – Original ASE-Psi4 calculator.

  • BaseQc2ASECalculator (BaseQc2ASECalculator) – Base class for ase calculartors in qc2.

calculate(*args, **kwargs) None[source]

Calculate method for qc2 ASE-Psi4.

save(datafile: h5py.File | str) None[source]

Dumps qchem data to a datafile using QCSchema or FCIDump formats.

Parameters:

datafile (Union[h5py.File, str]) – file to save the data to.

Returns:

None

Notes

files are written following the QCSchema or FCIDump formats.

Example

>>> from ase.build import molecule
>>> from qc2.ase import Psi4
>>>
>>> molecule = molecule('H2')
>>> molecule.calc = Psi4(method='hf', basis='sto-3g')
>>> molecule.calc.schema_format = "qcschema"
>>> molecule.get_potential_energy()
>>> molecule.calc.save('h2.hdf5')
>>>
>>> molecule = molecule('H2')
>>> molecule.calc = Psi4(method='hf', basis='sto-3g')
>>> molecule.calc.schema_format = "fcidump"
>>> molecule.get_potential_energy()
>>> molecule.calc.save('h2.fcidump')
load(datafile: h5py.File | str) qiskit_nature.second_q.formats.qcschema.QCSchema | qiskit_nature.second_q.formats.fcidump.FCIDump[source]

Loads electronic structure data from a datafile.

Parameters:

datafile (Union[h5py.File, str]) – file to read the data from.

Returns:

Instances of QCSchema or FCIDump dataclasses containing qchem data.

Notes

files are read following the qcschema or fcidump formats.

Example

>>> from ase.build import molecule
>>> from qc2.ase import Psi4
>>>
>>> molecule = molecule('H2')
>>> molecule.calc = Psi4(method='hf', basis='sto-3g')
>>> molecule.calc.schema_format = "qcschema"
>>> qcschema = molecule.calc.load('h2.h5')
>>>
>>> molecule = molecule('H2')
>>> molecule.calc = Psi4(method='hf', basis='sto-3g')
>>> molecule.calc.schema_format = "fcidump"
>>> fcidump = molecule.calc.load('h2.fcidump')
get_integrals_mo_basis() Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray][source]

Retrieves 1- & 2-body integrals in MO basis from Psi4 routines.

Returns:

  • one_body_int_a & one_body_int_b: Numpy arrays containing alpha and beta components of the one-body integrals.

  • two_body_int_aa, two_body_int_bb, two_body_int_ab & two_body_int_ba: Numpy arrays containing alpha-alpha, beta-beta, alpha-beta & beta-alpha components of the two-body integrals.

Return type:

A tuple containing np.ndarray types

get_integrals_ao_basis() Tuple[numpy.ndarray, numpy.ndarray][source]

Retrieves 1- & 2-e integrals in AO basis from Psi4 routines.

Returns:

Tuple containing the 1-electron integrals and the 2-electron integrals in the AO basis.

Return type:

Tuple[np.ndarray, np.ndarray]

get_molecular_orbitals_coefficients() Tuple[numpy.ndarray, numpy.ndarray][source]

Retrieves alpha and beta MO coeffs from Psi4 routines.

Returns:

Tuple containing the alpha and beta MO coefficients.

Return type:

Tuple[np.ndarray, np.ndarray]

get_molecular_orbitals_energies() Tuple[numpy.ndarray, numpy.ndarray][source]

Retrieves alpha and beta MO energies from Psi4 routines.

Returns:

Tuple containing the alpha and beta MO energies.

Return type:

Tuple[np.ndarray, np.ndarray]

get_overlap_matrix() numpy.ndarray[source]

Retrieves overlap matrix from Psi4 routines.

Returns:

The overlap matrix.

Return type:

np.ndarray