scine_chemoton.gears.elementary_steps.trial_generator.fragment_based¶
Classes
Class to generate reactive complex calculations via fragment-based approaches. |
- class scine_chemoton.gears.elementary_steps.trial_generator.fragment_based.FragmentBased[source]¶
Class to generate reactive complex calculations via fragment-based approaches.
- Attributes:
- optionsFragmentBased.Options
The options for generating reactive complex calculations.
- reactive_site_filterReactiveSiteFilter
The filter applied to determine reactive sites. NOTE: Reactive pairs/coordinates for the application of the filter_atom_pairs and filter_reaction_coordinates methods are generated by probing all possible across-fragment combinations for unimolecular reactions (i.e. each pair has to consist of atoms belonging to two different fragments). If any of the combinations belonging to a certain fragment composition is allowed, the fragment composition is considered. For bimolecular reactions with two diatomic fragments the reactive pairs correspond to the atoms facing each other in the (unrotated) reactive complex.
- class Options(parent=None)[source]¶
The options for the fragment-based reactive complex enumeration.
- class BimolAssociationOptions[source]¶
The options for the exploration of bimolecular reactions.
- complex_generator¶
- InterReactiveComplexes
The generator used for the composition of reactive complexes from given interstructural components of reactive coordinates.
- consider_diatomic_fragments¶
- bool
Whether to also generate reactive complexes with diatomic reactive fragments (i.e., reactive complex calculations with the lhs and/or rhs lists containing two atoms). (default: False)
-
job:
Job
¶ - db.Job (Scine::Database::Calculation::Job)
The Job used to do reactive complex calculations/trial elementary step calculations. scine_react_complex_nt and scine_react_complex_afir jobs are supported. The default is: the scine_react_complex_nt order on a single core.
-
job_settings:
ValueCollection
¶ - Additional settings added to the elementary step trial calculation.
Empty by default.
- max_within_fragment_graph_distance¶
- int
Maximum number of bonds between two atoms forming a reactive fragment. This option is only effective if consider_diatomic_fragments is True. (default: 1)
- 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
- class UnimolAssociationOptions[source]¶
The options for the generation of associative unimolecular elementary step trial calculations.
- consider_diatomic_fragments¶
- bool
Whether to also set up unimolecular reactions where the individual reactive fragments are composed of two atoms. (default: False) Note: Pairs are only made subject to an elementary step trial/reactive complex calculations if none of the atoms of the one fragment is directly bound to any of the atoms in the other fragment.
- enabled¶
- bool
If True, enables the exploration of these types of reactions.
-
job:
Job
¶ - db.Job (Scine::Database::Calculation::Job)
The Job used to evaluate the possible reactions. The default is: the scine_react_complex_afir order on a single core.
-
job_settings:
ValueCollection
¶ - utils.ValueCollection
Additional settings passed to Calculation evaluating the possible reactions. Empty by default.
- max_inter_fragment_graph_distance¶
- int
The maximum distance between atoms (bond count) to be considered for association reactions. If the fragments are diatomic all possible atom pairs arising from forming the cartesian product of the fragments have to have a distance that is not larger than this value.
- max_within_fragment_graph_distance¶
- int
Maximum number of bonds between two atoms forming a reactive fragment. This option is only effective if consider_diatomic_fragments is True. (default: 1)
- min_inter_fragment_graph_distance¶
- int
The minimum graph distance between fragments (bond count) to be considered for association reactions. If the fragments are diatomic all possible atom pairs arising from forming the cartesian product of the fragments have to have a distance of at least this value.
- class UnimolDissociationOptions[source]¶
The options for the generation of dissociative and disconnective unimolecular trial elementary step calculations.
-
job:
Job
¶ - db.Job (Scine::Database::Calculation::Job)
The Job used to evaluate the possible reactions. The default is: the scine_react_complex_nt order on a single core.
-
job_settings_disconnective:
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 disconnection of the molecule generating two new molecules in the process. 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 that are expected to result in dissociations of the tested atoms only, retaining a single molecule. Empty by default.
- max_graph_distance¶
-
job:
- base_job_settings: ValueCollection¶
-
bimolecular_association_options:
BimolAssociationOptions
¶ - BimolAssociationOptions
The settings for reactions involving two molecules, that are set up to be associative in nature.
- model: db.Model¶
-
unimolecular_association_options:
UnimolAssociationOptions
¶ - UnimolAssociationOptions
The settings for reactions involving a single molecule, that are set up to be associative in nature.
-
unimolecular_dissociation_options:
UnimolDissociationOptions
¶ - UnimolDissociationOptions
The settings for reactions involving a single molecule, that are set up to be dissociative in nature.
- 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.
- 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_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:
- 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.
- 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.