psi4.core.Molecule

class psi4.core.Molecule

Bases: object

Class to store the elements, coordinates, fragmentation pattern, basis sets, charge, multiplicity, etc. of a molecule.

Attributes Summary

units Units (Angstrom or Bohr) used to define the geometry

Methods Summary

BFS() Perform a breadth-first search (BFS) on the real atoms in molecule, returning an array of atom indices of fragments.
Z((self: psi4.core.Molecule, arg0: int) -> float) Nuclear charge of atom arg1 (0-indexed)
activate_all_fragments(...) Sets all fragments in the molecule to be active
add_atom((self: psi4.core.Molecule, ...) Adds to Molecule arg0 an atom with atomic number arg1, Cartesian coordinates in Bohr (arg2, arg3, arg4), atomic symbol arg5, mass arg6, charge arg7 (optional), and lineno arg8 (optional)
atom_at_position((self: psi4.core.Molecule, ...) Tests to see if an atom is at the position arg2 with a given tolerance arg3
center_of_mass(...) Computes center of mass of molecule (does not translate molecule)
charge((self: psi4.core.Molecule, ...) Gets charge of atom arg1 (0-indexed)
clone(...) Returns a new Molecule identical to arg0
create_molecule_from_string(...) Returns a new Molecule with member data from the geometry string arg0 in Psi4 format
create_psi4_string_from_molecule(...) Gets a string reexpressing in input format the current states of the molecule
deactivate_all_fragments(...) Sets all fragments in the molecule to be inactive
distance_matrix(...) Returns Matrix of interatom distances
extract_subsets(*args, **kwargs) Overloaded function.
fZ((self: psi4.core.Molecule, ...) Nuclear charge of atom arg1 (0-indexed including dummies)
fcharge((self: psi4.core.Molecule, ...) Gets charge of atom arg1 (0-indexed including dummies)
find_point_group((self: psi4.core.Molecule, ...) Finds computational molecular point group, user can override this with the symmetry keyword
fix_com((self: psi4.core.Molecule, ...) Whether to fix the Cartesian position, or to translate to the C.O.M.
fix_orientation((self: psi4.core.Molecule, ...) Fix the orientation at its current frame
flabel((self: psi4.core.Molecule, ...) Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed including dummies)
fmass((self: psi4.core.Molecule, ...) Gets mass of atom arg1 (0-indexed including dummies)
form_symmetry_information(...) Uses the point group object obtain by calling point_group()
fsymbol((self: psi4.core.Molecule, ...) Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed including dummies)
fx((self: psi4.core.Molecule, ...) x position of atom arg1 (0-indexed including dummies in Bohr)
fy((self: psi4.core.Molecule, ...) y position of atom arg1 (0-indexed including dummies in Bohr)
fz((self: psi4.core.Molecule, ...) z position of atom arg1 (0-indexed including dummies in Bohr)
geometry(...) Gets the geometry as a (Natom X 3) matrix of coordinates (in Bohr)
get_full_point_group(...) Gets point group name such as C3v or S8
get_variable((self: psi4.core.Molecule, ...) Checks if variable arg2 is in the list, sets it to val and returns true if it is, and returns false if not
irrep_labels(...)
is_variable((self: psi4.core.Molecule, ...) Checks if variable arg2 is in the list, returns true if it is, and returns false if not
label((self: psi4.core.Molecule, ...) Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed)
mass((self: psi4.core.Molecule, ...) Gets mass of atom arg1 (0-indexed)
molecular_charge(...) Gets the charge on full molecule
move_to_com((self: psi4.core.Molecule) -> None) Moves molecule to center of mass
multiplicity((self: psi4.core.Molecule) -> int) Gets the multiplicity (defined as $2M_s + 1$) of full molecule
nactive_fragments(...) Gets the number of active (non-ghosted) fragments in the molecule
nallatom((self: psi4.core.Molecule) -> int) Number of real and dummy atoms
name((self: psi4.core.Molecule) -> str) Gets molecule name
natom((self: psi4.core.Molecule) -> int) Number of real atoms
nfragments((self: psi4.core.Molecule) -> int) Gets the number of fragments in the molecule
nuclear_dipole(*args, **kwargs) Overloaded function.
nuclear_repulsion_energy(...) Computes nuclear repulsion energy
point_group(...) Returns the current point group object
print_bond_angles(...) Print the bond angle geometrical parameters
print_cluster((self: psi4.core.Molecule) -> None) Prints the molecule in Cartesians in input units adding fragment separators
print_distances(...) Print the interatomic distance geometrical parameters
print_in_input_format(...) Prints the molecule as Cartesian or ZMatrix entries, just as inputted.
print_out((self: psi4.core.Molecule) -> None) Prints the molecule in Cartesians in input units
print_out_in_angstrom(...) Prints the molecule in Cartesians in Angstroms
print_out_in_bohr(...) Prints the molecule in Cartesians in Bohr
print_out_of_planes(...) Print the out-of-plane angle geometrical parameters
reinterpret_coordentry(...) Do reinterpret coordinate entries during update_geometry().
reset_point_group((self: psi4.core.Molecule, ...) Overrides symmetry from outside the molecule string
rotational_constants(...) Prints the rotational constants of the molecule
run_dftd3([func, dashlvl, dashparam, ...]) Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func.
run_gcp([func, dertype, verbose]) Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func.
save_string_xyz(...) Saves the string of an XYZ file to arg2
save_string_xyz_file(...) Saves an XYZ file to arg2
save_xyz_file((self: psi4.core.Molecule, ...) Saves an XYZ file to arg2
schoenflies_symbol(...) Returns the Schoenflies symbol
set_active_fragment(...) Sets the specified fragment arg2 to be Real
set_active_fragments(...) Sets the specified list arg2 of fragments to be Real
set_basis_all_atoms(...) Sets basis set arg2 to all atoms
set_basis_by_label(...) Sets basis set arg3 to all atoms with label (e.g., H4) arg2
set_basis_by_symbol(...) Sets basis set arg3 to all atoms with symbol (e.g., H) arg2
set_geometry((self: psi4.core.Molecule, ...) Sets the geometry, given a (Natom X 3) matrix arg2 of coordinates (in Bohr)
set_ghost_fragment(...) Sets the specified fragment arg2 to be Ghost
set_ghost_fragments(...) Sets the specified list arg2 of fragments to be Ghost
set_mass((self: psi4.core.Molecule, ...) Gets mass of atom arg1
set_molecular_charge(...) Sets the molecular charge
set_multiplicity((self: psi4.core.Molecule, ...) Sets the multiplicity (defined as 2Ms + 1)
set_name((self: psi4.core.Molecule, ...) Sets molecule name
set_point_group((self: psi4.core.Molecule, ...) Sets the molecular point group to the point group object arg2
set_variable((self: psi4.core.Molecule, ...) Assigns the value arg3 to the variable arg2 in the list of geometry variables, then calls update_geometry()
symbol((self: psi4.core.Molecule, ...) Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed)
symmetrize((self: psi4.core.Molecule, ...) Finds the highest point Abelian point group within the specified tolerance, and forces the geometry to have that symmetry.
translate((self: psi4.core.Molecule, ...) Translates molecule by arg1
update_geometry(...) Reevaluates the geometry with current variable values, orientation directives, etc.
x((self: psi4.core.Molecule, arg0: int) -> float) x position of atom arg1 (0-indexed in Bohr)
y((self: psi4.core.Molecule, arg0: int) -> float) y position of atom arg1 (0-indexed in Bohr)
z((self: psi4.core.Molecule, arg0: int) -> float) z position of atom arg1 (0-indexed in Bohr)

Attributes Documentation

units

Units (Angstrom or Bohr) used to define the geometry

Methods Documentation

BFS()

Perform a breadth-first search (BFS) on the real atoms in molecule, returning an array of atom indices of fragments. Relies upon van der Waals radii and so faulty for close (esp. hydrogen-bonded) fragments. Original code from Michael S. Marshall.

Z(self: psi4.core.Molecule, arg0: int) → float

Nuclear charge of atom arg1 (0-indexed)

activate_all_fragments(self: psi4.core.Molecule) → None

Sets all fragments in the molecule to be active

add_atom(self: psi4.core.Molecule, arg0: int, arg1: float, arg2: float, arg3: float, arg4: str, arg5: float, arg6: float, arg7: int) → None

Adds to Molecule arg0 an atom with atomic number arg1, Cartesian coordinates in Bohr (arg2, arg3, arg4), atomic symbol arg5, mass arg6, charge arg7 (optional), and lineno arg8 (optional)

atom_at_position(self: psi4.core.Molecule, arg0: float, arg1: float) → int

Tests to see if an atom is at the position arg2 with a given tolerance arg3

center_of_mass(self: psi4.core.Molecule) → psi4.core.Vector3

Computes center of mass of molecule (does not translate molecule)

charge(self: psi4.core.Molecule, arg0: int) → float

Gets charge of atom arg1 (0-indexed)

clone(self: psi4.core.Molecule) → psi4.core.Molecule

Returns a new Molecule identical to arg0

create_molecule_from_string(arg0: str) → psi4.core.Molecule

Returns a new Molecule with member data from the geometry string arg0 in Psi4 format

create_psi4_string_from_molecule(self: psi4.core.Molecule) → str

Gets a string reexpressing in input format the current states of the molecule

deactivate_all_fragments(self: psi4.core.Molecule) → None

Sets all fragments in the molecule to be inactive

distance_matrix(self: psi4.core.Molecule) → psi4.core.Matrix

Returns Matrix of interatom distances

extract_subsets(*args, **kwargs)

Overloaded function.

  1. extract_subsets(self: psi4.core.Molecule, arg0: list, arg1: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real and arg3 fragments Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: list, arg1: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real and arg3 fragment Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: int, arg1: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real and arg3 fragments Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: int, arg1: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real and arg3 fragment Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real

  1. extract_subsets(self: psi4.core.Molecule, arg0: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real

fZ(self: psi4.core.Molecule, arg0: int) → float

Nuclear charge of atom arg1 (0-indexed including dummies)

fcharge(self: psi4.core.Molecule, arg0: int) → float

Gets charge of atom arg1 (0-indexed including dummies)

find_point_group(self: psi4.core.Molecule, arg0: float) → psi4.core.PointGroup

Finds computational molecular point group, user can override this with the symmetry keyword

fix_com(self: psi4.core.Molecule, arg0: bool) → None

Whether to fix the Cartesian position, or to translate to the C.O.M.

fix_orientation(self: psi4.core.Molecule, arg0: bool) → None

Fix the orientation at its current frame

flabel(self: psi4.core.Molecule, arg0: int) → str

Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed including dummies)

fmass(self: psi4.core.Molecule, arg0: int) → float

Gets mass of atom arg1 (0-indexed including dummies)

form_symmetry_information(self: psi4.core.Molecule, arg0: float) → None

Uses the point group object obtain by calling point_group()

fsymbol(self: psi4.core.Molecule, arg0: int) → str

Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed including dummies)

fx(self: psi4.core.Molecule, arg0: int) → float

x position of atom arg1 (0-indexed including dummies in Bohr)

fy(self: psi4.core.Molecule, arg0: int) → float

y position of atom arg1 (0-indexed including dummies in Bohr)

fz(self: psi4.core.Molecule, arg0: int) → float

z position of atom arg1 (0-indexed including dummies in Bohr)

geometry(self: psi4.core.Molecule) → psi4.core.Matrix

Gets the geometry as a (Natom X 3) matrix of coordinates (in Bohr)

get_full_point_group(self: psi4.core.Molecule) → str

Gets point group name such as C3v or S8

get_variable(self: psi4.core.Molecule, arg0: str) → float

Checks if variable arg2 is in the list, sets it to val and returns true if it is, and returns false if not

irrep_labels(self: psi4.core.Molecule) → List[str]
is_variable(self: psi4.core.Molecule, arg0: str) → bool

Checks if variable arg2 is in the list, returns true if it is, and returns false if not

label(self: psi4.core.Molecule, arg0: int) → str

Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed)

mass(self: psi4.core.Molecule, arg0: int) → float

Gets mass of atom arg1 (0-indexed)

molecular_charge(self: psi4.core.Molecule) → int

Gets the charge on full molecule

move_to_com(self: psi4.core.Molecule) → None

Moves molecule to center of mass

multiplicity(self: psi4.core.Molecule) → int

Gets the multiplicity (defined as $2M_s + 1$) of full molecule

nactive_fragments(self: psi4.core.Molecule) → int

Gets the number of active (non-ghosted) fragments in the molecule

nallatom(self: psi4.core.Molecule) → int

Number of real and dummy atoms

name(self: psi4.core.Molecule) → str

Gets molecule name

natom(self: psi4.core.Molecule) → int

Number of real atoms

nfragments(self: psi4.core.Molecule) → int

Gets the number of fragments in the molecule

nuclear_dipole(*args, **kwargs)

Overloaded function.

  1. nuclear_dipole(self: psi4.core.Molecule, arg0: psi4.core.Vector3) -> psi4.core.Vector3

Gets the nuclear contribution to the dipole, withe respect to a specified origin

  1. nuclear_dipole(self: psi4.core.Molecule) -> psi4.core.Vector3

Gets the nuclear contribution to the dipole, withe respect to the origin

nuclear_repulsion_energy(self: psi4.core.Molecule) → float

Computes nuclear repulsion energy

point_group(self: psi4.core.Molecule) → psi4.core.PointGroup

Returns the current point group object

print_bond_angles(self: psi4.core.Molecule) → None

Print the bond angle geometrical parameters

print_cluster(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in input units adding fragment separators

print_distances(self: psi4.core.Molecule) → None

Print the interatomic distance geometrical parameters

print_in_input_format(self: psi4.core.Molecule) → None

Prints the molecule as Cartesian or ZMatrix entries, just as inputted.

print_out(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in input units

print_out_in_angstrom(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in Angstroms

print_out_in_bohr(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in Bohr

print_out_of_planes(self: psi4.core.Molecule) → None

Print the out-of-plane angle geometrical parameters

reinterpret_coordentry(self: psi4.core.Molecule, arg0: bool) → None

Do reinterpret coordinate entries during update_geometry().

reset_point_group(self: psi4.core.Molecule, arg0: str) → None

Overrides symmetry from outside the molecule string

rotational_constants(self: psi4.core.Molecule, arg0: float) → psi4.core.Vector

Prints the rotational constants of the molecule

run_dftd3(func=None, dashlvl=None, dashparam=None, dertype=None, verbose=False)

Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func. The dictionary dashparam can be used to supply a full set of dispersion parameters in the absense of func or to supply individual overrides in the presence of func. Returns energy if dertype is 0, gradient if dertype is 1, else tuple of energy and gradient if dertype unspecified. The dftd3 executable must be independently compiled and found in PATH or PSIPATH. self may be either a qcdb.Molecule (sensibly) or a psi4.Molecule (works b/c psi4.Molecule has been extended by this method py-side and only public interface fns used) or a string that can be instantiated into a qcdb.Molecule.

func - functional alias or None dashlvl - functional type d2gr/d3zero/d3bj/d3mzero/d3mbj dashparam - dictionary dertype = derivative level

run_gcp(func=None, dertype=None, verbose=False)

Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func. The dictionary dashparam can be used to supply a full set of dispersion parameters in the absense of func or to supply individual overrides in the presence of func. Returns energy if dertype is 0, gradient if dertype is 1, else tuple of energy and gradient if dertype unspecified. The dftd3 executable must be independently compiled and found in PATH or PSIPATH. self may be either a qcdb.Molecule (sensibly) or a psi4.Molecule (works b/c psi4.Molecule has been extended by this method py-side and only public interface fns used) or a string that can be instantiated into a qcdb.Molecule.

save_string_xyz(self: psi4.core.Molecule) → str

Saves the string of an XYZ file to arg2

save_string_xyz_file(self: psi4.core.Molecule) → str

Saves an XYZ file to arg2

save_xyz_file(self: psi4.core.Molecule, arg0: str, arg1: bool) → None

Saves an XYZ file to arg2

schoenflies_symbol(self: psi4.core.Molecule) → str

Returns the Schoenflies symbol

set_active_fragment(self: psi4.core.Molecule, arg0: int) → None

Sets the specified fragment arg2 to be Real

set_active_fragments(self: psi4.core.Molecule, arg0: list) → None

Sets the specified list arg2 of fragments to be Real

set_basis_all_atoms(self: psi4.core.Molecule, arg0: str, arg1: str) → None

Sets basis set arg2 to all atoms

set_basis_by_label(self: psi4.core.Molecule, arg0: str, arg1: str, arg2: str) → None

Sets basis set arg3 to all atoms with label (e.g., H4) arg2

set_basis_by_symbol(self: psi4.core.Molecule, arg0: str, arg1: str, arg2: str) → None

Sets basis set arg3 to all atoms with symbol (e.g., H) arg2

set_geometry(self: psi4.core.Molecule, arg0: psi4.core.Matrix) → None

Sets the geometry, given a (Natom X 3) matrix arg2 of coordinates (in Bohr)

set_ghost_fragment(self: psi4.core.Molecule, arg0: int) → None

Sets the specified fragment arg2 to be Ghost

set_ghost_fragments(self: psi4.core.Molecule, arg0: list) → None

Sets the specified list arg2 of fragments to be Ghost

set_mass(self: psi4.core.Molecule, arg0: int, arg1: float) → None

Gets mass of atom arg1

set_molecular_charge(self: psi4.core.Molecule, arg0: int) → None

Sets the molecular charge

set_multiplicity(self: psi4.core.Molecule, arg0: int) → None

Sets the multiplicity (defined as 2Ms + 1)

set_name(self: psi4.core.Molecule, arg0: str) → None

Sets molecule name

set_point_group(self: psi4.core.Molecule, arg0: psi4.core.PointGroup) → None

Sets the molecular point group to the point group object arg2

set_variable(self: psi4.core.Molecule, arg0: str, arg1: float) → None

Assigns the value arg3 to the variable arg2 in the list of geometry variables, then calls update_geometry()

symbol(self: psi4.core.Molecule, arg0: int) → str

Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed)

symmetrize(self: psi4.core.Molecule, arg0: float) → None

Finds the highest point Abelian point group within the specified tolerance, and forces the geometry to have that symmetry.

translate(self: psi4.core.Molecule, arg0: psi4.core.Vector3) → None

Translates molecule by arg1

update_geometry(self: psi4.core.Molecule) → None

Reevaluates the geometry with current variable values, orientation directives, etc. Must be called after initial Molecule definition by string.

x(self: psi4.core.Molecule, arg0: int) → float

x position of atom arg1 (0-indexed in Bohr)

y(self: psi4.core.Molecule, arg0: int) → float

y position of atom arg1 (0-indexed in Bohr)

z(self: psi4.core.Molecule, arg0: int) → float

z position of atom arg1 (0-indexed in Bohr)

BFS()

Perform a breadth-first search (BFS) on the real atoms in molecule, returning an array of atom indices of fragments. Relies upon van der Waals radii and so faulty for close (esp. hydrogen-bonded) fragments. Original code from Michael S. Marshall.

Z(self: psi4.core.Molecule, arg0: int) → float

Nuclear charge of atom arg1 (0-indexed)

activate_all_fragments(self: psi4.core.Molecule) → None

Sets all fragments in the molecule to be active

add_atom(self: psi4.core.Molecule, arg0: int, arg1: float, arg2: float, arg3: float, arg4: str, arg5: float, arg6: float, arg7: int) → None

Adds to Molecule arg0 an atom with atomic number arg1, Cartesian coordinates in Bohr (arg2, arg3, arg4), atomic symbol arg5, mass arg6, charge arg7 (optional), and lineno arg8 (optional)

atom_at_position(self: psi4.core.Molecule, arg0: float, arg1: float) → int

Tests to see if an atom is at the position arg2 with a given tolerance arg3

center_of_mass(self: psi4.core.Molecule) → psi4.core.Vector3

Computes center of mass of molecule (does not translate molecule)

charge(self: psi4.core.Molecule, arg0: int) → float

Gets charge of atom arg1 (0-indexed)

clone(self: psi4.core.Molecule) → psi4.core.Molecule

Returns a new Molecule identical to arg0

create_molecule_from_string(arg0: str) → psi4.core.Molecule

Returns a new Molecule with member data from the geometry string arg0 in Psi4 format

create_psi4_string_from_molecule(self: psi4.core.Molecule) → str

Gets a string reexpressing in input format the current states of the molecule

deactivate_all_fragments(self: psi4.core.Molecule) → None

Sets all fragments in the molecule to be inactive

distance_matrix(self: psi4.core.Molecule) → psi4.core.Matrix

Returns Matrix of interatom distances

extract_subsets(*args, **kwargs)

Overloaded function.

  1. extract_subsets(self: psi4.core.Molecule, arg0: list, arg1: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real and arg3 fragments Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: list, arg1: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real and arg3 fragment Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: int, arg1: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real and arg3 fragments Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: int, arg1: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real and arg3 fragment Ghost

  1. extract_subsets(self: psi4.core.Molecule, arg0: list) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragments Real

  1. extract_subsets(self: psi4.core.Molecule, arg0: int) -> psi4.core.Molecule

Returns copy of arg1 with arg2 fragment Real

fZ(self: psi4.core.Molecule, arg0: int) → float

Nuclear charge of atom arg1 (0-indexed including dummies)

fcharge(self: psi4.core.Molecule, arg0: int) → float

Gets charge of atom arg1 (0-indexed including dummies)

find_point_group(self: psi4.core.Molecule, arg0: float) → psi4.core.PointGroup

Finds computational molecular point group, user can override this with the symmetry keyword

fix_com(self: psi4.core.Molecule, arg0: bool) → None

Whether to fix the Cartesian position, or to translate to the C.O.M.

fix_orientation(self: psi4.core.Molecule, arg0: bool) → None

Fix the orientation at its current frame

flabel(self: psi4.core.Molecule, arg0: int) → str

Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed including dummies)

fmass(self: psi4.core.Molecule, arg0: int) → float

Gets mass of atom arg1 (0-indexed including dummies)

form_symmetry_information(self: psi4.core.Molecule, arg0: float) → None

Uses the point group object obtain by calling point_group()

fsymbol(self: psi4.core.Molecule, arg0: int) → str

Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed including dummies)

fx(self: psi4.core.Molecule, arg0: int) → float

x position of atom arg1 (0-indexed including dummies in Bohr)

fy(self: psi4.core.Molecule, arg0: int) → float

y position of atom arg1 (0-indexed including dummies in Bohr)

fz(self: psi4.core.Molecule, arg0: int) → float

z position of atom arg1 (0-indexed including dummies in Bohr)

geometry(self: psi4.core.Molecule) → psi4.core.Matrix

Gets the geometry as a (Natom X 3) matrix of coordinates (in Bohr)

get_full_point_group(self: psi4.core.Molecule) → str

Gets point group name such as C3v or S8

get_variable(self: psi4.core.Molecule, arg0: str) → float

Checks if variable arg2 is in the list, sets it to val and returns true if it is, and returns false if not

irrep_labels(self: psi4.core.Molecule) → List[str]
is_variable(self: psi4.core.Molecule, arg0: str) → bool

Checks if variable arg2 is in the list, returns true if it is, and returns false if not

label(self: psi4.core.Molecule, arg0: int) → str

Gets the original label of the atom arg1 as given in the input file (C2, H4) (0-indexed)

mass(self: psi4.core.Molecule, arg0: int) → float

Gets mass of atom arg1 (0-indexed)

molecular_charge(self: psi4.core.Molecule) → int

Gets the charge on full molecule

move_to_com(self: psi4.core.Molecule) → None

Moves molecule to center of mass

multiplicity(self: psi4.core.Molecule) → int

Gets the multiplicity (defined as $2M_s + 1$) of full molecule

nactive_fragments(self: psi4.core.Molecule) → int

Gets the number of active (non-ghosted) fragments in the molecule

nallatom(self: psi4.core.Molecule) → int

Number of real and dummy atoms

name(self: psi4.core.Molecule) → str

Gets molecule name

natom(self: psi4.core.Molecule) → int

Number of real atoms

nfragments(self: psi4.core.Molecule) → int

Gets the number of fragments in the molecule

nuclear_dipole(*args, **kwargs)

Overloaded function.

  1. nuclear_dipole(self: psi4.core.Molecule, arg0: psi4.core.Vector3) -> psi4.core.Vector3

Gets the nuclear contribution to the dipole, withe respect to a specified origin

  1. nuclear_dipole(self: psi4.core.Molecule) -> psi4.core.Vector3

Gets the nuclear contribution to the dipole, withe respect to the origin

nuclear_repulsion_energy(self: psi4.core.Molecule) → float

Computes nuclear repulsion energy

point_group(self: psi4.core.Molecule) → psi4.core.PointGroup

Returns the current point group object

print_bond_angles(self: psi4.core.Molecule) → None

Print the bond angle geometrical parameters

print_cluster(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in input units adding fragment separators

print_distances(self: psi4.core.Molecule) → None

Print the interatomic distance geometrical parameters

print_in_input_format(self: psi4.core.Molecule) → None

Prints the molecule as Cartesian or ZMatrix entries, just as inputted.

print_out(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in input units

print_out_in_angstrom(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in Angstroms

print_out_in_bohr(self: psi4.core.Molecule) → None

Prints the molecule in Cartesians in Bohr

print_out_of_planes(self: psi4.core.Molecule) → None

Print the out-of-plane angle geometrical parameters

reinterpret_coordentry(self: psi4.core.Molecule, arg0: bool) → None

Do reinterpret coordinate entries during update_geometry().

reset_point_group(self: psi4.core.Molecule, arg0: str) → None

Overrides symmetry from outside the molecule string

rotational_constants(self: psi4.core.Molecule, arg0: float) → psi4.core.Vector

Prints the rotational constants of the molecule

run_dftd3(func=None, dashlvl=None, dashparam=None, dertype=None, verbose=False)

Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func. The dictionary dashparam can be used to supply a full set of dispersion parameters in the absense of func or to supply individual overrides in the presence of func. Returns energy if dertype is 0, gradient if dertype is 1, else tuple of energy and gradient if dertype unspecified. The dftd3 executable must be independently compiled and found in PATH or PSIPATH. self may be either a qcdb.Molecule (sensibly) or a psi4.Molecule (works b/c psi4.Molecule has been extended by this method py-side and only public interface fns used) or a string that can be instantiated into a qcdb.Molecule.

func - functional alias or None dashlvl - functional type d2gr/d3zero/d3bj/d3mzero/d3mbj dashparam - dictionary dertype = derivative level

run_gcp(func=None, dertype=None, verbose=False)

Function to call Grimme’s dftd3 program (http://toc.uni-muenster.de/DFTD3/) to compute the -D correction of level dashlvl using parameters for the functional func. The dictionary dashparam can be used to supply a full set of dispersion parameters in the absense of func or to supply individual overrides in the presence of func. Returns energy if dertype is 0, gradient if dertype is 1, else tuple of energy and gradient if dertype unspecified. The dftd3 executable must be independently compiled and found in PATH or PSIPATH. self may be either a qcdb.Molecule (sensibly) or a psi4.Molecule (works b/c psi4.Molecule has been extended by this method py-side and only public interface fns used) or a string that can be instantiated into a qcdb.Molecule.

save_string_xyz(self: psi4.core.Molecule) → str

Saves the string of an XYZ file to arg2

save_string_xyz_file(self: psi4.core.Molecule) → str

Saves an XYZ file to arg2

save_xyz_file(self: psi4.core.Molecule, arg0: str, arg1: bool) → None

Saves an XYZ file to arg2

schoenflies_symbol(self: psi4.core.Molecule) → str

Returns the Schoenflies symbol

set_active_fragment(self: psi4.core.Molecule, arg0: int) → None

Sets the specified fragment arg2 to be Real

set_active_fragments(self: psi4.core.Molecule, arg0: list) → None

Sets the specified list arg2 of fragments to be Real

set_basis_all_atoms(self: psi4.core.Molecule, arg0: str, arg1: str) → None

Sets basis set arg2 to all atoms

set_basis_by_label(self: psi4.core.Molecule, arg0: str, arg1: str, arg2: str) → None

Sets basis set arg3 to all atoms with label (e.g., H4) arg2

set_basis_by_symbol(self: psi4.core.Molecule, arg0: str, arg1: str, arg2: str) → None

Sets basis set arg3 to all atoms with symbol (e.g., H) arg2

set_geometry(self: psi4.core.Molecule, arg0: psi4.core.Matrix) → None

Sets the geometry, given a (Natom X 3) matrix arg2 of coordinates (in Bohr)

set_ghost_fragment(self: psi4.core.Molecule, arg0: int) → None

Sets the specified fragment arg2 to be Ghost

set_ghost_fragments(self: psi4.core.Molecule, arg0: list) → None

Sets the specified list arg2 of fragments to be Ghost

set_mass(self: psi4.core.Molecule, arg0: int, arg1: float) → None

Gets mass of atom arg1

set_molecular_charge(self: psi4.core.Molecule, arg0: int) → None

Sets the molecular charge

set_multiplicity(self: psi4.core.Molecule, arg0: int) → None

Sets the multiplicity (defined as 2Ms + 1)

set_name(self: psi4.core.Molecule, arg0: str) → None

Sets molecule name

set_point_group(self: psi4.core.Molecule, arg0: psi4.core.PointGroup) → None

Sets the molecular point group to the point group object arg2

set_variable(self: psi4.core.Molecule, arg0: str, arg1: float) → None

Assigns the value arg3 to the variable arg2 in the list of geometry variables, then calls update_geometry()

symbol(self: psi4.core.Molecule, arg0: int) → str

Gets the cleaned up label of atom arg1 (C2 => C, H4 = H) (0-indexed)

symmetrize(self: psi4.core.Molecule, arg0: float) → None

Finds the highest point Abelian point group within the specified tolerance, and forces the geometry to have that symmetry.

translate(self: psi4.core.Molecule, arg0: psi4.core.Vector3) → None

Translates molecule by arg1

units

Units (Angstrom or Bohr) used to define the geometry

update_geometry(self: psi4.core.Molecule) → None

Reevaluates the geometry with current variable values, orientation directives, etc. Must be called after initial Molecule definition by string.

x(self: psi4.core.Molecule, arg0: int) → float

x position of atom arg1 (0-indexed in Bohr)

y(self: psi4.core.Molecule, arg0: int) → float

y position of atom arg1 (0-indexed in Bohr)

z(self: psi4.core.Molecule, arg0: int) → float

z position of atom arg1 (0-indexed in Bohr)