pmutt.reaction.bep.BEP

class pmutt.reaction.bep.BEP(slope, intercept, name=None, reaction=None, descriptor='delta_H', elements=None, notes=None)

Bases: _ModelBase

Represents a Bronsted Evans Polyani relationship. Intended to represent a species. Inherits from _ModelBase.

\(E_a = \alpha H + \beta\)

slope

Slope of BEP relationship.

Type:

float

intercept

Intercept of BEP relationship in kcal/mol.

Type:

float

name

Name of the BEP. Default is None

Type:

str, optional

descriptor

Descriptor to calculate the activation energy. Supported options:

Descriptor

Description

delta_H

H_products - H_reactants (change in enthalpy)

rev_delta_H

H_reactants - H_products (change in enthalpy in reverse direction)

reactants_H

H_reactants (enthalpy of reactants)

products_H

H_products (enthalpy of products)

delta_E

E_products - E_reactants (change in electronic energy)

rev_delta_E

E_reactants - E_products (change in electronic energy in reverse direction)

reactants_E

E_reactants (electronic energy of reactants)

products_E

E_products (electronic energy of products)

Default is ‘delta_H’.

Type:

str, optional

elements

Composition of the species. Keys of dictionary are elements, values are stoichiometric values in a formula unit. e.g. CH3OH can be represented as: {‘C’: 1, ‘H’: 4, ‘O’: 1,}.

Type:

dict

notes

Notes relevant to BEP relationship such as its source. If using a dictionary, the keys and values must be simple types supported by JSON

Type:

str or dict

__init__(slope, intercept, name=None, reaction=None, descriptor='delta_H', elements=None, notes=None)

Methods

__init__(slope, intercept[, name, reaction, ...])

from_dict(json_obj)

Recreate an object from the JSON representation.

get_Cp(units, **kwargs)

Calculate the heat capacity (constant P)

get_CpoR()

Default method to calculate the dimensionless heat capacity at constant pressure.

get_Cv(units, **kwargs)

Calculate the heat capacity (constant V)

get_CvoR()

Default method to calculate the dimensionless heat capacity at constant volume.

get_E_act(units, reaction[, rev])

Calculate Arrhenius activation energy using BEP relationship

get_EoRT_act(reaction[, rev, T])

Calculates dimensionless Arrhenius activation energy using BEP relationship

get_F(units[, T])

Calculate the Helmholtz energy

get_FoRT(**kwargs)

Calculates the dimensionless Helmholtz energy

get_G(units[, T])

Calculate the Gibbs energy

get_GoRT(reaction[, T, entropy_state])

Calculates the dimensionless Gibbs energy using BEP relationship and reactants Gibbs energy.

get_H(units[, T])

Calculate the enthalpy

get_HoRT(reaction[, T])

Calculates the dimensionless enthalpy using BEP relationship and reactants or products enthalpy

get_S(units, **kwargs)

Calculate the entropy

get_SoR([reaction, T, entropy_state])

Calculates the dimensionless entropy using reactants or products entropy.

get_U(units[, T])

Calculate the internal energy

get_UoRT(reaction[, T])

Calculates the dimensionless internal energy using BEP relationship and initial state internal energy

get_q()

Default method to calculate the partition coefficient.

to_dict()

Represents object as dictionary with JSON-accepted datatypes

classmethod from_dict(json_obj)

Recreate an object from the JSON representation.

Parameters:

json_obj (dict) – JSON representation

Returns:

Obj

Return type:

Appropriate object

get_Cp(units, **kwargs)

Calculate the heat capacity (constant P)

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_CpoR

Returns:

Cp – Heat capacity (constant P) in appropriate units

Return type:

float

get_CpoR()

Default method to calculate the dimensionless heat capacity at constant pressure.

Returns:

CpoR – Returns 0

Return type:

float

get_Cv(units, **kwargs)

Calculate the heat capacity (constant V)

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_CvoR

Returns:

Cv – Heat capacity (constant V) in appropriate units

Return type:

float

get_CvoR()

Default method to calculate the dimensionless heat capacity at constant volume.

Returns:

CvoR – Returns 0

Return type:

float

get_E_act(units, reaction, rev=False, **kwargs)

Calculate Arrhenius activation energy using BEP relationship

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • reaction (Reaction object) – Reaction related to BEP.

  • rev (bool, optional) – Reverse direction. If True, uses products as initial state instead of reactants. Default is False

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

E_act – Dimensionless activation energy

Return type:

float

get_EoRT_act(reaction, rev=False, T=298.15, **kwargs)

Calculates dimensionless Arrhenius activation energy using BEP relationship

Parameters:
  • reaction (Reaction object) – Reaction related to BEP.

  • rev (bool, optional) – Reverse direction. If True, uses products as initial state instead of reactants. Default is False

  • T (float, optional) – Temperature in K. Default is 298.15

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

EoRT_act – Dimensionless activation energy

Return type:

float

get_F(units, T=298.15, **kwargs)

Calculate the Helmholtz energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_FoRT

Returns:

F – Hemholtz energy in appropriate units

Return type:

float

get_FoRT(**kwargs)

Calculates the dimensionless Helmholtz energy

Parameters:

kwargs (keyword arguments) – Parameters needed by get_UoRT and get_SoR

Returns:

FoRT – Dimensionless Helmholtz energy

Return type:

float

get_G(units, T=298.15, **kwargs)

Calculate the Gibbs energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_GoRT

Returns:

G – Gibbs energy in appropriate units

Return type:

float

get_GoRT(reaction, T=298.15, entropy_state='reactants', **kwargs)

Calculates the dimensionless Gibbs energy using BEP relationship and reactants Gibbs energy. The BEP relationship has no entropic contribution

Parameters:
  • reaction (Reaction object) – Reaction related to BEP.

  • T (float, optional) – Temperature in K. Default is 298.15

  • entropy_state (str or None, optional) –

    State to use to estimate entropy. Supported arguments:

    • ’reactants’ (default)

    • ’products’

    • None (Entropy contribution is 0. Useful if misc_models have been specified for entropy)

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

GoRT – Dimensionless Gibbs energy

Return type:

float

get_H(units, T=298.15, **kwargs)

Calculate the enthalpy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_HoRT

Returns:

H – Enthalpy in appropriate units

Return type:

float

get_HoRT(reaction, T=298.15, **kwargs)

Calculates the dimensionless enthalpy using BEP relationship and reactants or products enthalpy

Parameters:
  • reaction (Reaction object) – Reaction related to BEP.

  • T (float, optional) – Temperature in K. Default is 298.15

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

HoRT – Dimensionless enthalpy

Return type:

float

get_S(units, **kwargs)

Calculate the entropy

Parameters:
  • units (str) – Units as string. See R() for accepted units.

  • kwargs (keyword arguments) – Parameters needed by get_SoR

Returns:

S – Entropy in appropriate units

Return type:

float

get_SoR(reaction=None, T=298.15, entropy_state='reactants', **kwargs)

Calculates the dimensionless entropy using reactants or products entropy. The BEP relationship has no entropic contribution

Parameters:
  • reaction (Reaction object, optional) – Reaction related to BEP. If entropy_state is None, reaction is not required.

  • T (float, optional) – Temperature in K. Default is 298.15

  • entropy_state (str or None, optional) –

    State to use to estimate entropy. Supported arguments:

    • ’reactants’ (default)

    • ’products’

    • None (Entropy contribution is 0. Useful if misc_models have been specified for entropy)

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

SoR – Dimensionless entropy

Return type:

float

get_U(units, T=298.15, **kwargs)

Calculate the internal energy

Parameters:
  • units (str) – Units as string. See R() for accepted units but omit the ‘/K’ (e.g. J/mol).

  • T (float, optional) – Temperature in K. Default is 298.15 K

  • kwargs (keyword arguments) – Parameters needed by get_UoRT

Returns:

U – Internal energy in appropriate units

Return type:

float

get_UoRT(reaction, T=298.15, **kwargs)

Calculates the dimensionless internal energy using BEP relationship and initial state internal energy

Parameters:
  • reaction (Reaction object) – Reaction related to BEP.

  • T (float, optional) – Temperature in K. Default is 298.15

  • kwargs (keyword arguments) – Parameters required to calculate the descriptor

Returns:

UoRT – Dimensionless internal energy

Return type:

float

get_q()

Default method to calculate the partition coefficient.

Returns:

q – Returns 1

Return type:

float

to_dict()

Represents object as dictionary with JSON-accepted datatypes

Returns:

obj_dict

Return type:

dict