calculate

chemopt.interface.molpro.calculate(molecule, hamiltonian, basis, molpro_exe=None, el_calc_input=None, charge=0, forces=False, title='', multiplicity=1, wfn_symmetry=1, num_procs=None, mem_per_proc=None)[source]

Calculate the energy of a molecule using Molpro.

Parameters:
  • el_calc_input (str) – Specify the input filename for electronic calculations. If it is None, the filename of the calling python script is used (With the suffix .inp instead of .py). The output will be os.path.splitext(inputfile)[0] + '.inp'.
  • molecule (chemcoord.Cartesian or chemcoord.Zmat or str) – If it is a string, it has to be a valid xyz-file.
  • hamiltonian (str) –

    The hamiltonian to use for calculating the electronic energy. The allowed values are {‘RASSCF’, ‘B3LYP’, ‘CCSD(T)’, ‘CCSD’, ‘CASPT2’, ‘MP2’, ‘SCF’}.

    But ‘RASSCF’ and ‘CASPT2’ not yet implemented.

  • basis (str) – The basis set to use for calculating the electronic energy.
  • molpro_exe (str) – Specify the command to invoke molpro. The default is ‘molpro’.
  • charge (int) – The overall charge of the molecule. The default is 0.
  • forces (bool) – Specify if energy gradients should be calculated. The default is False.
  • title (str) – The title to be printed in input and output.
  • multiplicity (int) – The spin multiplicity. The default is 1.
  • wfn_symmetry (int) – The symmetry of the wavefunction specified with the molpro notation.
  • num_procs (int) – The number of processes to spawn.
  • mem_per_proc (str) – Memory per process. This is a string with a number and a unit like ‘800 MB’. SI and binary prefixes are supported. Uses the datasize library for parsing.
Returns:

A dictionary with at least the keys 'structure' and 'energy' which contains the energy in Hartree. If forces were calculated, the key 'gradient' contains the gradient in Hartree / Angstrom.

Return type:

dict