xref: /petsc/include/petscpc.h (revision d03aef7069bcb0e27d0e80434cf2f7d84882634f)
1*d03aef70SBarry Smith 
2*d03aef70SBarry Smith /*
3*d03aef70SBarry Smith       Preconditioner module.
4*d03aef70SBarry Smith */
5*d03aef70SBarry Smith #if !defined(__PC_PACKAGE)
6*d03aef70SBarry Smith #define __PC_PACKAGE
7*d03aef70SBarry Smith #include "petsc.h"
8*d03aef70SBarry Smith #include "mat.h"
9*d03aef70SBarry Smith 
10*d03aef70SBarry Smith typedef enum { PCNONE, PCJACOBI, PCSOR } PCMETHOD;
11*d03aef70SBarry Smith 
12*d03aef70SBarry Smith typedef struct _PC* PC;
13*d03aef70SBarry Smith 
14*d03aef70SBarry Smith int    PCCreate(PC*);
15*d03aef70SBarry Smith int    PCSetMethod(PC,PCMETHOD);
16*d03aef70SBarry Smith int    PCApply(void*,Vec,Vec);
17*d03aef70SBarry Smith int    PCSetUp(PC);
18*d03aef70SBarry Smith int    PCApplyRichardson(void *,Vec,Vec,Vec,int);
19*d03aef70SBarry Smith int    PCApplyRichardsonExists(PC);
20*d03aef70SBarry Smith int    PCRegisterAll();
21*d03aef70SBarry Smith int    PCRegister(PCMETHOD,char *,int (*)(PC));
22*d03aef70SBarry Smith int    PCDestroy(PC);
23*d03aef70SBarry Smith 
24*d03aef70SBarry Smith #endif
25