qc2.ase.psi4 ============ .. py:module:: qc2.ase.psi4 .. autoapi-nested-parse:: 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 Classes ------- .. autoapisummary:: qc2.ase.psi4.Psi4 Module Contents --------------- .. py:class:: Psi4(*args, **kwargs) Bases: :py:obj:`ase.calculators.psi4.Psi4`, :py:obj:`qc2.ase.qc2_ase_base_class.BaseQc2ASECalculator` An extended ASE calculator for Psi4. :param Psi4_original: Original ASE-Psi4 calculator. :type Psi4_original: Psi4_original :param BaseQc2ASECalculator: Base class for ase calculartors in qc2. :type BaseQc2ASECalculator: BaseQc2ASECalculator .. py:attribute:: scf_e :value: None .. py:attribute:: scf_wfn :value: None .. py:attribute:: mints :value: None .. py:method:: calculate(*args, **kwargs) -> None Calculate method for qc2 ASE-Psi4. .. py:method:: save(datafile: Union[h5py.File, str]) -> None Dumps qchem data to a datafile using QCSchema or FCIDump formats. :param datafile: file to save the data to. :type datafile: Union[h5py.File, str] :returns: None .. rubric:: 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') .. py:method:: load(datafile: Union[h5py.File, str]) -> Union[qiskit_nature.second_q.formats.qcschema.QCSchema, qiskit_nature.second_q.formats.fcidump.FCIDump] Loads electronic structure data from a datafile. :param datafile: file to read the data from. :type datafile: Union[h5py.File, str] :returns: Instances of :class:`QCSchema` or :class:`FCIDump` dataclasses containing qchem data. .. rubric:: 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') .. py:method:: get_integrals_mo_basis() -> Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray] 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. :rtype: A tuple containing `np.ndarray` types .. py:method:: get_integrals_ao_basis() -> Tuple[numpy.ndarray, numpy.ndarray] 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. :rtype: Tuple[np.ndarray, np.ndarray] .. py:method:: get_molecular_orbitals_coefficients() -> Tuple[numpy.ndarray, numpy.ndarray] Retrieves alpha and beta MO coeffs from Psi4 routines. :returns: Tuple containing the alpha and beta MO coefficients. :rtype: Tuple[np.ndarray, np.ndarray] .. py:method:: get_molecular_orbitals_energies() -> Tuple[numpy.ndarray, numpy.ndarray] Retrieves alpha and beta MO energies from Psi4 routines. :returns: Tuple containing the alpha and beta MO energies. :rtype: Tuple[np.ndarray, np.ndarray] .. py:method:: get_overlap_matrix() -> numpy.ndarray Retrieves overlap matrix from Psi4 routines. :returns: The overlap matrix. :rtype: np.ndarray