Skip to content

Nodal Distances

Matt Johnson edited this page Mar 30, 2017 · 5 revisions

Note: This is an explanation for the nodal distances update that has not been pulled yet as of now.

Nodal Distances

What are nodal distances?

"nodalDistance" is a property of a group object in a kinetics tree that defines the distance between that group and its parent node (see the kinetics estimation page). This affects family averaging and kinetics estimation in general by changing how close different nodes are.

This was developed to solve this type of problem we ran into when simplifying certain trees: (R3_D was eliminated during this process) Ex: Before restructuring: [R3_D;doublebond_intra_pri_2H;radadd_intra_cddouble] finds rate data at [R3_D;doublebond_intra_pri;radadd_intra] After restructuring: [R3;doublebond_intra_pri_2H;radadd_intra_cddouble] finds rate data at [Rn;doublebond_intra_pri_2H;radadd_intra_cddouble]

This results in a rate 8 orders of magnitude higher than the original at 1000 K

The problem is that the movement between Rn and R3 is a much bigger deal than the alternative two movements from doublebond_intra_pri_2H to doublebond_intra_pri and from radadd_intra_cddouble to radadd_intra. So it makes sense to assign a greater nodalDistance value to R3 because it is farther away from Rn.

While we were able to catch this and other cases in regression tests, in general, we do not currently have any extensive and robust ways to determine what the nodalDistance attribute should be for a given node. So by default nodalDistance is set to one for most nodes. However, improving these attributes has the potential to greatly improve the accuracy of tree-based rate estimation.

If you are trying to improve rate estimations for particular families this provides an additional tool that unlike adding training reactions does not require additional data other than your knowledge of the chemistry you are dealing with. While we haven't designed a full review process for this yet, we would be very interested in incorporating changes to these values that users have found to improve rate estimation, so please contact us if you have changes you would like to see incorporated into RMG.

Assigning Nodal Distance values

nodalDistance attribute assignment follows a hierarchy:

  1. Direct assignment of the attribute in the group definition within the family group.py file.
    ex: Entry( ....... nodalDistance=5, )

  2. Assignment of a treeDistances variable within the family group.py file that assigns default nodalDistance values to each tree within the family.
    ex: treeDistances = [1,2,5]

  3. by default the value is one