mopac_step package#

Submodules#

mopac_step.energy module#

Setup and run MOPAC

class mopac_step.energy.Energy(flowchart=None, title='Energy', extension=None)[source]#

Bases: Node

analyze(indent='', data_sections=[], out_sections=[], table=None)[source]#

Parse the output and generating the text output and store the data in variables for other stages to access

description_text(P=None)[source]#

Prepare information about what this node will do

get_input()[source]#

Get the input for an energy calculation for MOPAC

property git_revision#

The git version of this module.

property header#

A printable header for this section of output

property version#

The semantic version of this module.

mopac_step.energy_parameters module#

Control parameters for a MOPAC single-point energy calculation

class mopac_step.energy_parameters.EnergyParameters(defaults={}, data=None)[source]#

Bases: Parameters

The control parameters for creating a structure from SMILES

parameters = {'COSMO': {'default': 'no', 'default_units': '', 'description': 'Solvent using COSMO:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Whether to use COSMO solvation model.', 'kind': 'boolean'}, 'MOZYME': {'default': 'for larger systems', 'default_units': '', 'description': 'Use localized molecular orbitals (MOZYME):', 'enumeration': ('for larger systems', 'always', 'never'), 'format_string': 's', 'help_text': 'Whether and when to use localized molecular orbitals (LMO) by using MOZYME.', 'kind': 'enumeration'}, 'MOZYME follow-up': {'default': 'recalculate the energy at the end using new, orthogonal localized orbitals', 'default_units': '', 'description': 'Follow-up calculation:', 'enumeration': ('recalculate the energy at the end using new, orthogonal localized orbitals', 'recalculate the energy at the end using exact, non-localized orbitals', 'none'), 'format_string': 's', 'help_text': 'Whether to follow the localize molecular orbital calculation with another calculation to clean up the orbitals, or check by doing a full calculation without localizing the orbitals.', 'kind': 'enumeration'}, 'absolute': {'default': '1.0E-07', 'default_units': 'kcal/mol', 'description': 'criterion', 'enumeration': (), 'format_string': '', 'help_text': 'The SCF convergence criterion, based on the change in energy between iterations.', 'kind': 'float'}, 'bond orders': {'default': 'yes', 'default_units': '', 'description': 'Calculate bond orders:', 'enumeration': ('yes', 'yes, and apply to structure', 'no'), 'format_string': '', 'help_text': 'Whether to calculate bond orders and also apply to structure', 'kind': 'enum'}, 'calculate gradients': {'default': 'yes', 'default_units': '', 'description': 'Calculate gradients:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Whether to calculate the gradients.', 'kind': 'boolean'}, 'convergence': {'default': 'normal', 'default_units': '', 'description': 'Convergence criterion:', 'enumeration': ('normal', 'precise', 'relative', 'absolute'), 'format_string': 's', 'help_text': "The convergence criterion for the energy. * 'normal' is the default level, 1.0E-04  kcal/mol for SCF. For force contants, transition  state searches, etc. the default is 1.0E-07.* 'precise' tightens up the criterion by a factor of 100.* 'relative' multiplies the SCF convergence criterion by the amount given. Values >1 loosen the tolerance, while values <1 tighten it.* 'absolute' sets the criterion directly.", 'kind': 'enumeration'}, 'create tables': {'default': 'yes', 'default_units': '', 'description': 'Create tables as needed:', 'enumeration': ('yes', 'no'), 'format_string': '', 'help_text': 'Whether to create tables as needed for results being saved into tables.', 'kind': 'boolean'}, 'disex': {'default': '2.0', 'default_units': '', 'description': 'Cutoff:', 'enumeration': (), 'format_string': '', 'help_text': 'The cutoff for exact calculation of segment-segment interactions in COSMO.', 'kind': 'float'}, 'eps': {'default': '78.4', 'default_units': '', 'description': 'Dielectric constant:', 'enumeration': (), 'format_string': '', 'help_text': "The solvent's dielectric constant.", 'kind': 'float'}, 'extra keywords': {'default': [], 'default_units': '', 'description': 'Extra keywords', 'enumeration': (), 'format_string': '', 'help_text': 'Extra keywords to append to those from the GUI. This allows you to add to and override the GUI.', 'kind': 'list'}, 'hamiltonian': {'default': 'PM6-ORG', 'default_units': '', 'description': 'Hamiltonian:', 'enumeration': ('PM7', 'PM7-TS', 'PM6-ORG', 'PM6', 'PM6-D3', 'PM6-DH+', 'PM6-DH2', 'PM6-DH2X', 'PM6-D3H4', 'PM6-D3H4X', 'PM3', 'RM1', 'AM1', 'MNDO', 'MNDOD'), 'format_string': 's', 'help_text': 'The Hamiltonian (parameterization) to use.', 'kind': 'enumeration'}, 'input only': {'default': 'no', 'default_units': '', 'description': 'Write the input files and stop:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': "Don't run MOPAC. Just write the input files.", 'kind': 'boolean'}, 'nMOZYME': {'default': 300, 'default_units': '', 'description': 'with this many atoms or more:', 'enumeration': (), 'format_string': '', 'help_text': 'The number of atoms to switch to using MOZYME.', 'kind': 'integer'}, 'nspa': {'default': 42, 'default_units': '', 'description': 'Surface grid size:', 'enumeration': ('12', '32', '42', '92', '122', '162', '252', '272', '362', '482', '492', '752', '812', '1082', '1442', '1472'), 'format_string': '', 'help_text': 'The number of points in the solvent-accessible surface grid per atom.', 'kind': 'integer'}, 'relative': {'default': '0.1', 'default_units': '', 'description': 'factor', 'enumeration': (), 'format_string': '', 'help_text': 'The factor to multiply the default SCF convergence criterion. Values >1 make the criterion looser; < 1, tighter.', 'kind': 'float'}, 'results': {'default': {}, 'default_units': '', 'description': 'results', 'enumeration': (), 'format_string': '', 'help_text': 'The results to save to variables or in tables.', 'kind': 'dictionary'}, 'rsolve': {'default': '1.3', 'default_units': 'Å', 'description': 'Solvent radius:', 'enumeration': (), 'format_string': '', 'help_text': "The solvent's approximate radius.", 'kind': 'float'}, 'structure': {'default': 'default', 'default_units': '', 'description': 'Structure:', 'enumeration': ('default', 'initial', 'current'), 'format_string': 's', 'help_text': 'The structure to use. By default, for the first calculation the incoming structure is used, and subsequently that from the previous MOPAC steps.', 'kind': 'enumeration'}, 'uhf': {'default': 'no', 'default_units': '', 'description': 'UHF for singlets:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Whether to use UHF for singlet states.', 'kind': 'boolean'}}#

mopac_step.energy_step module#

Main module.

class mopac_step.energy_step.EnergyStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'A single-point energy calculation', 'group': 'Calculations', 'name': 'Energy'}#

mopac_step.forceconstants module#

Caculate the forceconstant matrix using MOPAC

class mopac_step.forceconstants.Forceconstants(flowchart=None, title='Force Constants', extension=None)[source]#

Bases: Energy

analyze(indent='', data_sections=[], out_sections=[], table=None)[source]#

Parse the output and generating the text output and store the data in variables for other stages to access

There are 8 calculations:

SPE at the initial geometry 6 strains The forceconstant calculation

Since the forceconstant matrix is symmetric (we hope!) we will work with the lower triangle as a lineary array.

description_text(P=None)[source]#

Prepare information about what this node will do

get_input()[source]#

Get the input for an optimization MOPAC

mopac_step.forceconstants_parameters module#

Control parameters for a MOPAC vibrational (Forceconstants/Raman) calculation

class mopac_step.forceconstants_parameters.ForceconstantsParameters(defaults={}, data=None)[source]#

Bases: EnergyParameters

The control parameters for creating a structure from SMILES

parameters = {'atom_units': {'default': 'N/m', 'default_units': '', 'description': 'Units for atom part:', 'enumeration': ('N/m', 'kJ/mol/Å^2', 'kcal/mol/Å^2', 'eV/Å^2'), 'format_string': '', 'group': '', 'help_text': 'What units to use for the atom-atom and atom-cell parts of the Hessian', 'kind': 'str'}, 'cell_units': {'default': 'GPa', 'default_units': '', 'description': 'Units for cell part:', 'enumeration': ('GPa', 'atm'), 'format_string': '', 'group': '', 'help_text': 'What units to use for the cell-cell part of the Hessian', 'kind': 'str'}, 'stepsize': {'default': '0.01', 'default_units': '', 'description': 'Strain step size:', 'enumeration': (), 'format_string': '.3f', 'help_text': 'The step size to use straining the system in the finite difference step.', 'kind': 'float'}, 'two-sided_atoms': {'default': 'no', 'default_units': '', 'description': 'Two-sided atom displacements:', 'enumeration': ('yes', 'no'), 'format_string': '', 'group': '', 'help_text': 'Whether to use two-sided finite differences for atom portion.', 'kind': 'boolean'}, 'two-sided_cell': {'default': 'yes', 'default_units': '', 'description': 'Two-sided strain differences:', 'enumeration': ('yes', 'no'), 'format_string': '', 'group': '', 'help_text': 'Whether to use two-sided finite differences for cell portion.', 'kind': 'boolean'}, 'what': {'default': 'full Hessian', 'default_units': '', 'description': 'Output:', 'enumeration': ('full Hessian', 'atom part only', 'cell part only'), 'format_string': '', 'group': '', 'help_text': 'What part(s) of the Hessian to output', 'kind': 'enum'}}#

mopac_step.forceconstants_step module#

Main module.

class mopac_step.forceconstants_step.ForceconstantsStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Calculate the full forceconstant matrix.', 'group': 'Calculations', 'name': 'Force Constants'}#

mopac_step.installer module#

Installer for the MOPAC plug-in.

This handles any further installation needed after installing the Python package mopac-step.

class mopac_step.installer.Installer(logger=<Logger mopac_step.installer (WARNING)>)[source]#

Bases: InstallerBase

Handle further installation needed after installing mopac-step.

The Python package MOPAC-step should already be installed, using pip, conda, or similar. This plug-in-specific installer then checks for the MOPAC executable, installing it if needed, and registers its location in seamm.ini.

There are a number of ways to determine which are the correct MOPAC executables to use. The aim of this installer is to help the user locate the executables. There are a number of possibilities:

  1. The correct executables are already available.

    1. If they are already registered in seamm.ini there is nothing else to do.

    2. They may be in the current path, in which case they need to be added to seamm.ini.

    3. If a module system is in use, a module may need to be loaded to give access to MOPAC.

    4. They cannot be found automatically, so the user needs to locate the executables for the installer.

  2. MOPAC is not installed on the machine. In this case they can be installed in a Conda environment. There is one choice:

    1. They can be installed in a separate environment, seamm-mopac by default.

check()[source]#

Check the status of the MOPAC installation.

exe_version(config)[source]#

Get the version of the MOPAC executable.

Parameters:

path (pathlib.Path) – Path to the executable.

Returns:

The version reported by the executable, or ‘unknown’.

Return type:

str

install()[source]#

Install MOPAC in a conda environment.

show()[source]#

Show the status of the MOPAC installation.

uninstall()[source]#

Uninstall the MOPAC installation.

update()[source]#

Updates the MOPAC installation.

mopac_step.ir module#

Run a vibrational frequency calculation in MOPAC

class mopac_step.ir.IR(flowchart=None, title='IR Spectrum', extension=None)[source]#

Bases: Energy

analyze(indent='', data_sections=[], out_sections=[], table=None)[source]#

Parse the output and generating the text output and store the data in variables for other stages to access

description_text(P=None)[source]#

Prepare information about what this node will do

get_input()[source]#

Get the input for an optimization MOPAC

mopac_step.ir_parameters module#

Control parameters for a MOPAC vibrational (IR/Raman) calculation

class mopac_step.ir_parameters.IRParameters(defaults={}, data=None)[source]#

Bases: EnergyParameters

The control parameters for creating a structure from SMILES

parameters = {'let': {'default': 'no', 'default_units': '', 'description': 'Use structure even if not a minimum:', 'enumeration': ('yes', 'no'), 'format_string': '', 'group': '', 'help_text': "Don't stop if the initial structure is not a minimum or other stationary point.", 'kind': 'boolean'}}#

mopac_step.ir_step module#

Main module.

class mopac_step.ir_step.IRStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Infrared (vibrational) spectrum', 'group': 'Calculations', 'name': 'IR Spectrum'}#

mopac_step.lewis_structure module#

Setup and run MOPAC for the Lewis structure

class mopac_step.lewis_structure.LewisStructure(flowchart=None, extension=None)[source]#

Bases: MOPACBase

analyze(indent='', lines=[], n_calculations=None)[source]#

Read the results from the Lewis calculation and process.

description_text(P=None)[source]#

Return a short description of this step.

Return a nicely formatted string describing what this step will do.

Keyword Arguments:

P – a dictionary of parameter values, which may be variables or final values. If None, then the parameters values will be used as is.

run()[source]#

Run MOPAC

mopac_step.lewis_structure_parameters module#

Control parameters for a MOPAC single-point energy calculation

class mopac_step.lewis_structure_parameters.LewisStructureParameters(defaults={}, data=None)[source]#

Bases: Parameters

The control parameters for creating a structure from SMILES

parameters = {'adjust charge': {'default': 'no', 'default_units': '', 'description': 'Adjust charge on structure:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Adjust the charge on the structure.', 'kind': 'boolean'}, 'atom cutoff': {'default': 30, 'default_units': '', 'description': 'No printing if more atoms than:', 'enumeration': ('no printing', 'unlimited'), 'format_string': 's', 'help_text': 'Limit for system size for printing', 'kind': 'integer'}, 'ignore errors': {'default': 'no', 'default_units': '', 'description': 'Convert errors to warnings:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Only warn about errors, do not stop.', 'kind': 'boolean'}, 'on errors use connectivity': {'default': 'yes', 'default_units': '', 'description': 'On errors, use connectivity instead:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Fallback to simple connectivity if Lewis structure fails.', 'kind': 'boolean'}, 'results': {'default': {}, 'default_units': '', 'description': 'results', 'enumeration': (), 'format_string': '', 'help_text': 'The results to save to variables or in tables.', 'kind': 'dictionary'}, 'use bonds': {'default': 'no', 'default_units': '', 'description': 'Replace bonds in structure:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Replace the bonds on the structure.', 'kind': 'boolean'}}#

mopac_step.lewis_structure_step module#

Main module.

class mopac_step.lewis_structure_step.LewisStructureStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Creates the Lewsi structure for a molecule', 'group': 'Analysis', 'name': 'Lewis Structure'}#

mopac_step.metadata module#

Metadata for MOPAC.

mopac_step.metadata.metadata = {'computational models': {'Hartree-Fock': {'models': {'PM6': {'parameterizations': {'PM6': {'code': 'mopac', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM6-D3': {'code': 'mopac', 'description': "The PM6 Hamiltonian with Grimme's corrections for dispersion", 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM6-D3H4': {'code': 'mopac', 'description': "The PM6 Hamiltonian with Řezáč and Hobza's D3H4 correction. There are three parts to the D3H4 function:\n\t1. A correction to the dispersion.  This uses Grimme's D3 method, unmodified, with PM6 specific constants.\n\t2. The 'H4' hydrogen-bond function developed by Řezáč and Hobza.\n\t3. A correction for the known fault in PM6 that hydrogen - hydrogen steric repulsive interactions are too small. For details, see: European Journal of Medicinal Chemistry 2015, 89, 189-197.", 'elements': '1-60,62-83', 'optimization': True, 'periodic': False, 'reactions': True}, 'PM6-D3H4X': {'code': 'mopac', 'description': "The PM6 Hamiltonian with Brahmkshatriya, et al.'s D3H4X correction. This adds corrections to the halogen-oxygen and halogen-nitrogen interactions to the D3H4 model.", 'elements': '1-60,62-83', 'optimization': True, 'periodic': False, 'reactions': True}, 'PM6-DH+': {'code': 'mopac', 'description': 'The PM6 Hamiltonian with corrections for dispersion and hydrogen-bonding', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM6-DH2': {'code': 'mopac', 'description': 'The PM6 Hamiltonian with corrections for dispersion and hydrogen-bonding', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM6-DH2X': {'code': 'mopac', 'description': 'The PM6 Hamiltonian with corrections for dispersion and hydrogen- and halogen-bonding', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM6-ORG': {'code': 'mopac', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}}}, 'PM7': {'parameterizations': {'PM7': {'code': 'mopac', 'elements': '1-60,62-83', 'optimization': True, 'periodic': True, 'reactions': True}, 'PM7-TS': {'code': 'mopac', 'elements': '1-60,62-83', 'optimization': False, 'periodic': True, 'reactions': True}}}}}}, 'keywords': {'0SCF': {'description': 'Read in data, then stop'}, '1ELECTRON': {'description': 'Print final one-electron matrix'}, '1SCF': {'description': 'Do one scf and then stop'}, 'A0': {'description': 'Input geometry is in atomic units'}, 'ADD-H': {'description': 'Add hydrogen atoms (intended for use with organic compounds)'}, 'AIDER': {'description': 'Read in ab-initio derivatives'}, 'AIGIN': {'description': 'Geometry must be in Gaussian format'}, 'AIGOUT': {'description': 'Print the geometry in Gaussian format in the ARC file'}, 'ALLBONDS': {'description': 'Print final bond-order matrix, including bonds to hydrogen'}, 'ALLVEC': {'description': 'Print all vectors (keywords vectors also needed)'}, 'ALT_A': {'default': 'A', 'description': 'In PDB files with alternative atoms, select atoms A', 'format': '{}={}', 'takes values': 1}, 'AM1': {'description': 'Use the AM1 hamiltonian'}, 'ANGSTROMS': {'description': 'Input geometry is in Angstroms'}, 'AUTOSYM': {'description': 'Symmetry to be imposed automatically'}, 'AUX': {'description': 'Output auxiliary information for use by other programs'}, 'BAR': {'default': '0.01', 'description': 'reduce bar length by a maximum of n.nn%', 'format': '{}={}', 'takes values': 1}, 'BCC': {'description': 'Only even unit cells used (used by BZ)'}, 'BFGS': {'description': 'Use the Flepo or BFGS geometry optimizer'}, 'BIGCYCLES': {'default': '1', 'description': 'Do a maximum of n big steps', 'format': '{}={}', 'takes values': 1}, 'BIRADICAL': {'description': 'System has two unpaired electrons'}, 'BONDS': {'description': 'Print final bond-order matrix'}, 'C.I.': {'default': '2', 'description': 'A multi-electron configuration interaction specified', 'format': '{}={}', 'takes values': [1, 2]}, 'CAMP': {'description': 'Use Camp-King converger in SCF'}, 'CARTAB': {'description': 'Print point-group character table'}, 'CHAINS(text)': {'description': 'In a protein, explicitly define the letters of chains.'}, 'CHARGE': {'default': '+1', 'description': 'Charge on system = n (e.g. NH4 = +1)', 'format': '{}={}', 'takes values': 1}, 'CHARGES': {'description': 'Print net charge on the system, and all charges in the system'}, 'CHARST': {'description': 'Print details of working in CHARST'}, 'CHECK': {'description': 'Report possible faults in input geometry'}, 'CIS': {'description': 'C.I. uses 1 electron excitations only'}, 'CISD': {'description': 'C.I. uses 1 and 2 electron excitations'}, 'CISDT': {'description': 'C.I. uses 1, 2 and 3 electron excitations'}, 'COMPARE': {'description': 'Compare the geometries of two systems'}, 'COMPFG': {'description': 'Print heat of formation calculated in COMPFG'}, 'COSCCH': {'description': 'Add in COSMO charge corrections'}, 'COSWRT': {'description': 'Write details of the solvent accessible surface to a file'}, 'CUTOF1': {'default': '10.0', 'description': 'In MOZYME, the cutoff distance for polarization', 'format': '{}={}', 'takes values': 1}, 'CUTOF2': {'default': '9.9', 'description': 'In MOZYME, the cutoff distance for two-center integral', 'format': '{}={}', 'takes values': 1}, 'CUTOFF': {'default': '6.0', 'description': 'In MOZYME, the interatomic distance where the NDDO approximation stops', 'format': '{}={}', 'takes values': 1}, 'CUTOFP': {'default': '15.0', 'description': 'Madelung distance cutoff is n .nn Angstroms', 'format': '{}={}', 'takes values': 1}, 'CUTOFS': {'default': '9.0', 'description': 'In MOZYME, the cutoff distance for overlap integrals', 'format': '{}={}', 'takes values': 1}, 'CVB': {'description': 'In MOZYME. add and remove specific bonds to allow a Lewis or PDB structure.'}, 'CYCLES': {'default': '50', 'description': 'Do a maximum of n steps of geometry optimization', 'format': '{}={}', 'takes values': 1}, 'DAMP': {'default': '0.5', 'description': 'in MOZYME. damp SCF oscillations using a factor of n.nn, 0<n.nn<1.0, <0.5 for solids', 'format': '{}={}', 'takes values': 1}, 'DATA': {'default': '/file.dat', 'description': 'Input data set is re-defined to text', 'format': '{}={}', 'takes values': 1}, 'DCART': {'description': 'Print part of working in DCART'}, 'DDMAX': {'default': '0.3', 'description': 'The maximum value of the trust radius in EF and TS. Defaults to 0.3 in TS and 0.5 in EF', 'format': '{}={}', 'takes values': 1}, 'DDMIN': {'default': '0.00001', 'description': 'Minimum trust radius in a EF/TS calculation. Defaults to 0.001. Use smaller values close to minimium', 'format': '{}={}', 'takes values': 1}, 'DEBUG': {'description': 'Debug option turned on'}, 'DEBUG PULAY': {'description': 'Print working in PULAY'}, 'DENOUT': {'description': 'Density matrix output, unformatted'}, 'DENOUTF': {'description': 'Density matrix output, formatted'}, 'DENSITY': {'description': 'Print final density matrix'}, 'DERI1': {'description': 'Print part of working in DERI1'}, 'DERI2': {'description': 'Print part of working in DERI2'}, 'DERITR': {'description': 'Print part of working in DERIT'}, 'DERIV': {'description': 'Print part of working in DERIV'}, 'DERNVO': {'description': 'Print part of working in DERNVO'}, 'DFORCE': {'description': 'Force calculation specified, also print force matrix.'}, 'DFP': {'description': 'Use Davidson-Fletcher-Powell method to optimize geometries'}, 'DISEX': {'default': '2.0', 'description': 'Distance for interactions in fine grid in COSMO. Defaults is 2.0, should converge results using smaller values if needed.', 'format': '{}={}', 'takes values': 1}, 'DISP': {'description': 'Print the hydrogen bonding and dispersion contributions to the heat of formation'}, 'DMAX': {'default': '2.0', 'description': 'Maximum stepsize in eigenvector following', 'format': '{}={}', 'takes values': 1}, 'DOUBLET': {'description': 'Doublet state required'}, 'DRC': {'default': '50', 'description': 'Dynamic reaction coordinate calculation. The parameter, if given, is the cooling half-life in fs', 'format': '{}={}', 'takes values': [0, 1]}, 'DUMP': {'default': '2h', 'description': 'Write restart files every n seconds, or minutes or hours with "m" or "h" suffix', 'format': '{}={}', 'takes values': 1}, 'ECHO': {'description': 'Data are echoed back before calculation starts'}, 'EF': {'description': 'Use the EigenFollowing routine for geometry optimization'}, 'EIGEN': {'description': 'Print canonical eigenvectors instead of LMOs in a MOZYME calculations'}, 'EIGS': {'description': 'Print all eigenvalues in ITER'}, 'ENPART': {'description': 'Partition energy into components'}, 'EPS': {'default': '78.4', 'description': 'Dielectric constant in COSMO calculation', 'format': '{}={}', 'takes values': 1}, 'ESP': {'description': 'Electrostatic potential calculation'}, 'ESPRST': {'description': 'Restart of electrostatic potential'}, 'ESR': {'description': 'Calculate RHF spin density'}, 'EXCITED': {'description': 'Optimize first excited singlet state'}, 'EXTERNAL': {'default': '"file name"', 'description': 'Read parameters from a file', 'format': '{}={}', 'takes values': 1}, 'FIELD=(n.nn,m.mm,l.ll)': {'default': '(0,0,1)', 'description': 'Apply an external electric field of a,b,c V/Å in theCartesian directions', 'format': '{}={}', 'takes values': 3}, 'FILL': {'default': '0', 'description': 'In RHF open and closed shell, force M.O. n to be filled', 'format': '{}={}', 'takes values': 1}, 'FLEPO': {'description': 'Print details of geometry optimization'}, 'FMAT': {'description': 'Print details of working in FMAT'}, 'FOCK': {'description': 'Print last Fock matrix'}, 'FORCE': {'description': 'Calculate vibrational frequencies'}, 'FORCETS': {'description': 'Calculate the vibrational frequencies for atoms in a transition state'}, 'FREQCY': {'description': 'Print symmetrized Hessian in a FORCE calculation'}, 'GEO-OK': {'description': 'Override some safety checks'}, 'GEO_DAT': {'default': '"file name"', 'description': 'Read in geometry from the file <text>', 'format': '{}={}', 'takes values': 1}, 'GEO_REF=<text>': {'default': '"SELF"', 'description': 'Read in a second geometry from the file <text>', 'format': '{}={}', 'takes values': 1}, 'GNORM': {'default': '10.0', 'description': 'Exit when the gradient norm drops below n.nn kcal/mol/Angstrom', 'format': '{}={}', 'takes values': 1}, 'GRADIENTS': {'description': 'Print all gradients'}, 'GRAPH': {'description': 'Generate unformatted file for graphics'}, 'GRAPHF': {'description': 'Generate a formatted file for graphics suitable for Jmol and MOPETE.'}, 'H-PRIORITY': {'default': '0.1', 'description': 'Heat of formation takes priority in DRC. Print whenever the energy changes by this many kcal/mol', 'format': '{}={}', 'takes values': 1}, 'HCORE': {'description': 'Print all parameters used, the one-electron matrix, and two-electron integrals'}, 'HESS': {'allowed values': (0, 1, 2), 'default': '1', 'description': 'Options for calculating Hessian matrices in EF', 'format': '{}={}', 'takes values': 1}, 'HESSIAN': {'description': 'Print Hessian from geometry optimization'}, 'HTML': {'description': 'Write a web-page for displaying and editing a protein'}, 'HYPERFINE': {'description': 'Hyperfine coupling constants to be calculated'}, 'INT': {'description': 'Make all coordinates internal coordinates'}, 'INVERT': {'description': 'Reverse all optimization flags'}, 'IRC': {'default': '', 'description': 'Intrinsic reaction coordinate calculation', 'format': '{}={}', 'takes values': [0, 1]}, 'ISOTOPE': {'description': 'Force matrix written to disk (channel 9 )'}, 'ITER': {'description': 'Print details of working in ITER'}, 'ITRY': {'default': '2000', 'description': 'Set limit of number of SCF iterations to n', 'format': '{}={}', 'takes values': 1}, 'IUPD': {'allowed values': (0, 1, 2), 'default': '2', 'description': 'Mode of Hessian update in eigenvector following: 0: skip, 1: Powell, 2: BFGS', 'format': '{}={}', 'takes values': 1}, 'KINETIC': {'default': 20, 'description': 'Excess kinetic energy added to DRC calculation', 'format': '{}={}', 'takes values': 1}, 'KING': {'description': 'Use Camp-King converger for SCF'}, 'LARGE': {'description': 'Print expanded output'}, 'LBFGS': {'description': 'Use the low-memory version of the BFGS optimizer'}, 'LET': {'description': 'Override certain safety checks'}, 'LEWIS': {'description': 'Print the Lewis structure'}, 'LINMIN': {'description': 'Print details of line minimization'}, 'LOCALIZE': {'description': 'Print the localized orbitals. These are also called Natural Bond Orbitals or NBO'}, 'LOCATE-TS': {'description': 'Given reactants and products, locate the transition state connecting them'}, 'LOG': {'description': 'Generate a log file'}, 'MECI': {'description': 'Print details of MECI calculation'}, 'MERS=(n1,n2,n3)': {'default': '(n1[,n2[,n3]])', 'description': 'Keyword generated by MAKPOL for use with program BZ', 'format': '{}={}', 'takes values': [1, 2, 3]}, 'METAL': {'default': '(Au(+3),Fe)', 'description': 'Make specified atoms 100% ionic', 'format': '{}={}', 'takes values': '0+'}, 'MICROS': {'default': '1', 'description': 'Use specific microstates in the C.I.', 'format': '{}={}', 'takes values': 1}, 'MINI': {'description': 'Reduce the size of the output by only printing specified atoms'}, 'MINMEP': {'description': 'Minimize MEP minima in the plane defined'}, 'MMOK': {'description': 'Use molecular mechanics correction to CONH bonds'}, 'MNDO': {'description': 'Use the MNDO hamiltonian'}, 'MNDOD': {'description': 'Use the MNDO-d hamiltonian'}, 'MODE': {'default': 1, 'description': 'In EF, follow Hessian mode no. n', 'format': '{}={}', 'takes values': 1}, 'MOLDAT': {'description': 'Print details of working in MOLDAT'}, 'MOLSYM': {'description': 'Print details of working in MOLSYM'}, 'MOL_QMMM': {'description': 'Incorporate environmental effects in the QM/MM approach'}, 'MOPAC': {'description': 'Use old MOPAC definition for 2nd and 3rd atoms'}, 'MOZYME': {'description': 'Use the Localized Molecular Orbital method to speed up the SCF'}, 'MS': {'allowed value test': '2*value', 'default': '1.5', 'description': 'In MECI, magnetic component of spin', 'format': '{}={}', 'takes values': 1}, 'MULLIK': {'description': 'Print the Mulliken population analysis'}, 'N**2': {'default': 2, 'description': 'In excited state COSMO calculations, set the value of N**2', 'format': '{}={}', 'takes values': 1}, 'NLLSQ': {'description': 'Minimize gradients using NLLSQ'}, 'NOANCI': {'description': 'Do not use analytical C.I. derivatives'}, 'NOCOMMENTS': {'description': 'Ignore all lines except ATOM, HETATM, and TER in PDB files'}, 'NOGPU': {'description': 'Do not use GPU acceleration'}, 'NOLOG': {'description': 'Suppress log file trail, where possible'}, 'NOMM': {'description': 'Do not use molecular mechanics correction to CONH bonds'}, 'NONET': {'description': 'NONET state required'}, 'NONR': {'description': 'Do not use Newton-Raphson method in EF'}, 'NOOPT': {'description': 'Do not optimize the coordinates of all atoms (see OPT-X)'}, 'NOOPT-X': {'description': 'Do not optimize the coordinates of all atoms of type X'}, 'NOREOR': {'description': 'In symmetry work, use supplied orientation'}, 'NORESEQ': {'description': 'Suppress the default re-sequencing of atoms to the PDB sequence'}, 'NOSWAP': {'description': 'Do not allow atom swapping when GEO_REF is used'}, 'NOSYM': {'description': 'Point-group symmetry set to C1'}, 'NOTER': {'description': 'Do not put "TER"s in PDB files'}, 'NOTHIEL': {'description': "Do not use Thiel's FSTMIN technique"}, 'NOTXT': {'description': 'Remove any text from atom symbols'}, 'NOXYZ': {'description': 'Do not print Cartesian coordinates'}, 'NSPA': {'default': 42, 'description': 'Sets number of geometric segments in COSMO use 42, 92, 122 or 162', 'format': '{}={}', 'takes values': 1}, 'NSURF': {'description': 'Number of surfaces in an ESP calculation'}, 'OCTET': {'description': 'Octet state required'}, 'OLDCAV': {'description': 'In COSMO, use the old Solvent Accessible Surface calculation'}, 'OLDENS': {'description': 'Read initial density matrix off disk'}, 'OLDFPC': {'description': 'Use the old fundamental physical constants'}, 'OLDGEO': {'description': 'Previous geometry to be used'}, 'OMIN=n.nn': {'default': 0.8, 'description': 'In TS, minimum allowed overlap of eigenvectors', 'format': '{}={}', 'takes values': 1}, 'OPEN': {'default': '(2,2)', 'description': 'Open-shell UHF or RHF calculation requested', 'format': '{}{}', 'takes values': 2}, 'OPT': {'default': '', 'description': 'OPT: Optimize coordinates of all atoms -- or --OPT(text=n.nn): Optimize the coordinates of all atoms withinn.nn Ångstroms of atoms labeled "text" -- or --OPT("Label1"[,"Label1"[,"Label1"...]]) where labels are residues', 'format': 'OPT({value})', 'takes values': [0, 1]}, 'OPT-X': {'default': 'H', 'description': 'Optimize the coordinates of all atoms of type X', 'format': 'OPT-X={value}', 'takes values': 1}, 'OUTPUT': {'description': 'Reduce the amount of output (useful for large systems)'}, 'P': {'default': '10.0GPa', 'description': 'An applied pressure of n.nn Newtons/m2 to be used A suffix of GPa may be used to indicate GPa=10^9 N/m^2', 'format': '{}={}', 'takes values': 1}, 'PDB': {'default': '(D:1,LP:0)', 'description': 'Input geometry is in protein data bank format. Arguments give nonstandard element name:atno, e.g. D:1 or LP:0', 'format': '{}{}', 'takes values': 1}, 'PDBOUT\t': {'description': 'Output geometry in pdb format'}, 'PECI': {'description': 'C.I. involves paired excitations only'}, 'PI': {'description': 'Resolve density matrix into σ, π, and δ components'}, 'PL': {'description': 'Monitor convergence of density matrix in ITER'}, 'PM3': {'description': 'Use the MNDO-PM3 Hamiltonian'}, 'PM6': {'description': 'Use the PM6 Hamiltonian'}, 'PM6-D3': {'description': "Use the PM6 Hamiltonian with Grimme's corrections for dispersion"}, 'PM6-D3H4': {'description': "Use PM6 with Řezáč and Hobza's D3H4 correction"}, 'PM6-D3H4X': {'description': "Use PM6 with Brahmkshatriya, et al.'s D3H4X correction"}, 'PM6-DH+': {'description': 'Use the PM6 Hamiltonian with corrections for dispersion and hydrogen-bonding'}, 'PM6-DH2': {'description': 'Use the PM6 Hamiltonian with corrections for dispersion and hydrogen-bonding'}, 'PM6-DH2X': {'description': 'Use PM6 with corrections for dispersion and hydrogen and halogen bonding'}, 'PM7': {'description': 'Use the PM7 Hamiltonian'}, 'PM7-TS': {'description': 'Use the PM7-TS Hamiltonian (only for barrier heights)'}, 'PMEP': {'description': 'Complete semiempirical MEP calculation'}, 'PMEPR': {'description': 'Complete semiempirical MEP in a plane to be defined'}, 'POINT': {'default': '40', 'description': 'Number of points in reaction path', 'format': '{}={}', 'takes values': 1}, 'POINT1': {'default': '11', 'description': 'Number of points in first direction in grid calculation', 'format': '{}={}', 'takes values': 1}, 'POINT2': {'default': '11', 'description': 'Number of points in second direction in grid calculation', 'format': '{}={}', 'takes values': 1}, 'POLAR': {'description': 'Calculate first, second and third order polarizabilities'}, 'POTWRT': {'description': 'In ESP, write out electrostatic potential to unit 21'}, 'POWSQ': {'description': 'Print details of working in POWSQ'}, 'PRECISE': {'description': 'Criteria to be increased by 100 times'}, 'PRESSURE': {'description': 'Apply pressure or tension to a solid or polymer'}, 'PRNT': {'allowed values': (0, 1, 2, 3, 4, 5), 'default': 1, 'description': 'Print details of geometry optimization in EF, 1 = most, 5=least', 'format': '{}={}', 'takes values': 1}, 'PRTCHAR': {'description': 'Print charges in ARC file'}, 'PRTINT': {'description': 'Print interatomic distances'}, 'PRTMEP': {'description': 'MEP contour data output to <filename>.mep'}, 'PRTXYZ': {'description': 'Print Cartesian coordinates'}, 'PULAY': {'description': "Use Pulay's converger to obtain a SCF"}, 'QMMM': {'description': 'Incorporate environmental effects in the QM/MM approach'}, 'QPMEP': {'description': 'Charges derived from Wang-Ford type AM1 MEP'}, 'QUARTET': {'description': 'Quartet state required'}, 'QUINTET': {'description': 'Quintet state required'}, 'RAPID': {'description': 'In MOZYME geometry optimizations, only use atoms being optimized in the SCF'}, 'RE-LOCAL': {'default': 1, 'description': 'During and at end of a MOZYME calculation, re-localize the LMOs. Default is just at end.', 'format': '{}={}', 'takes values': [0, 1]}, 'RECALC': {'default': 10, 'description': 'In EF, recalculate Hessian every n steps', 'format': '{}={}', 'takes values': 1}, 'RELSCF': {'description': 'Default SCF criterion multiplied by n'}, 'REORTHOG': {'description': "In MOZYME, re-orthogonalize LMO's each 10 SCF calculations."}, 'RESEQ': {'description': 'Re-arrange the atoms to match the PDB convention'}, 'RESIDUES': {'description': 'Label each atom in a polypeptide with the amino acid residue.'}, 'RESTART': {'description': 'Calculation restarted'}, 'RHF': {'description': 'Use Restricted Hartree-Fock methods'}, 'RM1': {'description': 'Use the RM1 Hamiltonian'}, 'RMAX': {'default': 4.0, 'description': 'In TS, maximum allowed ratio for energy change', 'format': '{}={}', 'takes values': 1}, 'RMIN': {'default': 0.0, 'description': 'In TS, minimum allowed ratio for energy change', 'format': '{}={}', 'takes values': 1}, 'ROOT': {'default': '1', 'description': 'Root n to be optimized in a C.I. calculation. Either an integer or with a symmetry label, e.g.2T2g', 'format': '{}={}', 'takes values': 1}, 'RSCAL': {'description': 'In EF, scale p-RFO to trust radius'}, 'RSOLV=n.nn': {'description': 'Effective radius of solvent in COSMO'}, 'SADDLE': {'description': 'Optimize transition state'}, 'SCALE': {'description': 'Scaling factor for van der waals distance in ESP'}, 'SCFCRT=n.nn': {'description': 'Default SCF criterion replaced by the value supplied'}, 'SCINCR=n.nn': {'description': 'Increment between layers in ESP'}, 'SEPTET': {'description': 'Septet state required'}, 'SETPI': {'description': 'In MOZYME, some π bonds are explicitly set by the user'}, 'SETUP': {'description': 'Extra keywords to be read from setup file'}, 'SEXTET': {'description': 'Sextet state required'}, 'SHIFT=n.nn': {'description': 'a damping factor of n defined to start SCF'}, 'SIGMA': {'description': 'Minimize gradients using SIGMA'}, 'SINGLET': {'description': 'Singlet state required'}, 'SITE=(text)': {'description': 'Define ionization state of residues in proteins'}, 'SLOG=n.nn': {'description': 'In L-BFGS optimization, use fixed step of length n .nn'}, 'SLOPE': {'description': 'Multiplier used to scale MNDO charges'}, 'SMOOTH': {'description': 'In a GRID calculation, remove artifacts caused by the order in which points are calculated'}, 'SNAP': {'description': 'Increase precision of symmetry angles'}, 'SPARKLE': {'description': 'Use sparkles instead of atoms with basis sets'}, 'SPIN': {'description': 'Print final UHF spin matrix'}, 'START_RES(text)': {'description': 'Define starting residue numbers in a protein, if different from the default'}, 'STATIC': {'description': 'Calculate Polarizability using electric fields'}, 'STEP': {'description': 'Step size in path'}, 'STEP1=n.nnn': {'description': 'Step size n for first coordinate in grid calculation'}, 'STEP2=n.nnn': {'description': 'Step size n for second coordinate in grid calculation'}, 'STO3G': {'description': 'Deorthogonalize orbitals in STO-3G basis'}, 'SUPER': {'description': 'Print superdelocalizabilities'}, 'SYBYL': {'description': "Output a file for use by Tripos's SYBYL program"}, 'SYMAVG': {'description': 'Average symmetry equivalent ESP charges'}, 'SYMMETRY': {'description': 'Impose symmetry conditions'}, 'SYMOIR': {'description': 'Print characters of eigenvectors and print number of I.R.s'}, 'SYMTRZ': {'description': 'Print details of working in subroutine SYMTRZ.'}, 'T-PRIORITY=n.nn': {'description': 'Time takes priority in DRC'}, 'T=n[M,H,D]': {'description': 'A time of n seconds requested'}, 'THERMO(nnn,mmm,lll)': {'description': 'Perform a thermodynamics calculation'}, 'THREADS=n': {'description': 'Set the number of threads to be used in parallelization to n'}, 'TIMES': {'description': 'Print times of various stages'}, 'TRANS=n': {'description': 'The system is a transition state (used in thermodynamics calculation)'}, 'TRIPLET': {'description': 'Triplet state required'}, 'TS': {'description': 'Using EF routine for TS search'}, 'UHF': {'description': 'Use the Unrestricted Hartree-Fock method'}, 'VDW(text)': {'description': 'Van der waals radius for atoms in COSMO defined by user'}, 'VDWM(text)': {'description': 'Van der waals radius for atoms in MOZYME defined by user'}, 'VECTORS': {'description': 'Print final eigenvectors'}, 'VELOCITY': {'description': 'Supply the initial velocity vector in a DRC calculation'}, 'WILLIAMS': {'description': 'Use Williams surface'}, 'X-PRIORITY=n.nn': {'description': 'Geometry changes take priority in DRC'}, 'XENO': {'description': 'Allow non-standard residues in proteins to be labeled.'}, 'XYZ': {'description': 'Do all geometric operations in Cartesian coordinates'}, 'Z=n': {'description': 'Number of mers in a cluster'}, 'pKa': {'description': 'Print the pKa for ionizable hydrogen atoms attached to oxygen atoms'}}, 'results': {'ALPHA_DENSITY_MATRIX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'density matrix', 'dimensionality': ['n_mos', 'n_mos'], 'shape': 'triangular', 'type': 'float'}, 'ALPHA_EIGENVALUES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital energies', 'dimensionality': ['n_aos'], 'type': 'float', 'units': 'eV'}, 'ALPHA_EIGENVECTORS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital coefficients', 'dimensionality': ['n_aos'], 'type': 'float'}, 'ALPHA_M.O.SYMMETRY_LABELS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'molecular orbital symmetries', 'dimensionality': ['n_mos'], 'type': 'string'}, 'ALPHA_MOLECULAR_ORBITAL_OCCUPANCIES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital occupancies', 'dimensionality': ['n_mos'], 'type': 'float'}, 'AO_ATOMINDEX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'atom for AO', 'dimensionality': ['n_aos'], 'type': 'integer'}, 'AO_CHARGES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'electrons in the AOs', 'dimensionality': ['n_aos'], 'type': 'float'}, 'AO_SPINS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'spins in the AOs', 'dimensionality': ['n_aos'], 'type': 'float'}, 'AO_ZETA': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'Slater exponent', 'dimensionality': ['n_aos'], 'type': 'float'}, 'AREA': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'surface area', 'dimensionality': 'scalar', 'property': 'surface area#MOPAC', 'type': 'float', 'units': 'Å^2'}, 'ATOM_CHARGES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'atom charges', 'dimensionality': ['n_atoms'], 'type': 'float'}, 'ATOM_CORE': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'number of valence electrons', 'dimensionality': ['n_atoms'], 'type': 'integer'}, 'ATOM_EL': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'atomic symbol', 'dimensionality': ['n_atoms'], 'type': 'string'}, 'ATOM_PQN': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'principal quantum number', 'dimensionality': ['n_aos'], 'type': 'integer'}, 'ATOM_SYMTYPE': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'atomic orbital angular shape', 'dimensionality': ['n_aos'], 'type': 'string'}, 'ATOM_X': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'x, y, z coordinates', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'Å'}, 'ATOM_X_FORCE': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'reoriented coordinates', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'Å'}, 'ATOM_X_OPT': {'calculation': ['optimization', 'thermodynamics', 'vibrations'], 'description': 'optimized x, y, z coordinates', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'Å'}, 'ATOM_X_UPDATED': {'calculation': ['optimization'], 'description': 'trajectory coordinates', 'dimensionality': ['nsteps', [3, 'n_atoms']], 'type': 'float', 'units': 'Å'}, 'BETA_DENSITY_MATRIX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'density matrix', 'dimensionality': ['n_mos', 'n_mos'], 'shape': 'triangular', 'type': 'float'}, 'BETA_EIGENVALUES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital energies', 'dimensionality': ['n_aos'], 'type': 'float', 'units': 'eV'}, 'BETA_EIGENVECTORS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital coefficients', 'dimensionality': ['n_aos'], 'type': 'float'}, 'BETA_M.O.SYMMETRY_LABELS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'molecular orbital symmetries', 'dimensionality': ['n_mos'], 'type': 'string'}, 'BETA_MOLECULAR_ORBITAL_OCCUPANCIES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital occupancies', 'dimensionality': ['n_mos'], 'type': 'float'}, 'BOND_ORDERS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'bond order matrix', 'dimensionality': ['triangular', 'n_atoms', 'n_atoms'], 'type': 'float'}, 'COMMENTS': {'calculation': [], 'description': 'User comment line', 'dimensionality': 'scalar', 'type': 'string'}, 'CPU_TIME': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'cpu time for calculation', 'dimensionality': 'scalar', 'type': 'float', 'units': 's'}, 'DATE': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'date and time of calculation', 'dimensionality': 'scalar', 'type': 'date_time'}, 'DENSITY': {'calculation': ['energy', 'optimization'], 'description': 'density', 'dimensionality': 'scalar', 'property': 'density', 'type': 'float', 'units': 'g/mL'}, 'DENSITY_MATRIX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'the density matrix', 'dimensionality': ['triangular', 'n_aos', 'n_aos'], 'type': 'float'}, 'DIEL_ENER': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'the dielectric energy from COSMO', 'dimensionality': 'scalar', 'property': 'dielectric energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'DIPOLE': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'dipole moment', 'dimensionality': 'scalar', 'property': 'dipole moment#MOPAC#{model}', 'type': 'float', 'units': 'debye'}, 'DIP_VEC': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'dipole vector', 'dimensionality': [3], 'type': 'float', 'units': 'debye'}, 'EIGENVALUES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital energies', 'dimensionality': ['n_aos'], 'type': 'float', 'units': 'eV'}, 'EIGENVECTORS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital coefficients', 'dimensionality': ['n_aos'], 'type': 'float'}, 'EMPIRICAL_FORMULA': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'empirical formula', 'dimensionality': 'scalar', 'type': 'string'}, 'ENERGY_ELECTRONIC': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'electronic energy', 'dimensionality': 'scalar', 'property': 'electronic energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'ENERGY_NUCLEAR': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'nuclear repulsion energy', 'dimensionality': 'scalar', 'property': 'nuclear repulsion energy', 'type': 'float', 'units': 'eV'}, 'ENTHALPY_TOT': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'enthalpy', 'dimensionality': ['n_temps'], 'type': 'float', 'units': 'cal/mol'}, 'ENTROPY_TOT': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'entropy', 'dimensionality': ['n_temps'], 'type': 'float', 'units': 'cal/K/mol'}, 'ERROR_MESSAGE': {'description': 'An error message', 'dimensionality': 'scalar', 'type': 'string'}, 'GRADIENTS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'gradients on the atoms', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'kcal/mol/Å'}, 'GRADIENTS_UPDATED': {'calculation': ['optimization'], 'description': 'forces in trajectory', 'dimensionality': ['nsteps', [3, 'n_atoms']], 'type': 'float', 'units': 'kcal/mol/Å'}, 'GRADIENT_NORM': {'calculation': ['optimization', 'thermodynamics', 'vibrations'], 'description': 'final norm of the gradient', 'dimensionality': 'scalar', 'type': 'float', 'units': 'kcal/mol/Å'}, 'GRADIENT_NORM_UPDATED': {'calculation': ['optimization'], 'description': 'current norm of the gradient', 'dimensionality': 'scalar', 'type': 'float', 'units': 'kcal/mol/Å'}, 'HEAT_CAPACITY_TOT': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'heat capacity', 'dimensionality': ['n_temps'], 'type': 'float', 'units': 'cal/K/mol'}, 'HEAT_OF_FORMATION': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'enthalpy of formation', 'dimensionality': 'scalar', 'property': 'enthalpy of formation#MOPAC#{model}', 'type': 'float', 'units': 'kcal/mol'}, 'HEAT_OF_FORM_UPDATED': {'calculation': ['optimization'], 'description': 'enthalpy of formation in trajectory', 'dimensionality': ['nsteps'], 'type': 'float', 'units': 'kcal/mol'}, 'HESSIAN_MATRIX': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'Hessian matrix', 'dimensionality': ['n_dof', 'n_dof'], 'type': 'float', 'units': 'mdyne/Å/Da'}, 'HOMO Energy': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'energy of the HOMO', 'dimensionality': 'scalar', 'property': 'HOMO energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'HOMO-LUMO Gap': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'The energy of the HOMO-LUMO gap', 'dimensionality': 'scalar', 'property': 'band gap#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'H_O_F(T)': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'enthalpy of formation vs T', 'dimensionality': ['n_temps'], 'type': 'float', 'units': 'kcal/mol'}, 'INITIAL_TRANS_VECTS': {'calculation': ['energy', 'optimization'], 'description': 'initial translation vectors', 'dimensionality': [9], 'type': 'float', 'units': 'Å'}, 'INT_FORCE_CONSTS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'force constants for internals', 'dimensionality': ['n_dofs'], 'type': 'float', 'units': 'mdyne/Å'}, 'IONIZATION_POTENTIAL': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'ionization energy (IE)', 'dimensionality': 'scalar', 'property': 'ionization energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'ISOTOPIC_MASSES': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'isotopic masses', 'dimensionality': ['n_atoms'], 'type': 'float', 'units': 'Da'}, 'KEYWORDS': {'calculation': [], 'description': 'MOPAC keywords', 'dimensionality': 'scalar', 'type': 'string'}, 'LMO_ENERGY_LEVELS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'Localized MO energies', 'dimensionality': ['n_aos'], 'type': 'float', 'units': 'eV'}, 'LMO_VECTORS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'localized molecular orbital coefficients', 'dimensionality': ['n_aos'], 'type': 'float'}, 'LUMO Energy': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'energy of the LUMO', 'dimensionality': 'scalar', 'property': 'LUMO energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'M.O.SYMMETRY_LABELS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'molecular orbital symmetries', 'dimensionality': ['n_mos'], 'type': 'string'}, 'METHOD': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'hamiltonian', 'dimensionality': 'scalar', 'type': 'string'}, 'MICROSTATE_CONFIGURATIONS': {'calculation': ['optimization'], 'description': 'microstate configurations', 'dimensionality': ['n_microstates'], 'type': 'integer'}, 'MOLECULAR_ORBITAL_OCCUPANCIES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'orbital occupancies', 'dimensionality': ['n_mos'], 'type': 'float'}, 'MOLECULAR_WEIGHT': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'molecular weight', 'dimensionality': 'scalar', 'type': 'float', 'units': 'Da'}, 'MOPAC_VERSION': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'MOPAC version', 'dimensionality': 'scalar', 'type': 'string'}, 'NORMAL_MODES': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'normal modes', 'dimensionality': ['n_dof', 'n_dof'], 'type': 'float'}, 'NORMAL_MODE_SYMMETRY_LABELS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'symmetry labels of normal modes', 'dimensionality': ['n_dof'], 'type': 'string'}, 'NUMBER_MICROSTATES': {'calculation': ['optimization'], 'description': 'number of microstates', 'dimensionality': [1], 'type': 'string'}, 'NUMBER_SCF_CYCLES': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': "number of scf's", 'dimensionality': 'scalar', 'type': 'integer'}, 'NUM_ALPHA_ELECTRONS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'number of spin-up electrons', 'dimensionality': 'scalar', 'type': 'integer'}, 'NUM_BETA_ELECTRONS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'number of spin-down electrons', 'dimensionality': 'scalar', 'type': 'integer'}, 'NUM_ELECTRONS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'number of electrons', 'dimensionality': 'scalar', 'type': 'integer'}, 'ORIENTATION_ATOM_X': {'calculation': ['thermodynamics', 'vibrations'], 'description': '', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'Å'}, 'OVERLAP_MATRIX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'the AO overlap matrix', 'dimensionality': ['triangular', 'n_aos', 'n_aos'], 'type': 'float'}, 'POINT_GROUP': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'the molecular symmetry', 'dimensionality': 'scalar', 'type': 'string'}, 'PRI_MOM_OF_I': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'primary moments of inertia', 'dimensionality': [3], 'type': 'float', 'units': '10^-40*g*cm^2'}, 'RESTRAINING_PRESSURE': {'calculation': ['energy', 'optimization'], 'description': 'the pressure in the three lattice directions', 'dimensionality': [3], 'type': 'float', 'units': 'GPa'}, 'ROTAT_CONSTS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'rotational constants', 'dimensionality': [3], 'type': 'float', 'units': '1/cm'}, 'SET_OF_ALPHA_MOS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'set of MOs', 'dimensionality': [2], 'type': 'string'}, 'SET_OF_BETA_MOS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'set of MOs', 'dimensionality': [2], 'type': 'string'}, 'SET_OF_MOS': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'set of MOs', 'dimensionality': [2], 'type': 'string'}, 'SIZE_OF_ACTIVE_SPACE': {'calculation': ['optimization'], 'description': 'size of active space', 'dimensionality': [1], 'type': 'string'}, 'SPIN_COMPONENT': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'spin component', 'dimensionality': [3], 'type': 'float'}, 'STATE': {'calculation': ['optimization'], 'description': 'state', 'dimensionality': [1], 'type': 'string'}, 'STATE_DEGENERACY': {'calculation': ['optimization'], 'description': 'number of microstates', 'dimensionality': [1], 'type': 'string'}, 'STATE_ENERGY_ABSOLUTE': {'calculation': ['optimization'], 'description': 'state energy absolute', 'dimensionality': [1], 'type': 'string'}, 'STATE_ENERGY_RELATIVE': {'calculation': ['optimization'], 'description': 'state', 'dimensionality': [1], 'type': 'string'}, 'STATE_REQUESTED': {'calculation': ['optimization'], 'description': 'state requested', 'dimensionality': [1], 'type': 'integer'}, 'STATE_VECTOR': {'calculation': ['optimization'], 'description': 'state vector', 'dimensionality': [1], 'type': 'float'}, 'THERMODYNAMIC_PROPERTIES_TEMPS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'temperature for thermodynamic properties', 'dimensionality': ['n_temps'], 'type': 'float', 'units': 'K'}, 'TITLE': {'calculation': [], 'description': 'title of calculation', 'dimensionality': 'scalar', 'type': 'string'}, 'TOTAL_DENSITY_MATRIX': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'density matrix', 'dimensionality': ['n_mos', 'n_mos'], 'shape': 'triangular', 'type': 'float'}, 'TOTAL_ENERGY': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'total energy', 'dimensionality': 'scalar', 'property': 'total energy#MOPAC#{model}', 'type': 'float', 'units': 'eV'}, 'TOTAL_SPIN': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'spin', 'dimensionality': 'scalar', 'property': 'S^2#MOPAC#{model}', 'type': 'float'}, 'TRANS_VECTS': {'calculation': ['energy', 'optimization'], 'description': 'initial translation vectors', 'dimensionality': [9], 'type': 'float', 'units': 'Å'}, 'TRANS_VECTS_UPDATED': {'calculation': ['energy', 'optimization'], 'description': 'initial translation vectors', 'dimensionality': [9], 'type': 'float', 'units': 'Å'}, 'VIB._EFF_MASS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'vibrational effective masses', 'dimensionality': ['n_dof'], 'type': 'float', 'units': 'Da'}, 'VIB._FREQ': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'vibrational frequencies', 'dimensionality': ['n_dof'], 'type': 'float', 'units': '1/cm'}, 'VIB._RED_MASS': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'vibrational reduced masses', 'dimensionality': ['n_dof'], 'type': 'float', 'units': 'Da'}, 'VIB._TRAVEL': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'vibrational lenght of travel', 'dimensionality': ['n_dof'], 'type': 'float', 'units': 'Å'}, 'VIB._T_DIP': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'vibrational transition dipole', 'dimensionality': ['n_dof'], 'type': 'float'}, 'VOIGT_STRESS': {'description': 'Voigt stress', 'dimensionality': [6], 'type': 'float', 'units': 'GPa'}, 'VOIGT_STRESS_UPDATED': {'description': 'Voigt stress in trajectory', 'dimensionality': [6], 'type': 'float', 'units': 'GPa'}, 'VOLUME': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'volume', 'dimensionality': 'scalar', 'property': 'volume#MOPAC', 'type': 'float', 'units': 'Å^3'}, 'ZERO_POINT_ENERGY': {'calculation': ['thermodynamics', 'vibrations'], 'description': 'zero point energy', 'dimensionality': 'scalar', 'property': 'zero point energy#MOPAC#{model}', 'type': 'float', 'units': 'kcal/mol'}, 'bonds': {'calculation': ['Lewis structure'], 'description': 'bonds', 'dimensionality': '[n_bonds]', 'type': 'int'}, 'charge': {'calculation': ['Lewis structure'], 'description': 'net charge', 'dimensionality': 'scalar', 'type': 'int'}, 'energy': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'enthalpy of formation', 'dimensionality': 'scalar', 'type': 'float', 'units': 'kcal/mol'}, 'gradients': {'calculation': ['energy', 'optimization', 'thermodynamics', 'vibrations'], 'description': 'gradients on the atoms', 'dimensionality': [3, 'n_atoms'], 'type': 'float', 'units': 'kcal/mol/Å'}, 'lone pairs': {'calculation': ['Lewis structure'], 'description': 'number of lone pairs', 'dimensionality': '[n_atoms]', 'type': 'int'}, 'n lone pairs': {'calculation': ['Lewis structure'], 'description': 'number of lone pairs', 'dimensionality': 'scalar', 'type': 'int'}, 'n pi bonds': {'calculation': ['Lewis structure'], 'description': 'number of pi bonds', 'dimensionality': 'scalar', 'type': 'int'}, 'n sigma bonds': {'calculation': ['Lewis structure'], 'description': 'number of sigma bonds', 'dimensionality': 'scalar', 'type': 'int'}, 'neighbors': {'calculation': ['Lewis structure'], 'description': 'bonded atoms', 'dimensionality': '[n_atoms]', 'type': 'int'}, 'point group': {'calculation': ['Lewis structure'], 'description': 'point group', 'dimensionality': 'scalar', 'type': 'string'}, 'sum of negative charges': {'calculation': ['Lewis structure'], 'description': 'sum of negative charges', 'dimensionality': 'scalar', 'type': 'int'}, 'sum of positive charges': {'calculation': ['Lewis structure'], 'description': 'sum of positive charges', 'dimensionality': 'scalar', 'type': 'int'}}}#

Description of the computational models for MOPAC. Hamiltonians, approximations, and basis set/parameterizations.

mopac_step.mopac module#

Setup and run MOPAC

class mopac_step.mopac.MOPAC(flowchart=None, namespace='org.molssi.seamm.mopac', extension=None, title='MOPAC', logger=<Logger mopac_step.mopac (WARNING)>)[source]#

Bases: MOPACBase

analyze(indent='', lines=[], n_calculations=None, output='')[source]#

Read the results from MOPAC calculations and analyze them, putting key results into variables for subsequent use by other stages

description_text(P=None)[source]#

Return a short description of this step.

Return a nicely formatted string describing what this step will do.

Keyword Arguments:

P – a dictionary of parameter values, which may be variables or final values. If None, then the parameters values will be used as is.

property input_only#

Whether to write the input only, not run MOPAC.

run(printer=<seamm_util.printing.Printer object>)[source]#

Run MOPAC

set_id(node_id)[source]#

Set the id for node to a given tuple

mopac_step.mopac_base module#

Setup and run MOPAC

class mopac_step.mopac_base.MOPACBase(flowchart=None, namespace=None, extension=None, title=None, logger=<Logger mopac_step.mopac_base (WARNING)>)[source]#

Bases: Node

create_parser()[source]#

Setup the command-line / config file parser

property git_revision#

The git version of this module.

mopac_structure()[source]#

Create the input for the structure.

parse_arc(filename='mopac.arc')[source]#

Digest the ARC file and get the coordinates.

Parameters:

filename (str) – The name of the ARC file

Returns:

coordinates

Return type:

[n_atoms*[3]]

parse_aux(lines)[source]#

Digest a section of the aux file

property version#

The semantic version of this module.

mopac_step.mopac_step module#

Main module.

class mopac_step.mopac_step.MOPACStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Setup and run MOPAC', 'group': 'Simulations', 'name': 'MolSSI MOPAC'}#

mopac_step.optimization module#

Setup and run MOPAC

class mopac_step.optimization.Optimization(flowchart=None, title='Optimization', extension=None)[source]#

Bases: Energy

analyze(indent='', data_sections=[], out_sections=[], table=None)[source]#

Parse the output and generating the text output and store the data in variables for other stages to access

description_text(P=None)[source]#

Prepare information about what this node will do

get_input()[source]#

Get the input for an optimization MOPAC

mopac_step.optimization_parameters module#

Control parameters for a MOPAC optimization calculation

class mopac_step.optimization_parameters.OptimizationParameters(defaults={}, data=None)[source]#

Bases: EnergyParameters

The control parameters for optimization in MOPAC

parameters = {'LatticeOpt': {'default': 'Yes', 'default_units': '', 'description': 'Optimize the cell (if periodic):', 'enumeration': ('Yes', 'No'), 'format_string': '', 'help_text': 'Allow the lattice vectors to change during optimization.', 'kind': 'boolean'}, 'cycles': {'default': 'unlimited', 'default_units': '', 'description': 'Maximum steps:', 'enumeration': ('unlimited',), 'format_string': '', 'help_text': "The maximum number of steps to take in the optimization. 'unlimited' means there is no definite limit; however, the time-limit of the job will stop the job.", 'kind': 'integer'}, 'dmax': {'default': '0.2', 'default_units': '', 'description': 'Trust radius:', 'enumeration': (), 'format_string': '.1f', 'help_text': 'The trust radius in the EF method. The algorithm updates this based on progress. The default is normally fine, but in some difficult cases reducing to 0.1 or 0.05 may be useful.', 'kind': 'float'}, 'gnorm': {'default': '1.0', 'default_units': 'kcal/mol/Å', 'description': 'Convergence criterion:', 'enumeration': (), 'format_string': '.1f', 'help_text': "The convergence criterion for the optimization. This is controlled in part by the overall convergence criterion:* 'normal' is the default level, 1.0  kcal/mol/Å.* 'precise' tightens up the criterion by a factor of 100.* 'absolute' uses the value set here.", 'kind': 'float'}, 'method': {'default': 'default', 'default_units': '', 'description': 'Optimization algorithm:', 'enumeration': ('default', 'EF -- eigenvector following', 'BFGS -- Broyden-Fletcher-Goldfarb-Shanno algorithm', 'L-BFGS -- smaller memory BFGS for larger systems', 'TS -- transition state with EF method', 'SIGMA -- transition state with McIver-Komornicki method', "NLLSQ -- nonlinear least squares of gradient, Bartel's method"), 'format_string': 's', 'help_text': 'The optimization algorithm to use.', 'kind': 'enumeration'}, 'pressure': {'default': 0.0, 'default_units': 'GPa', 'description': 'Pressure:', 'enumeration': (), 'format_string': '.1f', 'help_text': 'The applied pressure.', 'kind': 'float'}, 'recalc': {'default': 'never', 'default_units': '', 'description': 'Recalculate Hessian:', 'enumeration': ('never',), 'format_string': '', 'help_text': 'How often to recalculate the Hessian (in steps) when using the EF method. Smaller values help convergence but are expensive. 10 with a trust radius of 0.1 is useful for difficult cases, while 1 and a trust radius of 0.05 will always find a stationary point if one exists.', 'kind': 'integer'}}#

mopac_step.optimization_step module#

Main module.

class mopac_step.optimization_step.OptimizationStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Optimization of the structure', 'group': 'Calculations', 'name': 'Optimization'}#

mopac_step.thermodynamics module#

Run a thermodynamics calculation in MOPAC

class mopac_step.thermodynamics.Thermodynamics(flowchart=None, title='Thermodynamics', extension=None)[source]#

Bases: Energy

analyze(indent='', data_sections=[], out_sections=[], table=None)[source]#

Parse the output and generating the text output and store the data in variables for other stages to access

description_text(P=None)[source]#

Prepare information about what this node will do

get_input()[source]#

Get the input for thermodynamics in MOPAC

mopac_step.thermodynamics_parameters module#

Control parameters for a MOPAC thermodynamics calculation

class mopac_step.thermodynamics_parameters.ThermodynamicsParameters(defaults={}, data=None)[source]#

Bases: EnergyParameters

The control parameters for creating a structure from SMILES

parameters = {'Tmax': {'default': '400', 'default_units': 'K', 'description': 'Maximum temperature:', 'enumeration': (), 'format_string': '.1f', 'help_text': 'The maximum temperature for the thermodynamic functions.', 'kind': 'float'}, 'Tmin': {'default': '200', 'default_units': 'K', 'description': 'Minimum temperature:', 'enumeration': (), 'format_string': '.1f', 'help_text': 'The minimum temperature for the thermodynamic functions.', 'kind': 'float'}, 'Tstep': {'default': '10', 'default_units': 'K', 'description': 'Temperature interval:', 'enumeration': (), 'format_string': '.1f', 'help_text': 'The interval between temperatures for the thermodynamic functions.', 'kind': 'float'}, 'trans': {'default': '0', 'default_units': '', 'description': 'Number of internal rotations to ignore:', 'enumeration': (), 'format_string': 'd', 'help_text': 'The number of internal rotations to ignore. A corresponding number of the lowest modes will be ignored, which is a first approximation.', 'kind': 'integer'}}#

mopac_step.thermodynamics_step module#

Main module.

class mopac_step.thermodynamics_step.ThermodynamicsStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return the new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'Harmonic approximation to the thermodynamic functions', 'group': 'Calculations', 'name': 'Thermodynamic functions'}#

mopac_step.tk_energy module#

The graphical part of a MOPAC Energy node

class mopac_step.tk_energy.TkEnergy(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50, my_logger=<Logger mopac_step.tk_energy (WARNING)>)[source]#

Bases: TkNode

create_dialog(title='Edit MOPAC Energy Step')[source]#

Create the dialog!

reset_dialog(widget=None)[source]#

Reset the layout of the dialog as needed for the parameters.

In this base class this does nothing. Override as needed in the subclasses derived from this class.

reset_energy_frame(widget=None)[source]#
right_click(event)[source]#

Probably need to add our dialog…

mopac_step.tk_forceconstants module#

The graphical part of a MOPAC vibrational node

class mopac_step.tk_forceconstants.TkForceconstants(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50)[source]#

Bases: TkEnergy

create_dialog(title='MOPAC Force Constants')[source]#

Create the dialog!

reset_dialog(widget=None)[source]#

Layout the widgets in the main frame

We’ll let ‘TkEnergy’ layout the initial set of widgets, then add the extra widgets for controlling optimization

mopac_step.tk_ir module#

The graphical part of a MOPAC vibrational node

class mopac_step.tk_ir.TkIR(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50)[source]#

Bases: TkEnergy

create_dialog(title='MOPAC Infrared (Vibrational) Spectrum')[source]#

Create the dialog!

reset_dialog(widget=None)[source]#

Layout the widgets in the main frame

We’ll let ‘TkEnergy’ layout the initial set of widgets, then add the extra widgets for controlling optimization

mopac_step.tk_lewis_structure module#

The graphical part of the Lewsi structure node

class mopac_step.tk_lewis_structure.TkLewisStructure(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50, my_logger=<Logger mopac_step.tk_lewis_structure (WARNING)>)[source]#

Bases: TkNode

create_dialog(title='Edit Lewis Structure Step')[source]#

Create the dialog!

right_click(event)[source]#

Probably need to add our dialog…

mopac_step.tk_mopac module#

The graphical part of a MOPAC step in SEAMM

class mopac_step.tk_mopac.TkMOPAC(tk_flowchart=None, node=None, canvas=None, namespace='org.molssi.seamm.mopac.tk', x=120, y=20, w=200, h=50, my_logger=<Logger mopac_step.tk_mopac (WARNING)>)[source]#

Bases: TkNode

The node_class is the class of the ‘real’ node that this class is the Tk graphics partner for

create_dialog()[source]#

Create the dialog!

right_click(event)[source]#

Probably need to add our dialog…

mopac_step.tk_optimization module#

The graphical part of a MOPAC Energy node

class mopac_step.tk_optimization.TkOptimization(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50)[source]#

Bases: TkEnergy

create_dialog(title='MOPAC Optimization')[source]#

Create the dialog!

reset_dialog(widget=None)[source]#

Reset the layout of the dialog as needed for the parameters.

In this base class this does nothing. Override as needed in the subclasses derived from this class.

reset_optimization_frame(widget=None)[source]#

Layout the widgets in the optimization frame

We’ll let ‘TkEnergy’ layout the initial set of widgets, then add the extra widgets for controlling optimization

right_click(event)[source]#

Probably need to add our dialog…

mopac_step.tk_thermodynamics module#

The graphical part of a MOPAC Energy node

class mopac_step.tk_thermodynamics.TkThermodynamics(tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50)[source]#

Bases: TkEnergy

create_dialog(title='MOPAC Thermodynamic Functions')[source]#

Create the dialog!

reset_dialog(widget=None)[source]#

Layout the widgets in the main frame

We’ll let ‘TkEnergy’ layout the initial set of widgets, then add the extra widgets for controlling optimization

Module contents#

Top-level package for MOPAC step.