Xyce
6.1
|
#include <N_DEV_Reaction.h>
Public Member Functions | |
Reaction () | |
Reaction (std::vector< std::pair< int, double > > &, std::vector< std::pair< int, double > > &, double) | |
Reaction (const Reaction &right) | |
~Reaction () | |
void | setRateConstant (double) |
void | setRateConstantFromCalculator (double T) |
void | setRateConstantFromCalculator (double T, std::vector< double > &concs, std::vector< double > &constant_vec) |
void | scaleRateConstant (double) |
void | scaleRateConstantFromCalculator () |
void | unscaleRateConstantFromCalculator () |
void | setReactants (std::vector< std::pair< int, double > > &products) |
void | addReactant (int species, double stoich) |
void | setProducts (std::vector< std::pair< int, double > > &products) |
void | addProduct (int species, double stoich) |
double | getRate (std::vector< double > &concentrations, std::vector< double > &constants) |
void | getDdt (std::vector< double > &concentrations, std::vector< double > &constants, std::vector< double > &ddt) |
void | getDRateDC (std::vector< double > &concentrations, std::vector< double > &constants, std::vector< double > &dratedc) |
void | getDRateDConst (int constNum, std::vector< double > &concentrations, std::vector< double > &constants, double &dratedc) |
void | getJac (std::vector< double > &concentrations, std::vector< double > &constants, std::vector< std::vector< double > > &jac) |
void | getDFdConst (int constantNumber, std::vector< double > &concentrations, std::vector< double > &constants, std::vector< double > &dFdConst) |
void | getJacobianVC (std::vector< double > &concentrations, std::vector< double > &constants, std::vector< std::vector< double > > &jac, std::vector< double > &constVec) |
void | output (const std::vector< Specie > &species, std::ostream &os) const |
void | setSimpleRateCalculator (double k, double C0, double t0, double x0) |
void | setCaptureRateCalculator (double sigma, double v, double C0, double t0, double x0) |
void | setEmissionRateCalculator (double sigma, double v, double N, double Energy, double C0, double t0, double x0) |
void | setFDEmissionRateCalculator (int carrierIndex, double sigma, double Energy, double v, double C0, double t0, double x0) |
void | setComplexRateCalculator (std::vector< Specie > &VariableSpecies, std::vector< Specie > &ConstantSpecies, double C0, double t0, double x0) |
void | setComplexMultiplierRateCalculator (std::vector< Specie > &VariableSpecies, std::vector< Specie > &ConstantSpecies, double C0, double t0, double x0, double multiplier) |
void | setDecomplexRateCalculator (std::vector< Specie > &VariableSpecies, std::vector< Specie > &ConstantSpecies, double bindingEnergy, double gammaAB, double gammaA, double gammaB, double concSi, double C0, double t0, double x0) |
void | setBourgoinCorbettHoleRateCalculator (std::vector< Specie > &VariableSpecies, std::vector< Specie > &ConstantSpecies, double sigma, double C0, double t0, double x0) |
int | getCarrierEmissionIndex () |
void | setTemperature (double T) |
void | setMaterial (MaterialLayer *material, double Temp) |
void | setCoefficient (double Temp) |
void | setRxnVariableCoeffs (bool variableCoeff) |
template<class ScalarT > | |
ScalarT | getFDEmissionRate (std::vector< ScalarT > &concentrations, std::vector< ScalarT > &constants) |
template<class ScalarT > | |
ScalarT | getRateVC (std::vector< ScalarT > &concentrations, std::vector< ScalarT > &constants) |
void | setScaleFactors (double C0i, double t0, double x0) |
Reaction & | operator= (const Reaction &right) |
Private Types | |
enum | materialEnum_t { si, gaas } |
Private Member Functions | |
void | setDependency (int cSize) |
void | setConstDependency (int cSize) |
template<class ScalarT > | |
ScalarT | rxnCoefficient (std::vector< ScalarT > &concentrations, std::vector< ScalarT > &constants) |
template<class ScalarT > | |
ScalarT | complexCoefficient (std::vector< ScalarT > &concentrations, std::vector< ScalarT > &constants) |
Private Attributes | |
std::vector< std::pair< int, double > > | theReactants |
std::vector< std::pair< int, double > > | theProducts |
double | theRateConstant |
int | numconcs |
int | numconsts |
int | carrierEmissionIndex |
std::vector< int > | concDependency |
std::vector< int > | constDependency |
RateCalculator * | myRateCalc |
double | C0 |
double | temperature |
double | energy |
inverse_fermi_one_half_N | fdinvObj |
MaterialLayer * | material |
bool | variableRateCoefficient |
std::string | myReactionName |
bool | FADVectorsAllocated |
std::vector< FDFadType > | defects |
std::vector< FDFadType > | carriers |
bool | variableCoefficient |
int | coefficientType |
double | tolerance |
double | charge |
double | peq |
double | constCoeff |
double | unshieldedLength |
double | latticeConstant |
Specie * | Specie1 |
Specie * | Specie2 |
int | chargeProduct |
double | diffusionCoefficient1 |
double | diffusionCoefficient2 |
int | carrierBCIndex |
double | hopLength |
double | thermalVelocity |
double | sigmaBC |
int | carrierCharge |
materialEnum_t | materialEnum |
Definition at line 69 of file N_DEV_Reaction.h.
|
private |
Enumerator | |
---|---|
si | |
gaas |
Definition at line 216 of file N_DEV_Reaction.h.
Xyce::Device::Reaction::Reaction | ( | ) |
Definition at line 79 of file N_DEV_Reaction.C.
Xyce::Device::Reaction::Reaction | ( | std::vector< std::pair< int, double > > & | reactants, |
std::vector< std::pair< int, double > > & | products, | ||
double | rateConstant | ||
) |
Definition at line 104 of file N_DEV_Reaction.C.
Xyce::Device::Reaction::Reaction | ( | const Reaction & | right | ) |
Definition at line 147 of file N_DEV_Reaction.C.
Xyce::Device::Reaction::~Reaction | ( | ) |
Definition at line 240 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::addProduct | ( | int | species, |
double | stoich | ||
) |
Definition at line 303 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::addReactant | ( | int | species, |
double | stoich | ||
) |
Definition at line 270 of file N_DEV_Reaction.C.
|
private |
Definition at line 467 of file N_DEV_Reaction.h.
|
inline |
Definition at line 257 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::getDdt | ( | std::vector< double > & | concentrations, |
std::vector< double > & | constants, | ||
std::vector< double > & | ddt | ||
) |
Definition at line 604 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::getDFdConst | ( | int | constantNumber, |
std::vector< double > & | concentrations, | ||
std::vector< double > & | constants, | ||
std::vector< double > & | dFdConst | ||
) |
Definition at line 1009 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::getDRateDC | ( | std::vector< double > & | concentrations, |
std::vector< double > & | constants, | ||
std::vector< double > & | dratedc | ||
) |
Definition at line 427 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::getDRateDConst | ( | int | constNum, |
std::vector< double > & | concentrations, | ||
std::vector< double > & | constants, | ||
double & | dratedc | ||
) |
Definition at line 523 of file N_DEV_Reaction.C.
ScalarT Xyce::Device::Reaction::getFDEmissionRate | ( | std::vector< ScalarT > & | concentrations, |
std::vector< ScalarT > & | constants | ||
) |
Definition at line 285 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::getJac | ( | std::vector< double > & | concentrations, |
std::vector< double > & | constants, | ||
std::vector< std::vector< double > > & | jac | ||
) |
Definition at line 674 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::getJacobianVC | ( | std::vector< double > & | concentrations, |
std::vector< double > & | constants, | ||
std::vector< std::vector< double > > & | jac, | ||
std::vector< double > & | constVec | ||
) |
Definition at line 833 of file N_DEV_Reaction.C.
double Xyce::Device::Reaction::getRate | ( | std::vector< double > & | concentrations, |
std::vector< double > & | constants | ||
) |
Definition at line 358 of file N_DEV_Reaction.C.
ScalarT Xyce::Device::Reaction::getRateVC | ( | std::vector< ScalarT > & | concentrations, |
std::vector< ScalarT > & | constants | ||
) |
Definition at line 384 of file N_DEV_Reaction.h.
Definition at line 196 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::output | ( | const std::vector< Specie > & | species, |
std::ostream & | os | ||
) | const |
Definition at line 1622 of file N_DEV_Reaction.C.
|
private |
Definition at line 441 of file N_DEV_Reaction.h.
|
inline |
Definition at line 243 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::scaleRateConstantFromCalculator | ( | ) |
Definition at line 1530 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setBourgoinCorbettHoleRateCalculator | ( | std::vector< Specie > & | VariableSpecies, |
std::vector< Specie > & | ConstantSpecies, | ||
double | sigma, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1452 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setCaptureRateCalculator | ( | double | sigma, |
double | v, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1181 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setCoefficient | ( | double | Temp | ) |
Definition at line 1723 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setComplexMultiplierRateCalculator | ( | std::vector< Specie > & | VariableSpecies, |
std::vector< Specie > & | ConstantSpecies, | ||
double | C0, | ||
double | t0, | ||
double | x0, | ||
double | multiplier | ||
) |
Definition at line 1346 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setComplexRateCalculator | ( | std::vector< Specie > & | VariableSpecies, |
std::vector< Specie > & | ConstantSpecies, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1294 of file N_DEV_Reaction.C.
|
private |
Definition at line 1597 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setDecomplexRateCalculator | ( | std::vector< Specie > & | VariableSpecies, |
std::vector< Specie > & | ConstantSpecies, | ||
double | bindingEnergy, | ||
double | gammaAB, | ||
double | gammaA, | ||
double | gammaB, | ||
double | concSi, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1396 of file N_DEV_Reaction.C.
|
private |
Definition at line 1569 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setEmissionRateCalculator | ( | double | sigma, |
double | v, | ||
double | N, | ||
double | Energy, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1216 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setFDEmissionRateCalculator | ( | int | carrierIndex, |
double | sigma, | ||
double | Energy, | ||
double | v, | ||
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1254 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setMaterial | ( | MaterialLayer * | material, |
double | Temp | ||
) |
Definition at line 1688 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setProducts | ( | std::vector< std::pair< int, double > > & | products | ) |
Definition at line 335 of file N_DEV_Reaction.C.
|
inline |
Definition at line 230 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::setRateConstantFromCalculator | ( | double | T | ) |
Definition at line 1478 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setRateConstantFromCalculator | ( | double | T, |
std::vector< double > & | concs, | ||
std::vector< double > & | constant_vec | ||
) |
Definition at line 1505 of file N_DEV_Reaction.C.
void Xyce::Device::Reaction::setReactants | ( | std::vector< std::pair< int, double > > & | products | ) |
Definition at line 257 of file N_DEV_Reaction.C.
|
inline |
Definition at line 150 of file N_DEV_Reaction.h.
|
inline |
Definition at line 160 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::setSimpleRateCalculator | ( | double | k, |
double | C0, | ||
double | t0, | ||
double | x0 | ||
) |
Definition at line 1158 of file N_DEV_Reaction.C.
|
inline |
Definition at line 271 of file N_DEV_Reaction.h.
void Xyce::Device::Reaction::unscaleRateConstantFromCalculator | ( | ) |
Definition at line 1548 of file N_DEV_Reaction.C.
|
private |
Definition at line 181 of file N_DEV_Reaction.h.
|
private |
Definition at line 212 of file N_DEV_Reaction.h.
|
private |
Definition at line 214 of file N_DEV_Reaction.h.
|
private |
Definition at line 177 of file N_DEV_Reaction.h.
|
private |
Definition at line 189 of file N_DEV_Reaction.h.
|
private |
Definition at line 195 of file N_DEV_Reaction.h.
|
private |
Definition at line 209 of file N_DEV_Reaction.h.
|
private |
Definition at line 193 of file N_DEV_Reaction.h.
|
private |
Definition at line 178 of file N_DEV_Reaction.h.
|
private |
Definition at line 197 of file N_DEV_Reaction.h.
|
private |
Definition at line 179 of file N_DEV_Reaction.h.
|
private |
Definition at line 188 of file N_DEV_Reaction.h.
|
private |
Definition at line 210 of file N_DEV_Reaction.h.
|
private |
Definition at line 210 of file N_DEV_Reaction.h.
|
private |
Definition at line 182 of file N_DEV_Reaction.h.
|
private |
Definition at line 187 of file N_DEV_Reaction.h.
|
private |
Definition at line 183 of file N_DEV_Reaction.h.
|
private |
Definition at line 213 of file N_DEV_Reaction.h.
|
private |
Definition at line 199 of file N_DEV_Reaction.h.
|
private |
Definition at line 184 of file N_DEV_Reaction.h.
|
private |
Definition at line 217 of file N_DEV_Reaction.h.
|
private |
Definition at line 180 of file N_DEV_Reaction.h.
|
private |
Definition at line 186 of file N_DEV_Reaction.h.
|
private |
Definition at line 175 of file N_DEV_Reaction.h.
|
private |
Definition at line 176 of file N_DEV_Reaction.h.
|
private |
Definition at line 196 of file N_DEV_Reaction.h.
|
private |
Definition at line 213 of file N_DEV_Reaction.h.
|
private |
Definition at line 208 of file N_DEV_Reaction.h.
|
private |
Definition at line 208 of file N_DEV_Reaction.h.
|
private |
Definition at line 182 of file N_DEV_Reaction.h.
|
private |
Definition at line 173 of file N_DEV_Reaction.h.
|
private |
Definition at line 174 of file N_DEV_Reaction.h.
|
private |
Definition at line 172 of file N_DEV_Reaction.h.
|
private |
Definition at line 213 of file N_DEV_Reaction.h.
|
private |
Definition at line 194 of file N_DEV_Reaction.h.
|
private |
Definition at line 198 of file N_DEV_Reaction.h.
|
private |
Definition at line 190 of file N_DEV_Reaction.h.
|
private |
Definition at line 185 of file N_DEV_Reaction.h.