# Diff of /trunk/paso/src/SystemMatrix.h

revision 3641 by caltinay, Thu Sep 15 00:45:04 2011 UTC revision 3642 by caltinay, Thu Oct 27 03:41:51 2011 UTC
# Line 63  typedef struct Paso_SystemMatrix { Line 63  typedef struct Paso_SystemMatrix {
63
64    /* this comes into play when PASO is used */    /* this comes into play when PASO is used */
65    Paso_SparseMatrix* mainBlock;                      /* main block */    Paso_SparseMatrix* mainBlock;                      /* main block */
66    Paso_SparseMatrix* col_coupleBlock;                    /* coupling to naighbouring processors (row - col) */    Paso_SparseMatrix* col_coupleBlock;                    /* coupling to neighbouring processors (row - col) */
67    Paso_SparseMatrix* row_coupleBlock;                /* coupling to naighbouring processors (col - row)  */    Paso_SparseMatrix* row_coupleBlock;                /* coupling to neighbouring processors (col - row)  */
68    Paso_SparseMatrix* remote_coupleBlock;                /* coupling of rows-cols on naighbouring processors    Paso_SparseMatrix* remote_coupleBlock;                /* coupling of rows-cols on neighbouring processors
69                                                             don't assume that this is set */                                                             don't assume that this is set */
70
71    bool_t is_balanced;    bool_t is_balanced;
72    double *balance_vector; /* matrix may be balanced by a diagonal matrix D=diagonal(balance_vector)    double *balance_vector; /* matrix may be balanced by a diagonal matrix D=diagonal(balance_vector)
73                    if is_balanced is set, the matrix stored is D*A*D where A is the original matrix                    if is_balanced is set, the matrix stored is D*A*D where A is the original matrix.
74                        When the system of linear equations is solved we solve D*A*D*y=c.                        When the system of linear equations is solved we solve D*A*D*y=c.
75                        so to solve A*x=b one needs to set c=D*b and x=D*y. */                        So to solve A*x=b one needs to set c=D*b and x=D*y. */
76
77
78
79    index_t solver_package;  /* package controling the solver pointer */    index_t solver_package;  /* package controlling the solver pointer */
80    void* solver_p;  /* pointer to data needed by a solver */    void* solver_p;  /* pointer to data needed by a solver */
81
82    /* this is only used for a trilinos matrix */    /* this is only used for a trilinos matrix */

Legend:
 Removed from v.3641 changed lines Added in v.3642