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: #define KSPNormType integer
14: !
15: ! Various Krylov subspace methods
16: !
17: #define KSPRICHARDSON 'richardson'
18: #define KSPCHEBYCHEV 'chebychev'
19: #define KSPCG 'cg'
20: #define KSPGMRES 'gmres'
21: #define KSPTCQMR 'tcqmr'
22: #define KSPBCGS 'bcgs'
23: #define KSPCGS 'cgs'
24: #define KSPTFQMR 'tfqmr'
25: #define KSPCR 'cr'
26: #define KSPLSQR 'lsqr'
27: #define KSPPREONLY 'preonly'
28: #define KSPQCG 'qcg'
29: #define KSPBICG 'bicg'
30: #define KSPFGMRES 'fgmres'
31: #define KSPMINRES 'minres'
32: #define KSPSYMMLQ 'symmlq'
33: #endif
36: #if !defined (PETSC_AVOID_DECLARATIONS)
38: !
39: ! CG Types
40: !
41: integer KSP_CG_SYMMETRIC,KSP_CG_HERMITIAN
43: parameter (KSP_CG_SYMMETRIC=1,KSP_CG_HERMITIAN=2)
45: integer KSP_CONVERGED_RTOL,KSP_CONVERGED_ATOL
46: integer KSP_CONVERGED_ITS
47: integer KSP_DIVERGED_ITS,KSP_DIVERGED_DTOL
48: integer KSP_DIVERGED_BREAKDOWN,KSP_CONVERGED_ITERATING
49: integer KSP_CONVERGED_QCG_NEG_CURVE
50: integer KSP_CONVERGED_QCG_CONSTRAINED
51: integer KSP_CONVERGED_STEP_LENGTH
52: integer KSP_DIVERGED_BREAKDOWN_BICG
53: integer KSP_DIVERGED_NONSYMMETRIC
54: integer KSP_DIVERGED_INDEFINITE_PC
56: parameter (KSP_CONVERGED_RTOL = 2)
57: parameter (KSP_CONVERGED_ATOL = 3)
58: parameter (KSP_CONVERGED_ITS = 4)
59: parameter (KSP_CONVERGED_QCG_NEG_CURVE = 5)
60: parameter (KSP_CONVERGED_QCG_CONSTRAINED = 6)
61: parameter (KSP_CONVERGED_STEP_LENGTH = 7)
63: parameter (KSP_DIVERGED_ITS = -3)
64: parameter (KSP_DIVERGED_DTOL = -4)
65: parameter (KSP_DIVERGED_BREAKDOWN = -5)
66: parameter (KSP_DIVERGED_BREAKDOWN_BICG = -6)
67: parameter (KSP_DIVERGED_NONSYMMETRIC = -7)
68: parameter (KSP_DIVERGED_INDEFINITE_PC = -8)
70: parameter (KSP_CONVERGED_ITERATING = 0)
71: !
72: ! Possible arguments to KSPSetNormType()
73: !
74: integer KSP_NO_NORM
75: integer KSP_PRECONDITIONED_NORM
76: integer KSP_UNPRECONDITIONED_NORM
77: integer KSP_NATURAL_NORM
78:
79: parameter (KSP_NO_NORM=0)
80: parameter (KSP_PRECONDITIONED_NORM=1)
81: parameter (KSP_UNPRECONDITIONED_NORM=2)
82: parameter (KSP_NATURAL_NORM=3)
83: !
84: ! Possible arguments to KSPSetMonitor()
85: !
86: external KSPDEFAULTCONVERGED
87: external KSPDEFAULTMONITOR
88: external KSPTRUEMONITOR
89: external KSPLGMONITOR
90: external KSPLGTRUEMONITOR
91: external KSPVECVIEWMONITOR
92: external KSPSINGULARVALUEMONITOR
93: external KSPGMRESKRYLOVMONITOR
95: !PETSC_DEC_ATTRIBUTES(KSPDEFAULTCONVERGED,'_KSPDEFAULTCONVERGED')
96: !PETSC_DEC_ATTRIBUTES(KSPDEFAULTMONITOR,'_KSPDEFAULTMONITOR')
97: !PETSC_DEC_ATTRIBUTES(KSPTRUEMONITOR,'_KSPTRUEMONITOR')
98: !PETSC_DEC_ATTRIBUTES(KSPLGMONITOR,'_KSPLGMONITOR')
99: !PETSC_DEC_ATTRIBUTES(KSPLGTRUEMONITOR,'_KSPLGTRUEMONITOR')
100: !PETSC_DEC_ATTRIBUTES(KSPVECVIEWMONITOR,'_KSPVECVIEWMONITOR')
101: !PETSC_DEC_ATTRIBUTES(KSPSINGULARVALUEMONITOR,'_KSPSINGULARVALUEMONITOR')
102: !PETSC_DEC_ATTRIBUTES(KSPGMRESKRYLOVMONITOR,'_KSPGMRESKRYLOVMONITOR')
104: !
105: ! End of Fortran include file for the KSP package in PETSc
106: !
108: #endif