Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::ReactionNetwork Class Reference

#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 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 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)
 
int getChargeState (const std::string &name)
 
int getChargeState (int specie)
 
void setApplySources (bool flag)
 

Private Member Functions

N_DEV_ReactiongetReaction (const std::string &name)
 
N_DEV_ReactiongetReaction (int i)
 

Private Attributes

std::map< std::string, int > speciesMap
 
std::vector< Speciespecies
 
std::map< std::string, int > constantsMap
 
std::vector< Specieconstants
 
std::vector< std::pair
< std::string, double > > 
initialConditions
 
std::vector< ReactiontheReactions
 
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
 

Detailed Description

Definition at line 74 of file N_DEV_ReactionNetwork.h.

Constructor & Destructor Documentation

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.

Xyce::Device::ReactionNetwork::~ReactionNetwork ( )
virtual

Definition at line 177 of file N_DEV_ReactionNetwork.C.

Member Function Documentation

void Xyce::Device::ReactionNetwork::addConstant ( const Specie aConstant)

Definition at line 335 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addInitialCondition ( const std::string &  speciesName,
double  value 
)
inline

Definition at line 436 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::addMasterSourceTerm ( const std::string &  speciesName)

Definition at line 813 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addProduct ( const std::string &  name,
const std::string &  reactant,
double  stoich 
)

Definition at line 482 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addReactant ( const std::string &  name,
const std::string &  reactant,
double  stoich 
)

Definition at line 423 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addReaction ( const std::string &  name)

Definition at line 352 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addReaction ( const std::string &  name,
N_DEV_Reaction reaction 
)

Definition at line 367 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addSourceTerm ( const std::string &  speciesName,
const std::string &  expressionStr 
)

Definition at line 770 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addSourceTerm ( const std::string &  speciesName,
Util::Expression *  expression 
)

Definition at line 792 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::addSpecie ( const Specie aSpecie)

Definition at line 318 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::clear ( )
inline

Definition at line 235 of file N_DEV_ReactionNetwork.h.

bool Xyce::Device::ReactionNetwork::constantExist ( const std::string &  name)
inline

Definition at line 365 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getBreakpointTime ( )

Definition at line 853 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 1027 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 1063 of file N_DEV_ReactionNetwork.C.

int Xyce::Device::ReactionNetwork::getChargeState ( const std::string &  name)
inline

Definition at line 995 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getChargeState ( int  specie)
inline

Definition at line 1016 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getConstantNum ( const std::string &  name)
inline

Definition at line 413 of file N_DEV_ReactionNetwork.h.

const std::string & Xyce::Device::ReactionNetwork::getConstantsName ( int  i)
inline

Definition at line 307 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 889 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::getDERateDC ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  dratedc 
)
inline

Definition at line 814 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::getDERateDConst ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  dratedConst 
)
inline

Definition at line 831 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 953 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::getDHRateDC ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  dratedc 
)
inline

Definition at line 921 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::getDHRateDConst ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  dratedConst 
)
inline

Definition at line 938 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getDiffusionCoefficient ( const std::string &  name,
const double  temp 
)
inline

Definition at line 954 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getDiffusionCoefficient ( int  specie,
const double  temp 
)
inline

Definition at line 975 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 1106 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 1173 of file N_DEV_ReactionNetwork.C.

double Xyce::Device::ReactionNetwork::getELifetime ( std::vector< double > &  concs,
std::vector< double > &  constants 
)
inline

Definition at line 762 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::getELifetimes ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  lifetimes 
)
inline

Definition at line 787 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getERate ( std::vector< double > &  concs,
std::vector< double > &  constants 
)
inline

Definition at line 747 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getHLifetime ( std::vector< double > &  concs,
std::vector< double > &  constants 
)
inline

Definition at line 870 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::getHLifetimes ( std::vector< double > &  concs,
std::vector< double > &  constants,
std::vector< double > &  lifetimes 
)
inline

Definition at line 894 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::getHRate ( std::vector< double > &  concs,
std::vector< double > &  constants 
)
inline

Definition at line 854 of file N_DEV_ReactionNetwork.h.

std::pair< std::string, double > Xyce::Device::ReactionNetwork::getInitialCondition ( int  i)
inline

Definition at line 463 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 933 of file N_DEV_ReactionNetwork.C.

int Xyce::Device::ReactionNetwork::getNumConstants ( )
inline

Definition at line 280 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getNumInitialConditions ( )
inline

Definition at line 450 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getNumSpecies ( )
inline

Definition at line 267 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 993 of file N_DEV_ReactionNetwork.C.

int Xyce::Device::ReactionNetwork::getReactantNum ( const std::string &  name)
inline

Definition at line 388 of file N_DEV_ReactionNetwork.h.

N_DEV_Reaction & Xyce::Device::ReactionNetwork::getReaction ( const std::string &  name)
inlineprivate

Definition at line 512 of file N_DEV_ReactionNetwork.h.

N_DEV_Reaction & Xyce::Device::ReactionNetwork::getReaction ( int  i)
inlineprivate

Definition at line 499 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getReactionNum ( const std::string  name)
inline

Definition at line 476 of file N_DEV_ReactionNetwork.h.

const std::string & Xyce::Device::ReactionNetwork::getSpeciesName ( int  i)
inline

Definition at line 293 of file N_DEV_ReactionNetwork.h.

int Xyce::Device::ReactionNetwork::getSpeciesNum ( const std::string &  name)
inline

Definition at line 320 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::output ( std::ostream &  os) const
inline

Definition at line 657 of file N_DEV_ReactionNetwork.h.

bool Xyce::Device::ReactionNetwork::reactantExist ( const std::string &  name)
inline

Definition at line 344 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::scaleRateConstant ( const std::string &  name,
double  kscale 
)

Definition at line 573 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::scaleRateConstantFromCalculator ( const std::string &  name)

Definition at line 629 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::scaleRateConstantsFromCalc ( )

Definition at line 704 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::setApplySources ( bool  flag)
inline

Definition at line 1035 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setCaptureCalc ( const std::string &  name,
double  sigma,
double  v 
)
inline

Definition at line 547 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setComplexCalc ( const std::string &  name)
inline

Definition at line 621 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setConstants ( std::vector< Specie > &  theConstantsVect)

Definition at line 294 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::setDecomplexCalc ( const std::string &  name,
double  bindingEnergy,
double  gammaAB,
double  gammaA,
double  gammaB,
double  concSi 
)
inline

Definition at line 634 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setElectronCaptureCalc ( const std::string &  name,
double  sigma 
)
inline

Definition at line 559 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setElectronEmissionCalc ( const std::string &  name,
double  sigma,
double  E 
)
inline

Definition at line 596 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setEmissionCalc ( const std::string &  name,
double  sigma,
double  v,
double  N,
double  E 
)
inline

Definition at line 584 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setHoleCaptureCalc ( const std::string &  name,
double  sigma 
)
inline

Definition at line 571 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setHoleEmissionCalc ( const std::string &  name,
double  sigma,
double  E 
)
inline

Definition at line 608 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setMasterSourceValue ( double  msv)
inline

Definition at line 132 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setName ( const std::string &  name)
inline

Definition at line 254 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setRateConstant ( const std::string &  name,
double  k 
)

Definition at line 547 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::setRateConstantFromCalculator ( const std::string &  name,
double  T 
)

Definition at line 601 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::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 748 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::setSimpleCalc ( const std::string &  name,
double  k 
)
inline

Definition at line 534 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setSimTime ( double  time)

Definition at line 831 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::setSourceScaleFac ( double  scf)
inline

Definition at line 131 of file N_DEV_ReactionNetwork.h.

void Xyce::Device::ReactionNetwork::setSpecies ( std::vector< Specie > &  theSpeciesVect)

Definition at line 262 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::unscaleRateConstantFromCalculator ( const std::string &  name)

Definition at line 657 of file N_DEV_ReactionNetwork.C.

void Xyce::Device::ReactionNetwork::unscaleRateConstantsFromCalc ( )

Definition at line 723 of file N_DEV_ReactionNetwork.C.

Member Data Documentation

bool Xyce::Device::ReactionNetwork::applySources
private

Definition at line 224 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::C0
private

Definition at line 220 of file N_DEV_ReactionNetwork.h.

std::vector<Specie> Xyce::Device::ReactionNetwork::constants
private

Definition at line 206 of file N_DEV_ReactionNetwork.h.

std::map<std::string,int> Xyce::Device::ReactionNetwork::constantsMap
private

Definition at line 205 of file N_DEV_ReactionNetwork.h.

std::vector<int> Xyce::Device::ReactionNetwork::electronCaptureReactions
private

Definition at line 212 of file N_DEV_ReactionNetwork.h.

std::vector<int> Xyce::Device::ReactionNetwork::electronEmissionReactions
private

Definition at line 214 of file N_DEV_ReactionNetwork.h.

std::vector<int> Xyce::Device::ReactionNetwork::holeCaptureReactions
private

Definition at line 213 of file N_DEV_ReactionNetwork.h.

std::vector<int> Xyce::Device::ReactionNetwork::holeEmissionReactions
private

Definition at line 215 of file N_DEV_ReactionNetwork.h.

std::vector<std::pair<std::string,double> > Xyce::Device::ReactionNetwork::initialConditions
private

Definition at line 207 of file N_DEV_ReactionNetwork.h.

std::vector<int> Xyce::Device::ReactionNetwork::masterSourceSpecies
private

Definition at line 217 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::masterSourceValue
private

Definition at line 218 of file N_DEV_ReactionNetwork.h.

std::string Xyce::Device::ReactionNetwork::myName
private

Definition at line 211 of file N_DEV_ReactionNetwork.h.

std::vector<std::string> Xyce::Device::ReactionNetwork::reactionNames
private

Definition at line 210 of file N_DEV_ReactionNetwork.h.

std::map<std::string,int> Xyce::Device::ReactionNetwork::reactionNamesMap
private

Definition at line 209 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::sourceScaleFac
private

Definition at line 219 of file N_DEV_ReactionNetwork.h.

std::vector<Specie> Xyce::Device::ReactionNetwork::species
private

Definition at line 204 of file N_DEV_ReactionNetwork.h.

std::map<std::string,int> Xyce::Device::ReactionNetwork::speciesMap
private

Definition at line 203 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::t0
private

Definition at line 221 of file N_DEV_ReactionNetwork.h.

std::vector<Reaction> Xyce::Device::ReactionNetwork::theReactions
private

Definition at line 208 of file N_DEV_ReactionNetwork.h.

std::vector< std::pair<int,Util::Expression *> > Xyce::Device::ReactionNetwork::theSourceTerms
private

Definition at line 216 of file N_DEV_ReactionNetwork.h.

double Xyce::Device::ReactionNetwork::x0
private

Definition at line 222 of file N_DEV_ReactionNetwork.h.


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