scine_chemoton.gears.elementary_steps.brute_force

Classes

BruteForceElementarySteps()

This Gear probes Reactions by trying to react all Structures of each Aggregate with all Structures of each other Aggregate.

class scine_chemoton.gears.elementary_steps.brute_force.BruteForceElementarySteps[source]

This Gear probes Reactions by trying to react all Structures of each Aggregate with all Structures of each other Aggregate. For each Structure-Structure combination multiple arrangements (possible Elementary Steps) will be tested.

Notes

This function assumes maximum spin when adding two Structures into one reactive complex. The need for elementary step guesses is tested by:

  1. for bimolecular reactions: checking whether there is already a

    calculation to search for a bimolecular reaction of the same structures with the same job order

  2. for unimolecular reactions: checking whether there is already a

    calculation to search for an intramolecular reaction of the same structure with the same job order

Attributes:
optionsBruteForceElementarySteps.Options

The options for the BruteForceElementarySteps Gear.

aggregate_filterscine_chemoton.gears.elementary_steps.aggregate_filters.AggregateFilter

A filter for allowed reaction combinations, per default everything is permitted, no filter is applied.

trial_generatorTrialGenerator

The generator to set up elementary step trial calculations by enumerating reactive complexes and trial reaction coordinates

class Options(_parent=None)

The options for an ElementarySteps Gear.

base_job_settings: ValueCollection
ValueCollection

The base settings for the jobs. Duplicate keys are overwritten by the settings of the TrialGenerator.

cycle_time: int
int

The minimum number of seconds between two cycles of the Gear. Cycles are finished independently of this option, hence if a cycle takes longer than the cycle_time will effectively lead to longer cycle times and not cause multiple cycles of the same Gear.

enable_bimolecular_trials
bool

If True, enables the exploration of bimolecular reactions.

enable_unimolecular_trials
bool

If True, enables the exploration of unimolecular reactions.

looped_collection: str
str

The collection to loop over. Can be “compounds” or “flasks”.

model: Model
db.Model

The model the Gear is working with.

run_one_cycle_with_settings_enhancement
bool

If True, enables the enhancement of the settings for the next cycle.

structure_model: Model
Optional[db.Model]

If not None, calculations are only started for structures with the given model.

unset_collections()

Duplicate name to HoldCollections method to be triggered in pickling process, so infinite _parent loops are avoided.

Return type:

None

aggregate_filter: AggregateFilter
bimolecular_coordinates(credentials, observer=None)

Returns the reaction coordinates allowed for bimolecular reactions for the whole database based on the set options and filters. This method does not set up new calculations. The returned object is a dictionary of dictionaries containing a dictionary specifying the coordinates. The dictionary holds the aggregate IDs, the next dictionary holds then the structures of each aggregate with the reaction coordinate information. The keys are a tuple containing a reaction coordinates and the number of dissociations. The values hold a list of instructions. Each entry in this list allows to construct a reactive complex. Therefore, the number of reactive complexes per reaction coordinate can also be inferred.

Return type:

Dict[str, Dict[str, Dict[Tuple[List[Tuple[int, int]], int], List[Tuple[ndarray, ndarray, float, float]]]]]

Parameters:
credentialsdb.Credentials

The credentials of the database.

observerOptional[Callable[[], None]]

A function that is called after each aggregate to count the number of aggregates processed.

Notes

The index basis (total system or separate systems) of the returned indices in the reaction coordinates varies between different TrialGenerator implementations!

clear_cache()
Return type:

None

disable_caching()
Return type:

None

enable_caching()
Return type:

None

initialize_collections(manager)
Return type:

None

property name: str
options: Options
static possible_attributes()
Return type:

List[str]

stop()
Return type:

None

property stop_at_next_break_point: bool
trial_generator: TrialGenerator
unimolecular_coordinates(credentials, observer=None)

Returns the reaction coordinates allowed for unimolecular reactions for the whole database based on the set options and filters. This method does not set up new calculations. The returned object is a dictionary of dictionaries containing list of tuple. The dictionary holds the aggregate IDs, the next dictionary holds then the structures of each aggregate with the reaction coordinate information. The first argument in the tuple is a list of reaction coordinates. The second argument in the tuple is the number of dissociations.

Return type:

Dict[str, Dict[str, List[Tuple[List[List[Tuple[int, int]]], int]]]]

Parameters:
credentialsdb.Credentials

The credentials of the database.

observerOptional[Callable[[], None]]

A function that is called after each aggregate to count the number of aggregates processed.

unset_collections()
Return type:

None