Xyce  6.1
Xyce::Device::MembraneUserDefined Class Reference

#include <N_DEV_MembraneUserDefined.h>

Inheritance diagram for Xyce::Device::MembraneUserDefined:
Collaboration diagram for Xyce::Device::MembraneUserDefined:

Public Member Functions

 MembraneUserDefined (const SolverState &ss1, double cMem, double gMem, double vRest, std::vector< std::string > &currentEqus, std::vector< std::string > &indepVars, std::vector< std::string > &fEqs, std::vector< std::string > &qEqs, std::vector< std::string > &extraFunctions, std::vector< std::string > &extraParameters)
 
 ~MembraneUserDefined ()
 
void updateSecondaryState (double *staDerivVec)
 
void setJacStamp (int numExtVars, int segmentNumber, int vOffset, std::vector< std::vector< int > > &segmentJacStamp)
 
void loadDAEQVector (int segmentNumber, std::vector< int > &lidIndexVector, Linear::Vector *solnVecPtr, Linear::Vector *daeQVecPtr, double segArea)
 
void loadDAEFVector (int segmentNumber, std::vector< int > &lidIndexVector, Linear::Vector *solnVecPtr, Linear::Vector *daeFVecPtr, double segArea)
 
void loadDAEdQdx (int segmentNumber, int vOffset, std::vector< int > &lidIndexVector, std::vector< std::vector< int > > &jacobianOffsets, Linear::Vector *solnVecPtr, Linear::Matrix *dQdxMatPtr, double segArea)
 
void loadDAEdFdx (int segmentNumber, int vOffset, std::vector< int > &lidIndexVector, std::vector< std::vector< int > > &jacobianOffsets, Linear::Vector *solnVecPtr, Linear::Matrix *dFdxMatPtr, double segArea)
 
- Public Member Functions inherited from Xyce::Device::MembraneModel
 MembraneModel (const SolverState &ss1)
 
 ~MembraneModel ()
 
int numVars ()
 

Public Attributes

double cMem_
 
double gMem_
 
double vRest_
 
Util::Expression * Exp_ptr
 
int expNumVars
 
int expBaseVar
 
int expNumDdt
 
std::list< std::string > evnList
 
std::vector< double > expVarDerivs
 
std::vector< double > myVarVals
 
std::vector< double > ddtVals
 
double expVal
 
- Public Attributes inherited from Xyce::Device::MembraneModel
int numIndependentVars_
 
double cMem_
 
double gMem_
 
double vRest_
 
const int numExternalVars_
 
const SolverStatesolState
 

Private Member Functions

void convertStringsToExpression (std::vector< std::string > &stringInput, std::vector< RCP< Util::Expression > > &expRCPOut)
 
void consolidateExpressions ()
 
void substituteParameters (std::vector< RCP< Util::Expression > > &expRCP_)
 
void substituteFunctions (std::vector< RCP< Util::Expression > > &expRCP_)
 
void convertSymbolsToVars (std::vector< RCP< Util::Expression > > &expRCP_, std::vector< std::vector< std::string > > &expNames, std::vector< std::vector< double > > &expValsVec)
 
void makeSymbolSet ()
 

Private Attributes

std::vector< std::string > currentEqus_
 
std::vector< std::string > indepVars_
 
std::vector< std::string > fEqs_
 
std::vector< std::string > qEqs_
 
std::vector< std::string > extraFunctions_
 
std::vector< std::string > extraParameters_
 
std::vector< RCP< Util::Expression > > currentEqusExpRCP_
 
std::vector< RCP< Util::Expression > > indepVarsExpRCP_
 
std::vector< RCP< Util::Expression > > fEqsExpRCP_
 
std::vector< RCP< Util::Expression > > qEqsExpRCP_
 
std::vector< RCP< Util::Expression > > extraFunctionsExpRCP_
 
std::vector< RCP< Util::Expression > > extraParametersExpRCP_
 
std::vector< std::string > paramNames_
 
std::vector< double > paramValues_
 
std::vector< std::string > funcNames_
 
std::vector< RCP< Util::Expression > > funcExpRCP_
 
std::vector< int > funcNumArgs_
 
std::vector< std::string > userDefinedNames_
 
std::map< std::string, int > indepVarOffset_
 
std::map< int, std::string > offsetToIndepVar_
 
std::vector< std::map< std::string, int > > systemJacOffset_
 
std::vector< std::vector< std::string > > currentEqusVarNames_
 
std::vector< std::vector< std::string > > fEqsEqusVarNames_
 
std::vector< std::vector< std::string > > qEqsEqusVarNames_
 
std::vector< std::vector< double > > currentEqusVarValues_
 
std::vector< std::vector< double > > fEqsEqusVarValues_
 
std::vector< std::vector< double > > qEqsEqusVarValues_
 

Detailed Description

Definition at line 68 of file N_DEV_MembraneUserDefined.h.

Constructor & Destructor Documentation

Xyce::Device::MembraneUserDefined::MembraneUserDefined ( const SolverState ss1,
double  cMem,
double  gMem,
double  vRest,
std::vector< std::string > &  currentEqus,
std::vector< std::string > &  indepVars,
std::vector< std::string > &  fEqs,
std::vector< std::string > &  qEqs,
std::vector< std::string > &  extraFunctions,
std::vector< std::string > &  extraParameters 
)

Definition at line 71 of file N_DEV_MembraneUserDefined.C.

Xyce::Device::MembraneUserDefined::~MembraneUserDefined ( )
inline

Definition at line 74 of file N_DEV_MembraneUserDefined.h.

Member Function Documentation

void Xyce::Device::MembraneUserDefined::consolidateExpressions ( )
private

Definition at line 583 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::convertStringsToExpression ( std::vector< std::string > &  stringInput,
std::vector< RCP< Util::Expression > > &  expRCPOut 
)
private

Definition at line 551 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::convertSymbolsToVars ( std::vector< RCP< Util::Expression > > &  expRCP_,
std::vector< std::vector< std::string > > &  expNames,
std::vector< std::vector< double > > &  expValsVec 
)
private

Definition at line 794 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::loadDAEdFdx ( int  segmentNumber,
int  vOffset,
std::vector< int > &  lidIndexVector,
std::vector< std::vector< int > > &  jacobianOffsets,
Linear::Vector *  solnVecPtr,
Linear::Matrix *  dFdxMatPtr,
double  segArea 
)
virtual

Reimplemented from Xyce::Device::MembraneModel.

Definition at line 451 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::loadDAEdQdx ( int  segmentNumber,
int  vOffset,
std::vector< int > &  lidIndexVector,
std::vector< std::vector< int > > &  jacobianOffsets,
Linear::Vector *  solnVecPtr,
Linear::Matrix *  dQdxMatPtr,
double  segArea 
)
virtual

Reimplemented from Xyce::Device::MembraneModel.

Definition at line 380 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::loadDAEFVector ( int  segmentNumber,
std::vector< int > &  lidIndexVector,
Linear::Vector *  solnVecPtr,
Linear::Vector *  daeFVecPtr,
double  segArea 
)
virtual

Reimplemented from Xyce::Device::MembraneModel.

Definition at line 308 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::loadDAEQVector ( int  segmentNumber,
std::vector< int > &  lidIndexVector,
Linear::Vector *  solnVecPtr,
Linear::Vector *  daeQVecPtr,
double  segArea 
)
virtual

Reimplemented from Xyce::Device::MembraneModel.

Definition at line 260 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::makeSymbolSet ( )
private

Definition at line 719 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::setJacStamp ( int  numExtVars,
int  segmentNumber,
int  vOffset,
std::vector< std::vector< int > > &  segmentJacStamp 
)
virtual

Reimplemented from Xyce::Device::MembraneModel.

Definition at line 110 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::substituteFunctions ( std::vector< RCP< Util::Expression > > &  expRCP_)
private

Definition at line 695 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::substituteParameters ( std::vector< RCP< Util::Expression > > &  expRCP_)
private

Definition at line 673 of file N_DEV_MembraneUserDefined.C.

void Xyce::Device::MembraneUserDefined::updateSecondaryState ( double *  staDerivVec)

Member Data Documentation

double Xyce::Device::MembraneUserDefined::cMem_

Definition at line 84 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::currentEqus_
private

Definition at line 102 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::currentEqusExpRCP_
private

Definition at line 109 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<std::string> > Xyce::Device::MembraneUserDefined::currentEqusVarNames_
private

Definition at line 130 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<double> > Xyce::Device::MembraneUserDefined::currentEqusVarValues_
private

Definition at line 136 of file N_DEV_MembraneUserDefined.h.

std::vector<double> Xyce::Device::MembraneUserDefined::ddtVals

Definition at line 98 of file N_DEV_MembraneUserDefined.h.

std::list<std::string> Xyce::Device::MembraneUserDefined::evnList

Definition at line 95 of file N_DEV_MembraneUserDefined.h.

Util::Expression* Xyce::Device::MembraneUserDefined::Exp_ptr

Definition at line 91 of file N_DEV_MembraneUserDefined.h.

int Xyce::Device::MembraneUserDefined::expBaseVar

Definition at line 93 of file N_DEV_MembraneUserDefined.h.

int Xyce::Device::MembraneUserDefined::expNumDdt

Definition at line 94 of file N_DEV_MembraneUserDefined.h.

int Xyce::Device::MembraneUserDefined::expNumVars

Definition at line 92 of file N_DEV_MembraneUserDefined.h.

double Xyce::Device::MembraneUserDefined::expVal

Definition at line 99 of file N_DEV_MembraneUserDefined.h.

std::vector<double> Xyce::Device::MembraneUserDefined::expVarDerivs

Definition at line 96 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::extraFunctions_
private

Definition at line 106 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::extraFunctionsExpRCP_
private

Definition at line 113 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::extraParameters_
private

Definition at line 107 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::extraParametersExpRCP_
private

Definition at line 114 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::fEqs_
private

Definition at line 104 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<std::string> > Xyce::Device::MembraneUserDefined::fEqsEqusVarNames_
private

Definition at line 131 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<double> > Xyce::Device::MembraneUserDefined::fEqsEqusVarValues_
private

Definition at line 137 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::fEqsExpRCP_
private

Definition at line 111 of file N_DEV_MembraneUserDefined.h.

std::vector< RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::funcExpRCP_
private

Definition at line 119 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::funcNames_
private

Definition at line 118 of file N_DEV_MembraneUserDefined.h.

std::vector< int > Xyce::Device::MembraneUserDefined::funcNumArgs_
private

Definition at line 120 of file N_DEV_MembraneUserDefined.h.

double Xyce::Device::MembraneUserDefined::gMem_

Definition at line 85 of file N_DEV_MembraneUserDefined.h.

std::map< std::string, int > Xyce::Device::MembraneUserDefined::indepVarOffset_
private

Definition at line 122 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::indepVars_
private

Definition at line 103 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::indepVarsExpRCP_
private

Definition at line 110 of file N_DEV_MembraneUserDefined.h.

std::vector<double> Xyce::Device::MembraneUserDefined::myVarVals

Definition at line 97 of file N_DEV_MembraneUserDefined.h.

std::map< int, std::string > Xyce::Device::MembraneUserDefined::offsetToIndepVar_
private

Definition at line 123 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::paramNames_
private

Definition at line 116 of file N_DEV_MembraneUserDefined.h.

std::vector<double> Xyce::Device::MembraneUserDefined::paramValues_
private

Definition at line 117 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::qEqs_
private

Definition at line 105 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<std::string> > Xyce::Device::MembraneUserDefined::qEqsEqusVarNames_
private

Definition at line 132 of file N_DEV_MembraneUserDefined.h.

std::vector< std::vector<double> > Xyce::Device::MembraneUserDefined::qEqsEqusVarValues_
private

Definition at line 138 of file N_DEV_MembraneUserDefined.h.

std::vector<RCP<Util::Expression> > Xyce::Device::MembraneUserDefined::qEqsExpRCP_
private

Definition at line 112 of file N_DEV_MembraneUserDefined.h.

std::vector< std::map< std::string, int > > Xyce::Device::MembraneUserDefined::systemJacOffset_
private

Definition at line 124 of file N_DEV_MembraneUserDefined.h.

std::vector<std::string> Xyce::Device::MembraneUserDefined::userDefinedNames_
private

Definition at line 121 of file N_DEV_MembraneUserDefined.h.

double Xyce::Device::MembraneUserDefined::vRest_

Definition at line 86 of file N_DEV_MembraneUserDefined.h.


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