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 std::string &fileName) |
void | addReaction (const std::string &name) |
void | addReaction (const std::string &name, N_DEV_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 | setHoleCaptureCalc (const std::string &name, double sigma) |
void | setHoleEmissionCalc (const std::string &name, double sigma, double E) |
void | setComplexCalc (const std::string &name) |
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 | 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) |
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 | |
N_DEV_Reaction & | getReaction (const std::string &name) |
N_DEV_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 |
bool | applySources |
Definition at line 74 of file N_DEV_ReactionNetwork.h.
Xyce::Device::ReactionNetwork::ReactionNetwork | ( | const std::string & | name = "NoName" | ) |
Definition at line 111 of file N_DEV_ReactionNetwork.C.
Xyce::Device::ReactionNetwork::ReactionNetwork | ( | const ReactionNetwork & | right | ) |
Definition at line 130 of file N_DEV_ReactionNetwork.C.
|
virtual |
Definition at line 177 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addConstant | ( | const Specie & | aConstant | ) |
Definition at line 333 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 448 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::addMasterSourceTerm | ( | const std::string & | speciesName | ) |
Definition at line 842 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addProduct | ( | const std::string & | name, |
const std::string & | reactant, | ||
double | stoich | ||
) |
Definition at line 474 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReactant | ( | const std::string & | name, |
const std::string & | reactant, | ||
double | stoich | ||
) |
Definition at line 419 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReaction | ( | const std::string & | name | ) |
Definition at line 350 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addReaction | ( | const std::string & | name, |
N_DEV_Reaction & | reaction | ||
) |
Definition at line 365 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSourceTerm | ( | const std::string & | speciesName, |
const std::string & | expressionStr | ||
) |
Definition at line 799 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSourceTerm | ( | const std::string & | speciesName, |
Util::Expression * | expression | ||
) |
Definition at line 821 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::addSpecie | ( | const Specie & | aSpecie | ) |
Definition at line 316 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 247 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 377 of file N_DEV_ReactionNetwork.h.
double Xyce::Device::ReactionNetwork::getBreakpointTime | ( | ) |
Definition at line 882 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 1056 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 1092 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 1051 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1072 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 425 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 319 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 918 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 847 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 864 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 982 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 954 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 971 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 987 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1008 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 1029 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 1135 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 1202 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 795 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 820 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 780 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 903 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 927 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 887 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 475 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 962 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 292 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 462 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 279 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 1022 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 400 of file N_DEV_ReactionNetwork.h.
|
inlineprivate |
Definition at line 524 of file N_DEV_ReactionNetwork.h.
|
inlineprivate |
Definition at line 511 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 488 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 305 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 332 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 690 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 356 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::scaleRateConstant | ( | const std::string & | name, |
double | kscale | ||
) |
Definition at line 559 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::scaleRateConstantFromCalculator | ( | const std::string & | name | ) |
Definition at line 640 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::scaleRateConstantsFromCalc | ( | ) |
Definition at line 733 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 1091 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 1272 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 673 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 559 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 637 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setConstants | ( | std::vector< Specie > & | theConstantsVect | ) |
Definition at line 292 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 650 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 571 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 610 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 598 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 584 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 623 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 141 of file N_DEV_ReactionNetwork.h.
|
inline |
Definition at line 266 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setRateConstant | ( | const std::string & | name, |
double | k | ||
) |
Definition at line 535 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantFromCalculator | ( | const std::string & | name, |
double | T | ||
) |
Definition at line 585 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 612 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setRateConstantsFromCalc | ( | double | T | ) |
Definition at line 692 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 712 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setReactionNetworkFromFile | ( | const std::string & | fileName | ) |
Definition at line 209 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::setScaleParams | ( | double | c, |
double | t, | ||
double | x | ||
) |
Definition at line 777 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 546 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setSimTime | ( | double | time | ) |
Definition at line 860 of file N_DEV_ReactionNetwork.C.
|
inline |
Definition at line 140 of file N_DEV_ReactionNetwork.h.
void Xyce::Device::ReactionNetwork::setSpecies | ( | std::vector< Specie > & | theSpeciesVect | ) |
Definition at line 260 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::unscaleRateConstantFromCalculator | ( | const std::string & | name | ) |
Definition at line 666 of file N_DEV_ReactionNetwork.C.
void Xyce::Device::ReactionNetwork::unscaleRateConstantsFromCalc | ( | ) |
Definition at line 752 of file N_DEV_ReactionNetwork.C.
|
private |
Definition at line 236 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 232 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 218 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 217 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 224 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 227 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 219 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 229 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 230 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 223 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 222 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 221 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 231 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 216 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 215 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 233 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 220 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 228 of file N_DEV_ReactionNetwork.h.
|
private |
Definition at line 234 of file N_DEV_ReactionNetwork.h.