17.1.1.3. pysisyphus.cos package

17.1.1.3.1. Submodules

17.1.1.3.2. pysisyphus.cos.AdaptiveNEB module

17.1.1.3.3. pysisyphus.cos.ChainOfStates module

17.1.1.3.4. pysisyphus.cos.FreeEndNEB module

17.1.1.3.5. pysisyphus.cos.FreezingString module

class pysisyphus.cos.FreezingString.FreezingString(images, calc_getter, max_nodes=10, opt_steps=3)[source]

Bases: object

property allcoords
as_xyz()[source]
property coords
property energy
property forces
property fully_grown
get_new_image(coords, index)[source]
get_tangent()[source]
property left_frontier
reparametrize(energy, forces)[source]
property right_frontier
set_new_frontier_nodes()[source]

17.1.1.3.6. pysisyphus.cos.GrowingChainOfStates module

17.1.1.3.7. pysisyphus.cos.GrowingNT module

class pysisyphus.cos.GrowingNT.GrowingNT(geom, step_len=0.5, rms_thresh=0.0017, r=None, final_geom=None, between=None, bonds=None, r_update=True, r_update_thresh=1.0, stop_after_ts=False, require_imag_freq=0.0, hessian_at_ts=False, out_dir='.', dump=True)[source]

Bases: object

property P

Projector that keeps perpendicular component.

as_xyz()[source]
property atoms
calc_hessian_for(other_geom)[source]
property cart_coords
property cart_forces
check_convergence(*args, **kwargs)[source]
clear_passed()[source]
property coords
property energy
property forces
property freeze_atoms
get_additional_print(energy)[source]
get_energy_and_forces_at(coords)[source]
get_energy_at(coords)[source]
get_path(fn)[source]
static get_r(geom, final_geom, bonds, r)[source]
grow_image()[source]
initialize()[source]
log(message)[source]
logger = <Logger cos (DEBUG)>
property moving_atoms
property r

Parallel/search direction.

reparametrize(image_energies, _forces)[source]

Check if GNT can be grown.

17.1.1.3.8. pysisyphus.cos.GrowingString module

17.1.1.3.9. pysisyphus.cos.NEB module

17.1.1.3.10. pysisyphus.cos.SimpleZTS module

17.1.1.3.11. pysisyphus.cos.distributed module

class pysisyphus.cos.distributed.ParallelData(ncores, ncalcs, nbatches, batch_sizes, batch_pals, calc_pals)[source]

Bases: object

batch_pals: ndarray
batch_sizes: ndarray
calc_pals: ndarray
nbatches: int
ncalcs: int
ncores: int
pysisyphus.cos.distributed.distributed_calculations(client, images, func, logger=None)[source]

Carray out distributed calculations via dask.

func should return the modified image.

Return type:

list[Geometry]

pysisyphus.cos.distributed.pal_values_for_parallel_calcs(ncores, ncalcs)[source]

Determine sensible pal values for parallel calculations.

Given 'ncores' available CPU cores and 'ncalcs' calculation, determine suitable 'pal' values for each calculation, so the calculations can run in parallel. If there are more calculations than cores, most calculations will run with pal=1, with a few remaining calculations with pal > 1.

Parameters:
  • ncores (int) -- Positive integer, number of available cores.

  • ncalcs (int) -- Integer, number of calculations to carry out.

Returns:

List of positive integers.

Return type:

calc_pals

17.1.1.3.12. pysisyphus.cos.multi_state module

17.1.1.3.13. pysisyphus.cos.stiffness module

pysisyphus.cos.stiffness.Fstiffness_k(k, kappa0, kappa1, innerimagelist, outerimagelist, Eholo_vertical)[source]

Stress of stiffness for image k.

pysisyphus.cos.stiffness.calcEholo_vert(image_coords, tangents, thresh=0.001)[source]

Calculate perpendicular tangents for given images and tangents.

Implements eq. (8) to (13) in [1]. This function seems to crash when all images (tangents) lie (point) in a straight line. Currently, this check is done in 'get_stiff_stress'.

pysisyphus.cos.stiffness.get_stiff_stress(bandwidth, kappa, image_coords, tangents, straight_thresh=1e-08)[source]

Function to calculate the stress of stiffness

See [1] for a discussion.

Parameters:
  • bandwidth (float) -- The band width of stiffness term in Bohr. The larger this parameter is, the higher the stress of stiffness.

  • kappa (Union[float, Sequence]) -- The NEB spring constant (float or sequence of float). When a float is given the same spring constants is used for all images.

  • image_coords (ndarray) -- 2d array of image coordinates of shape (nimages, ncoords) with nimages being the number of images and ncoords the number of coordinates of each image the instance of each coordinates are numpy.array

  • tangents (ndarray) -- 2d array with the same shape as 'image_coords', containing the tangents defined at each image.

Returns:

Array containing the stress of stiffness with the same shape as 'image_coords'.

Return type:

Fstlist

17.1.1.3.14. Module contents