|
CAMP 1.0.0
Chemistry Across Multiple Phases
|
Aqueous Equilibrium reaction solver functions. More...

Go to the source code of this file.
Macros | |
| #define | TEMPERATURE_K_ env_data[0] |
| #define | PRESSURE_PA_ env_data[1] |
| #define | SMALL_NUMBER_ 1.0e-30 |
| #define | MIN_WATER_ 1.0e-4 |
| #define | NUM_REACT_ (int_data[0]) |
| #define | NUM_PROD_ (int_data[1]) |
| #define | NUM_AERO_PHASE_ (int_data[2]) |
| #define | A_ (float_data[0]) |
| #define | C_ (float_data[1]) |
| #define | RATE_CONST_REVERSE_ (float_data[2]) |
| #define | WATER_CONC_ (float_data[3]) |
| #define | ACTIVITY_COEFF_VALUE_ (float_data[4]) |
| #define | RATE_CONST_FORWARD_ (rxn_env_data[0]) |
| #define | NUM_INT_PROP_ 3 |
| #define | NUM_FLOAT_PROP_ 5 |
| #define | NUM_ENV_PARAM_ 1 |
| #define | REACT_(x) |
| #define | PROD_(x) |
| #define | WATER_(x) |
| #define | ACTIVITY_COEFF_(x) |
| #define | DERIV_ID_(x) |
| #define | JAC_ID_(x) |
| #define | MASS_FRAC_TO_M_(x) |
| #define | REACT_CONC_(x) |
| #define | PROD_CONC_(x) |
| #define | SMALL_WATER_CONC_(x) |
| #define | SMALL_CONC_(x) |
Functions | |
| void | rxn_aqueous_equilibrium_get_used_jac_elem (int *rxn_int_data, double *rxn_float_data, Jacobian *jac) |
| Flag Jacobian elements used by this reaction. | |
| void | rxn_aqueous_equilibrium_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. | |
| void | rxn_aqueous_equilibrium_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. | |
| long double | calc_standard_rate (int *rxn_int_data, double *rxn_float_data, double *rxn_env_data, bool is_water_partial, long double *rate_forward, long double *rate_reverse) |
| Calculate the reaction rate for a set of conditions using the standard equation per mixing ratio of water [M_X/s*kg_H2O/m^3]. | |
| void | rxn_aqueous_equilibrium_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_aqueous_equilibrium_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_aqueous_equilibrium_print (int *rxn_int_data, double *rxn_float_data) |
| Print the Aqueous Equilibrium reaction parameters. | |
Aqueous Equilibrium reaction solver functions.
Definition in file rxn_aqueous_equilibrium.c.
| #define A_ (float_data[0]) |
Definition at line 30 of file rxn_aqueous_equilibrium.c.
| #define ACTIVITY_COEFF_ | ( | x | ) |
Definition at line 44 of file rxn_aqueous_equilibrium.c.
| #define ACTIVITY_COEFF_VALUE_ (float_data[4]) |
Definition at line 34 of file rxn_aqueous_equilibrium.c.
| #define C_ (float_data[1]) |
Definition at line 31 of file rxn_aqueous_equilibrium.c.
| #define DERIV_ID_ | ( | x | ) |
Definition at line 48 of file rxn_aqueous_equilibrium.c.
| #define JAC_ID_ | ( | x | ) |
Definition at line 50 of file rxn_aqueous_equilibrium.c.
| #define MASS_FRAC_TO_M_ | ( | x | ) |
Definition at line 53 of file rxn_aqueous_equilibrium.c.
| #define MIN_WATER_ 1.0e-4 |
Definition at line 25 of file rxn_aqueous_equilibrium.c.
| #define NUM_AERO_PHASE_ (int_data[2]) |
Definition at line 29 of file rxn_aqueous_equilibrium.c.
| #define NUM_ENV_PARAM_ 1 |
Definition at line 38 of file rxn_aqueous_equilibrium.c.
| #define NUM_FLOAT_PROP_ 5 |
Definition at line 37 of file rxn_aqueous_equilibrium.c.
| #define NUM_INT_PROP_ 3 |
Definition at line 36 of file rxn_aqueous_equilibrium.c.
| #define NUM_PROD_ (int_data[1]) |
Definition at line 28 of file rxn_aqueous_equilibrium.c.
| #define NUM_REACT_ (int_data[0]) |
Definition at line 27 of file rxn_aqueous_equilibrium.c.
| #define PRESSURE_PA_ env_data[1] |
Definition at line 18 of file rxn_aqueous_equilibrium.c.
| #define PROD_ | ( | x | ) |
Definition at line 40 of file rxn_aqueous_equilibrium.c.
| #define PROD_CONC_ | ( | x | ) |
Definition at line 56 of file rxn_aqueous_equilibrium.c.
| #define RATE_CONST_FORWARD_ (rxn_env_data[0]) |
Definition at line 35 of file rxn_aqueous_equilibrium.c.
| #define RATE_CONST_REVERSE_ (float_data[2]) |
Definition at line 32 of file rxn_aqueous_equilibrium.c.
| #define REACT_ | ( | x | ) |
Definition at line 39 of file rxn_aqueous_equilibrium.c.
| #define REACT_CONC_ | ( | x | ) |
Definition at line 54 of file rxn_aqueous_equilibrium.c.
| #define SMALL_CONC_ | ( | x | ) |
Definition at line 60 of file rxn_aqueous_equilibrium.c.
| #define SMALL_NUMBER_ 1.0e-30 |
Definition at line 21 of file rxn_aqueous_equilibrium.c.
| #define SMALL_WATER_CONC_ | ( | x | ) |
Definition at line 58 of file rxn_aqueous_equilibrium.c.
| #define TEMPERATURE_K_ env_data[0] |
Definition at line 17 of file rxn_aqueous_equilibrium.c.
| #define WATER_ | ( | x | ) |
Definition at line 42 of file rxn_aqueous_equilibrium.c.
| #define WATER_CONC_ (float_data[3]) |
Definition at line 33 of file rxn_aqueous_equilibrium.c.
| long double calc_standard_rate | ( | int * | rxn_int_data, |
| double * | rxn_float_data, | ||
| double * | rxn_env_data, | ||
| bool | is_water_partial, | ||
| long double * | rate_forward, | ||
| long double * | rate_reverse ) |
Calculate the reaction rate for a set of conditions using the standard equation per mixing ratio of water [M_X/s*kg_H2O/m^3].
| 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 |
| is_water_partial | Flag indicating whether the calculation should return the partial derivative d_rate/d_H2O |
| rate_forward | [output] calculated forward rate |
| rate_reverse | [output] calculated reverse rate |
Definition at line 278 of file rxn_aqueous_equilibrium.c.

| void rxn_aqueous_equilibrium_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 323 of file rxn_aqueous_equilibrium.c.


| void rxn_aqueous_equilibrium_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 403 of file rxn_aqueous_equilibrium.c.


| void rxn_aqueous_equilibrium_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 70 of file rxn_aqueous_equilibrium.c.


| void rxn_aqueous_equilibrium_print | ( | int * | rxn_int_data, |
| double * | rxn_float_data ) |
Print the Aqueous Equilibrium reaction parameters.
| rxn_int_data | Pointer to the reaction integer data |
| rxn_float_data | Pointer to the reaction floating-point data |
Definition at line 549 of file rxn_aqueous_equilibrium.c.

| void rxn_aqueous_equilibrium_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 Aqueous Equilibrium 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 244 of file rxn_aqueous_equilibrium.c.

| void rxn_aqueous_equilibrium_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 132 of file rxn_aqueous_equilibrium.c.

