46 #include <Xyce_config.h>
55 #include <N_LAS_Vector.h>
56 #include <N_LAS_Matrix.h>
127 void MembranePassive::loadDAEQVector(
int segmentNumber, std::vector< int > & lidIndexVector, Linear::Vector * solnVecPtr, Linear::Vector * daeQVecPtr,
double segArea)
132 (*daeQVecPtr)[lidIndexVector[segmentNumber]] +=
cMem_ * segArea * (*solnVecPtr)[lidIndexVector[segmentNumber]];
143 void MembranePassive::loadDAEFVector(
int segmentNumber, std::vector< int > & lidIndexVector, Linear::Vector * solnVecPtr, Linear::Vector * daeFVecPtr,
double segArea)
148 (*daeFVecPtr)[lidIndexVector[segmentNumber]] +=
gMem_ * segArea * ((*solnVecPtr)[lidIndexVector[segmentNumber]] -
vRest_ );
159 void MembranePassive::loadDAEdQdx(
int segmentNumber,
int vOffset, std::vector< int > & lidIndexVector, std::vector< std::vector< int > > & jacobianOffsets, Linear::Vector * solnVecPtr, Linear::Matrix * dQdxMatPtr,
double segArea)
171 (*dQdxMatPtr)[lidIndexVector[segmentNumber]][jacobianOffsets[row][vOffset]] +=
cMem_ * segArea;
182 void MembranePassive::loadDAEdFdx(
int segmentNumber,
int vOffset, std::vector< int > & lidIndexVector, std::vector< std::vector< int > > & jacobianOffsets, Linear::Vector * solnVecPtr, Linear::Matrix * dFdxMatPtr,
double segArea)
194 (*dFdxMatPtr)[lidIndexVector[segmentNumber]][jacobianOffsets[row][vOffset]] +=
gMem_ * 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)
Pure virtual class to augment a linear system.
const int numExternalVars_
void loadDAEFVector(int segmentNumber, std::vector< int > &lidIndexVector, Linear::Vector *solnVecPtr, Linear::Vector *daeFVecPtr, double segArea)
void loadDAEQVector(int segmentNumber, std::vector< int > &lidIndexVector, Linear::Vector *solnVecPtr, Linear::Vector *daeQVecPtr, double segArea)
void setJacStamp(int numExtVars, int segmentNumber, int vOffset, std::vector< std::vector< int > > &segmentJacStamp)
MembranePassive(const SolverState &ss1, double cMem, double gMem, double vRest)