46 #include <Xyce_config.h>
54 #include <N_LAS_Vector.h>
55 #include <N_LAS_Matrix.h>
95 void MembraneCS::setJacStamp(
int numExtVars,
int segmentNumber,
int vOffset, std::vector< std::vector< int > > & segmentJacStamp )
98 int jacobianRowSize = segmentJacStamp[offset].size();
158 segmentJacStamp[offset][1] = offset;
159 segmentJacStamp[offset][2] = offset+1;
160 segmentJacStamp[offset][3] = offset+2;
161 segmentJacStamp[offset][4] = offset+3;
162 segmentJacStamp[offset][5] = offset+4;
163 segmentJacStamp[offset][6] = offset+5;
164 segmentJacStamp[offset][7] = offset+6;
165 segmentJacStamp[offset][8] = offset+7;
166 segmentJacStamp[offset][9] = offset+8;
179 segmentJacStamp[offset+1].resize(2);
180 segmentJacStamp[offset+1][0] = offset;
181 segmentJacStamp[offset+1][1] = offset+1;
182 segmentJacStamp[offset+2].resize(2);
183 segmentJacStamp[offset+2][0] = offset;
184 segmentJacStamp[offset+2][1] = offset+2;
185 segmentJacStamp[offset+3].resize(2);
186 segmentJacStamp[offset+3][0] = offset;
187 segmentJacStamp[offset+3][1] = offset+3;
188 segmentJacStamp[offset+4].resize(2);
189 segmentJacStamp[offset+4][0] = offset;
190 segmentJacStamp[offset+4][1] = offset+4;
191 segmentJacStamp[offset+5].resize(2);
192 segmentJacStamp[offset+5][0] = offset;
193 segmentJacStamp[offset+5][1] = offset+5;
194 segmentJacStamp[offset+6].resize(2);
195 segmentJacStamp[offset+6][0] = offset;
196 segmentJacStamp[offset+6][1] = offset+6;
197 segmentJacStamp[offset+7].resize(2);
198 segmentJacStamp[offset+7][0] = offset;
199 segmentJacStamp[offset+7][1] = offset+7;
200 segmentJacStamp[offset+8].resize(3);
201 segmentJacStamp[offset+8][0] = offset;
202 segmentJacStamp[offset+8][1] = offset+8;
203 segmentJacStamp[offset+8][2] = offset+9;
204 segmentJacStamp[offset+9].resize(4);
205 segmentJacStamp[offset+9][0] = offset;
206 segmentJacStamp[offset+9][1] = offset+6;
207 segmentJacStamp[offset+9][2] = offset+7;
208 segmentJacStamp[offset+9][3] = offset+9;
219 void MembraneCS::loadDAEQVector(
int segmentNumber, std::vector< int > & lidIndexVector, Linear::Vector * solnVecPtr, Linear::Vector * daeQVecPtr,
double segArea)
231 void MembraneCS::loadDAEFVector(
int segmentNumber, std::vector< int > & lidIndexVector, Linear::Vector * solnVecPtr, Linear::Vector * daeFVecPtr,
double segArea)
243 void MembraneCS::loadDAEdQdx(
int segmentNumber,
int vOffset, std::vector< int > & lidIndexVector, std::vector< std::vector< int > > & jacobianOffsets, Linear::Vector * solnVecPtr, Linear::Matrix * dQdxMatPtr,
double segArea)
255 void MembraneCS::loadDAEdFdx(
int segmentNumber,
int vOffset, std::vector< int > & lidIndexVector, std::vector< std::vector< int > > & jacobianOffsets, Linear::Vector * solnVecPtr, Linear::Matrix * dFdxMatPtr,
double segArea)
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)
Pure virtual class to augment a linear system.
void loadDAEdFdx(int segmentNumber, int vOffset, std::vector< int > &lidIndexVector, std::vector< std::vector< int > > &jacobianOffsets, Linear::Vector *solnVecPtr, Linear::Matrix *dFdxMatPtr, double segArea)
void loadDAEFVector(int segmentNumber, std::vector< int > &lidIndexVector, Linear::Vector *solnVecPtr, Linear::Vector *daeFVecPtr, double segArea)
MembraneCS(const SolverState &ss1)
void loadDAEdQdx(int segmentNumber, int vOffset, std::vector< int > &lidIndexVector, std::vector< std::vector< int > > &jacobianOffsets, Linear::Vector *solnVecPtr, Linear::Matrix *dQdxMatPtr, double segArea)