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. Currently, the structure must be a structure representing a single compound and not a non-covalently bonded complex. 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 any Calculation 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 the bond_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 processes bond_orders that were generated with the specified model. If False, eventually falls back to any bond_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 any Calculation 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 any Calculation 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 the electronic_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 graph masm_cbor_graph, and the decision representations of the existing stereopermutators using a nearest neighbour fit masm_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 any Calculation 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 any Calculation 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) and gibbs_free_energy` (``NumberProperty) will be provided. Optionally the electronic_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 any Calculation 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 as minimum_guess if this option is set ot be False. (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 or minimum_guess if stop_on_error is set to False.

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:

  1. Set up of a reactive complex based on the given specifications

  2. Enforce collision of structure (AFIR optimization)

  3. Relaxation of the AFIR result (free optimization)

  4. Check if new structures were formed. If not, stop.

  5. Optimization of a minimum energy pathway connecting start and end, generation of a transition state (TS) guess.

  6. Optimization of the TS guess to the actual TS.

  7. Hessian calculation of the TS structure

  8. Validate the TS using a combination of IRC scan and optimization of the resulting structures.

  9. Check if the IRC matches start and endpoint. If not, stop.

  10. Optimize the products separately.

  11. 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 any Calculation 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 manual

Given 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 job irc_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 default irc_mode in this task has to be done using irc_irc_mode.

The complete list prefixes for specific settings for the steps listed at the start of this section is:

  1. AFIR optimization: afir_*

  2. Relaxation of the AFIR result (free optimization): opt_*

  3. Optimization of a minimum energy pathway: bspline_*

  4. TS optimization: tsopt_*

  5. Validation using an IRC scan: irc_*

  6. Optimization of the structures obtained with the IRC scan : ircopt_*

  7. Optimization of new products: opt_*

  8. (Optional) optimization of the reactive complex: rcopt_*

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 and rc_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, and rc_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 the spin_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 the molecular_charge of the initial structure or sum of the charges of the initial structures is used. Note: If you set the rc_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) and gibbs_free_energy (NumberProperty) of the TS will be provided. The electronic_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:

  1. Set up of a reactive complex based on the given specifications

  2. Enforce collision of structure (NT optimization), and extraction of a transition state (TS) guess

  3. Optimization of the TS guess to the actual TS.

  4. Hessian calculation of the TS structure

  5. Validate the TS using a combination of IRC scan and optimization of the resulting structures.

  6. Check if the IRC generated the input on one side and a new set of structures on the other side of the TS.

  7. Optimize the products separately.

  8. 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 any Calculation 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 manual

Given 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 job irc_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 default irc_mode in this task has to be done using irc_irc_mode.

The complete list prefixes for specific settings for the steps listed at the start of this section is:

  1. Reactive complex generation rc_*

  2. Newton trajectory scan: nt_*

  3. TS optimization: tsopt_*

  4. Validation using an IRC scan: irc_*

  5. Optimization of the structures obtained with the IRC scan : ircopt_*

  6. Optimization of new products: opt_*

  7. (Optional) optimization of the reactive complex: rcopt_*

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 and rc_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, and rc_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 the spin_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 the molecular_charge of the initial structure or sum of the charges of the initial structures is used. Note: If you set the rc_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) and gibbs_free_energy (NumberProperty) of the TS will be provided. The electronic_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:

  1. Set up of a reactive complex based on the given specifications

  2. Enforce collision of structure (NT2 optimization), and extraction of a transition state (TS) guess

  3. Optimization of the TS guess to the actual TS.

  4. Hessian calculation of the TS structure

  5. Validate the TS using a combination of IRC scan and optimization of the resulting structures.

  6. Check if the IRC generated the input on one side and a new set of structures on the other side of the TS.

  7. Optimize the products separately.

  8. 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 and 2i+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 and 2i+1 form a pair.

Optional Settings

Optional settings are read from the settings field, which is part of any Calculation 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 manual

Given 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 job irc_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 default irc_mode in this task has to be done using irc_irc_mode.

The complete list prefixes for specific settings for the steps listed at the start of this section is:

  1. Reactive complex generation rc_*

  2. Newton trajectory scan: nt_*

  3. TS optimization: tsopt_*

  4. Validation using an IRC scan: irc_*

  5. Optimization of the structures obtained with the IRC scan : ircopt_*

  6. Optimization of new products: opt_*

  7. (Optional) optimization of the reactive complex: rcopt_*

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 and rc_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, and rc_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 the spin_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 the molecular_charge of the initial structure or sum of the charges of the initial structures is used. Note: If you set the rc_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) and gibbs_free_energy (NumberProperty) of the TS will be provided. The electronic_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 any Calculation 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. The atomic_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 any Calculation 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 any Calculation 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 any Calculation 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 and atomic_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 any Calculation 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 any Calculation 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 the electronic_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 any Calculation 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 the electronic_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 any Calculation 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.