Xyce
6.1
|
#include <N_DEV_ReactionNetwork.h>
Public Member Functions | |
ReactionNetwork (const std::string &name="NoName") | |
ReactionNetwork (const ReactionNetwork &right) | |
virtual | ~ReactionNetwork () |
void | setReactionNetworkFromFile (const NetlistLocation &netlist_location, const std::string &fileName) |
void | addReaction (const std::string &name) |
void | addReaction (const std::string &name, Reaction &reaction) |
void | addReactant (const std::string &name, const std::string &reactant, double stoich) |
void | addProduct (const std::string &name, const std::string &reactant, double stoich) |
void | setSimpleCalc (const std::string &name, double k) |
void | setCaptureCalc (const std::string &name, double sigma, double v) |
void | setEmissionCalc (const std::string &name, double sigma, double v, double N, double E) |
void | setElectronCaptureCalc (const std::string &name, double sigma) |
void | setElectronEmissionCalc (const std::string &name, double sigma, double E) |
void | setFDElectronEmissionCalc (const std::string &name, double sigma, double E) |
void | setHoleCaptureCalc (const std::string &name, double sigma) |
void | setHoleEmissionCalc (const std::string &name, double sigma, double E) |
void | setFDHoleEmissionCalc (const std::string &name, double sigma, double E) |
void | setComplexCalc (const std::string &name) |
void | setComplexMultiplierCalc (const std::string &name, double multiplier) |
void | setDecomplexCalc (const std::string &name, double bindingEnergy, double gammaAB, double gammaA, double gammaB, double concSi) |
void | setBourgoinCorbettHoleCalc (const std::string &name, double sigma) |
void | setBourgoinCorbettCalc (const std::string &speciesName, const std::string &carrierName, double sigma, double hopDistance) |
void | setRateConstant (const std::string &name, double k) |
void | scaleRateConstant (const std::string &name, double kscale) |
void | setScaleParams (double c, double t, double x) |
void | setMaterial (MaterialLayer *material, double Temp) |
void | setCoefficients (double Temp) |
void | setRxnVariableCoeffs (bool variableCoeffs) |
void | scaleRateConstantFromCalculator (const std::string &name) |
void | unscaleRateConstantFromCalculator (const std::string &name) |
void | setRateConstantFromCalculator (const std::string &name, double T) |
void | setRateConstantsFromCalc (double T) |
void | setRateConstantFromCalculator (const std::string &name, double T, std::vector< double > &concs, std::vector< double > &constant_vec) |
void | setRateConstantsFromCalc (double T, std::vector< double > &concs, std::vector< double > &constant_vec) |
void | scaleRateConstantsFromCalc () |
void | unscaleRateConstantsFromCalc () |
void | setSpecies (std::vector< Specie > &theSpeciesVect) |
void | addSpecie (const Specie &aSpecie) |
void | setConstants (std::vector< Specie > &theConstantsVect) |
void | addConstant (const Specie &aConstant) |
int | getReactionNum (const std::string name) |
void | addSourceTerm (const std::string &speciesName, const std::string &expressionStr) |
void | addSourceTerm (const std::string &speciesName, Util::Expression *expression) |
void | addMasterSourceTerm (const std::string &speciesName) |
void | addInitialCondition (const std::string &speciesName, double value) |
std::pair< std::string, double > | getInitialCondition (int i) |
int | getNumInitialConditions () |
void | setSimTime (double time) |
double | getBreakpointTime () |
void | setSourceScaleFac (double scf) |
void | setMasterSourceValue (double msv) |
void | getDdt (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &ddt) |
void | getJac (std::vector< double > &concs, std::vector< double > &constants, std::vector< std::vector< double > > &jac) |
void | getDFdConst (const std::string &constantName, std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &dFdConst) |
void | getJacobianVC (std::vector< double > &concs, std::vector< double > &constants, std::vector< std::vector< double > > &jac, std::vector< double > &constVec) |
double | getRate (std::vector< double > &concs, std::vector< double > &constants, std::vector< int > &captureVect, std::vector< int > &emissionVect) |
void | getDRateDC (std::vector< double > &concs, std::vector< double > &constants, std::vector< int > &captureVect, std::vector< int > &emissionVect, std::vector< double > &dratedc) |
void | getDRateDConst (std::vector< double > &concs, std::vector< double > &constants, std::vector< int > &captureVect, std::vector< int > &emissionVect, std::vector< double > &dratedc) |
double | getCaptureLifetime (std::vector< double > &concs, std::vector< double > &constants, std::vector< int > &captureVect, double &concentration) |
void | getCaptureLifetimes (std::vector< double > &concs, std::vector< double > &constants, std::vector< int > &captureVect, double &concentration, std::vector< double > &lifetimes) |
double | getELifetime (std::vector< double > &concs, std::vector< double > &constants) |
double | getHLifetime (std::vector< double > &concs, std::vector< double > &constants) |
void | getELifetimes (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &lifetimes) |
void | getHLifetimes (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &lifetimes) |
double | getERate (std::vector< double > &concs, std::vector< double > &constants) |
double | getHRate (std::vector< double > &concs, std::vector< double > &constants) |
void | getDERateDC (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &dratedc) |
void | getDHRateDC (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &dratedc) |
void | getDERateDConst (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &dratedConst) |
void | getDHRateDConst (std::vector< double > &concs, std::vector< double > &constants, std::vector< double > &dratedConst) |
int | getNumSpecies () |
int | getNumConstants () |
const std::string & | getSpeciesName (int i) |
const std::string & | getConstantsName (int i) |
int | getSpeciesNum (const std::string &name) |
int | getConstantNum (const std::string &name) |
int | getReactantNum (const std::string &name) |
bool | reactantExist (const std::string &name) |
bool | constantExist (const std::string &name) |
void | setName (const std::string &name) |
void | clear () |
void | output (std::ostream &os) const |
double | getDiffusionCoefficient (const std::string &name, const double temp) |
double | getDiffusionCoefficient (int specie, const double temp) |
double | getDiffusionCoefficient (int specie, const double temp, std::vector< double > concs, std::vector< double > carrierConcs) |
int | getChargeState (const std::string &name) |
int | getChargeState (int specie) |
void | setApplySources (bool flag) |
Private Member Functions | |
Reaction & | getReaction (const std::string &name) |
Reaction & | getReaction (int i) |
Private Attributes | |
std::map< std::string, int > | speciesMap |
std::vector< Specie > | species |
std::map< std::string, int > | constantsMap |
std::vector< Specie > | constants |
std::vector< std::pair< std::string, double > > | initialConditions |
std::vector< Reaction > | theReactions |
std::map< std::string, int > | reactionNamesMap |
std::vector< std::string > | reactionNames |
std::string | myName |
std::vector< int > | electronCaptureReactions |
std::vector< int > | holeCaptureReactions |
std::vector< int > | electronEmissionReactions |
std::vector< int > | holeEmissionReactions |
std::vector< std::pair< int, Util::Expression * > > | theSourceTerms |
std::vector< int > | masterSourceSpecies |
double | masterSourceValue |
double | sourceScaleFac |
double | C0 |
double | t0 |
double | x0 |
MaterialLayer * | material |
bool | variableRateCoeffs |
bool | applySources |
Definition at line 75 of file N_DEV_ReactionNetwork.h.
Xyce::Device::ReactionNetwork::ReactionNetwork | ( | const std::string & | name = "NoName" | ) |
Definition at line 108 of file N_DEV_ReactionNetwork.C.
Xyce::Device::ReactionNetwork::ReactionNetwork | ( | const ReactionNetwork & | right | ) |
Definition at line 127 of file N_DEV_ReactionNetwork.C.
|
virtual |
Definition at line 175 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addConstant | ( | const Specie & | aConstant | ) |
Definition at line 325 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 458 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::addMasterSourceTerm | ( | const std::string & | speciesName | ) |
Definition at line 904 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addProduct | ( | const std::string & | name, |
const std::string & | reactant, | ||
double | stoich | ||
) |
Definition at line 467 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReactant | ( | const std::string & | name, |
const std::string & | reactant, | ||
double | stoich | ||
) |
Definition at line 412 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReaction | ( | const std::string & | name | ) |
Definition at line 342 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReaction | ( | const std::string & | name, |
Reaction & | reaction | ||
) |
Definition at line 358 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSourceTerm | ( | const std::string & | speciesName, |
const std::string & | expressionStr | ||
) |
Definition at line 861 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSourceTerm | ( | const std::string & | speciesName, |
Util::Expression * | expression | ||
) |
Definition at line 883 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSpecie | ( | const Specie & | aSpecie | ) |
Definition at line 308 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 259 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 389 of file N_DEV_ReactionNetwork.h.
double Xyce::Device::ReactionNetwork::getBreakpointTime | ( | ) |
Definition at line 944 of file N_DEV_ReactionNetwork.C.
double Xyce::Device::ReactionNetwork::getCaptureLifetime | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< int > & | captureVect, | ||
double & | concentration | ||
) |
Definition at line 1155 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::getCaptureLifetimes | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< int > & | captureVect, | ||
double & | concentration, | ||
std::vector< double > & | lifetimes | ||
) |
Definition at line 1191 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 1098 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1119 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 435 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 331 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::getDdt | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< double > & | ddt | ||
) |
Definition at line 980 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 894 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 911 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::getDFdConst | ( | const std::string & | constantName, |
std::vector< double > & | concs, | ||
std::vector< double > & | constants, | ||
std::vector< double > & | dFdConst | ||
) |
Definition at line 1045 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 1001 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1018 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1034 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1055 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1076 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::getDRateDC | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< int > & | captureVect, | ||
std::vector< int > & | emissionVect, | ||
std::vector< double > & | dratedc | ||
) |
Definition at line 1234 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::getDRateDConst | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< int > & | captureVect, | ||
std::vector< int > & | emissionVect, | ||
std::vector< double > & | dratedc | ||
) |
Definition at line 1328 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 842 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 867 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 827 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 950 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 974 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 934 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 485 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::getJac | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< std::vector< double > > & | jac | ||
) |
Definition at line 1024 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::getJacobianVC | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< std::vector< double > > & | jac, | ||
std::vector< double > & | constVec | ||
) |
Definition at line 1076 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 304 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 472 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 291 of file N_DEV_ReactionNetwork.h.
double Xyce::Device::ReactionNetwork::getRate | ( | std::vector< double > & | concs, |
std::vector< double > & | constants, | ||
std::vector< int > & | captureVect, | ||
std::vector< int > & | emissionVect | ||
) |
Definition at line 1113 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 412 of file N_DEV_ReactionNetwork.h.
|
inlineprivate |
Definition at line 535 of file N_DEV_ReactionNetwork.h.
|
inlineprivate |
Definition at line 521 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 498 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 317 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 344 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 737 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 368 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::scaleRateConstant | ( | const std::string & | name, |
double | kscale | ||
) |
Definition at line 552 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::scaleRateConstantFromCalculator | ( | const std::string & | name | ) |
Definition at line 633 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::scaleRateConstantsFromCalc | ( | ) |
Definition at line 729 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 1138 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setBourgoinCorbettCalc | ( | const std::string & | speciesName, |
const std::string & | carrierName, | ||
double | sigma, | ||
double | hopDistance | ||
) |
Definition at line 1412 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 720 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 568 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setCoefficients | ( | double | Temp | ) |
Definition at line 827 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 670 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 684 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setConstants | ( | std::vector< Specie > & | theConstantsVect | ) |
Definition at line 284 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 697 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 580 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 631 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 619 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setFDElectronEmissionCalc | ( | const std::string & | name, |
double | sigma, | ||
double | E | ||
) |
Definition at line 1459 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setFDHoleEmissionCalc | ( | const std::string & | name, |
double | sigma, | ||
double | E | ||
) |
Definition at line 1484 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 599 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 650 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 148 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setMaterial | ( | MaterialLayer * | material, |
double | Temp | ||
) |
Definition at line 795 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 278 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setRateConstant | ( | const std::string & | name, |
double | k | ||
) |
Definition at line 528 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantFromCalculator | ( | const std::string & | name, |
double | T | ||
) |
Definition at line 578 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantFromCalculator | ( | const std::string & | name, |
double | T, | ||
std::vector< double > & | concs, | ||
std::vector< double > & | constant_vec | ||
) |
Definition at line 605 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantsFromCalc | ( | double | T | ) |
Definition at line 685 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantsFromCalc | ( | double | T, |
std::vector< double > & | concs, | ||
std::vector< double > & | constant_vec | ||
) |
Definition at line 707 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setReactionNetworkFromFile | ( | const NetlistLocation & | netlist_location, |
const std::string & | fileName | ||
) |
Definition at line 208 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRxnVariableCoeffs | ( | bool | variableCoeffs | ) |
Definition at line 843 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setScaleParams | ( | double | c, |
double | t, | ||
double | x | ||
) |
Definition at line 773 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 555 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setSimTime | ( | double | time | ) |
Definition at line 922 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 147 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setSpecies | ( | std::vector< Specie > & | theSpeciesVect | ) |
Definition at line 252 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::unscaleRateConstantFromCalculator | ( | const std::string & | name | ) |
Definition at line 659 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::unscaleRateConstantsFromCalc | ( | ) |
Definition at line 748 of file N_DEV_ReactionNetwork.C.
|
private |
Definition at line 248 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 242 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 228 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 227 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 234 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 236 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 235 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 237 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 229 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 239 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 240 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 245 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 233 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 232 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 231 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 241 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 226 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 225 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 243 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 230 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 238 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 246 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 244 of file N_DEV_ReactionNetwork.h.