Welcome to pysisyphus documentation!
pysisyphus is a software-suite for the exploration of potential energy surfaces in ground- and excited states. It implements several methods to search for stationary points (minima and first order saddle points) and the calculation of minimum energy paths by means of IRC and Chain of States methods like Nudged Elastic Band and Growing String. Furthermore it provides tools to easily analyze & modify geometries (aligning, translating, interpolating, ...) and to visualize the calculation results/progress.
The required energies, gradients and hessians are calculated by calling external quantum chemistry codes. pysisyphus can also be used as a library to implement custom quantum chemistry workflows.
If any issues arise please open an issue and I'll see if it can be fixed and my time permits it. Contrubtions are welcome, so feel free to submit a PR.
This software is still work in progress. Use at your own risk. Also take a look at the license
- 1. Overview of pysisyphus
- 2. Installation
- 3. Installation via Nix
- 4. Worked example
- 5. Coordinate Systems
- 5.1. Supported Coordinate Systems
- 5.2. Supported File Formats
- 5.3. YAML Input
- 5.4. Geometry & RedundantCoords
Geometry
Geometry.__init__()
Geometry.align_principal_axes()
Geometry.all_energies
Geometry.approximate_radius()
Geometry.as_ase_atoms()
Geometry.as_g98_list()
Geometry.as_xyz()
Geometry.assert_cart_coords()
Geometry.assert_compatibility()
Geometry.atom_indices()
Geometry.atom_types
Geometry.atom_xyz_iter()
Geometry.atomic_numbers
Geometry.bond_sets
Geometry.calc_double_ao_overlap()
Geometry.calc_energy_and_forces()
Geometry.cart_coords
Geometry.cart_forces
Geometry.cart_gradient
Geometry.cart_hessian
Geometry.center()
Geometry.center_of_mass
Geometry.center_of_mass_at()
Geometry.centroid
Geometry.clear()
Geometry.comment
Geometry.coord_types
Geometry.coords
Geometry.coords3d
Geometry.coords_by_type
Geometry.copy()
Geometry.copy_all()
Geometry.covalent_radii
Geometry.del_atoms()
Geometry.describe()
Geometry.dump_xyz()
Geometry.eckart_projection()
Geometry.energy
Geometry.fd_coords3d_gen()
Geometry.forces
Geometry.get_energy_and_cart_forces_at()
Geometry.get_energy_and_cart_hessian_at()
Geometry.get_energy_and_forces_at()
Geometry.get_energy_at()
Geometry.get_energy_at_cart_coords()
Geometry.get_fragments()
Geometry.get_imag_frequencies()
Geometry.get_normal_modes()
Geometry.get_restart_info()
Geometry.get_sphere_radius()
Geometry.get_subgeom()
Geometry.get_subgeom_without()
Geometry.get_temporary_coords()
Geometry.get_thermoanalysis()
Geometry.get_trans_rot_projector()
Geometry.gradient
Geometry.hessian
Geometry.inertia_tensor
Geometry.is_analytical_2d
Geometry.jmol()
Geometry.layers
Geometry.mass_weigh_hessian()
Geometry.masses
Geometry.masses_rep
Geometry.mm_inv
Geometry.mm_sqrt_inv
Geometry.modes3d()
Geometry.moving_atoms
Geometry.moving_atoms_jmol()
Geometry.mw_coords
Geometry.mw_gradient
Geometry.mw_hessian
Geometry.principal_axes_are_aligned()
Geometry.reparametrize()
Geometry.reset_coords()
Geometry.rmsd()
Geometry.rotate()
Geometry.set_calculator()
Geometry.set_coord()
Geometry.set_coords()
Geometry.set_h5_hessian()
Geometry.set_restart_info()
Geometry.set_results()
Geometry.standard_orientation()
Geometry.sum_formula
Geometry.tmp_xyz_handle()
Geometry.total_mass
Geometry.unweight_mw_hessian()
Geometry.vdw_radii
Geometry.vdw_volume()
Geometry.without_hydrogens()
Geometry.zero_frozen_forces()
get_trans_rot_projector()
get_trans_rot_vectors()
inertia_tensor()
HybridRedundantCoords
RedundantCoords
RedundantCoords.B
RedundantCoords.B_inv
RedundantCoords.B_inv_prim
RedundantCoords.B_prim
RedundantCoords.Bt_inv
RedundantCoords.Bt_inv_prim
RedundantCoords.C
RedundantCoords.P
RedundantCoords.backtransform_hessian()
RedundantCoords.bend_atom_indices
RedundantCoords.bend_indices
RedundantCoords.bond_atom_indices
RedundantCoords.bond_indices
RedundantCoords.bond_typed_prims
RedundantCoords.cartesian_indices
RedundantCoords.clear()
RedundantCoords.constrained_indices
RedundantCoords.coords
RedundantCoords.coords3d
RedundantCoords.dihedral_atom_indices
RedundantCoords.dihedral_indices
RedundantCoords.eval()
RedundantCoords.get_K_matrix()
RedundantCoords.get_index_of_typed_prim()
RedundantCoords.get_prim_internals_by_indices()
RedundantCoords.inv_B()
RedundantCoords.inv_Bt()
RedundantCoords.linear_bend_indices
RedundantCoords.log()
RedundantCoords.log_int_grad_msg()
RedundantCoords.outofplane_indices
RedundantCoords.prim_coords
RedundantCoords.prim_indices_set
RedundantCoords.prim_internals
RedundantCoords.primitives
RedundantCoords.print_typed_prims()
RedundantCoords.project_hessian()
RedundantCoords.project_vector()
RedundantCoords.return_inds()
RedundantCoords.rotation_indices
RedundantCoords.set_inds_from_typed_prims()
RedundantCoords.set_primitive_indices()
RedundantCoords.transform_forces()
RedundantCoords.transform_hessian()
RedundantCoords.transform_int_step()
RedundantCoords.translation_indices
RedundantCoords.typed_prims
TMTRIC
TRIC
- 5.5. Related Literature
- 6. Calculators
- 6.1. YAML input
- 6.2. Calculator base classes
Calculator
Calculator.__init__()
Calculator.apply_keep_kind()
Calculator.apply_set_plans()
Calculator.build_set_plans()
Calculator.clean()
Calculator.conf_key
Calculator.force_num_hessian()
Calculator.geom_from_fn()
Calculator.get_cmd()
Calculator.get_energy()
Calculator.get_forces()
Calculator.get_hessian()
Calculator.get_num_hessian()
Calculator.get_restart_info()
Calculator.keep()
Calculator.log()
Calculator.make_fn()
Calculator.name
Calculator.popen()
Calculator.prepare()
Calculator.prepare_coords()
Calculator.prepare_input()
Calculator.prepare_path()
Calculator.prepare_pattern()
Calculator.prepare_turbo_coords()
Calculator.prepare_xyz_string()
Calculator.print_capabilities()
Calculator.print_out_fn()
Calculator.restore_org_hessian()
Calculator.run()
Calculator.run_after()
Calculator.set_restart_info()
Calculator.verify_chkfiles()
HessKind
KeepKind
SetPlan
- 6.3. OverlapCalculator base class
NTOs
OverlapCalculator
OverlapCalculator.H5_MAP
OverlapCalculator.OVLP_TYPE_VERBOSE
OverlapCalculator.VALID_CDDS
OverlapCalculator.VALID_KEYS
OverlapCalculator.VALID_XY
OverlapCalculator.calc_cdd_cube()
OverlapCalculator.conf_thresh
OverlapCalculator.data_model
OverlapCalculator.dump_overlap_data()
OverlapCalculator.from_overlap_data()
OverlapCalculator.get_ci_coeffs_for()
OverlapCalculator.get_h5_group()
OverlapCalculator.get_indices()
OverlapCalculator.get_mo_norms()
OverlapCalculator.get_orbital_matrices()
OverlapCalculator.get_ref_mos()
OverlapCalculator.get_sao_from_mo_coeffs()
OverlapCalculator.get_tden_overlaps()
OverlapCalculator.get_top_differences()
OverlapCalculator.prepare_overlap_data()
OverlapCalculator.render_cdd_cube()
OverlapCalculator.renorm_mos()
OverlapCalculator.store_overlap_data()
OverlapCalculator.stored_calculations
OverlapCalculator.track_root()
get_data_model()
- 6.4. Calculators with Excited state capabilities
- 6.5. Calculators with Ground state capabilities
- 6.6. Meta (wrapping) Calculators
- 6.7. Pure Python calculators
- 7. Minimization
- 7.1. YAML Example
- 7.2. Convergence Thresholds
- 7.3. Available Optimizers
ConvInfo
Optimizer
Optimizer.__init__()
Optimizer.check_convergence()
Optimizer.dump_restart_info()
Optimizer.final_summary()
Optimizer.fit_rigid()
Optimizer.get_path_for_fn()
Optimizer.get_restart_info()
Optimizer.log()
Optimizer.make_conv_dict()
Optimizer.optimize()
Optimizer.postprocess_opt()
Optimizer.prepare_opt()
Optimizer.print_opt_progress()
Optimizer.procrustes()
Optimizer.report_conv_thresholds()
Optimizer.run()
Optimizer.scale_by_max_step()
Optimizer.set_restart_info()
Optimizer.write_cycle_to_file()
Optimizer.write_image_trjs()
Optimizer.write_results()
Optimizer.write_to_out_dir()
get_data_model()
HessianOptimizer
HessianOptimizer.__init__()
HessianOptimizer.filter_small_eigvals()
HessianOptimizer.get_alpha_step()
HessianOptimizer.get_augmented_hessian()
HessianOptimizer.get_newton_step()
HessianOptimizer.get_newton_step_on_trust()
HessianOptimizer.get_rs_step()
HessianOptimizer.get_shifted_step_trans()
HessianOptimizer.get_step_func()
HessianOptimizer.housekeeping()
HessianOptimizer.log_negative_eigenvalues()
HessianOptimizer.prepare_opt()
HessianOptimizer.prev_eigvec_max
HessianOptimizer.prev_eigvec_min
HessianOptimizer.quadratic_model()
HessianOptimizer.reset()
HessianOptimizer.rfo_dict
HessianOptimizer.rfo_model()
HessianOptimizer.save_hessian()
HessianOptimizer.set_new_trust_radius()
HessianOptimizer.solve_rfo()
HessianOptimizer.update_hessian()
HessianOptimizer.update_trust_radius()
dummy_hessian_update()
RFOptimizer
- 8. Minimization with Microiterations
- 9. Relaxed Scans
- 10. Excited State Optimization
- 11. Chain Of States Methods
- 11.1. String method
- 11.2. Nudged Elastic Band
- 11.3. General remarks
- 11.4. YAML example(s)
- 11.5. General advice for COS optimizations
- 11.6. Chain Of States base class
ChainOfStates
ChainOfStates.as_xyz()
ChainOfStates.atoms
ChainOfStates.calculate_forces()
ChainOfStates.calculator
ChainOfStates.cart_coords
ChainOfStates.check_for_climbing_start()
ChainOfStates.clear()
ChainOfStates.concurrent_force_calcs()
ChainOfStates.coords
ChainOfStates.coords3d
ChainOfStates.describe()
ChainOfStates.energy
ChainOfStates.forces
ChainOfStates.get_climbing_forces()
ChainOfStates.get_climbing_indices()
ChainOfStates.get_dask_client()
ChainOfStates.get_fixed_indices()
ChainOfStates.get_hei_index()
ChainOfStates.get_image_calc_counter_sum()
ChainOfStates.get_perpendicular_forces()
ChainOfStates.get_splined_hei()
ChainOfStates.get_tangent()
ChainOfStates.get_tangents()
ChainOfStates.gradient
ChainOfStates.image_coords
ChainOfStates.image_inds
ChainOfStates.last_index
ChainOfStates.log()
ChainOfStates.logger
ChainOfStates.masses_rep
ChainOfStates.max_image_num
ChainOfStates.moving_images
ChainOfStates.moving_indices
ChainOfStates.par_image_calc()
ChainOfStates.perpendicular_forces
ChainOfStates.prepare_opt_cycle()
ChainOfStates.results
ChainOfStates.rms()
ChainOfStates.set_climbing_forces()
ChainOfStates.set_coords_at()
ChainOfStates.set_images()
ChainOfStates.set_vector()
ChainOfStates.set_zero_forces_for_fixed_images()
ChainOfStates.valid_coord_types
ChainOfStates.zero_fixed_vector()
- 11.7. Chain Of State Methods
- 11.8. Growing Chain Of States base class
- 11.9. Growing Chain Of State Methods
- 12. Transition State Optimization
- 13. Intrinsic Reaction Coordinate (IRC)
- 13.1. YAML example(s)
- 13.2. IRC base class
IRC
IRC.__init__()
IRC.coords
IRC.dump_data()
IRC.dump_ends()
IRC.energy
IRC.get_conv_fact()
IRC.get_endpoint_and_ts_geoms()
IRC.get_full_irc_data()
IRC.get_irc_data()
IRC.get_path_for_fn()
IRC.gradient
IRC.initial_displacement()
IRC.irc()
IRC.log()
IRC.m_sqrt
IRC.mass_weigh_hessian()
IRC.mw_coords
IRC.mw_gradient
IRC.postprocess()
IRC.prepare()
IRC.report_bonds()
IRC.report_conv_thresholds()
IRC.run()
IRC.set_data()
IRC.unweight_vec()
IRC.valid_displs
- 13.3. IRC Integrators
- 14. Diabatiziation
- 15. Plotting
- 16. Working with Geometries
- 17. pysisyphus
- 17.1. pysisyphus package
- 17.1.1. Subpackages
- 17.1.1.1. pysisyphus.benchmarks package
- 17.1.1.2. pysisyphus.calculators package
- 17.1.1.3. pysisyphus.cos package
- 17.1.1.4. pysisyphus.db package
- 17.1.1.5. pysisyphus.drivers package
- 17.1.1.6. pysisyphus.dynamics package
- 17.1.1.7. pysisyphus.intcoords package
- 17.1.1.8. pysisyphus.interpolate package
- 17.1.1.9. pysisyphus.io package
- 17.1.1.10. pysisyphus.irc package
- 17.1.1.11. pysisyphus.line_searches package
- 17.1.1.12. pysisyphus.modefollow package
- 17.1.1.13. pysisyphus.optimizers package
- 17.1.1.14. pysisyphus.plotters package
- 17.1.1.15. pysisyphus.stocastic package
- 17.1.1.16. pysisyphus.tests package
- 17.1.1.17. pysisyphus.tsoptimizers package
- 17.1.1.18. pysisyphus.wrapper package
- 17.1.2. Submodules
- 17.1.3. pysisyphus.Geometry module
- 17.1.4. pysisyphus.TableFormatter module
- 17.1.5. pysisyphus.TablePrinter module
- 17.1.6. pysisyphus.color module
- 17.1.7. pysisyphus.config module
- 17.1.8. pysisyphus.constants module
- 17.1.9. pysisyphus.elem_data module
- 17.1.10. pysisyphus.exceptions module
- 17.1.11. pysisyphus.filtertrj module
- 17.1.12. pysisyphus.helpers module
FinalHessianResult
align_coords()
align_geoms()
check_for_end_sign()
complete_fragments()
confirm_input()
do_final_hessian()
fit_rigid()
geom_from_xyz_file()
geom_loader()
geoms_from_trj()
get_coords_diffs()
get_geom_getter()
get_tangent_trj_str()
imag_modes_from_geom()
index_array_from_overlaps()
match_geoms()
norm_max_rms()
np_print()
pick_image_inds()
print_barrier()
procrustes()
shake_coords()
simple_peaks()
slugify_worker()
- 17.1.13. pysisyphus.helpers_pure module
OrderedEnum
approx_float()
cache_arrays()
check_mem()
chunks()
describe()
eigval_to_wavenumber()
estimate()
expand()
file_or_str()
filter_fixture_store()
find_closest_sequence()
full_expand()
get_box()
get_clock()
get_cubic_crystal()
get_input()
get_molecular_radius()
get_random_path()
get_ratio()
hash_args()
hash_arr()
highlight_text()
increment_fn()
interpolate_colors()
json_to_results()
kill_dir()
log()
merge_sets()
molecular_volume()
recursive_update()
remove_duplicates()
report_frozen_atoms()
report_isotopes()
results_to_json()
rms()
sort_by_central()
standard_state_corr()
timed()
to_sets()
to_subscript_num()
touch()
- 17.1.14. pysisyphus.init_logging module
- 17.1.15. pysisyphus.linalg module
cross3()
eigvec_grad()
finite_difference_hessian()
get_rot_mat()
get_rot_mat_for_coords()
gram_schmidt()
make_unit_vec()
matrix_power()
multi_component_sym_mat()
norm3()
orthogonalize_against()
perp_comp()
pivoted_cholesky()
pivoted_cholesky2()
quaternion_to_rot_mat()
rmsd_grad()
rot_quaternion()
svd_inv()
sym_mat_from_tril()
sym_mat_from_triu()
- 17.1.16. pysisyphus.pack module
- 17.1.17. pysisyphus.peakdetect module
- 17.1.18. pysisyphus.plot module
CDD_PNG_FNS
anim_cos()
get_en_conv()
get_force_unit()
list_h5_groups()
load_h5()
parse_args()
plot_afir()
plot_all_energies()
plot_cos_energies()
plot_cos_forces()
plot_cycle()
plot_gau()
plot_irc()
plot_irc_h5()
plot_md()
plot_opt()
plot_overlaps()
plot_scan()
plot_trj_energies()
render_cdds()
run()
spline_plot_cycles()
- 17.1.19. pysisyphus.run module
RunResult
check_asserts()
copy_yaml_and_geometries()
do_clean()
do_rmsds()
get_calc_closure()
get_defaults()
get_last_calc_cycle()
load_run_dict()
main()
parse_args()
print_bibtex()
print_header()
run()
run_calculations()
run_endopt()
run_from_dict()
run_irc()
run_md()
run_mdp()
run_preopt()
run_scan()
run_stocastic()
run_tsopt_from_cos()
setup_run_dict()
- 17.1.20. pysisyphus.socket_helper module
- 17.1.21. pysisyphus.testing module
- 17.1.22. pysisyphus.thermo module
- 17.1.23. pysisyphus.trj module
GotNoGeometryException
align()
append()
center()
centerm()
dump_geoms()
every()
frag_sort()
get()
get_geoms()
get_interactively()
hardsphere_merge()
match()
origin()
parse_args()
print_internal_vals()
print_internals()
read_geoms()
run()
shake()
spline_redistribute()
standard_orientation()
standardize_geoms()
translate()
- 17.1.24. pysisyphus.version module
- 17.1.25. pysisyphus.xyzloader module
- 17.1.26. pysisyphus.yaml_mods module
- 17.1.27. Module contents
- 17.1.1. Subpackages
- 17.1. pysisyphus package