scine_chemoton.gears.elementary_steps.brute_force¶
Classes
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:
- 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
- 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.
-
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.
-
base_job_settings:
- 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!
- 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.