31 std::vector< std::map<int, CMFD_PRECISION> > _LIL;
37 CMFD_PRECISION* _DIAG;
47 omp_lock_t* _cell_locks;
50 void setNumX(
int num_x);
51 void setNumY(
int num_y);
52 void setNumZ(
int num_z);
53 void setNumGroups(
int num_groups);
56 Matrix(omp_lock_t* cell_locks,
int num_x=1,
int num_y=1,
int num_z=1,
61 void incrementValue(
int cell_from,
int group_from,
int cell_to,
int group_to,
68 CMFD_PRECISION
getValue(
int cell_from,
int group_from,
int cell_to,
70 CMFD_PRECISION*
getA();
83 void setValue(
int cell_from,
int group_from,
int cell_to,
int group_to,
int getNumY()
Get the number of cells in the y dimension.
Definition: Matrix.cpp:343
void clear()
Clear all values in the matrix list of lists.
Definition: Matrix.cpp:165
Math constants and comparision tolerances.
void printString()
Print the matrix object to the log file.
Definition: Matrix.cpp:234
Matrix(omp_lock_t *cell_locks, int num_x=1, int num_y=1, int num_z=1, int num_groups=1)
Constructor initializes Matrix as a vector of maps and sets the matrix dimensions.
Definition: Matrix.cpp:20
omp_lock_t * getCellLocks()
Return the array of cell locks for atomic cell operations.
Definition: Matrix.cpp:498
int getNumZ()
Get the number of cells in the z dimension.
Definition: Matrix.cpp:352
int getNumX()
Get the number of cells in the x dimension.
Definition: Matrix.cpp:334
int * getJA()
Get the JA component of the CSR form of the matrix object.
Definition: Matrix.cpp:308
int * getIA()
Get the IA component of the CSR form of the matrix object.
Definition: Matrix.cpp:295
int getNumRows()
Get the number of rows in the matrix.
Definition: Matrix.cpp:370
int getNNZ()
Get the number of non-zero values in the matrix.
Definition: Matrix.cpp:379
CMFD_PRECISION getValue(int cell_from, int group_from, int cell_to, int group_to)
Get a value in the matrix.
Definition: Matrix.cpp:270
void incrementValue(int cell_from, int group_from, int cell_to, int group_to, CMFD_PRECISION val)
Increment a value in the matrix.
Definition: Matrix.cpp:85
void setValue(int cell_from, int group_from, int cell_to, int group_to, CMFD_PRECISION val)
Set a value in the matrix.
Definition: Matrix.cpp:130
void transpose()
Transpose the matrix in place.
Definition: Matrix.cpp:453
CMFD_PRECISION * getA()
Get the A component of the CSR form of the matrix object.
Definition: Matrix.cpp:282
CMFD_PRECISION * getDiag()
Get the diagonal component of the matrix object.
Definition: Matrix.cpp:321
int getNumGroups()
Get the number of groups in each cell.
Definition: Matrix.cpp:361
Utility functions for writing log messages to the screen.
virtual ~Matrix()
Destructor clears list of lists and deletes the arrays used to represent the matrix in CSR form...
Definition: Matrix.cpp:52