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 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 178 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 299 of file N_DEV_RateConstantCalculators.C.

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

Definition at line 377 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 192 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 394 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 407 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 426 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 190 of file N_DEV_RateConstantCalculators.h.

Member Data Documentation

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

Definition at line 195 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 197 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 192 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 192 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 196 of file N_DEV_RateConstantCalculators.h.


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