Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 9cac0746 authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

update spm structure to handle variable DoF

parent d69836ef
No related branches found
No related tags found
No related merge requests found
......@@ -21,18 +21,23 @@
* @struct pastix_spm_s - Sparse matrix data structure
*/
struct pastix_spm_s {
int mtxtype; /*< Matrix structure: PastixGeneral, PastixSymmetric or PastixHermitian. */
int flttype; /*< avals datatype: PastixPattern, PastixFloat, PastixDouble, PastixComplex32 or PastixComplex64 */
int fmttype; /*< Matrix storage format: PastixCSC, PastixCSR, PastixIJV */
pastix_int_t gN; /*< Global number of vertices in the compressed graph */
pastix_int_t n; /*< Local number of vertices in the compressed graph */
pastix_int_t gnnz; /*< Global number of non zeroes in the compressed graph */
pastix_int_t nnz; /*< Local number of non zeroes in the compressed graph */
pastix_int_t dof; /*< Number of degrees of freedom per unknown */
pastix_int_t *colptr; /*< List of indirections to rows for each vertex */
pastix_int_t *rowptr; /*< List of edges for each vertex */
pastix_int_t *loc2glob; /*< Corresponding numbering from local to global */
void *values; /*< Values stored in the matrix */
int mtxtype; /*< Matrix structure: PastixGeneral, PastixSymmetric
or PastixHermitian. */
int flttype; /*< avals datatype: PastixPattern, PastixFloat, PastixDouble,
PastixComplex32 or PastixComplex64 */
int fmttype; /*< Matrix storage format: PastixCSC, PastixCSR, PastixIJV */
pastix_int_t gN; /*< Global number of vertices in the compressed graph */
pastix_int_t n; /*< Local number of vertices in the compressed graph */
pastix_int_t gnnz; /*< Global number of non zeroes in the compressed graph */
pastix_int_t nnz; /*< Local number of non zeroes in the compressed graph */
pastix_int_t dof; /*< Number of degrees of freedom per unknown,
if > 0, constant degree of freedom
otherwise, irregular degree of freedom (refer to dofs) */
pastix_int_t *dofs; /*< Number of degrees of freedom per unknown (NULL, if dof > 0) */
pastix_int_t *colptr; /*< List of indirections to rows for each vertex */
pastix_int_t *rowptr; /*< List of edges for each vertex */
pastix_int_t *loc2glob; /*< Corresponding numbering from local to global */
void *values; /*< Values stored in the matrix */
};
int
......@@ -56,7 +61,6 @@ csc_save( pastix_int_t n,
int spmLoad( pastix_spm_t *spm, FILE *infile );
int spmSave( pastix_spm_t *spm, FILE *outfile );
int spmGenRHS(int type, int nrhs, const pastix_spm_t *spm, void *x, int ldx, void *b, int ldb );
int spmCheckAxb( int nrhs, const pastix_spm_t *spm, void *x0, int ldx0, void *b, int ldb, const void *x, int ldx );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment