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

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

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

revision 3125 by gross, Tue Aug 31 05:37:30 2010 UTC revision 3140 by gross, Thu Sep 2 07:26:43 2010 UTC
# Line 162  struct Paso_Solver_AMLI_System { Line 162  struct Paso_Solver_AMLI_System {
162  typedef struct Paso_Solver_AMLI_System Paso_Solver_AMLI_System;  typedef struct Paso_Solver_AMLI_System Paso_Solver_AMLI_System;
163    
164    
 /* AMG preconditioner on blocks*/  
 struct Paso_Solver_AMG_System {  
     dim_t block_size;  
     Paso_SparseMatrix *block[MAX_BLOCK_SIZE];  
     Paso_Solver_AMG *amgblock[MAX_BLOCK_SIZE];  
 };  
 typedef struct Paso_Solver_AMG_System Paso_Solver_AMG_System;  
   
165  /* general preconditioner interface */  /* general preconditioner interface */
166    
167  typedef struct Paso_Solver_Preconditioner {  typedef struct Paso_Solver_Preconditioner {
# Line 186  typedef struct Paso_Solver_Preconditione Line 178  typedef struct Paso_Solver_Preconditione
178    Paso_Solver_RILU* rilu;    Paso_Solver_RILU* rilu;
179    /* amg preconditioner */    /* amg preconditioner */
180    Paso_Solver_AMG* amg;    Paso_Solver_AMG* amg;
   /* amg on System */  
   Paso_Solver_AMG_System* amgSystem;  
181    /* amg preconditioner */    /* amg preconditioner */
182    Paso_Solver_AMLI* amli;    Paso_Solver_AMLI* amli;
183    /* amg on System */    /* amg on System */
# Line 221  void Paso_Preconditioner_LocalGS_Sweep_s Line 211  void Paso_Preconditioner_LocalGS_Sweep_s
211  void Paso_Preconditioner_LocalGS_Sweep_tiled(Paso_SparseMatrix* A, Paso_Preconditioner_LocalGS * gs, double * x);  void Paso_Preconditioner_LocalGS_Sweep_tiled(Paso_SparseMatrix* A, Paso_Preconditioner_LocalGS * gs, double * x);
212  void Paso_Preconditioner_LocalGS_Sweep_colored(Paso_SparseMatrix* A, Paso_Preconditioner_LocalGS * gs, double * x);  void Paso_Preconditioner_LocalGS_Sweep_colored(Paso_SparseMatrix* A, Paso_Preconditioner_LocalGS * gs, double * x);
213    
214    /* AMG: */
215    void Paso_Solver_AMG_free(Paso_Solver_AMG * in);
216    Paso_Solver_AMG* Paso_Solver_getAMG(Paso_SparseMatrix * A_p,dim_t level,Paso_Options* options);
217    void Paso_Solver_solveAMG(Paso_Solver_AMG * amg, double * x, double * b);
218    
219  /*******************************************/  /*******************************************/
220  void Paso_Solver_ILU_free(Paso_Solver_ILU * in);  void Paso_Solver_ILU_free(Paso_Solver_ILU * in);
221  Paso_Solver_ILU* Paso_Solver_getILU(Paso_SparseMatrix * A_p,bool_t verbose);  Paso_Solver_ILU* Paso_Solver_getILU(Paso_SparseMatrix * A_p,bool_t verbose);
# Line 230  void Paso_Solver_RILU_free(Paso_Solver_R Line 225  void Paso_Solver_RILU_free(Paso_Solver_R
225  Paso_Solver_RILU* Paso_Solver_getRILU(Paso_SparseMatrix * A_p,bool_t verbose);  Paso_Solver_RILU* Paso_Solver_getRILU(Paso_SparseMatrix * A_p,bool_t verbose);
226  void Paso_Solver_solveRILU(Paso_Solver_RILU * rilu, double * x, double * b);  void Paso_Solver_solveRILU(Paso_Solver_RILU * rilu, double * x, double * b);
227    
228  void Paso_Solver_AMG_System_free(Paso_Solver_AMG_System * in);  
 void Paso_Solver_AMG_free(Paso_Solver_AMG * in);  
 Paso_Solver_AMG* Paso_Solver_getAMG(Paso_SparseMatrix * A_p,dim_t level,Paso_Options* options);  
 void Paso_Solver_solveAMG(Paso_Solver_AMG * amg, double * x, double * b);  
229    
230  void Paso_Solver_AMLI_System_free(Paso_Solver_AMLI_System * in);  void Paso_Solver_AMLI_System_free(Paso_Solver_AMLI_System * in);
231  void Paso_Solver_AMLI_free(Paso_Solver_AMLI * in);  void Paso_Solver_AMLI_free(Paso_Solver_AMLI * in);

Legend:
Removed from v.3125  
changed lines
  Added in v.3140

  ViewVC Help
Powered by ViewVC 1.1.26