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

#include <N_DEV_Region.h>

Collaboration diagram for Xyce::Device::Region:

Public Member Functions

 Region (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)
 
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 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 (N_LAS_Matrix &dfdx, N_LAS_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 (N_LAS_Matrix &dqdx)
 
bool loadDAEdFdx (N_LAS_Matrix &dfdx)
 
bool loadDeviceMask (N_LAS_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 std::string &reactionSpecFile)
 

Detailed Description

Definition at line 70 of file N_DEV_Region.h.

Constructor & Destructor Documentation

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

Definition at line 102 of file N_DEV_Region.C.

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

Definition at line 145 of file N_DEV_Region.C.

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

Definition at line 191 of file N_DEV_Region.C.

Member Function Documentation

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

Definition at line 314 of file N_DEV_Region.C.

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

Definition at line 299 of file N_DEV_Region.C.

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

Definition at line 754 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 std::string &  reactionSpecFile)
private

Definition at line 205 of file N_DEV_Region.C.

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

Definition at line 927 of file N_DEV_Region.C.

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

Definition at line 333 of file N_DEV_Region.h.

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

Definition at line 385 of file N_DEV_Region.h.

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

Definition at line 411 of file N_DEV_Region.h.

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

Definition at line 302 of file N_DEV_Region.h.

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

Definition at line 318 of file N_DEV_Region.h.

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

Definition at line 912 of file N_DEV_Region.C.

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

Definition at line 346 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 175 of file N_DEV_Region.h.

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

Definition at line 1243 of file N_DEV_Region.C.

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

Definition at line 171 of file N_DEV_Region.h.

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

Definition at line 163 of file N_DEV_Region.h.

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

Definition at line 288 of file N_DEV_Region.h.

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

Definition at line 372 of file N_DEV_Region.h.

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

Definition at line 359 of file N_DEV_Region.h.

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

Definition at line 398 of file N_DEV_Region.h.

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

Definition at line 147 of file N_DEV_Region.h.

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

Definition at line 153 of file N_DEV_Region.h.

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

Definition at line 1217 of file N_DEV_Region.C.

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

Definition at line 230 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEdFdx ( N_LAS_Matrix &  dfdx)

Definition at line 1136 of file N_DEV_Region.C.

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

Definition at line 1096 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDAEdQdx ( N_LAS_Matrix &  dqdx)

Definition at line 1109 of file N_DEV_Region.C.

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

Definition at line 1061 of file N_DEV_Region.C.

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

Definition at line 1014 of file N_DEV_Region.C.

bool Xyce::Device::Region::loadDeviceMask ( N_LAS_Vector &  mask)

Definition at line 1264 of file N_DEV_Region.C.

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

Definition at line 565 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 803 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 713 of file N_DEV_Region.C.

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

Definition at line 781 of file N_DEV_Region.C.

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

Definition at line 535 of file N_DEV_Region.C.

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

Definition at line 421 of file N_DEV_Region.C.

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

Definition at line 273 of file N_DEV_Region.h.

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

Definition at line 285 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 329 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 659 of file N_DEV_Region.C.

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

Definition at line 851 of file N_DEV_Region.C.

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

Definition at line 375 of file N_DEV_Region.C.

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

Definition at line 550 of file N_DEV_Region.C.

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

Definition at line 459 of file N_DEV_Region.C.

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

Definition at line 945 of file N_DEV_Region.C.

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

Definition at line 1174 of file N_DEV_Region.C.

Member Data Documentation

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

Definition at line 245 of file N_DEV_Region.h.

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

Definition at line 234 of file N_DEV_Region.h.

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

Definition at line 233 of file N_DEV_Region.h.

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

Definition at line 225 of file N_DEV_Region.h.

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

Definition at line 246 of file N_DEV_Region.h.

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

Definition at line 208 of file N_DEV_Region.h.

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

Definition at line 247 of file N_DEV_Region.h.

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

Definition at line 221 of file N_DEV_Region.h.

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

Definition at line 259 of file N_DEV_Region.h.

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

Definition at line 230 of file N_DEV_Region.h.

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

Definition at line 227 of file N_DEV_Region.h.

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

Definition at line 231 of file N_DEV_Region.h.

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

Definition at line 228 of file N_DEV_Region.h.

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

Definition at line 204 of file N_DEV_Region.h.

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

Definition at line 220 of file N_DEV_Region.h.

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

Definition at line 252 of file N_DEV_Region.h.

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

Definition at line 237 of file N_DEV_Region.h.

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

Definition at line 241 of file N_DEV_Region.h.

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

Definition at line 201 of file N_DEV_Region.h.

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

Definition at line 256 of file N_DEV_Region.h.

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

Definition at line 257 of file N_DEV_Region.h.

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

Definition at line 202 of file N_DEV_Region.h.

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

Definition at line 249 of file N_DEV_Region.h.

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

Definition at line 207 of file N_DEV_Region.h.

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

Definition at line 197 of file N_DEV_Region.h.

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

Definition at line 254 of file N_DEV_Region.h.

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

Definition at line 250 of file N_DEV_Region.h.

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

Definition at line 253 of file N_DEV_Region.h.

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

Definition at line 260 of file N_DEV_Region.h.

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

Definition at line 251 of file N_DEV_Region.h.

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

Definition at line 223 of file N_DEV_Region.h.

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

Definition at line 218 of file N_DEV_Region.h.

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

Definition at line 216 of file N_DEV_Region.h.

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

Definition at line 222 of file N_DEV_Region.h.

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

Definition at line 213 of file N_DEV_Region.h.

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

Definition at line 211 of file N_DEV_Region.h.

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

Definition at line 248 of file N_DEV_Region.h.

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

Definition at line 205 of file N_DEV_Region.h.

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

Definition at line 206 of file N_DEV_Region.h.

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

Definition at line 244 of file N_DEV_Region.h.


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