eon.akmcstate#

The state module.

Module Contents#

Classes#

Functions#

lambertw

Lambert W function, principal branch

Data#

API#

eon.akmcstate.logger#

‘getLogger(…)’

class eon.akmcstate.AKMCState(statepath, statenumber, statelist, previous_state_num=-1, reactant_path=None)[source]#

Bases: eon.state.State

Initialization

Creates a new State, with lazily loaded data.

processtable_head_fmt#

‘%7s %16s %11s %9s %16s %17s %8s %12s %7s\n’

processtable_header#

None

processtable_line#

‘%7d %16.5f %11.5e %9d %16.5f %17.5e %8.5f %12.5e %7d\n’

find_repeat(saddle_file, barrier)[source]#
add_process(result, superbasin=None)[source]#

Adds a process to this State.

append_search_result(result, comment, superbasin)[source]#
get_ratetable(superbasin=None)[source]#

Loads the process table if it has not been loaded and generates a rate table according to kT and thermal_window.

get_process_table()[source]#

Return dictionary of processes (id->proc) inside thermal window.

get_relevant_procids(superbasin=None)[source]#

Get process IDs inside thermal window.

get_confidence(superbasin=None)[source]#

Confidence that all relevant processes for this state were found.

The confidence is a function of the ratio Nf/Ns, where Nf is the number of unique processes and Ns is the number of searches performed.

When Nf or Ns are zero, there is no confidence. Zero is returned in this case.

As the ratio Nf/Ns decreases, the confidence increases from 0.0 to a limit of 1.0. This is roughly equivalent to the statement: I am more confident that I have found all relevant processes if I have found 10 processes after 1000 searches than if I have found 900 processes after 1000 searches.

Nf is calculated to be the number of processes in the rate table. Ns is calculated to be the number of searches that resulted in a process on the rate table.

When using recycling or kdb, it is useful to ignore processes that occur outside the hole, the region in which the last process took place. Focusing on this region means you can do possibly far fewer searches to reach confidence. When using the hole to filter processes, Nf and Ns only take into account processes that intersect the hole.

If superbasin is passed, that means the state is in that superbasin. The confidence calculation is adjusted so that only processes that lead out of the superbasin are counted. This may be disabled by the config.sb_superbasin_confidence option.

get_proc_random_count()[source]#
inc_proc_random_count(procid)[source]#
reset_repeats()[source]#
get_repeats()[source]#
inc_repeats()[source]#
load_process_table()[source]#

Load the process table. If the process table is not loaded, load it. If it is loaded, do nothing.

save_process_table()[source]#

If the processtable is present in memory, writes it to disk.

append_process_table(id, saddle_energy, prefactor, product, product_energy, product_prefactor, barrier, rate, repeats)[source]#

Append to the process table. Append a single line to the process table file. If we have loaded the process table, also append it to the process table in memory.

update_lowest_barrier(barrier)[source]#

Compares the parameter barrier to the lowest barrier stored in info. Updates the lowest barrier stored in info if the barrier parameter is lower and returns the (possibly new) lowest barrier.

get_lowest_barrier()[source]#
get_unique_saddle_count()[source]#
set_unique_saddle_count(num)[source]#
get_good_saddle_count()[source]#
set_good_saddle_count(num)[source]#
increment_time(dt, T_search)[source]#

Increment MD search time by dt at temperature T_search.

get_time()[source]#
get_time_by_temp()[source]#
get_number_of_searches()[source]#
get_total_saddle_count()[source]#
get_bad_saddle_count()[source]#
set_bad_saddle_count(num)[source]#
register_bad_saddle(result, store=False, superbasin=None)[source]#

Registers a bad saddle.

get_process_reactant(id)[source]#
get_process_saddle(id)[source]#
get_process_product(id)[source]#
get_process_mode(id)[source]#
proc_saddle_path(id)[source]#
proc_mode_path(id)[source]#
eon.akmcstate.lambertw(z)[source]#

Lambert W function, principal branch