pele.systems.BaseSystem#

class pele.systems.BaseSystem(*args, **kwargs)[source]#

The base class for a System object

Notes

The following functions need to be overloaded for running the given routines

Global Optimization:

  1. get_potential : required

  2. get_takestep : optional

  3. get_random_configuration : optional

  4. get_compare_exact : optional

Connecting Minima and Transition State Searches:

  1. get_potential : required

  2. get_mindist : required

  3. get_orthogonalize_to_zero_eigenvectors : required

  4. get_compare_exact : optional, recommended

thermodynamics:

  1. get_metric_tensor

GUI:

  1. all of the above functions are required, plus

  2. draw : required

  3. smooth_path : required

  4. load_coords_pymol : recommended

additionally, it’s a very good idea to specify the accuracy in the database using self.params.database.accuracy

See the method documentation for more information and relevant links

Methods

__call__()

calling a system returns itself

createNEB(coords1, coords2, **kwargs)

return an NEB object to find a minimum energy path from coords1 to coords2

create_database(*args, **kwargs)

return a new database object

draw(coords, index)

tell the gui how to represent your system using openGL objects

get_basinhopping([database, takestep, ...])

construct a basinhopping object with takestep and accept step already implemented

get_compare_exact()

object that returns True if two structures are identical.

get_compare_minima()

a wrapper for compare exact so in input can be in Minimum Form

get_double_ended_connect(min1, min2, ...)

return a DoubleEndedConnect object

get_log_product_normalmode_freq(coords[, ...])

return the log product of the squared normal mode frequencies

get_metric_tensor(coords)

return (mass-weighted) metric tensor for given coordinates

get_mindist()

return a function that structurally aligns two configurations

get_minimizer(**kwargs)

return a function to minimize the structure

get_ndof()

return the number of degrees of freedom

get_normalmodes(coords)

return the squared normal mode frequencies and eigenvectors

get_nzero_modes()

return the number of vibration modes with zero frequency

get_orthogonalize_to_zero_eigenvectors()

return None or a function which makes a vector orthogonal to the known zero eigenvectors

get_pgorder(coords)

return the point group order of the configuration

get_potential()

return the potential object

get_random_configuration()

return starting point for basinhopping, etc.

get_random_minimized_configuration(**kwargs)

return a random configuration that is already minimized

get_system_properties()

return a dictionary of system specific properties.

get_takestep(**kwargs)

return the takestep object for use in basinhopping, etc.

load_coords_pymol(coordslist, oname[, index])

load the coords into pymol

smooth_path(images, **kwargs)

return a smoothed path between two configurations.

Attributes