Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::ComplexRateCalculator Class Reference

Rate constant calculator for a irreversible two-species complexing reaction. More...

#include <N_DEV_RateConstantCalculators.h>

Inheritance diagram for Xyce::Device::ComplexRateCalculator:
Collaboration diagram for Xyce::Device::ComplexRateCalculator:

Public Member Functions

 ComplexRateCalculator (std::vector< Specie > &VariableSpecies, std::vector< Specie > &ConstantSpecies, std::vector< std::pair< int, double > > &Reactants, double C0, double t0, double x0)
 
 ComplexRateCalculator (ComplexRateCalculator &right)
 
virtual ComplexRateCalculatorClone ()
 create a copy of this calculator More...
 
virtual double computeRateConstant (double T)
 return rate constant at given temperature More...
 
virtual double computeRateConstant (double T, std::vector< double > &concs, std::vector< double > &constant_vec)
 return rate constant with Bourgoin Corbett enhancement at given temperature More...
 
virtual double rateConstantScaleFactor ()
 return current scale factor for rate constant More...
 
virtual void setScaleFactors (double C0, double t0, double x0)
 set concentration, time, and space scale factors (space scale factor is currently unused by any calculator) More...
 
virtual CalcType calcType ()
 return the type of this calculator More...
 
- Public Member Functions inherited from Xyce::Device::RateCalculator
virtual ~RateCalculator ()
 

Private Attributes

SpecieSpecie1
 
SpecieSpecie2
 
double reaction_distance_factor
 
bool Tdep
 
double rk0
 

Detailed Description

Rate constant calculator for a irreversible two-species complexing reaction.

These are reactions of the form A+B->AB. There must be two separate species on the reactants side, or one specie with a stoichiometric coefficient of exactly 2.0.

The rate constant formula depends on the product of the charge states of the two species, which we will call $ij$.

  • If $ij > 0$: the reaction rate is zero
  • If $ij == 0$: The reaction rate is $\frac{4\pi\times 5\times10^{-8}}{D_1D_2}$ where $D_n$ is the diffusion coefficient of species $n$.
  • If $ij < 0$: The reaction rate is $\frac{4\pi\times 5\times10^{-8}}{TD_1D_2}$ where $D_n$ is the diffusion coefficient of species $n$.

Note that the diffusion coefficients of species are temperature dependent.

Definition at line 186 of file N_DEV_RateConstantCalculators.h.

Constructor & Destructor Documentation

Xyce::Device::ComplexRateCalculator::ComplexRateCalculator ( std::vector< Specie > &  VariableSpecies,
std::vector< Specie > &  ConstantSpecies,
std::vector< std::pair< int, double > > &  Reactants,
double  C0,
double  t0,
double  x0 
)

Definition at line 349 of file N_DEV_RateConstantCalculators.C.

Xyce::Device::ComplexRateCalculator::ComplexRateCalculator ( ComplexRateCalculator right)

Definition at line 431 of file N_DEV_RateConstantCalculators.C.

Member Function Documentation

virtual CalcType Xyce::Device::ComplexRateCalculator::calcType ( )
inlinevirtual

return the type of this calculator

Implements Xyce::Device::RateCalculator.

Definition at line 201 of file N_DEV_RateConstantCalculators.h.

ComplexRateCalculator * Xyce::Device::ComplexRateCalculator::Clone ( )
virtual

create a copy of this calculator

Implements Xyce::Device::RateCalculator.

Definition at line 448 of file N_DEV_RateConstantCalculators.C.

double Xyce::Device::ComplexRateCalculator::computeRateConstant ( double  T)
virtual

return rate constant at given temperature

Implements Xyce::Device::RateCalculator.

Definition at line 461 of file N_DEV_RateConstantCalculators.C.

double Xyce::Device::ComplexRateCalculator::computeRateConstant ( double  T,
std::vector< double > &  concs,
std::vector< double > &  constant_vec 
)
virtual

return rate constant with Bourgoin Corbett enhancement at given temperature

Implements Xyce::Device::RateCalculator.

Definition at line 481 of file N_DEV_RateConstantCalculators.C.

double Xyce::Device::ComplexRateCalculator::rateConstantScaleFactor ( )
virtual

return current scale factor for rate constant

Implements Xyce::Device::RateCalculator.

Definition at line 502 of file N_DEV_RateConstantCalculators.C.

virtual void Xyce::Device::ComplexRateCalculator::setScaleFactors ( double  C0,
double  t0,
double  x0 
)
inlinevirtual

set concentration, time, and space scale factors (space scale factor is currently unused by any calculator)

Implements Xyce::Device::RateCalculator.

Definition at line 199 of file N_DEV_RateConstantCalculators.h.

Member Data Documentation

double Xyce::Device::ComplexRateCalculator::reaction_distance_factor
private

Definition at line 204 of file N_DEV_RateConstantCalculators.h.

double Xyce::Device::ComplexRateCalculator::rk0
private

Definition at line 206 of file N_DEV_RateConstantCalculators.h.

Specie* Xyce::Device::ComplexRateCalculator::Specie1
private

Definition at line 201 of file N_DEV_RateConstantCalculators.h.

Specie * Xyce::Device::ComplexRateCalculator::Specie2
private

Definition at line 201 of file N_DEV_RateConstantCalculators.h.

bool Xyce::Device::ComplexRateCalculator::Tdep
private

Definition at line 205 of file N_DEV_RateConstantCalculators.h.


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