modelTrueEquilibrium
Extends from ThermalSeparation.Reaction.BaseReaction (partial model for reaction).
Information
This model takes into account reaction. It is possible to have several (independent, parallel or consecutive) reactions, irreversible as well as reversible reactions. A kinetic approach is used, i.e. the equilibrium is not attained at once.
The parameter nR denotes the number of reactions. For each reaction, it has to be stated whether the reaction is reversible or irreversible using the boolean parameter vector reversible. The stocheometric coefficients of the reaction are stored in the parameter nu. The reaction order for forward and reverse reaction is stored in powerCoeffForward and powerCoeffReverse respectively. If no reverse reaction takes place, any values for powerCoeffReverse can be used. The reaction order can not vary during simulation (even though in reality there are reactions where the reaction order changes; often due to a change in temperature). The reaction rate equation is usually written for one component. The number of this component has to be stated in the parameter reacComp.
The reaction rate coefficient of the reverse reaction, k_reverse, is calculated using the reaction rate coefficient of the forward reaction, k_forward, and the equilibrium constant K. The values for k_forward and K are calculated in separate classes which are declared replaceable in this model. The assumption that K is the ratio of k_forward to k_reverse only holds for elementary reactions, not for overall reactions (so it is true for example for A+B <--> C and C+B <--> D but not necessarily for A+2B <--> D).
Example:
- Medium with 5 substances: A, B, C, D, E
- reaction 1:
- reaction 2:
A + D <--> C
r_A = k1_forward * c_D*c_A - k1_reverse * c_C
B--> E
r_B = k2 * c_B^2
Parameters:
- nR = 2
- reversible = {true, false}
- nu = {{-1, 0, 1, -1, 0},{0, -1, 0, 0, 1}}
- powerCoeffForward = {{1, 0, 0, 1, 0},{0, 2, 0, 0, 0}}
- powerCoeffReverse = {{0, 0, 1, 0, 0},{0, 0, 0, 0, 0}}
- reacComp = {1, 2}
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | n (from BaseReaction) | ||
| Integer | nS (from BaseReaction) | MediumLiquid.nSubstance | number of components, educts=negative, products=positive |
| Boolean | film (from BaseReaction) | true if reaction reaction model may also be used for film reaction | |
| Integer | nR | MediumLiquid.nR | number of reactions |
| Real[nR,nS] | nu | MediumLiquid.nu | stocheometric coefficients for the reaction |
| Integer[nR] | reacComp | MediumLiquid.reacComp | index of component in the component vector for which the reaction rate equation is written |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Concentration[nS] | c (from BaseReaction) | ||
| SI.Volume | V (from BaseReaction) | liquid volume | |
| SI.MolarFlowRate[nS] | Ndot_l_transfer (from BaseReaction) | only needed if no reaction kinetic is taken into account | |
| Real[nS] | gamma (from BaseReaction) | ||
| SI.MolarFlowRate[nS] | Ndot (from BaseReaction) | molar flow rate for each substance, positive: substance is created, negative: substance is removed | |
| SI.HeatFlowRate | deltaH_R (from BaseReaction) | reaction enthalpy | |
| MediumLiquid.ThermodynamicProperties | propsLiq (from BaseReaction) | ||
| MediumLiquid.EquilibriumConstant | equilibriumConstant | ||
| MediumLiquid.MolarReactionEnthalpy | molarReactionEnthalpy | ||
| Units.MolarEnthalpy[nR] | h_R | molarReactionEnthalpy.h_R | molar reaction enthalpy, negative if exotherm |
| Real[nR] | deltaH_singleReac | ||
| Real[nR] | K_eq | equilibriumConstant.K_eq | equilibrium constant |
| Real[nR] | K_eq_MWG | equilibriumConstant.K_eq_MWG | equilibrium constant |
| SI.MolarFlowRate[nR,nS] | NdotR | molar flow rate for each substance and each reaction |