ParMooN
 All Classes Functions Variables Friends Pages
ParDiso.h
1 // =======================================================================
2 // @(#)ParDiso.h
3 //
4 // Class: TParDiso
5 // Purpose: Solve equation system by ParDiso routines
6 //
7 // Author: Sashikumaar Ganesan & Abdus Shamim (01.05.15)
8 //
9 // History: Start of implementation 01.05.15 (Sashikumaar Ganesan & Abdus Shamim)
10 //
11 // =======================================================================
12 
13 #ifdef _OMPONLY
14 
15 #ifndef __PARDISO__
16 #define __PARDISO__
17 
18 #include <Database.h>
19 // #include <SquareMatrix.h>
20 // #include <Matrix.h>
21 // #include <SquareMatrix3D.h>
22 // #include <Matrix3D.h>
23 // #include <ParFECommunicator3D.h>
24 
25 class TParDiso
26 {
27  protected:
28 
29  void *pt[64];
30  int iparam[64];
31  double dparam[64];
32  int phase, nrhs, Nmax_system, matrix_number, matrix_type, N_Eqns, N_Nz;
33  //csr format
34  int *RowPtr, *KCol;
35  int Solver;
36  int perm_user, msglvl, ierror;
37 
38  double idum, ddum;
39 
40  double *rhsptr,*solptr;
41 
42  public:
44  TParDiso(int neqns, int nnz, int* rowptr, int* kcol);
45 
46  void FactorizeAndSolve(double *Mat, double *rhs, double *sol,bool Factorize);
47 
48  void Solve(double *Mat, double *rhs, double *sol);
49 
50  void Clean(double *Mat);
51 
53  ~TParDiso();
54 };
55 #endif
56 
57 
58 #endif
TParDiso(int neqns, int nnz, int *rowptr, int *kcol)
Definition: ParDiso.C:55
Definition: ParDiso.h:25