Actual source code: spooles.h
1: /* $Id: spooles.h,v 1.46 2001/08/07 03:02:47 balay Exp $ */
3: #include src/mat/matimpl.h
8: EXTERN_C_BEGIN
9: #include "misc.h"
10: #include "FrontMtx.h"
11: #include "SymbFac.h"
12: #include "MPI/spoolesMPI.h"
13: EXTERN_C_END
15: typedef struct {
16: int msglvl,pivotingflag,symflag,seed,FrontMtxInfo;
17: int ordering,maxdomainsize,maxzeros,maxsize,
18: patchAndGoFlag,storeids,storevalues;
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: int *oldToNew,stats[20];
34: Spooles_options options;
36: /* Followings are used for MPI Spooles */
37: IV *ownersIV,*ownedColumnsIV,*vtxmapIV;
38: SolveMap *solvemap ;
39: DenseMtx *mtxY, *mtxX;
40: double *entX;
41: int *rowindX,rstart,firsttag,nmycol;
42: Vec vec_spooles;
43: IS iden,is_petsc;
44: VecScatter scat;
45: } Mat_Spooles;
47: EXTERN int SetSpoolesOptions(Mat, Spooles_options *);
48: EXTERN int MatFactorInfo_Spooles(Mat,PetscViewer);
50: EXTERN int MatDestroy_SeqAIJ_Spooles(Mat);
51: EXTERN int MatSolve_SeqAIJ_Spooles(Mat,Vec,Vec);
52: EXTERN int MatFactorNumeric_SeqAIJ_Spooles(Mat,Mat *);
54: EXTERN int MatDestroy_MPIAIJ_Spooles(Mat);
55: EXTERN int MatSolve_MPIAIJ_Spooles(Mat,Vec,Vec);
56: EXTERN int MatFactorNumeric_MPIAIJ_Spooles(Mat,Mat *);
58: #endif