Wavefunction¶
- class psi4.core.Wavefunction¶
Bases:
pybind11_object
docstring
Methods Summary
Ca
(self)Returns the Alpha Orbitals.
Ca_subset
(self, arg0, arg1)Returns the requested Alpha orbital subset.
Cb
(self)Returns the Beta Orbitals.
Cb_subset
(self, arg0, arg1)Returns the requested Beta orbital subset.
Da
(self)Returns the Alpha Density Matrix.
Da_subset
(self, arg0)Returns the requested Alpha Density subset.
Db
(self)Returns the Beta Density Matrix.
Db_subset
(self, arg0)Returns the requested Beta Density subset.
Fa
(self)Returns the Alpha Fock Matrix.
Fa_subset
(self, arg0)Returns the Alpha Fock Matrix in the requested basis (AO,SO).
Fb
(self)Returns the Beta Fock Matrix.
Fb_subset
(self, arg0)Returns the Beta Fock Matrix in the requested basis (AO,SO).
H
(self)Returns the 'Core' Matrix (Potential + Kinetic) Integrals.
PCM_enabled
(self)Whether running a PCM calculation
S
(self)Returns the One-electron Overlap Matrix.
alpha_orbital_space
(self, id, basis, subset)Creates OrbitalSpace with information about the requested alpha orbital space.
aotoso
(self)Returns the Atomic Orbital to Symmetry Orbital transformer.
array_variable
(self, arg0)Returns copy of the requested (case-insensitive) Matrix QC variable.
array_variables
(self)Returns the dictionary of all Matrix QC variables.
arrays
()atomic_point_charges
(self)Returns the set atomic point charges.
basis_projection
(self, arg0, arg1, arg2, arg3)Projects a orbital matrix from one basis to another.
basisset
(self)Returns the current orbital basis.
beta_orbital_space
(self, arg0, arg1, arg2)docstring
build
(mol[, basis, quiet])Build a wavefunction from minimal inputs, molecule and basis set.
c1_deep_copy
(self, basis)Returns a new wavefunction with internal data converted to \(C_1\) symmetry, using pre-c1-constructed basis
compute_energy
(self)Computes the energy of the Wavefunction.
compute_gradient
(self)Computes the gradient of the Wavefunction
compute_hessian
(self)Computes the Hessian of the Wavefunction.
deep_copy
(self, arg0)Deep copies the internal data.
del_array_variable
(self, arg0)Removes the requested (case-insensitive) Matrix QC variable.
del_potential_variable
(self, arg0)Removes the requested (case-insensitive) ExternalPotential QC variable.
del_scalar_variable
(self, arg0)Removes the requested (case-insensitive) double QC variable.
del_variable
(key)Removes scalar or array QCVariable key from self if present.
doccpi
(self[, assume_socc_alpha])Returns the number of doubly occupied orbitals per irrep.
efzc
(self)Returns the frozen-core energy
energy
(self)Returns the Wavefunction's energy.
epsilon_a
(self)Returns the Alpha Eigenvalues.
epsilon_a_subset
(self, basis, subset)Returns the requested Alpha orbital energies subset.
epsilon_b
(self)Returns the Beta Eigenvalues.
epsilon_b_subset
(self, basis, subset)Returns the requested Beta orbital energies subset.
esp_at_nuclei
(self)returns electrostatic potentials at nuclei
external_pot
(self)Gets the requested external potential.
force_occpi
(self, arg0, arg1)Specialized expert use only.
Returns the results of a frequency analysis.
from_file
(wfn_data)Build Wavefunction from data laid out like
to_file()
.frzcpi
(self)Returns the number of frozen core orbitals per irrep.
frzvpi
(self)Returns the number of frozen virtual orbitals per irrep.
get_array
(key)get_basisset
(self, arg0)Returns the requested auxiliary basis.
get_density
(self, arg0)Experimental!
Returns a vector of length 3, containing the x, y, and z dipole field strengths.
get_print
(self)Get the print level of the Wavefunction.
get_scratch_filename
(filenumber)Return canonical path to scratch file filenumber based on molecule on self.
get_variable
(key)gradient
(self)Returns the Wavefunction's gradient.
has_array_variable
(self, arg0)Is the Matrix QC variable (case-insensitive) set? Prefer
has_variable()
.has_potential_variable
(self, arg0)Is the ExternalPotential QC variable (case-insensitive) set? (This function is provisional and might be removed in the future.)
has_scalar_variable
(self, arg0)Is the double QC variable (case-insensitive) set? Prefer
has_variable()
.has_variable
(key)Whether scalar or array QCVariable key has been set on self.
hessian
(self)Returns the Wavefunction's Hessian.
lagrangian
(self)Returns the Lagrangian Matrix.
mintshelper
(self)Returns the current MintsHelper object.
mo_extents
(self)returns the wavefunction's electronic orbital extents.
module
(self)Name of the last/highest level of theory module (internal or external) touching the wavefunction.
molecule
(self)Returns the Wavefunction's molecule.
nalpha
(self)Number of Alpha electrons.
nalphapi
(self)Returns the number of alpha orbitals per irrep.
name
(self)The level of theory this wavefunction corresponds to.
nbeta
(self)Number of Beta electrons.
nbetapi
(self)Returns the number of beta orbitals per irrep.
nfrzc
(self)Number of frozen core electrons.
nirrep
(self)Number of irreps in the system.
nmo
(self)Number of molecule orbitals.
nmopi
(self)Returns the number of molecular orbitals per irrep.
no_occupations
(self)returns the natural orbital occupations on the wavefunction.
nso
(self)Number of symmetry orbitals.
nsopi
(self)Returns the number of symmetry orbitals per irrep.
options
(self)Returns the Wavefunction's options object
potential_variable
(self, key)Returns copy of the requested (case-insensitive) ExternalPotential QC variable key.
potential_variables
(self)Returns the dictionary of all ExternalPotential QC variables.
reference_wavefunction
(self)Returns the reference wavefunction.
same_a_b_dens
(self)Returns true if the alpha and beta densities are the same.
same_a_b_orbs
(self)Returns true if the alpha and beta orbitals are the same.
scalar_variable
(self, arg0)Returns the requested (case-insensitive) double QC variable.
scalar_variables
(self)Returns the dictionary of all double QC variables.
set_array
(key, val)set_array_variable
(self, arg0, arg1)Sets the requested (case-insensitive) Matrix QC variable.
set_basisset
(self, arg0, arg1)Sets the requested auxiliary basis.
set_energy
(self, arg0)Sets the Wavefunction's energy.
set_external_potential
(self, arg0)Sets the requested external potential.
set_gradient
(self, arg0)Sets the Wavefunction's gradient.
set_hessian
(self, arg0)Sets the Wavefunction's Hessian.
set_lagrangian
(self, arg0)Sets the orbital Lagrangian matrix.
set_module
(self, module)Sets name of the last/highest level of theory module (internal or external) touching the wavefunction.
set_name
(self, arg0)Sets the level of theory this wavefunction corresponds to.
set_potential_variable
(self, arg0, arg1)Sets the requested (case-insensitive) ExternalPotential QC variable.
set_print
(self, arg0)Sets the print level of the Wavefunction.
set_reference_wavefunction
(self, arg0)docstring
set_scalar_variable
(self, arg0, arg1)Sets the requested (case-insensitive) double QC variable.
set_variable
(key, val)Sets scalar or array QCVariable key to val on self.
shallow_copy
(self, arg0)Copies the pointers to the internal data.
sobasisset
(self)Returns the symmetry orbitals basis.
soccpi
(self[, assume_socc_alpha])Returns the number of singly occupied orbitals per irrep.
to_file
([filename])Serialize a Wavefunction object.
variable
(key)Return copy of scalar or array QCVariable key from self.
variables
([include_deprecated_keys])Return all scalar or array QCVariables from self.
write_molden
([filename, do_virtual, use_natural])Writes wavefunction information in wfn to filename in molden format.
write_nbo
(name)Write wavefunction information in wfn to name in NBO format.
Methods Documentation
- Ca(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Alpha Orbitals.
- Ca_subset(self: psi4.core.Wavefunction, arg0: str, arg1: str) psi4.core.Matrix ¶
Returns the requested Alpha orbital subset.
- Parameters:
- Returns:
A Pitzer-ordered matrix of the orbitals, (# basis functions, # orbitals in the subset). Pitzer-ordering is with respect to c1 symmetry if basis is AO.
- Return type:
- Cb(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Beta Orbitals.
- Cb_subset(self: psi4.core.Wavefunction, arg0: str, arg1: str) psi4.core.Matrix ¶
Returns the requested Beta orbital subset.
- Parameters:
- Returns:
A Pitzer-ordered matrix of the orbitals, (# basis functions, # orbitals in the subset). Pitzer-ordering is with respect to c1 symmetry if basis is AO.
- Return type:
- Da(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Alpha Density Matrix.
- Da_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Returns the requested Alpha Density subset.
- Db(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Beta Density Matrix.
- Db_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Returns the requested Beta Density subset.
- Fa(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Alpha Fock Matrix.
- Fa_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Returns the Alpha Fock Matrix in the requested basis (AO,SO).
- Fb(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Beta Fock Matrix.
- Fb_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Returns the Beta Fock Matrix in the requested basis (AO,SO).
- H(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the ‘Core’ Matrix (Potential + Kinetic) Integrals.
- PCM_enabled(self: psi4.core.Wavefunction) bool ¶
Whether running a PCM calculation
- S(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the One-electron Overlap Matrix.
- alpha_orbital_space(self: psi4.core.Wavefunction, id: str, basis: str, subset: str) psi4.core.OrbitalSpace ¶
Creates OrbitalSpace with information about the requested alpha orbital space.
- Parameters:
id – Unique name for the orbital space.
basis – {‘SO’, ‘AO’} Should the subspace be of symmetry orbitals or atomic orbitals?
subset – {ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR} Which subspace of orbitals should be returned?
- Returns:
Information on subset alpha orbitals.
- Return type:
- aotoso(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Atomic Orbital to Symmetry Orbital transformer.
- array_variable(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Returns copy of the requested (case-insensitive) Matrix QC variable. Prefer
variable()
.
- array_variables(self: psi4.core.Wavefunction) dict[str, psi4.core.Matrix] ¶
Returns the dictionary of all Matrix QC variables. Prefer
variables()
.
- arrays()¶
Deprecated since version 1.4: Use
psi4.core.Wavefunction.variables()
instead.Changed in version 1.9: Errors rather than warn-and-forward.
- atomic_point_charges(self: psi4.core.Wavefunction) psi4.core.Vector ¶
Returns the set atomic point charges.
- basis_projection(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix, arg1: psi4.core.Dimension, arg2: psi4.core.BasisSet, arg3: psi4.core.BasisSet) psi4.core.Matrix ¶
Projects a orbital matrix from one basis to another.
- basisset(self: psi4.core.Wavefunction) psi4.core.BasisSet ¶
Returns the current orbital basis.
- beta_orbital_space(self: psi4.core.Wavefunction, arg0: str, arg1: str, arg2: str) psi4.core.OrbitalSpace ¶
docstring
- static build(mol, basis=None, *, quiet=False)¶
Build a wavefunction from minimal inputs, molecule and basis set.
- Parameters:
mol (
Molecule
) – Molecule for which to build the wavefunction instance.basis (
Union
[None
,str
,BasisSet
]) – Basis set for which to build the wavefunction instance. If aBasisSet
, taken as-is. If a string, taken as a name for the primary basis. If None, name taken from BASIS.quiet (
bool
) – When True, do not print to the output file.
- Return type:
- c1_deep_copy(self: psi4.core.Wavefunction, basis: psi4.core.BasisSet) psi4.core.Wavefunction ¶
Returns a new wavefunction with internal data converted to \(C_1\) symmetry, using pre-c1-constructed basis
- compute_energy(self: psi4.core.Wavefunction) float ¶
Computes the energy of the Wavefunction.
- compute_gradient(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Computes the gradient of the Wavefunction
- compute_hessian(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Computes the Hessian of the Wavefunction.
- deep_copy(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None ¶
Deep copies the internal data.
- del_array_variable(self: psi4.core.Wavefunction, arg0: str) int ¶
Removes the requested (case-insensitive) Matrix QC variable. Prefer
del_variable()
.
- del_potential_variable(self: psi4.core.Wavefunction, arg0: str) int ¶
Removes the requested (case-insensitive) ExternalPotential QC variable. (This function is provisional and might be removed in the future.)
- del_scalar_variable(self: psi4.core.Wavefunction, arg0: str) int ¶
Removes the requested (case-insensitive) double QC variable. Prefer
del_variable()
.
- del_variable(key)¶
Removes scalar or array QCVariable key from self if present.
- Parameters:
self (
Wavefunction
) – Wavefunction instance.key (
str
) – Case-insensitive key to instance’s double orMatrix
storage maps.
- Return type:
- doccpi(self: psi4.core.Wavefunction, assume_socc_alpha: bool = True) psi4.core.Dimension ¶
Returns the number of doubly occupied orbitals per irrep.
- efzc(self: psi4.core.Wavefunction) float ¶
Returns the frozen-core energy
- energy(self: psi4.core.Wavefunction) float ¶
Returns the Wavefunction’s energy.
- epsilon_a(self: psi4.core.Wavefunction) psi4.core.Vector ¶
Returns the Alpha Eigenvalues.
- epsilon_a_subset(self: psi4.core.Wavefunction, basis: str, subset: str) psi4.core.Vector ¶
Returns the requested Alpha orbital energies subset.
- Parameters:
basis – {‘AO’, ‘SO’, ‘MO’} MO or SO select for Pitzer-ordering the return vector in the full computational point group symmetry. AO selects for Pitzer-ordering the return vector without point group symmetry.
subset – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbital energies should be returned?
- Returns:
A Pitzer-ordered vector of the orbitals.
- Return type:
- epsilon_b(self: psi4.core.Wavefunction) psi4.core.Vector ¶
Returns the Beta Eigenvalues.
- epsilon_b_subset(self: psi4.core.Wavefunction, basis: str, subset: str) psi4.core.Vector ¶
Returns the requested Beta orbital energies subset.
- Parameters:
basis – {‘AO’, ‘SO’, ‘MO’} MO or SO select for Pitzer-ordering the return vector in the full computational point group symmetry. AO selects for Pitzer-ordering the return vector without point group symmetry.
subset – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbital energies should be returned?
- Returns:
A Pitzer-ordered vector of the orbitals.
- Return type:
- esp_at_nuclei(self: psi4.core.Wavefunction) psi4.core.Vector ¶
returns electrostatic potentials at nuclei
- external_pot(self: psi4.core.Wavefunction) psi4.core.ExternalPotential ¶
Gets the requested external potential.
- force_occpi(self: psi4.core.Wavefunction, arg0: psi4.core.Dimension, arg1: psi4.core.Dimension) None ¶
Specialized expert use only. Sets the number of doubly and singly occupied oribtals per irrep. Note that this results in inconsistent Wavefunction objects for SCF, so caution is advised.
- frequencies()¶
Returns the results of a frequency analysis.
- Parameters:
self – Wavefunction instance.
- Returns:
A dictionary of vibrational information. See
psi4.driver.qcdb.vib.harmonic_analysis()
- Return type:
- static from_file(wfn_data)¶
Build Wavefunction from data laid out like
to_file()
.- Parameters:
wfn_data (
Union
[str
,Dict
,Path
]) – If a dict, use data directly. Otherwise, path-like passed tonumpy.load()
to read from disk.- Returns:
A deserialized Wavefunction object
- Return type:
- frzcpi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of frozen core orbitals per irrep.
- frzvpi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of frozen virtual orbitals per irrep.
- get_array(key)¶
Deprecated since version 1.4: Use
psi4.core.Wavefunction.variable()
instead.Changed in version 1.9: Errors rather than warn-and-forward.
- get_basisset(self: psi4.core.Wavefunction, arg0: str) psi4.core.BasisSet ¶
Returns the requested auxiliary basis.
- get_density(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix ¶
Experimental!
- get_dipole_field_strength(self: psi4.core.Wavefunction) Annotated[list[float], FixedSize(3)] ¶
Returns a vector of length 3, containing the x, y, and z dipole field strengths.
- get_print(self: psi4.core.Wavefunction) int ¶
Get the print level of the Wavefunction.
- get_scratch_filename(filenumber)¶
Return canonical path to scratch file filenumber based on molecule on self.
- Parameters:
self (
Wavefunction
) – Wavefunction instance.filenumber (
int
) – Scratch file number from psi4/psi4/include/psi4/psifiles.h.
- Return type:
- get_variable(key)¶
Deprecated since version 1.4: Use
psi4.core.Wavefunction.variable()
instead.Changed in version 1.9: Errors rather than warn-and-forward.
- gradient(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Wavefunction’s gradient.
- has_array_variable(self: psi4.core.Wavefunction, arg0: str) bool ¶
Is the Matrix QC variable (case-insensitive) set? Prefer
has_variable()
.
- has_potential_variable(self: psi4.core.Wavefunction, arg0: str) bool ¶
Is the ExternalPotential QC variable (case-insensitive) set? (This function is provisional and might be removed in the future.)
- has_scalar_variable(self: psi4.core.Wavefunction, arg0: str) bool ¶
Is the double QC variable (case-insensitive) set? Prefer
has_variable()
.
- has_variable(key)¶
Whether scalar or array QCVariable key has been set on self.
- Parameters:
self (
Wavefunction
) – Wavefunction instance.key (
str
) – Case-insensitive key to instance’s double orMatrix
storage maps.
- Return type:
- hessian(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Wavefunction’s Hessian.
- lagrangian(self: psi4.core.Wavefunction) psi4.core.Matrix ¶
Returns the Lagrangian Matrix.
- mintshelper(self: psi4.core.Wavefunction) psi4.core.MintsHelper ¶
Returns the current MintsHelper object.
- mo_extents(self: psi4.core.Wavefunction) list[psi4.core.Vector] ¶
returns the wavefunction’s electronic orbital extents.
- module(self: psi4.core.Wavefunction) str ¶
Name of the last/highest level of theory module (internal or external) touching the wavefunction.
- molecule(self: psi4.core.Wavefunction) psi4.core.Molecule ¶
Returns the Wavefunction’s molecule.
- nalpha(self: psi4.core.Wavefunction) int ¶
Number of Alpha electrons.
- nalphapi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of alpha orbitals per irrep.
- name(self: psi4.core.Wavefunction) str ¶
The level of theory this wavefunction corresponds to.
- nbeta(self: psi4.core.Wavefunction) int ¶
Number of Beta electrons.
- nbetapi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of beta orbitals per irrep.
- nfrzc(self: psi4.core.Wavefunction) int ¶
Number of frozen core electrons.
- nirrep(self: psi4.core.Wavefunction) int ¶
Number of irreps in the system.
- nmo(self: psi4.core.Wavefunction) int ¶
Number of molecule orbitals.
- nmopi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of molecular orbitals per irrep.
- no_occupations(self: psi4.core.Wavefunction) list[list[tuple[float, int, int]]] ¶
returns the natural orbital occupations on the wavefunction.
- nso(self: psi4.core.Wavefunction) int ¶
Number of symmetry orbitals.
- nsopi(self: psi4.core.Wavefunction) psi4.core.Dimension ¶
Returns the number of symmetry orbitals per irrep.
- options(self: psi4.core.Wavefunction) psi::Options ¶
Returns the Wavefunction’s options object
- potential_variable(self: psi4.core.Wavefunction, key: str) psi4.core.ExternalPotential ¶
Returns copy of the requested (case-insensitive) ExternalPotential QC variable key. (This function is provisional and might be removed in the future.)
- potential_variables(self: psi4.core.Wavefunction) dict[str, psi4.core.ExternalPotential] ¶
Returns the dictionary of all ExternalPotential QC variables. (This function is provisional and might be removed in the future.)
- reference_wavefunction(self: psi4.core.Wavefunction) psi4.core.Wavefunction ¶
Returns the reference wavefunction.
- same_a_b_dens(self: psi4.core.Wavefunction) bool ¶
Returns true if the alpha and beta densities are the same.
- same_a_b_orbs(self: psi4.core.Wavefunction) bool ¶
Returns true if the alpha and beta orbitals are the same.
- scalar_variable(self: psi4.core.Wavefunction, arg0: str) float ¶
Returns the requested (case-insensitive) double QC variable. Prefer
variable()
.
- scalar_variables(self: psi4.core.Wavefunction) dict[str, float] ¶
Returns the dictionary of all double QC variables. Prefer
variables()
.
- set_array(key, val)¶
Deprecated since version 1.4: Use
psi4.core.Wavefunction.set_variable()
instead.Changed in version 1.9: Errors rather than warn-and-forward.
- set_array_variable(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.Matrix) None ¶
Sets the requested (case-insensitive) Matrix QC variable. Syncs with
Wavefunction.gradient_
orhessian_
if CURRENT GRADIENT or HESSIAN. Preferset_variable()
.
- set_basisset(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.BasisSet) None ¶
Sets the requested auxiliary basis.
- set_energy(self: psi4.core.Wavefunction, arg0: float) None ¶
Sets the Wavefunction’s energy. Syncs with Wavefunction’s QC variable
CURRENT ENERGY
.
- set_external_potential(self: psi4.core.Wavefunction, arg0: psi4.core.ExternalPotential) None ¶
Sets the requested external potential.
- set_gradient(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None ¶
Sets the Wavefunction’s gradient. Syncs with Wavefunction’s QC variable
CURRENT GRADIENT
.
- set_hessian(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None ¶
Sets the Wavefunction’s Hessian. Syncs with Wavefunction’s QC variable
CURRENT HESSIAN
.
- set_lagrangian(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None ¶
Sets the orbital Lagrangian matrix.
- set_module(self: psi4.core.Wavefunction, module: str) None ¶
Sets name of the last/highest level of theory module (internal or external) touching the wavefunction.
- set_name(self: psi4.core.Wavefunction, arg0: str) None ¶
Sets the level of theory this wavefunction corresponds to.
- set_potential_variable(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.ExternalPotential) None ¶
Sets the requested (case-insensitive) ExternalPotential QC variable. (This function is provisional and might be removed in the future.)
- set_print(self: psi4.core.Wavefunction, arg0: int) None ¶
Sets the print level of the Wavefunction.
- set_reference_wavefunction(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None ¶
docstring
- set_scalar_variable(self: psi4.core.Wavefunction, arg0: str, arg1: float) None ¶
Sets the requested (case-insensitive) double QC variable. Syncs with
Wavefunction.energy_
if CURRENT ENERGY. Preferset_variable()
.
- set_variable(key, val)¶
Sets scalar or array QCVariable key to val on self.
- Parameters:
self (
Wavefunction
) – Wavefunction instance.key (
str
) –Case-insensitive key to instance’s double or
Matrix
storage maps.If
CURRENT ENERGY
, syncs withself.energy_
.If
CURRENT GRADIENT
, syncs withgradient_
.If
CURRENT HESSIAN
, syncs withself.hessian_
.
val (
Union
[Matrix
,ndarray
,float
]) – Scalar or array to be stored in key. Ifndarray
and data key does not naturally fit in 2D Matrix (often charge and multipole QCVariables), it will be reshaped, as allndarray
are stored asMatrix
.
- Raises:
ValidationError – If val is a scalar but key already exists as an array variable. Or if val is an array but key already exists as a scalar variable.
- Return type:
- shallow_copy(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None ¶
Copies the pointers to the internal data.
- sobasisset(self: psi4.core.Wavefunction) psi4.core.SOBasisSet ¶
Returns the symmetry orbitals basis.
- soccpi(self: psi4.core.Wavefunction, assume_socc_alpha: bool = True) psi4.core.Dimension ¶
Returns the number of singly occupied orbitals per irrep.
- to_file(filename=None)¶
Serialize a Wavefunction object. Opposite of
from_file()
.
- variable(key)¶
Return copy of scalar or array QCVariable key from self.
- Parameters:
self (
Wavefunction
) – Wavefunction instance.key (
str
) – Case-insensitive key to instance’s double orMatrix
storage maps.
- Returns:
Requested QCVariable from self.
- Return type:
- Raises:
KeyError – If key not set on self.
Example
>>> g, wfn = psi4.gradient("hf/cc-pvdz", return_wfn=True) >>> wfn.variable("CURRENT ENERGY") -100.00985995185668 >>> wfn.variable("CURRENT DIPOLE") array([ 0. , 0. , -0.83217802]) >>> wfn.variable("CURRENT GRADIENT") <psi4.core.Matrix object at 0x12d884fc0> >>> wfn.variable("CURRENT GRADIENT").np array([[ 6.16297582e-33, 6.16297582e-33, -9.41037138e-02], [-6.16297582e-33, -6.16297582e-33, 9.41037138e-02]])
- variables(include_deprecated_keys=False)¶
Return all scalar or array QCVariables from self.
- Parameters:
self – Wavefunction instance.
include_deprecated_keys (
bool
) – Also return duplicate entries with keys that have been deprecated.
- Returns:
Map of all QCVariables that have been set on self.
- Return type:
- write_molden(filename=None, do_virtual=None, use_natural=False)¶
Writes wavefunction information in wfn to filename in molden format. Will write natural orbitals from density (MO basis) if supplied. Warning! most post-SCF wavefunctions do not build the density as this is often much more costly than the energy. In addition, the wavefunction density attributes (Da and Db) return the SO density and must be transformed to the MO basis to use with this function.
Added in version 0.5: wfn parameter passed explicitly
- Returns:
None
- Parameters:
filename (
Optional
[str
]) – Destination file name for MOLDEN file. If unspecified (None), a file name will be generated from the molecule name.do_virtual (
Optional
[bool
]) – Do write all the MOs to the MOLDEN file (True) or discard the unoccupied MOs (False). Not valid for NO’s. If unspecified (None), value taken from MOLDEN_WITH_VIRTUAL.use_natural (
bool
) – Write natural orbitals determined from density on wavefunction.self (Wavefunction)
- Examples:
Molden file with the Kohn-Sham orbitals of a DFT calculation.
>>> E, wfn = energy('b3lyp', return_wfn=True) >>> wfn.molden('mycalc.molden')
Molden file with the natural orbitals of a CCSD computation. For correlated methods, an energy call will not compute the density. “properties” or “gradient” must be called.
>>> E, wfn = properties('ccsd', return_wfn=True) >>> wfn.molden('ccsd_no.molden', use_natural=True)
To supply a custom density matrix, manually set the Da and Db of the wavefunction. This is used, for example, to write natural orbitals coming from a root computed by a
CIWavefunction
computation, e.g.,detci
,fci
,casscf
. The first two arguments ofget_opdm()
can be set ton, n
where n => 0 selects the root to write out, provided these roots were computed, see NUM_ROOTS. The third argument controls the spin ("A"
,"B"
or"SUM"
) and the final boolean option determines whether inactive orbitals are included.>>> E, wfn = energy('detci', return_wfn=True) >>> wfn.Da() = wfn.get_opdm(0, 0, "A", True) >>> wfn.Db() = wfn.get_opdm(0, 0, "B", True) >>> molden(wfn, 'no_root1.molden', use_natural=True)