Jobs¶
Basic Jobs¶
All Jobs prepended with Scine
indicate that they are making use of the C++
module
interface defined in SCINE. Hence, adding a personal module
with
a custom Calculator
will automatically enable the use of these tasks with
the custom module
/Calculator
.
For more information about this interface please see the documentation of SCINE: Core and possibly also SCINE: Utils.
Conformer Generation¶
-
class
scine_puffin.jobs.conformers.
Conformers
[source]¶ A job generating all possible conformers (guesses) for a given structure with molassembler. The given model is used as a hint for the quality of the bond orders that are to be used when generating the
molassembler
molecule.- Order Name
conformers
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- add_based_on_distance_connectivity :: bool
If
True
, the structure’s connectivity is derived from interatomic distances via the utils.BondDetector: The bond orders used for interpretation are set to the maximum between those given in thebond_orders
property and 1.0, whereever the utils.BondDetector detects a bond. (default: True)- sub_based_on_distance_connectivity :: bool
If
True
, the structure’s connectivity is derived from interatomic distances via the utils.BondDetector: The bond orders used for interpretation are removed, whereever the utils.BondDetector does not detect a bond. (default: True)- enforce_bond_order_model :: bool
If
True
, only processesbond_orders
that were generated with the specified model. IfFalse
, eventually falls back to anybond_orders
available for the structure. (default: True)- dihedral_retries :: int
The number of attempts to generate the dihedral decision during conformer generation. (default: 100)
- Required Packages
SCINE: Database (present by default)
SCINE: molassembler (present by default)
SCINE: Utils (present by default)
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A set of conformers guesses derived from the graph representation of the initial structure. All generated conformers will have a graph (
masm_cbor_graph
) and decision list set (masm_decision_list
).
SCINE: AFIR¶
-
class
scine_puffin.jobs.scine_afir.
ScineAfir
[source]¶ A job optimizing a structure while applying an artificial force.
- Order Name
scine_afir
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are: All settings recognized by ReaDuct’s AFIR task. For a complete list see the ReaDuct manual The most common AFIR related ones being:- afir_afir_weak_forces :: bool
This activates an additional, weakly attractiveforce applied to all atom pairs. By default set to
False
.- afir_afir_attractive :: bool
Specifies whether the artificial force is attractive or repulsive. By default set to
True
, which means that the force is attractive.- afir_afir_rhs_list :: List[int]
This specifies list of indices of atoms to be artificially forced onto or away from those in the LHS list (see below). By default, this list is empty. Note that the first atom has the index zero.
- afir_afir_lhs_list :: List[int]
This specifies list of indices of atoms to be artificially forced onto or away from those in the RHS list (see above). By default, this list is empty. Note that the first atom has the index zero.
- afir_afir_energy_allowance :: float
The maximum amount of energy to be added by the artificial force, in kJ/mol. By default set to 1000 kJ/mol.
- afir_afir_phase_in :: int
The number of steps over which the full force is gradually applied. By default set to 100.
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A new structure, the optimized (inc. artificial force) structure.
- Properties
The
electronic_energy
associated with the new structure.
SCINE: Bond Orders¶
-
class
scine_puffin.jobs.scine_bond_orders.
ScineBondOrders
[source]¶ A job calculating bond orders.
- Order Name
scine_bond_orders
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- only_distance_connectivity :: bool
Whether the bond orders shall be constructed via distance information only (True) or from an electronic structure calculation (False). (default: False)
- add_based_on_distance_connectivity :: bool
If
True
, the structure’s connectivity is derived from interatomic distances via the utils.BondDetector: The bond orders used for interpretation are set to the maximum between those given by an electronic structure calculation and 1.0, whereever the utils.BondDetector detects a bond. (default: True)- sub_based_on_distance_connectivity :: bool
If
True
, the structure’s connectivity is derived from interatomic distances via the utils.BondDetector: The bond orders used given by an electronic structure calculation are removed, whereever the utils.BondDetector does not detect a bond. (default: True)- add_graph :: bool
Whether to add a molassembler graph and decision list to the structure based on the determined bond orders. (default: True)
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: molassembler (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
bond_orders
(SparseMatrixProperty
) are added. Optionally theelectronic_energy
associated with the structure if it is present in the results of provided by the calculator interface.- Other
If a graph is requested, graph representations of the structure will be added to the structures
graphs
field. The added representations are: A representation of the graphmasm_cbor_graph
, and the decision representations of the existing stereopermutators using a nearest neighbour fitmasm_decision_list
. Any previous graph representations of the structure will be overwritten.
SCINE: Geometry Optimization¶
-
class
scine_puffin.jobs.scine_geometry_optimization.
ScineGeometryOptimization
[source]¶ A job optimizing the geometry of a given structure, in search of a local minimum on the potential energy surface. Optimizing a given structure’s geometry, generating a new minimum energy structure, if successful.
- Order Name
scine_geometry_optimization
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:All settings recognized by ReaDuct’s geometry optimization task.
Common examples are:
- optimizer :: str
The name of the optimizer to be used, e.g. ‘bfgs’, ‘lbfgs’, ‘nr’ or ‘sd’.
- convergence_max_iterations :: int
The maximum number of geometry optimization cycles.
- convergence_delta_value :: float
The convergence criterion for the electronic energy difference between two steps.
- convergence_gradient_max_coefficient :: float
The convergence criterion for the maximum absolute gradient. contribution.
- convergence_step_rms :: float
The convergence criterion for root mean square of the geometric gradient.
- convergence_step_max_coefficient :: float
The convergence criterion for the maximum absolute coefficient in the last step taken in the geometry optimization.
- convergence_gradient_rms :: float
The convergence criterion for root mean square of the last step taken in the geometry optimization.
For a complete list see the ReaDuct manual
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A new minimum energy structure.
- Properties
The
electronic_energy
associated with the new structure.
SCINE: Hessian¶
-
class
scine_puffin.jobs.scine_hessian.
ScineHessian
[source]¶ A job generating a Hessian and derived data for a single structure. Derived data means the eigenvalues (frequencies) and eigenvectors (normalmodes) as well as thermochemical data (Gibbs free energy).
- Order Name
scine_hessian
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:All settings recognized by ReaDuct’s Hessian task. For a complete list see the ReaDuct manual
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
hessian
(DenseMatrixProperty
),frequencies
(VectorProperty
),normal_modes
(DenseMatrixProperty
),gibbs_energy_correction
(NumberProperty
) andgibbs_free_energy` (``NumberProperty
) will be provided. Optionally theelectronic_energy
associated with the structure if it is present in the results of provided by the calculator interface.
SCINE: IRC Scan¶
-
class
scine_puffin.jobs.scine_irc_scan.
ScineIrcScan
[source]¶ A job scanning a single intrinsic reaction coordinate.
- Order Name
scine_irc_scan
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:All settings recognized by ReaDuct’s IRC task. For a complete list see the ReaDuct manual
Common examples are:
- stop_on_error :: bool
If
False
, the optimization does not need to fully converge but will be accepted as a success even if it reaches the maximum amounts of optimization cycles. Also the resulting structures will be flagged asminimum_guess
if this option is set ot beFalse
. (Default:True
)- irc_mode :: int
The mode to follow during the IRC scan. By default the first mode (0). (mode with the larges imaginary frequency will be followed).
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
Both the forward and backward optimized structures will be added to the database. They will be flagged as:
minimum_optimized
orminimum_guess
ifstop_on_error
is set toFalse
.- Properties
The
electronic_energy
associated with both forward and backward structures.
SCINE: Artificial Force Induced Reaction Probe¶
-
class
scine_puffin.jobs.scine_react_complex_afir.
ScineReactComplexAfir
[source]¶ A job that tries to enforce a reaction, given a reactive complex and its parts. The reactive complex is expected to be generated as two structures placed next to one another or, for intramolecular reactions, to be equal to the start structure. The job then forces the specified sites of the structure(s) onto one another and analyzes the resulting structure(s) when relaxing. Alternatively, pushing apart the specified sites can be evoked via the AFIR settings.
The list of calculations/steps done is the following:
Set up of a reactive complex based on the given specifications
Enforce collision of structure (AFIR optimization)
Relaxation of the AFIR result (free optimization)
Check if new structures were formed. If not, stop.
Optimization of a minimum energy pathway connecting start and end, generation of a transition state (TS) guess.
Optimization of the TS guess to the actual TS.
Hessian calculation of the TS structure
Validate the TS using a combination of IRC scan and optimization of the resulting structures.
Check if the IRC matches start and endpoint. If not, stop.
Optimize the products separately.
Store the new elementary step in the database.
- Order Name
scine_react_complex_afir
- Required Input
The reactive complex, and the structures it was made from in the list of structures handed to the task. If only one structure is provided, an intramolecular reaction is set up. Furthermore, the reactive sites in the complex that shall be pressed onto one another need to be given using:
- afir_afir_rhs_list :: int
This specifies list of indices of atoms to be artificially forced onto or away from those in the LHS list.
- afir_afir_lhs_list :: int
This specifies list of indices of atoms to be artificially forced onto or away from those in the RHS list.
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. All possible settings for this job are based on those available in SCINE Readuct. For a complete list see the ReaDuct manualGiven that this job does more than one, in fact many separate calculations it is possible to target each individually with the settings. In order to achieve this each regular setting, such as
convergence_max_iterations
has to be prepended with a tag, identifying which part of the job it is meant to impact. If the setting is meant to be added to the IRC scan at the end of this jobirc_convergence_max_iterations
should be used. Note that this may include a doubling of this style of flags, as Readuct uses a similar way of sorting options. Hence, choosing a none defaultirc_mode
in this task has to be done usingirc_irc_mode
.The complete list prefixes for specific settings for the steps listed at the start of this section is:
AFIR optimization:
afir_*
Relaxation of the AFIR result (free optimization):
opt_*
Optimization of a minimum energy pathway:
bspline_*
TS optimization:
tsopt_*
Validation using an IRC scan:
irc_*
Optimization of the structures obtained with the IRC scan :
ircopt_*
Optimization of new products:
opt_*
The following options are available for the reactive complex generation:
- rc_x_alignment_0 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the first structure (index 0) that aligns the reaction coordinate along the x-axis (pointing towards +x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
afir_lhs_list
) is shifted into the origin.- rc_x_alignment_1 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the second structure (index 1) that aligns the reaction coordinate along the x-axis (pointing towards -x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
afir_rhs_list
) is shifted into the origin.- rc_x_rotation :: float
In case of two structures building the reactive complex, this option describes a rotation angle around the x-axis of one of the two structures after
rc_x_alignment_0
andrc_x_alignment_1
have been applied.- rc_x_spread :: float
In case of two structures building the reactive complex, this option gives the distance by which the two structures are moved apart along the x-axis after
rc_x_alignment_0
,rc_x_alignment_1
, andrc_x_rotation
have been applied.- rc_displacement :: float
In case of two structures building the reactive complex, this option adds a random displacement to all atoms (random direction, random length). The maximum length of this displacement (per atom) is set to be the value of this option.
- rc_spin_multiplicity :: int
This option sets the
spin_multiplicity
of the reactive complex. In case this is not given thespin_multiplicity
of the initial structure or minimal possible spin of the two initial structures is used.- rc_molecular_charge :: int
This option sets the
molecular_charge
of the reactive complex. In case this is not given themolecular_charge
of the initial structure or sum of the charges of the initial structures is used. Note: If you set therc_molecular_charge
to a value different from the sum of the start structures charges the possibly resulting elementary steps will never be balanced but include removal or addition of electrons.- rc_minimal_spin_multiplicity :: bool
True: The total spin multiplicity in a bimolecular reaction is based on the assumption of total spin recombination (s + t = s; t + t = s; d + s = d; d + t = d) False: No spin recombination is assumed (s + t = t; t + t = quin; d + s = d; d + t = quar) (default: False)
The following settings are recognized without a prepending flag:
- add_based_on_distance_connectivity :: bool
Whether to add the connectivity (i.e. add bonds) as derived from atomic distances when graphs are generated. (default: True)
- sub_based_on_distance_connectivity :: bool
Whether to subtract the connectivity (i.e. remove bonds) as derived from atomic distances when graphs are generated. (default: True)
- only_distance_connectivity :: bool
Whether to impose the connectivity solely from distances. (default: False)
- imaginary_wavenumber_threshold :: float
Threshold value in inverse centimeters below which a wavenumber is considered as imaginary when the transition state is analyzed. Negative numbers are interpreted as imaginary. (default: 0.0)
- spin_propensity_check :: int
The range to check for possible multiplicities for products. A value of 2 (default) will check triplet and quintet for a singlet and will check singlet, quintet und septet for triplet.
Additionally all settings that are recognized by the SCF program chosen. are also available. These settings are not required to be prepended with any flag.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: molassembler (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful (technically and chemically) the following data will be generated and added to the database:
- Elementary Steps
If found, a single new elementary step with the associated transition state will be added to the database.
- Structures
The transition state (TS) and also the separated products will be added to the database.
- Properties
The
hessian
(DenseMatrixProperty
),frequencies
(VectorProperty
),normal_modes
(DenseMatrixProperty
),gibbs_energy_correction
(NumberProperty
) andgibbs_free_energy
(NumberProperty
) of the TS will be provided. Theelectronic_energy
associated with the TS structure and each of the products will be added to the database.
SCINE: Newton Trajectory Reaction Probe¶
-
class
scine_puffin.jobs.scine_react_complex_nt.
ScineReactComplexNt
[source]¶ A job that tries to force a reaction, given a reactive complex and its parts. The reactive complex is expected to be generated as two structures placed next to one another. The job then forces groups of atoms onto or away from one another and analyzes the resulting structure(s) when relaxing. Only one pair of atom groups is allowed, and only repulsion or attraction of said groups can be screened at a time.
The list of calculations/steps done is the following:
Set up of a reactive complex based on the given specifications
Enforce collision of structure (NT optimization), and extraction of a transition state (TS) guess
Optimization of the TS guess to the actual TS.
Hessian calculation of the TS structure
Validate the TS using a combination of IRC scan and optimization of the resulting structures.
Check if the IRC generated the input on one side and a new set of structures on the other side of the TS.
Optimize the products separately.
Store the new elementary step in the database.
- Order Name
scine_react_complex_nt
- Required Input
The reactive complex (the structures it is made from) has to be defined in the list of structures handed to the task. If only one structure is provided, an intramolecular reaction is set up. Furthermore, the reactive sites in the complex that shall be pressed onto one another need to be given using:
- nt_nt_rhs_list :: int
This specifies list of indices of atoms to be forced onto or away from those in the LHS list.
- nt_nt_lhs_list :: int
This specifies list of indices of atoms to be forced onto or away from those in the RHS list.
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. All possible settings for this job are based on those available in SCINE Readuct. For a complete list see the ReaDuct manualGiven that this job does more than one, in fact many separate calculations it is possible to target each individually with the settings. In order to achieve this each regular setting, such as
convergence_max_iterations
has to be prepended with a tag, identifying which part of the job it is meant to impact. If the setting is meant to be added to the IRC scan at the end of this jobirc_convergence_max_iterations
should be used. Note that this may include a doubling of this style of flags, as Readuct uses a similar way of sorting options. Hence, choosing a none defaultirc_mode
in this task has to be done usingirc_irc_mode
.The complete list prefixes for specific settings for the steps listed at the start of this section is:
Reactive complex generation
rc_*
Newton trajectory scan:
nt_*
TS optimization:
tsopt_*
Validation using an IRC scan:
irc_*
Optimization of the structures obtained with the IRC scan :
ircopt_*
Optimization of new products:
opt_*
The following options are available for the reactive complex generation:
- rc_x_alignment_0 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the first structure (index 0) that aligns the reaction coordinate along the x-axis (pointing towards +x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
nt_lhs_list
) is shifted into the origin.- rc_x_alignment_1 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the second structure (index 1) that aligns the reaction coordinate along the x-axis (pointing towards -x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
nt_rhs_list
) is shifted into the origin.- rc_x_rotation :: float
In case of two structures building the reactive complex, this option describes a rotation angle around the x-axis of one of the two structures after
rc_x_alignment_0
andrc_x_alignment_1
have been applied.- rc_x_spread :: float
In case of two structures building the reactive complex, this option gives the distance by which the two structures are moved apart along the x-axis after
rc_x_alignment_0
,rc_x_alignment_1
, andrc_x_rotation
have been applied.- rc_displacement :: float
In case of two structures building the reactive complex, this option adds a random displacement to all atoms (random direction, random length). The maximum length of this displacement (per atom) is set to be the value of this option.
- rc_spin_multiplicity :: int
This option sets the
spin_multiplicity
of the reactive complex. In case this is not given thespin_multiplicity
of the initial structure or minimal possible spin of the two initial structures is used.- rc_molecular_charge :: int
This option sets the
molecular_charge
of the reactive complex. In case this is not given themolecular_charge
of the initial structure or sum of the charges of the initial structures is used. Note: If you set therc_molecular_charge
to a value different from the sum of the start structures charges the possibly resulting elementary steps will never be balanced but include removal or addition of electrons.- rc_minimal_spin_multiplicity :: bool
True: The total spin multiplicity in a bimolecular reaction is based on the assumption of total spin recombination (s + t = s; t + t = s; d + s = d; d + t = d) False: No spin recombination is assumed (s + t = t; t + t = quin; d + s = d; d + t = quar) (default: False)
The following settings are recognized without a prepending flag:
- add_based_on_distance_connectivity :: bool
Whether to add the connectivity (i.e. add bonds) as derived from atomic distances when graphs are generated. (default: True)
- sub_based_on_distance_connectivity :: bool
Whether to subtract the connectivity (i.e. remove bonds) as derived from atomic distances when graphs are generated. (default: True)
- only_distance_connectivity :: bool
Whether to impose the connectivity solely from distances. (default: False)
- imaginary_wavenumber_threshold :: float
Threshold value in inverse centimeters below which a wavenumber is considered as imaginary when the transition state is analyzed. Negative numbers are interpreted as imaginary. (default: 0.0)
- spin_propensity_check :: int
The range to check for possible multiplicities for products. A value of 2 (default) will check triplet and quintet for a singlet and will check singlet, quintet und septet for triplet.
Additionally all settings that are recognized by the SCF program chosen. are also available. These settings are not required to be prepended with any flag.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: molassembler (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful (technically and chemically) the following data will be generated and added to the database:
- Elementary Steps
If found, a single new elementary step with the associated transition state will be added to the database.
- Structures
The transition state (TS) and also the separated products will be added to the database.
- Properties
The
hessian
(DenseMatrixProperty
),frequencies
(VectorProperty
),normal_modes
(DenseMatrixProperty
),gibbs_energy_correction
(NumberProperty
) andgibbs_free_energy
(NumberProperty
) of the TS will be provided. Theelectronic_energy
associated with the TS structure and each of the products will be added to the database.
SCINE: Newton Trajectory 2 Reaction Probe¶
-
class
scine_puffin.jobs.scine_react_complex_nt2.
ScineReactComplexNt2
[source]¶ A job that tries to force a reaction, given a reactive complex and its parts. The reactive complex is expected to be generated as two structures placed next to one another. The job then forces pairs of atoms onto or away from one another and analyzes the resulting structure(s) when relaxing. Multiple pairs and mixed choices for their movements are allowed in this version of the Newton Trajectory job.
The list of calculations/steps done is the following:
Set up of a reactive complex based on the given specifications
Enforce collision of structure (NT2 optimization), and extraction of a transition state (TS) guess
Optimization of the TS guess to the actual TS.
Hessian calculation of the TS structure
Validate the TS using a combination of IRC scan and optimization of the resulting structures.
Check if the IRC generated the input on one side and a new set of structures on the other side of the TS.
Optimize the products separately.
Store the new elementary step in the database.
- Order Name
scine_react_complex_nt2
- Required Input
The reactive complex (the structures it is made from) has to be defined in the list of structures handed to the task. If only one structure is provided, an intramolecular reaction is set up. Furthermore, the reactive sites in the complex that shall be pressed onto one another need to be given using:
- nt_nt_associations :: int
This specifies list of indices of atoms pairs to be forced onto another. Pairs are given in a flat list such that indices
2i
and2i+1
form a pair.- nt_nt_dissociations :: int
This specifies list of indices of atoms pairs to be forced away from another. Pairs are given in a flat list such that indices
2i
and2i+1
form a pair.
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. All possible settings for this job are based on those available in SCINE Readuct. For a complete list see the ReaDuct manualGiven that this job does more than one, in fact many separate calculations it is possible to target each individually with the settings. In order to achieve this each regular setting, such as
convergence_max_iterations
has to be prepended with a tag, identifying which part of the job it is meant to impact. If the setting is meant to be added to the IRC scan at the end of this jobirc_convergence_max_iterations
should be used. Note that this may include a doubling of this style of flags, as Readuct uses a similar way of sorting options. Hence, choosing a none defaultirc_mode
in this task has to be done usingirc_irc_mode
.The complete list prefixes for specific settings for the steps listed at the start of this section is:
Reactive complex generation
rc_*
Newton trajectory scan:
nt_*
TS optimization:
tsopt_*
Validation using an IRC scan:
irc_*
Optimization of the structures obtained with the IRC scan :
ircopt_*
Optimization of new products:
opt_*
The following options are available for the reactive complex generation:
- rc_x_alignment_0 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the first structure (index 0) that aligns the reaction coordinate along the x-axis (pointing towards +x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
nt_lhs_list
) is shifted into the origin.- rc_x_alignment_1 :: List[float], length=9
In case of two structures building the reactive complex, this option describes a rotation of the second structure (index 1) that aligns the reaction coordinate along the x-axis (pointing towards -x). The rotation assumes that the geometric mean position of all atoms in the reactive site (
nt_rhs_list
) is shifted into the origin.- rc_x_rotation :: float
In case of two structures building the reactive complex, this option describes a rotation angle around the x-axis of one of the two structures after
rc_x_alignment_0
andrc_x_alignment_1
have been applied.- rc_x_spread :: float
In case of two structures building the reactive complex, this option gives the distance by which the two structures are moved apart along the x-axis after
rc_x_alignment_0
,rc_x_alignment_1
, andrc_x_rotation
have been applied.- rc_displacement :: float
In case of two structures building the reactive complex, this option adds a random displacement to all atoms (random direction, random length). The maximum length of this displacement (per atom) is set to be the value of this option.
- rc_spin_multiplicity :: int
This option sets the
spin_multiplicity
of the reactive complex. In case this is not given thespin_multiplicity
of the initial structure or minimal possible spin of the two initial structures is used.- rc_molecular_charge :: int
This option sets the
molecular_charge
of the reactive complex. In case this is not given themolecular_charge
of the initial structure or sum of the charges of the initial structures is used. Note: If you set therc_molecular_charge
to a value different from the sum of the start structures charges the possibly resulting elementary steps will never be balanced but include removal or addition of electrons.- rc_minimal_spin_multiplicity :: bool
True: The total spin multiplicity in a bimolecular reaction is based on the assumption of total spin recombination (s + t = s; t + t = s; d + s = d; d + t = d) False: No spin recombination is assumed (s + t = t; t + t = quin; d + s = d; d + t = quar) (default: False)
The following settings are recognized without a prepending flag:
- add_based_on_distance_connectivity :: bool
Whether to add the connectivity (i.e. add bonds) as derived from atomic distances when graphs are generated. (default: True)
- sub_based_on_distance_connectivity :: bool
Whether to subtract the connectivity (i.e. remove bonds) as derived from atomic distances when graphs are generated. (default: True)
- only_distance_connectivity :: bool
Whether to impose the connectivity solely from distances. (default: False)
- imaginary_wavenumber_threshold :: float
Threshold value in inverse centimeters below which a wavenumber is considered as imaginary when the transition state is analyzed. Negative numbers are interpreted as imaginary. (default: 0.0)
- spin_propensity_check :: int
The range to check for possible multiplicities for products. A value of 2 (default) will check triplet and quintet for a singlet and will check singlet, quintet und septet for triplet.
Additionally all settings that are recognized by the SCF program chosen. are also available. These settings are not required to be prepended with any flag.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: molassembler (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful (technically and chemically) the following data will be generated and added to the database:
- Elementary Steps
If found, a single new elementary step with the associated transition state will be added to the database.
- Structures
The transition state (TS) and also the separated products will be added to the database.
- Properties
The
hessian
(DenseMatrixProperty
),frequencies
(VectorProperty
),normal_modes
(DenseMatrixProperty
),gibbs_energy_correction
(NumberProperty
) andgibbs_free_energy
(NumberProperty
) of the TS will be provided. Theelectronic_energy
associated with the TS structure and each of the products will be added to the database.
SCINE: Single Point¶
-
class
scine_puffin.jobs.scine_single_point.
ScineSinglePoint
[source]¶ A job calculating the electronic energy for a given structure with a given model.
- Order Name
scine_single_point
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- All settings that are recognized by the program chosen.
Furthermore, all settings that are commonly understood by any program interface via the SCINE Calculator interface.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, i.e. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
electronic_energy
associated with the given structure. Theatomic_charges
associated with the given structure (if available).
SCINE: Transition State Optimization¶
-
class
scine_puffin.jobs.scine_ts_optimization.
ScineTsOptimization
[source]¶ A job searching the nearest saddlepoint on the potential energy surface. Optimizing a given structure’s geometry, generating a new transition state structure, if successful.
- Order Name
scine_ts_optimization
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:All settings recognized by ReaDuct’s transition state search
Common examples are:
- optimizer :: str
The name of the optimizer to be used, e.g. ‘bofill’ or ‘evf’ or ‘dimer’.
- convergence_max_iterations :: int
The maximum number of geometry optimization cycles.
- convergence_delta_value :: float
The convergence criterion for the electronic energy difference between two steps.
- convergence_gradient_max_coefficient :: float
The convergence criterion for the maximum absolute gradient. contribution.
- convergence_step_rms :: float
The convergence criterion for root mean square of the geometric gradient.
- convergence_step_max_coefficient :: float
The convergence criterion for the maximum absolute coefficient in the last step taken in the geometry optimization.
- convergence_gradient_rms :: float
The convergence criterion for root mean square of the last step taken in the geometry optimization.
For a complete list see the ReaDuct manual
All settings that are recognized by the SCF program chosen.
Common examples are:
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- Required Packages
SCINE: Database (present by default)
SCINE: Readuct (present by default)
SCINE: Utils (present by default)
A program implementing the SCINE Calculator interface, e.g. Sparrow
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A new transition state structure.
- Properties
The
electronic_energy
associated with the new structure.
Specialized Jobs¶
Gaussian: Partial Charges - Charge Model 5¶
-
class
scine_puffin.jobs.gaussian_charge_model_5.
GaussianChargeModel5
[source]¶ A job calculating CM5 (Charge Model 5) atomic partial charges based on the Hirshfeld population analysis for a given structure with the Gaussian program.
- Order Name
gaussian_charge_model_5
- Optional Settings
There are no optional settings.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Gaussian program has to be available.
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
cm5_charges
calculated for the given structure.
Orca: Geometry Optimization¶
-
class
scine_puffin.jobs.orca_geometry_optimization.
OrcaGeometryOptimization
[source]¶ A job optimizing the geometry of a given structure with the Orca program, in search of a local minimum on the potential energy surface. Optimizing a given structure’s geometry, generating a new minimum energy structure, if successful.
- Order Name
orca_geometry_optimization
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- convergence_max_iterations :: int
The maximum number of geometry optimization cycles.
- cartesian_constraints :: List[int]
A list of atom indices of the atoms which positions will be constrained during the optimization.
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence.
- self_consistence_criterion :: float
The self consistence criterion corresponding to the maximum energy change between two SCF cycles resulting in convergence.
- scf_damping :: bool
Switches damping on or off during the SCF by employing the Orca keyword SlowConv. The default is False.
- calculate_hirshfeld_charges :: bool
Calculates atomic partial charges based on the Hirshfeld population analysis for the optimized structure and stores these into the database. The default is False.
- transform_coordinates :: bool
Switch to transform the input coordinates from Cartesian to redundant internal coordinates. Setting this value to False and hence performing the calculation in Cartesian coordinates is helpful in rare occasions where the calculation with redundant internal coordinates fails. The optimization will take more time but is more likely to end successfully. The default is True.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Orca program has to be available
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A new minimum energy structure.
- Properties
The
electronic_energy
associated with the new structure.
Turbomole: Geometry Optimization¶
-
class
scine_puffin.jobs.turbomole_geometry_optimization.
TurbomoleGeometryOptimization
[source]¶ A job optimizing the geometry of a given structure with the Turbomole program, in search of a local minimum on the potential energy surface. Optimizing a given structure’s geometry, generating a new minimum energy structure, if successful.
- Order Name
turbomole_geometry_optimization
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- cartesian_constraints :: List[int]
A list of atom indices of the atoms which positions will be constrained during the optimization.
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence. Default value is 30.
- transform_coordinates :: bool
Switch to transform the input coordinates from redundant internal to cartesian coordinates. Setting this value to True and hence performing the calculation in Cartesian coordinates is helpful in rare occasions where the calculation with redundant internal coordinates fails. The optimization will take more time but is more likely to end successfully. The default is False.
- convergence_max_iterations :: int
The maximum number of geometry optimization cycles.
- scf_damping :: bool
Increases damping during the SCF by modifying the $scfdamp parameter in the control file. The default is False.
- scf_orbitalshift :: float
Shifts virtual orbital energies upwards. Default value is 0.1.
- convergence_delta_value :: int
The convergence criterion for the electronic energy difference between two steps. The default value is 1E-6.
- calculate_loewdin_charges :: bool
Calculates the Loewdin partial charges. The default is False.
- self_consistence_criterion :: float
The self consistence criterion corresponding to the maximum energy change between two SCF cycles resulting in convergence. Default value ist 1E-6.
- spin_mode :: string
Sets the spin mode. If no spin mode is set, Turbomole’s default for the corresponding system is chosen. Options are: restricted, unrestricted.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Turbomole program has to be available
- Generated Data
If successful the following data will be generated and added to the database:
- Structures
A new minimum energy structure.
- Properties
The
electronic_energy
associated with the new structure andatomic_charges
for all atoms, if requested.
Turbomole: Single Point¶
-
class
scine_puffin.jobs.turbomole_single_point.
TurbomoleSinglePoint
[source]¶ A job calculating the electronic energy for a given structure with the Turbomole program.
- Order Name
turbomole_single_point
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- self_consistence_criterion :: float
The self consistence criterion corresponding to the maximum energy change between two SCF cycles resulting in convergence. Default value ist 1E-6.
- cartesian_constraints :: List[int]
A list of atom indices of the atoms which positions will be constrained during the optimization.
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence. Default value is 30.
- transform_coordinates :: bool
Switch to transform the input coordinates from redundant internal to cartesian coordinates. Setting this value to True and hence performing the calculation in Cartesian coordinates is helpful in rare occasions where the calculation with redundant internal coordinates fails. The optimization will take more time but is more likely to end successfully. The default is True.
- scf_damping :: bool
Increases damping during the SCF by modifying the $scfdamp parameter in the control file. The default is False.
- scf_orbitalshift :: float
Shifts virtual orbital energies upwards. Default value is 0.1.
- calculate_loewdin_charges :: bool
Calculates the Loewdin partial charges. The default is False.
- spin_mode :: string
Sets the spin mode. If no spin mode is set, Turbomole’s default for the corresponding system is chosen. Options are: restricted, unrestricted.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Turbomole program has to be available
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
electronic_energy
associated with the structure.atomic_charges
for all atoms, if requested.
Turbomole: Hessian¶
-
class
scine_puffin.jobs.turbomole_hessian.
TurbomoleHessian
[source]¶ A job generating a Hessian and derived data for a single structure.
- Order Name
turbomole_hessian
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- self_consistence_criterion :: float
The self consistence criterion corresponding to the maximum energy change between two SCF cycles resulting in convergence. Default value ist 1E-6.
- cartesian_constraints :: List[int]
A list of atom indices of the atoms which positions will be constrained during the optimization.
- max_scf_iterations :: int
The number of allowed SCF cycles until convergence. Default value is 30.
- transform_coordinates :: bool
Switch to transform the input coordinates from redundant internal to cartesian coordinates. Setting this value to True and hence performing the calculation in Cartesian coordinates is helpful in rare occasions where the calculation with redundant internal coordinates fails. The optimization will take more time but is more likely to end successfully. The default is True.
- scf_damping :: bool
Increases damping during the SCF by modifying the $scfdamp parameter in the control file. The default is False.
- scf_orbitalshift :: float
Shifts virtual orbital energies upwards. Default value is 0.1.
- calculate_loewdin_charges :: bool
Calculates the Loewdin partial charges. The default is False.
- spin_mode :: str
Sets the spin mode. If no spin mode is set, Turbomole’s default for the corresponding system is chosen. Options are: restricted, unrestricted.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Turbomole program has to be available
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
hessian
and theelectronic_energy
associated with the structure.atomic_charges
for all atoms, if requested
Turbomole: Bond Orders¶
-
class
scine_puffin.jobs.turbomole_bond_orders.
TurbomoleBondOrders
[source]¶ A job generating Wiberg bond orders and derived data for a single structure.
- Order Name
turbomole_bond_orders
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:All settings that are recognized by the turbomole_single_point job.
- Required Packages
SCINE: Database (present by default)
SCINE: Utils (present by default)
The Turbomole program has to be available
- Generated Data
If successful the following data will be generated and added to the database:
- Properties
The
bond_orders
and theelectronic_energy
associated with the structure.
Debugging: Sleep¶
-
class
scine_puffin.jobs.sleep.
Sleep
[source]¶ A dummy job used for debug purposes. The job sleeps for a given amount of time.
- Order Name
sleep
- Optional Settings
Optional settings are read from the
settings
field, which is part of anyCalculation
stored in a SCINE Database. Possible settings for this job are:- time :: int
The time to sleep for in seconds. Default: 300.
- Required Packages
SCINE: Database (present by default)
- Generated Data
This dummy job does not generate new data.