class QCInput(molecule, rem, opt=None)[source]

Bases: monty.json.MSONable

An object representing a QChem input file. QCInput attributes represent different sections of a QChem input file. To add a new section one needs to modify __init__, __str__, from_sting and add staticmethods to read and write the new section i.e. section_template and read_section. By design, there is very little (or no) checking that input parameters conform to the appropriate QChem format, this responsible lands on the user or a separate error handling software.

  • molecule (pymatgen Molecule object or "read") – Input molecule. molecule can be set as either a pymatgen Molecule object or as the str “read”. “read” can be used in multi_job QChem input files where the molecule is read in from the previous calculation.
  • rem (dict) – A dictionary of all the input parameters for the rem section of QChem input file. If for some reason the order matters use an OrderedDict from collections. Ex. rem = {‘method’: ‘rimp2’, ‘basis’: ‘6-31*G++’ … }
  • opt (dict of lists) – A dictionary of opt sections, where each opt section is a key and the corresponding values are a list of strings. Stings must be formatted as instructed by the QChem manual. Again if order matters use an OrderedDict. The different opt sections are: CONSTRAINT, FIXED, DUMMY, and CONNECT Ex. opt = OrderedDict({“CONSTRAINT”: [“tors 2 3 4 5 25.0”, “tors 2 5 7 9 80.0”], “FIXED”: [“2 XY”]})
static find_sections()[source]
static from_file()[source]
classmethod from_multi_jobs_file(filename)[source]
classmethod from_string(string)[source]
static molecule_template()[source]
static multi_job_string()[source]
static opt_template()[source]
static read_molecule()[source]
static read_opt()[source]
static read_rem()[source]
static rem_template()[source]
static write_multi_job_file(filename)[source]