CAMP 1.0.0
Chemistry Across Multiple Phases
|
Condensed Phase photolysis reaction solver functions. More...
Go to the source code of this file.
Macros | |
#define | NUM_REACT_ int_data[0] |
#define | NUM_PROD_ int_data[1] |
#define | NUM_AERO_PHASE_ int_data[2] |
#define | RXN_ID_ int_data[3] |
#define | SCALING_ float_data[0] |
#define | RATE_CONSTANT_ rxn_env_data[0] |
#define | BASE_RATE_ rxn_env_data[1] |
#define | NUM_INT_PROP_ 4 |
#define | NUM_FLOAT_PROP_ 1 |
#define | NUM_ENV_PARAM_ 2 |
#define | REACT_(x) (int_data[NUM_INT_PROP_ + x] - 1) |
#define | PROD_(x) (int_data[NUM_INT_PROP_ + NUM_REACT_ * NUM_AERO_PHASE_ + x] - 1) |
#define | WATER_(x) (int_data[NUM_INT_PROP_ + (NUM_REACT_ + NUM_PROD_) * NUM_AERO_PHASE_ + x] - 1) |
#define | DERIV_ID_(x) (int_data[NUM_INT_PROP_ + (NUM_REACT_ + NUM_PROD_ + 1) * NUM_AERO_PHASE_ + x]) |
#define | JAC_ID_(x) |
#define | YIELD_(x) (float_data[NUM_FLOAT_PROP_ + x]) |
#define | KGM3_TO_MOLM3_(x) (float_data[NUM_FLOAT_PROP_ + NUM_PROD_ + x]) |
Functions | |
void | rxn_condensed_phase_photolysis_get_used_jac_elem (int *rxn_int_data, double *rxn_float_data, Jacobian *jac) |
Flag Jacobian elements used by this reaction. | |
void | rxn_condensed_phase_photolysis_update_ids (ModelData *model_data, int *deriv_ids, Jacobian jac, int *rxn_int_data, double *rxn_float_data) |
Update the time derivative and Jacbobian array indices. | |
bool | rxn_condensed_phase_photolysis_update_data (void *update_data, int *rxn_int_data, double *rxn_float_data, double *rxn_env_data) |
Update reaction data. | |
void | rxn_condensed_phase_photolysis_update_env_state (ModelData *model_data, int *rxn_int_data, double *rxn_float_data, double *rxn_env_data) |
Update reaction data for new environmental conditions. | |
void | rxn_condensed_phase_photolysis_calc_deriv_contrib (ModelData *model_data, TimeDerivative time_deriv, int *rxn_int_data, double *rxn_float_data, double *rxn_env_data, double time_step) |
Calculate contributions to the time derivative f(t,y) from this reaction. | |
void | rxn_condensed_phase_photolysis_calc_jac_contrib (ModelData *model_data, Jacobian jac, int *rxn_int_data, double *rxn_float_data, double *rxn_env_data, double time_step) |
Calculate contributions to the Jacobian from this reaction. | |
void | rxn_condensed_phase_photolysis_print (int *rxn_int_data, double *rxn_float_data) |
Print the Condensed Phase photolysis reaction parameters. | |
void * | rxn_condensed_phase_photolysis_create_rate_update_data () |
Create update data for new photolysis rates. | |
void | rxn_condensed_phase_photolysis_set_rate_update_data (void *update_data, int photo_id, double base_rate) |
Set rate update data. | |
Condensed Phase photolysis reaction solver functions.
Definition in file rxn_condensed_phase_photolysis.c.
#define BASE_RATE_ rxn_env_data[1] |
Definition at line 22 of file rxn_condensed_phase_photolysis.c.
#define DERIV_ID_ | ( | x | ) | (int_data[NUM_INT_PROP_ + (NUM_REACT_ + NUM_PROD_ + 1) * NUM_AERO_PHASE_ + x]) |
Definition at line 31 of file rxn_condensed_phase_photolysis.c.
#define JAC_ID_ | ( | x | ) |
Definition at line 33 of file rxn_condensed_phase_photolysis.c.
#define KGM3_TO_MOLM3_ | ( | x | ) | (float_data[NUM_FLOAT_PROP_ + NUM_PROD_ + x]) |
Definition at line 37 of file rxn_condensed_phase_photolysis.c.
#define NUM_AERO_PHASE_ int_data[2] |
Definition at line 18 of file rxn_condensed_phase_photolysis.c.
#define NUM_ENV_PARAM_ 2 |
Definition at line 25 of file rxn_condensed_phase_photolysis.c.
#define NUM_FLOAT_PROP_ 1 |
Definition at line 24 of file rxn_condensed_phase_photolysis.c.
#define NUM_INT_PROP_ 4 |
Definition at line 23 of file rxn_condensed_phase_photolysis.c.
#define NUM_PROD_ int_data[1] |
Definition at line 17 of file rxn_condensed_phase_photolysis.c.
#define NUM_REACT_ int_data[0] |
Definition at line 16 of file rxn_condensed_phase_photolysis.c.
#define PROD_ | ( | x | ) | (int_data[NUM_INT_PROP_ + NUM_REACT_ * NUM_AERO_PHASE_ + x] - 1) |
Definition at line 27 of file rxn_condensed_phase_photolysis.c.
#define RATE_CONSTANT_ rxn_env_data[0] |
Definition at line 21 of file rxn_condensed_phase_photolysis.c.
#define REACT_ | ( | x | ) | (int_data[NUM_INT_PROP_ + x] - 1) |
Definition at line 26 of file rxn_condensed_phase_photolysis.c.
#define RXN_ID_ int_data[3] |
Definition at line 19 of file rxn_condensed_phase_photolysis.c.
#define SCALING_ float_data[0] |
Definition at line 20 of file rxn_condensed_phase_photolysis.c.
#define WATER_ | ( | x | ) | (int_data[NUM_INT_PROP_ + (NUM_REACT_ + NUM_PROD_) * NUM_AERO_PHASE_ + x] - 1) |
Definition at line 29 of file rxn_condensed_phase_photolysis.c.
#define YIELD_ | ( | x | ) | (float_data[NUM_FLOAT_PROP_ + x]) |
Definition at line 36 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_calc_deriv_contrib | ( | ModelData * | model_data, |
TimeDerivative | time_deriv, | ||
int * | rxn_int_data, | ||
double * | rxn_float_data, | ||
double * | rxn_env_data, | ||
double | time_step | ||
) |
Calculate contributions to the time derivative f(t,y) from this reaction.
model_data | Pointer to the model data, including the state array |
time_deriv | TimeDerivative object |
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
rxn_env_data | Pointer to the environment-dependent parameters |
time_step | Current time step of the itegrator (s) |
Definition at line 203 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_calc_jac_contrib | ( | ModelData * | model_data, |
Jacobian | jac, | ||
int * | rxn_int_data, | ||
double * | rxn_float_data, | ||
double * | rxn_env_data, | ||
double | time_step | ||
) |
Calculate contributions to the Jacobian from this reaction.
model_data | Pointer to the model data |
jac | Reaction Jacobian |
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
rxn_env_data | Pointer to the environment-dependent parameters |
time_step | Current time step of the itegrator (s) |
Definition at line 271 of file rxn_condensed_phase_photolysis.c.
void * rxn_condensed_phase_photolysis_create_rate_update_data | ( | ) |
Create update data for new photolysis rates.
Definition at line 464 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_get_used_jac_elem | ( | int * | rxn_int_data, |
double * | rxn_float_data, | ||
Jacobian * | jac | ||
) |
Flag Jacobian elements used by this reaction.
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
jac | Jacobian |
Definition at line 45 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_print | ( | int * | rxn_int_data, |
double * | rxn_float_data | ||
) |
Print the Condensed Phase photolysis reaction parameters.
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
Definition at line 378 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_set_rate_update_data | ( | void * | update_data, |
int | photo_id, | ||
double | base_rate | ||
) |
Set rate update data.
update_data | Pointer to an allocated rate update data object |
photo_id | Id of photolysis reactions to update |
base_rate | New pre-scaling photolysis rate |
Definition at line 479 of file rxn_condensed_phase_photolysis.c.
bool rxn_condensed_phase_photolysis_update_data | ( | void * | update_data, |
int * | rxn_int_data, | ||
double * | rxn_float_data, | ||
double * | rxn_env_data | ||
) |
Update reaction data.
Photolysis reactions can have their base (pre-scaling) rate constants updated from the host model based on the calculations of an external photolysis module. The structure of the update data is:
update_data | Pointer to the updated reaction data |
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
rxn_env_data | Pointer to the environment-dependent data |
Definition at line 157 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_update_env_state | ( | ModelData * | model_data, |
int * | rxn_int_data, | ||
double * | rxn_float_data, | ||
double * | rxn_env_data | ||
) |
Update reaction data for new environmental conditions.
For Condensed Phase photolysis reaction this only involves recalculating the forward rate constant.
model_data | Pointer to the model data |
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
rxn_env_data | Pointer to the environment-dependent parameters |
Definition at line 185 of file rxn_condensed_phase_photolysis.c.
void rxn_condensed_phase_photolysis_update_ids | ( | ModelData * | model_data, |
int * | deriv_ids, | ||
Jacobian | jac, | ||
int * | rxn_int_data, | ||
double * | rxn_float_data | ||
) |
Update the time derivative and Jacbobian array indices.
model_data | Pointer to the model data |
deriv_ids | Id of each state variable in the derivative array |
jac | Jacobian |
rxn_int_data | Pointer to the reaction integer data |
rxn_float_data | Pointer to the reaction floating-point data |
Definition at line 88 of file rxn_condensed_phase_photolysis.c.