Actual source code: petscksp.h
1: !
2: ! "$Id: petscksp.h,v 1.32 2001/04/10 22:37:56 balay Exp $";
3: !
4: ! Include file for Fortran use of the KSP package in PETSc
5: !
6: #if !defined (__PETSCKSP_H)
9: #define KSP PetscFortranAddr
10: #define KSPType character*(80)
11: #define KSPCGType integer
12: #define KSPConvergedReason integer
13: !
14: ! Various Krylov subspace methods
15: !
16: #define KSPRICHARDSON 'richardson'
17: #define KSPCHEBYCHEV 'chebychev'
18: #define KSPCG 'cg'
19: #define KSPGMRES 'gmres'
20: #define KSPTCQMR 'tcqmr'
21: #define KSPBCGS 'bcgs'
22: #define KSPCGS 'cgs'
23: #define KSPTFQMR 'tfqmr'
24: #define KSPCR 'cr'
25: #define KSPLSQR 'lsqr'
26: #define KSPPREONLY 'preonly'
27: #define KSPQCG 'qcg'
28: #define KSPBICG 'bicg'
29: #define KSPFGMRES 'fgmres'
30: #define KSPMINRES 'minres'
31: #define KSPSYMMLQ 'symmlq'
32: #endif
35: #if !defined (PETSC_AVOID_DECLARATIONS)
37: !
38: ! CG Types
39: !
40: integer KSP_CG_SYMMETRIC,KSP_CG_HERMITIAN
42: parameter (KSP_CG_SYMMETRIC=1,KSP_CG_HERMITIAN=2)
44: integer KSP_CONVERGED_RTOL,KSP_CONVERGED_ATOL
45: integer KSP_CONVERGED_ITS
46: integer KSP_DIVERGED_ITS,KSP_DIVERGED_DTOL
47: integer KSP_DIVERGED_BREAKDOWN,KSP_CONVERGED_ITERATING
48: integer KSP_CONVERGED_QCG_NEG_CURVE
49: integer KSP_CONVERGED_QCG_CONSTRAINED
50: integer KSP_CONVERGED_STEP_LENGTH
51: integer KSP_DIVERGED_BREAKDOWN_BICG
52: integer KSP_DIVERGED_NONSYMMETRIC
53: integer KSP_DIVERGED_INDEFINITE_PC
55: parameter (KSP_CONVERGED_RTOL = 2)
56: parameter (KSP_CONVERGED_ATOL = 3)
57: parameter (KSP_CONVERGED_ITS = 4)
58: parameter (KSP_CONVERGED_QCG_NEG_CURVE = 5)
59: parameter (KSP_CONVERGED_QCG_CONSTRAINED = 6)
60: parameter (KSP_CONVERGED_STEP_LENGTH = 7)
62: parameter (KSP_DIVERGED_ITS = -3)
63: parameter (KSP_DIVERGED_DTOL = -4)
64: parameter (KSP_DIVERGED_BREAKDOWN = -5)
65: parameter (KSP_DIVERGED_BREAKDOWN_BICG = -6)
66: parameter (KSP_DIVERGED_NONSYMMETRIC = -7)
67: parameter (KSP_DIVERGED_INDEFINITE_PC = -8)
69: parameter (KSP_CONVERGED_ITERATING = 0)
70: !
71: !
72: ! Possible arguments to KSPSetMonitor()
73: !
74: external KSPDEFAULTCONVERGED
76: external KSPDEFAULTMONITOR
77: external KSPTRUEMONITOR
78: external KSPLGMONITOR
79: external KSPLGTRUEMONITOR
80: external KSPVECVIEWMONITOR
81: external KSPSINGULARVALUEMONITOR
83: ! End of Fortran include file for the KSP package in PETSc
85: #endif