Sensitivity Analysis

This module contains classes for sensitivity analysis of kinetics and pressure-dependent jobs.

class arkane.sensitivity.KineticsSensitivity(job, output_directory)

The KineticsSensitivity class represents an instance of a sensitivity analysis job performed for a KineticsJob. The attributes are:

Attribute

Description

conditions

A list of the conditions at which the sensitivity coefficients are calculated

job

The KineticsJob object

f_rates

A list of forward rates from job at the respective conditions in the appropriate units

r_rates

A list of reverse rates from job at the respective conditions in the appropriate units

f_sa_rates

A dictionary with Species as keys and each value is a list of forward rates from job at the respective conditions in the appropriate units after perturbing the corresponding Species’ E0

r_sa_rates

Same as f_sa_rates, only for the reverse direction

f_sa_coefficients

A dictionary with Species keys and sensitivity coefficients in the forward direction as values

r_sa_coefficients

A dictionary with Species keys and sensitivity coefficients in the reverse direction as values

execute()

Execute the sensitivity analysis for a :class:KineticsJob: object

perturb(species)

Perturb a species’ E0

plot()

Plot the SA results as horizontal bars

save()

Save the SA results as tabulated data as well as in YAML format

unperturb(species)

Return the species’ E0 to its original value

class arkane.sensitivity.PDepSensitivity(job, output_directory, perturbation, max_iters=5)

The Sensitivity class represents an instance of a sensitivity analysis job performed for a PressureDependenceJob. The attributes are:

Attribute

Description

conditions

A list of the conditions (each entry is a list of one T and one P quantities) at which the sensitivity coefficients are calculated

job

The PressureDependenceJob object

rates

A dictionary with net_reactions as keys. Values are lists of forward rates from job for the respective path reaction at the respective conditions in the appropriate units

sa_rates

A dictionary with string representations of net_reactions as keys. Values are dictionaries with Wells or TransitionStates as keys and each value is a list of forward rates from job at the respective conditions after perturbing the corresponding well or TS’s E0

sa_coefficients

A dictionary with similar structure as sa_rates, containing the sensitivity coefficients in the forward direction

execute()

Execute the sensitivity analysis for a :class:PressureDependenceJob: object

perturb(entry, unperturb=False)

Perturb E0 of entry which could be either a :class:TransitionState or a :class:Configuration In the latter case, only the first species in the Configuration.species list is perturbed. The perturbation is done by addition of the energy amount in self.perturbation. If unperturb is False, the perturbation is addition of the energy amount in self.perturbation. If unperturb is False, this is done by subtracting.

plot(wells, transition_states)

Draw the SA results as horizontal bars

save(wells, transition_states)

Save the SA output as tabulated data as well as in YAML format

unperturb(entry)

A helper function for calling self.perturb cleanly when unperturbing