Xyce  6.1
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)
 
virtual double rateConstantScaleFactor ()
 return current scale factor for rate constant More...
 
virtual void setScaleFactors (double iC0, 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...
 
virtual void setBulkMaterial (std::string material)
 
virtual bool isBulkMaterialSet ()
 
- Public Member Functions inherited from Xyce::Device::RateCalculator
 RateCalculator ()
 
 RateCalculator (RateCalculator &right)
 
virtual ~RateCalculator ()
 

Public Attributes

std::string myReactionName
 

Private Attributes

SpecieSpecie1
 
SpecieSpecie2
 
double reaction_distance_factor
 
bool Tdep
 
double rk0
 
bool coulombAttraction
 
double chargeNumberProduct
 
double classC0
 

Additional Inherited Members

- Protected Attributes inherited from Xyce::Device::RateCalculator
bool bulkMaterialSet
 
std::string bulkMaterial
 

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 239 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 442 of file N_DEV_RateConstantCalculators.C.

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

Definition at line 530 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 254 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 550 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 563 of file N_DEV_RateConstantCalculators.C.

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

Implements Xyce::Device::RateCalculator.

Definition at line 593 of file N_DEV_RateConstantCalculators.C.

virtual bool Xyce::Device::ComplexRateCalculator::isBulkMaterialSet ( )
inlinevirtual

Implements Xyce::Device::RateCalculator.

Definition at line 256 of file N_DEV_RateConstantCalculators.h.

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

return current scale factor for rate constant

Implements Xyce::Device::RateCalculator.

Definition at line 622 of file N_DEV_RateConstantCalculators.C.

virtual void Xyce::Device::ComplexRateCalculator::setBulkMaterial ( std::string  material)
inlinevirtual

Implements Xyce::Device::RateCalculator.

Definition at line 255 of file N_DEV_RateConstantCalculators.h.

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 252 of file N_DEV_RateConstantCalculators.h.

Member Data Documentation

double Xyce::Device::ComplexRateCalculator::chargeNumberProduct
private

Definition at line 265 of file N_DEV_RateConstantCalculators.h.

double Xyce::Device::ComplexRateCalculator::classC0
private

Definition at line 266 of file N_DEV_RateConstantCalculators.h.

bool Xyce::Device::ComplexRateCalculator::coulombAttraction
private

Definition at line 264 of file N_DEV_RateConstantCalculators.h.

std::string Xyce::Device::ComplexRateCalculator::myReactionName

Definition at line 256 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 261 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 263 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 260 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 260 of file N_DEV_RateConstantCalculators.h.

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

Definition at line 262 of file N_DEV_RateConstantCalculators.h.


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