scine_chemoton.gears.elementary_steps.trial_generator.template_based

Classes

TemplateBased([energy_cutoff, ...])

Class to generate reactive complex calculations via template-based approaches.

class scine_chemoton.gears.elementary_steps.trial_generator.template_based.TemplateBased(energy_cutoff=100, enforce_atom_shapes=True)[source]

Class to generate reactive complex calculations via template-based approaches.

Attributes:
optionsBondBased.Options

The options for generating reactive complex calculations.

reactive_site_filterReactiveSiteFilter

The filter applied to determine reactive sites, reactive pairs and trial reaction coordinates.

class Options(parent=None)[source]

The options for template-basedreactive complex enumeration.

class BimolOptions[source]

The options for the generation and exploration of bimolecular reactions.

complex_generator
InterReactiveComplexes

The generator used for the composition of reactive complexes.

job: Job
db.Job (Scine::Database::Calculation::Job)

The Job used to evaluate the elementary step trial calculations. The default is: the scine_react_complex_nt2 order on a single core.

job_settings: ValueCollection
Dict[str, Union[bool, int, float]]

Additional settings added to the elementary step trial calculation. Empty by default.

minimal_spin_multiplicity
bool

Whether to assume max spin recombination, thus assuming minimal resulting spin, or take combination of input spin multiplicities. (default: False) True: | multiplicity1 - multiplicity2 | - 1 False: sum(multiplicities) - 1

unset_collections()

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

Return type:

None

class UnimolOptions[source]

The options for the generation and exploration of unimolecular reactions.

job: Job
db.Job (Scine::Database::Calculation::Job)

The Job used to evaluate the possible reactions. Jobs with the order scine_react_complex_nt2 are supported. The default is: the scine_react_complex_nt2 order on a single core.

job_settings_associative: ValueCollection
utils.ValueCollection

Additional settings passed to Calculation evaluating the possible reactions. These settings are passed to all calculations that are expected to result in the formations of at least one bond, i.e., that at least one of the reactive atom pairs is not bound in the start structure. Empty by default.

job_settings_disconnective: ValueCollection
utils.ValueCollection

Additional settings passed to Calculation evaluating the possible reactions. These settings are passed to all calculations for which all of the reactive atom pairs are bound in the start structure and cutting them apart would result into at least two separate molecules. Empty by default.

job_settings_dissociative: ValueCollection
utils.ValueCollection

Additional settings passed to Calculation evaluating the possible reactions. These settings are passed to all calculations for which all of the reactive atom pairs are bound in the start structure but cutting them apart would not result into two separate molecules. Empty by default.

unset_collections()

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

Return type:

None

base_job_settings: ValueCollection
bimolecular_options: BimolOptions
BimolOptions

The options for reactions involving two molecules, that are set up to be associative in nature.

energy_cutoff: float
str

Only apply the template if a barrier in the trialed direction of less than this value has been reported, by default 100 (kJ/mol)

enforce_atom_shapes: bool
str

If true only allow atoms with the same coordination sphere shapes to be considered matching, by default True

model: db.Model
reaction_template_file: str
str

The path to a SCINE Art reaction template file to be loaded before starting the loop(s).

unimolecular_options: UnimolOptions
UnimolOptions

The options for reactions involving a single molecule.

unset_collections()

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

Return type:

None

bimolecular_coordinates(structure_list, with_exact_settings_check=False)[source]

Returns the reaction coordinates allowed for bimolecular reactions for the given structures based on the set options and filters. This method does not set up new calculations. The returned object is a list of dictionary. 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[Tuple[List[Tuple[int, int]], int], List[Tuple[ndarray, ndarray, float, float]]]

Parameters:
structure_listList[db.Structure]

List of the two structures to be considered. The Structures have to be linked to a database.

with_exact_settings_checkbool

If True, more expensive queries are carried out to check if the settings of the calculations are exactly the same as the settings of the trial generator. This allows to add more inclusive additional reaction trials but the queries are less efficient, therefore this option should be only toggled if necessary.

Notes

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

bimolecular_reactions(structure_list, with_exact_settings_check=False)[source]

Creates reactive complex calculations corresponding to the bimolecular reactions between the structures if there is not already a calculation to search for a reaction of the same structures with the same job order.

Parameters:
structure_listList[db.Structure]

List of the two structures to be considered. The Structures have to be linked to a database.

clear_cache()[source]
estimate_n_bimolecular_trials(structure_file1, structure_file2, attack_points_per_site=3)[source]
estimate_n_unimolecular_trials(structure_file, n_reactive_bound_pairs=-1, n_reactive_unbound_pairs=-1)[source]
get_bimolecular_job_order()[source]
Return type:

str

get_unimolecular_job_order()[source]
Return type:

str

initialize_collections(manager)
Return type:

None

options: Options
static possible_attributes()
Return type:

List[str]

unimolecular_coordinates(structure, with_exact_settings_check=False)[source]

Returns the reaction coordinates allowed for unimolecular reactions for the given structure based on the set options and filters. This method does not set up new calculations. The returned object is a list of tuple. 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:

List[Tuple[List[List[Tuple[int, int]]], int]]

Parameters:
structuredb.Structure

The structure to be considered. The Structure has to be linked to a database.

with_exact_settings_checkbool

If True, more expensive queries are carried out to check if the settings of the calculations are exactly the same as the settings of the trial generator. This allows to add more inclusive additional reaction trials but the queries are less efficient, therefore this option should be only toggled if necessary.

unimolecular_reactions(structure, with_exact_settings_check=False)[source]

Creates reactive complex calculations corresponding to the unimolecular reactions of the structure if there is not already a calculation to search for a reaction of the same structure with the same job order.

Parameters:
structuredb.Structure

The structure to be considered. The Structure has to be linked to a database.

unset_collections()
Return type:

None