chombo-discharge
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
Physics::ItoKMC::ItoKMCSurfaceReactions Class Reference

Reaction class for describing multiple pathways of secondary emissions due to a single outgoing particle in ItoKMCPhysics. More...

#include <CD_ItoKMCSurfaceReactions.H>

Public Types

using Products = std::list< size_t >
 Alias for list of products.
 

Public Member Functions

 ItoKMCSurfaceReactions () noexcept
 Allowed, but you need to call the define function afterwards.
 
virtual ~ItoKMCSurfaceReactions () noexcept
 Destructor.
 
void add (const ItoKMCSurfaceReaction &a_surfaceReaction) noexcept
 Add a reaction to this collection.
 
void reset () noexcept
 Reset method for clearing class.
 
const size_tgetReactant () const noexcept
 Get the reactant species index.
 
const std::vector< Products > & getProducts () const noexcept
 Get the plasma product index lists for each competing reaction pathway.
 
const std::vector< Real > & getEfficiencies () const noexcept
 Get the efficiency (probability) for each competing reaction pathway.
 
std::discrete_distribution< size_t > & getDistribution () const noexcept
 Get the discrete distribution used to randomly select a reaction pathway.
 

Protected Attributes

bool m_isDefined
 Is defined or not.
 
size_t m_reactant
 Reactant index.
 
std::vector< Productsm_products
 Plasma product indices.
 
std::vector< Realm_efficiencies
 Reaction efficiencies.
 
std::discrete_distribution< size_tm_distribution
 Discrete distribution – useful when drawing a reaction.
 

Detailed Description

Reaction class for describing multiple pathways of secondary emissions due to a single outgoing particle in ItoKMCPhysics.

This class supports multiple emissions due to single impinging particles, and encapsulates all reactions A -> B, A -> B + C, etc.

Member Function Documentation

◆ add()

void ItoKMCSurfaceReactions::add ( const ItoKMCSurfaceReaction a_surfaceReaction)
inlinenoexcept

Add a reaction to this collection.

Parameters
[in]a_surfaceReactionSurface reaction to add.

◆ getDistribution()

std::discrete_distribution< size_t > & ItoKMCSurfaceReactions::getDistribution ( ) const
inlinenoexcept

Get the discrete distribution used to randomly select a reaction pathway.

Returns
Discrete distribution weighted by the reaction efficiencies.

◆ getEfficiencies()

const std::vector< Real > & ItoKMCSurfaceReactions::getEfficiencies ( ) const
inlinenoexcept

Get the efficiency (probability) for each competing reaction pathway.

Returns
Vector of efficiencies, one per reaction pathway.

◆ getProducts()

const std::vector< ItoKMCSurfaceReactions::Products > & ItoKMCSurfaceReactions::getProducts ( ) const
inlinenoexcept

Get the plasma product index lists for each competing reaction pathway.

Returns
Vector of product index lists, one per reaction pathway.

◆ getReactant()

const size_t & ItoKMCSurfaceReactions::getReactant ( ) const
inlinenoexcept

Get the reactant species index.

Returns
Index of the impinging species that triggers these reactions.

The documentation for this class was generated from the following files: