rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
ElectronReactions.h File Reference

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.

Detailed Description

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.