|
rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
|
Which reactions of a mechanism the electron takes part in, and what each of them costs the electron pool. More...
#include <cstddef>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | rizer::ElectronReactionIndex |
| The per-reaction data the electron pool's inelastic power needs. More... | |
Namespaces | |
| namespace | Cantera |
| namespace | rizer |
Functions | |
| bool | rizer::equationHasElectron (const std::string &equation, const std::string &electron) |
| Test whether the electron participates in a reaction equation as a standalone token. | |
| ElectronReactionIndex | rizer::buildElectronReactionIndex (Cantera::Kinetics &kinetics, const std::string &electron, const std::vector< double > &species_h0k, std::size_t n_species, bool reacting) |
| Build the index for one mechanism. | |
Which reactions of a mechanism the electron takes part in, and what each of them costs the electron pool.
Per MECHANISM, not per cell. Every cell built on one Solution selects the same reactions and reads the same threshold energies, so the selection belongs beside the rate types it selects rather than inside the model that consumes it – and a thread pool of evaluators can then share one index instead of rebuilding it per slot.
The selection rule has a Python twin, rizer.kinetics.electron_reactions.reaction_involves_electron, and the two MUST stay byte-for-byte equivalent or the native and Python reactors pick different reactions for the inelastic electron-to-gas power. Change them together.
Definition in file ElectronReactions.h.