Package schrodinger :: Package application :: Package matsci :: Module mecp_mod :: Class MECP
[hide private]
[frames] | no frames]

Class MECP

object --+
         |
        MECP

Manages finding MECPs.

Instance Methods [hide private]
 
__init__(self, astructure, charge_1=0, charge_2=0, multip_1=3, multip_2=1, state_1=0, state_2=1, scf_gs=False, jaguar_kwargs=OrderedDict([('iuhf', 2), ('dftname', 'B3LYP'), ('basis', 'MID..., iterations=50, eps=0.0001, init_hess='identity', method='projection', perp_factor=1.0, para_factor=0.0, convergence_dict=OrderedDict([('delta_energy', -5e-05), ('max_force', 0.0005), ..., guess_geom='input', all_geometries=False, all_results=False, properties=False, base_name='mecp', tpp=1, nresources=2, verbose=False, logger=None)
Create an instance.
 
setSCFGS(self)
Set the SCF ground state.
 
setJaguarKwargs(self)
Set the Jaguar kwargs.
 
checkInput(self)
Check input.
 
setParallelization(self)
Set the parallelization options.
 
setUpMaeWriter(self)
Set up the Maestro output writer.
 
tearDownMaeWriter(self, exception=None)
Tear down the Maestro output writer and then raise an exception if there is one.
 
logParams(self)
Log the parameters.
 
doStateOptimizations(self)
Do the geometry optimizations for the individual states and record their data.
numpy.array
getGuessGeometry(self)
Return the guess geometry.
 
postProcessOptimization(self, energy_and_gradients)
Post process the optimization.
BFGS
getBFGSObject(self, x_0)
Return a BFGS object.
EnergyAndGradients
getEnergyAndGradientsObject(self, bfgs_obj)
Return a EnergyAndGradients object.
dict
getOptKwargs(self, bfgs_obj)
Return the kwargs for the optimization.
 
optimize(self)
Optimize the geometry to the MECP.
 
doIncorporation(self)
Incorporate output Maestro files.
 
runIt(self)
Main function to find the MECP.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, astructure, charge_1=0, charge_2=0, multip_1=3, multip_2=1, state_1=0, state_2=1, scf_gs=False, jaguar_kwargs=OrderedDict([('iuhf', 2), ('dftname', 'B3LYP'), ('basis', 'MID..., iterations=50, eps=0.0001, init_hess='identity', method='projection', perp_factor=1.0, para_factor=0.0, convergence_dict=OrderedDict([('delta_energy', -5e-05), ('max_force', 0.0005), ..., guess_geom='input', all_geometries=False, all_results=False, properties=False, base_name='mecp', tpp=1, nresources=2, verbose=False, logger=None)
(Constructor)

 

Create an instance.

Parameters:
  • astructure (schrodinger.structure.Structure) - the structure for which the MECP is needed
  • charge_1 (int) - net molecular charge of the first state
  • charge_2 (int) - net molecular charge of the second state
  • multip_1 (int) - multiplicity of the first state
  • multip_2 (int) - multiplicity of the second state
  • state_1 (int) - the first state, 0 for ground state, N for the N-th excited state
  • state_2 (int) - the second state, 0 for ground state, N for the N-th excited state
  • scf_gs (bool) - specify whether ground states should be determined using an SCF
  • jaguar_kwargs (dict) - dictionary of Jaguar &gen section key/value pairs
  • iterations (int) - the maximum number of MECP geometry optimization iterations
  • eps (float) - step size in Angstrom for any finite difference approximations
  • init_hess (str) - the type of initial Hessian to use
  • method (str) - the method to use to determine the MECP
  • perp_factor (float) - prefactor for the energy term whose gradient lies perpendicular to the crossing seam
  • para_factor (float) - prefactor for the energy term whose gradient lies parallel to the crossing seam
  • convergence_dict (dict) - contains various convergence thresholds
  • guess_geom (str) - the initial guess geometry to use for the MECP geometry optimization, choices are GUESS_GEOM_CHOICES
  • all_geometries (bool) - use this option to report all geometries, i.e. the geometries from all MECP geometries iterations will be reported in the output
  • all_results (bool) - use this option to copy all subdirectories containing results from intermediate Jaguar force, etc. calculations back to the launch host
  • properties (bool) - whether to calculate properties of the MECP or not
  • base_name (str) - a base name used to name the job and its related files
  • tpp (int) - the number of threads to use for any intermediate Jaguar calculations, i.e. -TPP (threads-per-process)
  • nresources (int) - the number of resources to use for Jaguar calculations, i.e. the number of threads * the number of processors
  • verbose (bool) - specifies verbose logging
  • logger (logging.Logger or None) - output logger or None if there isn't one
Overrides: object.__init__

tearDownMaeWriter(self, exception=None)

 

Tear down the Maestro output writer and then raise an exception if there is one.

Parameters:
  • exception (Exception or None) - the exception to raise after tear down or None if there isn't one

getGuessGeometry(self)

 

Return the guess geometry.

Returns: numpy.array
the guess geometry (N X 1)

postProcessOptimization(self, energy_and_gradients)

 

Post process the optimization.

Parameters:
  • energy_and_gradients (EnergyAndGradients) - the instance passed to the optimizer

getBFGSObject(self, x_0)

 

Return a BFGS object.

Parameters:
  • x_0 (numpy.array) - the guess geometry (N X 1)
Returns: BFGS
the object to manage the BFGS optimization

getEnergyAndGradientsObject(self, bfgs_obj)

 

Return a EnergyAndGradients object.

Parameters:
  • bfgs_obj (BFGS) - the object to manage the BFGS optimization
Returns: EnergyAndGradients
the object to manage the energy and gradient calls for the BFGS optimization

getOptKwargs(self, bfgs_obj)

 

Return the kwargs for the optimization.

Parameters:
  • bfgs_obj (BFGS) - the object to manage the BFGS optimization
Returns: dict
the parameters for the optimization