class QCInput(molecule, rem, opt=None, pcm=None, solvent=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. 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. The different opt sections are: CONSTRAINT, FIXED, DUMMY, and CONNECT Ex. opt = {“CONSTRAINT”: [“tors 2 3 4 5 25.0”, “tors 2 5 7 9 80.0”], “FIXED”: [“2 XY”]}
static find_sections(string)[source]
static from_file(filename)[source]
classmethod from_multi_jobs_file(filename)[source]
classmethod from_string(string)[source]
static molecule_template(molecule)[source]
static multi_job_string(job_list)[source]
static opt_template(opt)[source]
static pcm_template(pcm)[source]
static read_molecule(string)[source]
static read_opt(string)[source]
static read_pcm(string)[source]
static read_rem(string)[source]
static read_solvent(string)[source]
static rem_template(rem)[source]
static solvent_template(solvent)[source]
static write_multi_job_file(job_list, filename)[source]