CAMP 1.0.0
Chemistry Across Multiple Phases
CAMP: Photolysis

Photolysis reactions take the form:

\[\ce{ X + h $\nu$ -> Y_1 ( + Y_2 \dots ) }\]

where \(\ce{X}\) is the species being photolyzed, and \(\ce{Y_n}\) are the photolysis products.

Photolysis rate constants (including the \(\ce{h $\nu$}\) term) can be constant or set from an external photolysis module using the camp_rxn_photolysis::rxn_update_data_photolysis_t object. External modules can use the camp_rxn_photolysis::rxn_photolysis_t::get_property_set() function during initilialization to access any needed reaction parameters to identify certain photolysis reactions. An camp_rxn_photolysis::update_data_photolysis_t object should be initialized for each photolysis reaction. These objects can then be used during solving to update the photolysis rate from an external module.

Input data for photolysis reactions have the following format :

{
"type" : "PHOTOLYSIS",
"reactants" : {
"spec1" : {}
},
"products" : {
"spec2" : {},
"spec3" : { "yield" : 0.65 },
...
},
"scaling factor" : 1.2,
...
}

The key-value pairs reactants, and products are required. There must be exactly one key-value pair in the reactants object whose name is the species being photolyzed and whose value is an empty json object. Any number of products may be present. Products without a specified yield are assumed to have a yield of 1.0. The scaling factor is optional, and can be used to set a constant scaling factor for the rate constant. When the scaling factor is not provided, it is assumed to be 1.0. All other data is optional and will be available to external photolysis modules during initialization. Rate constants are in units of \(s^{-1}\), and must be set using a rxn_photolysis_update_data_t object.