Xyce  6.1
Xyce::Device::Region Class Reference

#include <N_DEV_Region.h>

Collaboration diagram for Xyce::Device::Region:

Public Member Functions

 Region (const NetlistLocation &netlist_location, RegionData &rd, const DeviceOptions &devOp, const SolverState &solst, bool sourceOn=true)
 
 Region (RegionData &rd, const DeviceOptions &devOp, const SolverState &solst, ReactionNetwork &reactionNet)
 
virtual ~Region ()
 
bool outputTecplot ()
 
void initializeReactionNetwork (ScalingVars &sv, MaterialLayer *material, double Temp)
 
void setInitialCondition (const std::string &name, const double val)
 
void setRateConstants (double T)
 
void setupScalingVars (ScalingVars &sv)
 
void scaleVariables ()
 
void unscaleVariables ()
 
void scaleRateConstants ()
 
void unscaleRateConstants ()
 
void addSource (std::string speciesName, Util::Expression *expr)
 
void addMasterSource (std::string speciesName)
 
void setMasterSourceValue (double msv)
 
void setSimTime (double time)
 
bool reactantExist (std::string reactantname)
 
bool constantExist (std::string constantname)
 
bool getDoNothingFlag ()
 
const InstanceNamegetName ()
 
double getBreakTime ()
 
void setupJacStamp (std::vector< std::vector< int > > &jacStamp, std::vector< int > &colDep, int &firstReactant, int &lastIndex)
 
void registerLIDs (const std::vector< int > &intLIDVec, const std::vector< int > &extLIDVec, int &intIndex)
 
void augmentNameMap (std::map< int, std::string > &intNameMap, DeviceInstance &di)
 
void loadNodeSymbols (Util::SymbolTable &symbol_table, const DeviceInstance &device_instance)
 
void registerStateLIDs (const std::vector< int > &staLIDVecRef, int &i)
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec, const std::vector< int > &map, const std::vector< std::vector< int > > &map2)
 
void setupPointers (Linear::Matrix &dfdx, Linear::Matrix &dqdx)
 
void updateIntermediateVars (double *solVector, double *oldSolVector, double time)
 
bool loadDAEQVector (double *qVec)
 
bool loadDAEFVector (double *fVec)
 
bool loadDAEdFdxdV (double *dfdxdv, double vdiff)
 
bool loadDAEdQdx (Linear::Matrix &dqdx)
 
bool loadDAEdFdx (Linear::Matrix &dfdx)
 
void loadErrorWeightMask (Linear::Vector &mask)
 
bool updateSecondaryState (double *staDeriv)
 
double getStateConcentration (int i)
 
bool haveAnyReactions ()
 
int getStateConcentrationLID (int i)
 
void setConstantConcentration (const std::string &constName, double value)
 
ReactionNetworkgetReactionNetwork ()
 
int getNumIntVars ()
 
int getNumSpecies ()
 
int getNumConstants ()
 
int getSpeciesLID (const std::string &name)
 
double getDiffusionCoefficient (const std::string &name, double temp)
 
double getDiffusionCoefficient (int specie, double temp)
 
double getConcentrationScaling ()
 
double getLengthScaling ()
 
int getSpeciesNum (const std::string &name)
 
const std::string & getSpeciesName (int i)
 
const std::string & getConstantsName (int i)
 
double getSpeciesVal (int i)
 
double getConstantsVal (int i)
 

Public Attributes

RegionDataregData
 

Protected Attributes

InstanceName name
 
std::string outputName
 
bool explicitCarrierFlag
 
bool useScaledVariablesFlag
 
bool variablesScaledFlag
 
bool rateConstantsScaledFlag
 
int callsOTEC
 
ReactionNetwork theReactions
 
std::vector< double > theConstantConcentrations
 
std::vector< double > tempConcentrations
 
std::vector< double > tempConcentrationDerivs
 
std::vector< double > initialConcentrations
 
std::vector< double > ddt
 
std::vector< std::vector< double > > tempJac
 
std::vector< std::vector< double > > tempAuxJac
 
int baseReactionIndex
 
std::vector< std::vector< double * > > dfdxConcEquConcVarPtrs
 
std::vector< std::vector< double * > > dqdxConcEquConcVarPtrs
 
std::vector< std::vector< double * > > dfdxConcEquAuxVarPtrs
 
std::vector< std::vector< double * > > dqdxConcEquAuxVarPtrs
 
std::vector< std::vector< int > > AConcentrationEquConcentrationNodeOffsets
 
std::vector< std::vector< int > > AConcentrationEquAuxNodeOffsets
 
std::vector< int > li_Concentrations
 
std::vector< int > li_state_Concentrations
 
double x0
 
double a0
 
double C0
 
double D0
 
double u0
 
double R0
 
double rR0
 
double t0
 
double k0
 
double rt0
 
double rk0
 
bool outputBefore1
 
bool outputBefore2
 
const DeviceOptionsdevOptions
 
const SolverStatesolState
 

Private Member Functions

void createDefaultReactionNetwork (const NetlistLocation &netlist_location, const std::string &reactionSpecFile)
 

Detailed Description

Definition at line 67 of file N_DEV_Region.h.

Constructor & Destructor Documentation

Xyce::Device::Region::Region ( const NetlistLocation &  netlist_location,
RegionData rd,
const DeviceOptions devOp,
const SolverState solst,
bool  sourceOn = true 
)

Definition at line 83 of file N_DEV_Region.C.

Xyce::Device::Region::Region ( RegionData rd,
const DeviceOptions devOp,
const SolverState solst,
ReactionNetwork reactionNet 
)

Definition at line 128 of file N_DEV_Region.C.

Xyce::Device::Region::~Region ( )
virtual

Definition at line 172 of file N_DEV_Region.C.

Member Function Documentation

void Xyce::Device::Region::addMasterSource ( std::string  speciesName)

Definition at line 292 of file N_DEV_Region.C.

void Xyce::Device::Region::addSource ( std::string  speciesName,
Util::Expression *  expr 
)

Definition at line 277 of file N_DEV_Region.C.

void Xyce::Device::Region::augmentNameMap ( std::map< int, std::string > &  intNameMap,
DeviceInstance di 
)

Definition at line 752 of file N_DEV_Region.C.

bool Xyce::Device::Region::constantExist ( std::string  constantname)
inline

Definition at line 108 of file N_DEV_Region.h.

void Xyce::Device::Region::createDefaultReactionNetwork ( const NetlistLocation &  netlist_location,
const std::string &  reactionSpecFile 
)
private

Definition at line 186 of file N_DEV_Region.C.

double Xyce::Device::Region::getBreakTime ( )

Definition at line 925 of file N_DEV_Region.C.

double Xyce::Device::Region::getConcentrationScaling ( )
inline

Definition at line 335 of file N_DEV_Region.h.

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

Definition at line 387 of file N_DEV_Region.h.

double Xyce::Device::Region::getConstantsVal ( int  i)
inline

Definition at line 413 of file N_DEV_Region.h.

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

Definition at line 304 of file N_DEV_Region.h.

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

Definition at line 320 of file N_DEV_Region.h.

bool Xyce::Device::Region::getDoNothingFlag ( )

Definition at line 910 of file N_DEV_Region.C.

double Xyce::Device::Region::getLengthScaling ( )
inline

Definition at line 348 of file N_DEV_Region.h.

const InstanceName& Xyce::Device::Region::getName ( )
inline

Definition at line 114 of file N_DEV_Region.h.

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

Definition at line 177 of file N_DEV_Region.h.

int Xyce::Device::Region::getNumIntVars ( )

Definition at line 1242 of file N_DEV_Region.C.

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

Definition at line 173 of file N_DEV_Region.h.

ReactionNetwork& Xyce::Device::Region::getReactionNetwork ( )
inline

Definition at line 165 of file N_DEV_Region.h.

int Xyce::Device::Region::getSpeciesLID ( const std::string &  name)
inline

Definition at line 290 of file N_DEV_Region.h.

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

Definition at line 374 of file N_DEV_Region.h.

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

Definition at line 361 of file N_DEV_Region.h.

double Xyce::Device::Region::getSpeciesVal ( int  i)
inline

Definition at line 400 of file N_DEV_Region.h.

double Xyce::Device::Region::getStateConcentration ( int  i)
inline

Definition at line 149 of file N_DEV_Region.h.

int Xyce::Device::Region::getStateConcentrationLID ( int  i)
inline

Definition at line 155 of file N_DEV_Region.h.

bool Xyce::Device::Region::haveAnyReactions ( )

Definition at line 1216 of file N_DEV_Region.C.

void Xyce::Device::Region::initializeReactionNetwork ( ScalingVars sv,
MaterialLayer material,
double  Temp 
)

Definition at line 206 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEdFdx ( Linear::Matrix &  dfdx)

Definition at line 1135 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEdFdxdV ( double *  dfdxdv,
double  vdiff 
)

Definition at line 1095 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEdQdx ( Linear::Matrix &  dqdx)

Definition at line 1108 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEFVector ( double *  fVec)

Definition at line 1060 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEQVector ( double *  qVec)

Definition at line 1013 of file N_DEV_Region.C.

void Xyce::Device::Region::loadErrorWeightMask ( Linear::Vector &  mask)
inline

Definition at line 142 of file N_DEV_Region.h.

void Xyce::Device::Region::loadNodeSymbols ( Util::SymbolTable &  symbol_table,
const DeviceInstance device_instance 
)

Definition at line 726 of file N_DEV_Region.C.

bool Xyce::Device::Region::outputTecplot ( )

Definition at line 541 of file N_DEV_Region.C.

bool Xyce::Device::Region::reactantExist ( std::string  reactantname)
inline

Definition at line 103 of file N_DEV_Region.h.

void Xyce::Device::Region::registerJacLIDs ( const std::vector< std::vector< int > > &  jacLIDVec,
const std::vector< int > &  map,
const std::vector< std::vector< int > > &  map2 
)

Definition at line 801 of file N_DEV_Region.C.

void Xyce::Device::Region::registerLIDs ( const std::vector< int > &  intLIDVec,
const std::vector< int > &  extLIDVec,
int &  intIndex 
)

Definition at line 687 of file N_DEV_Region.C.

void Xyce::Device::Region::registerStateLIDs ( const std::vector< int > &  staLIDVecRef,
int &  i 
)

Definition at line 779 of file N_DEV_Region.C.

void Xyce::Device::Region::scaleRateConstants ( )

Definition at line 511 of file N_DEV_Region.C.

void Xyce::Device::Region::scaleVariables ( )

Definition at line 397 of file N_DEV_Region.C.

void Xyce::Device::Region::setConstantConcentration ( const std::string &  constName,
double  value 
)
inline

Definition at line 275 of file N_DEV_Region.h.

void Xyce::Device::Region::setInitialCondition ( const std::string &  name,
const double  val 
)

Definition at line 263 of file N_DEV_Region.C.

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

Definition at line 100 of file N_DEV_Region.h.

void Xyce::Device::Region::setRateConstants ( double  T)

Definition at line 307 of file N_DEV_Region.C.

void Xyce::Device::Region::setSimTime ( double  time)
inline

Definition at line 101 of file N_DEV_Region.h.

void Xyce::Device::Region::setupJacStamp ( std::vector< std::vector< int > > &  jacStamp,
std::vector< int > &  colDep,
int &  firstReactant,
int &  lastIndex 
)

Definition at line 633 of file N_DEV_Region.C.

void Xyce::Device::Region::setupPointers ( Linear::Matrix &  dfdx,
Linear::Matrix &  dqdx 
)

Definition at line 849 of file N_DEV_Region.C.

void Xyce::Device::Region::setupScalingVars ( ScalingVars sv)

Definition at line 354 of file N_DEV_Region.C.

void Xyce::Device::Region::unscaleRateConstants ( )

Definition at line 526 of file N_DEV_Region.C.

void Xyce::Device::Region::unscaleVariables ( )

Definition at line 435 of file N_DEV_Region.C.

void Xyce::Device::Region::updateIntermediateVars ( double *  solVector,
double *  oldSolVector,
double  time 
)

Definition at line 943 of file N_DEV_Region.C.

bool Xyce::Device::Region::updateSecondaryState ( double *  staDeriv)

Definition at line 1173 of file N_DEV_Region.C.

Member Data Documentation

double Xyce::Device::Region::a0
protected

Definition at line 247 of file N_DEV_Region.h.

std::vector< std::vector<int> > Xyce::Device::Region::AConcentrationEquAuxNodeOffsets
protected

Definition at line 236 of file N_DEV_Region.h.

std::vector< std::vector<int> > Xyce::Device::Region::AConcentrationEquConcentrationNodeOffsets
protected

Definition at line 235 of file N_DEV_Region.h.

int Xyce::Device::Region::baseReactionIndex
protected

Definition at line 227 of file N_DEV_Region.h.

double Xyce::Device::Region::C0
protected

Definition at line 248 of file N_DEV_Region.h.

int Xyce::Device::Region::callsOTEC
protected

Definition at line 210 of file N_DEV_Region.h.

double Xyce::Device::Region::D0
protected

Definition at line 249 of file N_DEV_Region.h.

std::vector<double> Xyce::Device::Region::ddt
protected

Definition at line 223 of file N_DEV_Region.h.

const DeviceOptions& Xyce::Device::Region::devOptions
protected

Definition at line 261 of file N_DEV_Region.h.

std::vector< std::vector<double *> > Xyce::Device::Region::dfdxConcEquAuxVarPtrs
protected

Definition at line 232 of file N_DEV_Region.h.

std::vector< std::vector<double *> > Xyce::Device::Region::dfdxConcEquConcVarPtrs
protected

Definition at line 229 of file N_DEV_Region.h.

std::vector< std::vector<double *> > Xyce::Device::Region::dqdxConcEquAuxVarPtrs
protected

Definition at line 233 of file N_DEV_Region.h.

std::vector< std::vector<double *> > Xyce::Device::Region::dqdxConcEquConcVarPtrs
protected

Definition at line 230 of file N_DEV_Region.h.

bool Xyce::Device::Region::explicitCarrierFlag
protected

Definition at line 206 of file N_DEV_Region.h.

std::vector<double> Xyce::Device::Region::initialConcentrations
protected

Definition at line 222 of file N_DEV_Region.h.

double Xyce::Device::Region::k0
protected

Definition at line 254 of file N_DEV_Region.h.

std::vector<int> Xyce::Device::Region::li_Concentrations
protected

Definition at line 239 of file N_DEV_Region.h.

std::vector<int> Xyce::Device::Region::li_state_Concentrations
protected

Definition at line 243 of file N_DEV_Region.h.

InstanceName Xyce::Device::Region::name
protected

Definition at line 203 of file N_DEV_Region.h.

bool Xyce::Device::Region::outputBefore1
protected

Definition at line 258 of file N_DEV_Region.h.

bool Xyce::Device::Region::outputBefore2
protected

Definition at line 259 of file N_DEV_Region.h.

std::string Xyce::Device::Region::outputName
protected

Definition at line 204 of file N_DEV_Region.h.

double Xyce::Device::Region::R0
protected

Definition at line 251 of file N_DEV_Region.h.

bool Xyce::Device::Region::rateConstantsScaledFlag
protected

Definition at line 209 of file N_DEV_Region.h.

RegionData& Xyce::Device::Region::regData

Definition at line 199 of file N_DEV_Region.h.

double Xyce::Device::Region::rk0
protected

Definition at line 256 of file N_DEV_Region.h.

double Xyce::Device::Region::rR0
protected

Definition at line 252 of file N_DEV_Region.h.

double Xyce::Device::Region::rt0
protected

Definition at line 255 of file N_DEV_Region.h.

const SolverState& Xyce::Device::Region::solState
protected

Definition at line 262 of file N_DEV_Region.h.

double Xyce::Device::Region::t0
protected

Definition at line 253 of file N_DEV_Region.h.

std::vector< std::vector<double> > Xyce::Device::Region::tempAuxJac
protected

Definition at line 225 of file N_DEV_Region.h.

std::vector<double> Xyce::Device::Region::tempConcentrationDerivs
protected

Definition at line 220 of file N_DEV_Region.h.

std::vector<double> Xyce::Device::Region::tempConcentrations
protected

Definition at line 218 of file N_DEV_Region.h.

std::vector< std::vector<double> > Xyce::Device::Region::tempJac
protected

Definition at line 224 of file N_DEV_Region.h.

std::vector<double> Xyce::Device::Region::theConstantConcentrations
protected

Definition at line 215 of file N_DEV_Region.h.

ReactionNetwork Xyce::Device::Region::theReactions
protected

Definition at line 213 of file N_DEV_Region.h.

double Xyce::Device::Region::u0
protected

Definition at line 250 of file N_DEV_Region.h.

bool Xyce::Device::Region::useScaledVariablesFlag
protected

Definition at line 207 of file N_DEV_Region.h.

bool Xyce::Device::Region::variablesScaledFlag
protected

Definition at line 208 of file N_DEV_Region.h.

double Xyce::Device::Region::x0
protected

Definition at line 246 of file N_DEV_Region.h.


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