/[escript]/trunk/paso/src/Solver.h
ViewVC logotype

Diff of /trunk/paso/src/Solver.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/esys2/paso/src/Solvers/Solver.h revision 150 by jgs, Thu Sep 15 03:44:45 2005 UTC trunk/paso/src/Solvers/Solver.h revision 430 by gross, Wed Jan 11 06:40:50 2006 UTC
# Line 13  Line 13 
13  #define SOLVER_MEMORY_ERROR -9  #define SOLVER_MEMORY_ERROR -9
14  #define SOLVER_BREAKDOWN -10  #define SOLVER_BREAKDOWN -10
15    
16  static double ONE=1;  static double ONE=1.;
17  static double ZERO=0;  static double ZERO=0.;
18  static double TOLERANCE_FOR_SCALARS=0;  static double TOLERANCE_FOR_SCALARS=0.;
19    
20  /* ILU preconditioner */  /* ILU preconditioner */
21  struct Paso_Solver_ILU {  struct Paso_Solver_ILU {
# Line 39  struct Paso_Solver_ILU { Line 39  struct Paso_Solver_ILU {
39  };  };
40  typedef struct Paso_Solver_ILU Paso_Solver_ILU;  typedef struct Paso_Solver_ILU Paso_Solver_ILU;
41    
42    /* RILU preconditioner */
43    struct Paso_Solver_RILU {
44      dim_t n;
45      dim_t n_block;
46      dim_t n_F;
47      dim_t n_C;
48      double* inv_A_FF;
49      index_t* A_FF_pivot;
50      Paso_SystemMatrix * A_FC;
51      Paso_SystemMatrix * A_CF;
52      index_t* rows_in_F;
53      index_t* rows_in_C;
54      index_t* mask_F;
55      index_t* mask_C;
56      double* x_F;
57      double* b_F;
58      double* x_C;
59      double* b_C;
60      struct Paso_Solver_RILU * RILU_of_Schur;
61    };
62    typedef struct Paso_Solver_RILU Paso_Solver_RILU;
63    
64    
65  /* jacobi  preconditioner */  /* jacobi  preconditioner */
66    
# Line 57  typedef struct Paso_Solver_Preconditione Line 79  typedef struct Paso_Solver_Preconditione
79    Paso_Solver_Jacobi* jacobi;    Paso_Solver_Jacobi* jacobi;
80    /* ilu preconditioner */    /* ilu preconditioner */
81    Paso_Solver_ILU* ilu;    Paso_Solver_ILU* ilu;
82      /* ilu preconditioner */
83      Paso_Solver_RILU* rilu;
84  } Paso_Solver_Preconditioner;  } Paso_Solver_Preconditioner;
85    
86  void Paso_Solver(Paso_SystemMatrix*,double*,double*,Paso_Options*);  void Paso_Solver(Paso_SystemMatrix*,double*,double*,Paso_Options*);
# Line 76  Paso_Solver_Jacobi* Paso_Solver_getJacob Line 100  Paso_Solver_Jacobi* Paso_Solver_getJacob
100  void Paso_Solver_solveJacobi(Paso_Solver_Jacobi * prec, double * x, double * b);  void Paso_Solver_solveJacobi(Paso_Solver_Jacobi * prec, double * x, double * b);
101  void Paso_Solver_Jacobi_free(Paso_Solver_Jacobi * in);  void Paso_Solver_Jacobi_free(Paso_Solver_Jacobi * in);
102    
   
   
103  #endif /* #ifndef INC_SOLVER */  #endif /* #ifndef INC_SOLVER */
   
 /*  
  * $Log$  
  * Revision 1.2  2005/09/15 03:44:40  jgs  
  * Merge of development branch dev-02 back to main trunk on 2005-09-15  
  *  
  * Revision 1.1.2.2  2005/09/07 00:59:09  gross  
  * some inconsistent renaming fixed to make the linking work.  
  *  
  * Revision 1.1.2.1  2005/09/05 06:29:50  gross  
  * These files have been extracted from finley to define a stand alone libray for iterative  
  * linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but  
  * has not been tested yet.  
  *  
  *  
  */  

Legend:
Removed from v.150  
changed lines
  Added in v.430

  ViewVC Help
Powered by ViewVC 1.1.26