55 bool hinesReorder(
const vector< unsigned int >& parentVoxel,
56 vector< unsigned int >& lookupOldRowsFromNew );
63 const vector< unsigned int >& lookupOldRowsFromNew,
65 vector< double >& diagVal );
74 const vector< unsigned int >& lookupOldRowFromNew );
90 const vector< unsigned int >& parentVoxel,
91 double diffConst,
double motorConst,
double dt );
98 const vector< unsigned int >& parentVoxel,
99 const vector< double >& volume,
100 const vector< double >& area,
101 const vector< double >& length,
102 double diffConst,
double motorConst,
double dt );
109 static void advance( vector< double >& y,
111 const vector< double >& diagVal );
115 vector< unsigned int >& col, vector< double >& entry );
void buildBackwardSub(vector< unsigned int > &diag, vector< Triplet< double > > &bops, vector< double > &diagVal)
static void advance(vector< double > &y, const vector< Triplet< double > > &ops, const vector< double > &diagVal)
bool hinesReorder(const vector< unsigned int > &parentVoxel, vector< unsigned int > &lookupOldRowsFromNew)
void shuffleRows(const vector< unsigned int > &lookupOldRowFromNew)
bool operator==(const FastMatrixElim &other) const
static void opsReorder(const vector< unsigned int > &lookupOldRowsFromNew, vector< Triplet< double > > &ops, vector< double > &diagVal)
bool checkSymmetricShape() const
void makeTestMatrix(const double *test, unsigned int numCompts)
void sortByColumn(vector< unsigned int > &col, vector< double > &entry)
void setDiffusionAndTransport(const vector< unsigned int > &parentVoxel, double diffConst, double motorConst, double dt)
bool buildForDiffusion(const vector< unsigned int > &parentVoxel, const vector< double > &volume, const vector< double > &area, const vector< double > &length, double diffConst, double motorConst, double dt)
This function makes the diffusion matrix.
void buildForwardElim(vector< unsigned int > &diag, vector< Triplet< double > > &fops)