tfep.potentials.psi4.create_psi4_molecule

tfep.potentials.psi4.create_psi4_molecule(positions, fix_com=True, fix_orientation=True, **kwargs)[source]

Create a Psi4 molecule object.

This is a wrapper around psi4.core.Molecule.from_arrays that handles the units of positions when creating a psi4.core.Molecule object.

The returned molecule is not activated in Psi4. It is activated when passed to Psi4’s specific functions or by calling psi4.core.set_active_molecule.

Note

Note that the defaults for fix_com and fix_orientation are different in this function than in psi4.core.Molcule.from_arrays. By default, Psi4 removes translational/rotational degrees of freedom for efficiency reason. This does not affect energies, but it forces some of the force components to 0 and the final positions of the Molecule, which might be unexpected behavior.

Note

Currently, if the molecule has a net charge, this must be passed through the molecular_charge argument.

Parameters:
  • positions (pint.Quantity) – The coordinates of the molecules as an array of shape (n_atoms, 3).

  • **kwargs – Other keyword arguments to pass to psi4.core.Molecule.from_arrays except for geom and units which are handled by this method. Note that one between elem, elez, or elbl is mandatory.

Returns:

psi4_molecule – A Psi4 Molecule object.

Return type:

psi4.core.Molecule

See also

psi4.core.set_active_molecule documentation:

for more information on the supported parameters.