Actual source code: spooles.h
4: #include <private/matimpl.h>
8: #include <misc.h>
9: #include <FrontMtx.h>
10: #include <SymbFac.h>
11: #include <MPI/spoolesMPI.h>
14: typedef struct {
15: PetscInt msglvl,pivotingflag,symflag,seed,FrontMtxInfo,typeflag;
16: PetscInt ordering,maxdomainsize,maxzeros,maxsize,
17: patchAndGoFlag,storeids,storevalues;
18: PetscBool useQR;
19: double tau,toosmall,fudge;
20: FILE *msgFile ;
21: } Spooles_options;
23: typedef struct {
24: /* Followings are used for seq and MPI Spooles */
25: InpMtx *mtxA ; /* coefficient matrix */
26: ETree *frontETree ; /* defines numeric and symbolic factorizations */
27: FrontMtx *frontmtx ; /* numeric L, D, U factor matrices */
28: IV *newToOldIV, *oldToNewIV ; /* permutation vectors */
29: IVL *symbfacIVL ; /* symbolic factorization */
30: SubMtxManager *mtxmanager ; /* working array */
31: MatStructure flg;
32: double cpus[20] ;
33: PetscInt *oldToNew,stats[20];
34: Spooles_options options;
35: Graph *graph;
37: /* Followings are used for MPI Spooles */
38: MPI_Comm comm_spooles; /* communicator to be passed to spooles */
39: IV *ownersIV,*ownedColumnsIV,*vtxmapIV;
40: SolveMap *solvemap;
41: DenseMtx *mtxY, *mtxX;
42: double *entX;
43: PetscInt *rowindX,rstart,firsttag,nmycol;
44: Vec vec_spooles;
45: IS iden,is_petsc;
46: VecScatter scat;
47:
48: PetscBool CleanUpSpooles,useQR;
49: } Mat_Spooles;
81: #endif