Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enabling charge-transfer/electrochemical surface reactions
The previous formulation will only consider a rection as electrochemical if a beta value is supplied for that reaction *and* the reaction is an 'edge_reaction.' This is problematic for two reasons: (1) many/most charge-transfer reactions of interest occur at two-phase boundaries (see, for example, Li-ion batteries and PEM fuel cells), not the three-phase- boundary-like edges (which are most relevant for SOFCs). (2) determining whether a reaction is electrochemical or not should not rely at all upon user input - the program itself should check to see whether charge is transferred between phases, and the appropriate steps should be taken during rate-of-progress calcuations. This commit addresses the former issue. Currently, if a charge-transfer reaction is written as a surface_reaction, the code does not apply the voltage correction to the forward rate. By default, then, the entire voltage correction is applied to the reverse reaction, which is the same as setting beta = 0; not a good 'default' behavior (beta = 0.5 is a more appropriate default). With this change, surface reactions can now be supplied with a beta value in cti or xml formats, and will be recognized as a charge transfer reaction. Longer term, it would be better to change the constructor routines such that charge transfer is automatically detected and handled, rather than relying upon user-specified flags.
- Loading branch information