xref: /petsc/src/ksp/ksp/impls/tcqmr/tcqmrimpl.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1 #pragma once
2 /*
3    Private include for tcqmr package
4  */
5 
6 #include <petsc/private/kspimpl.h>
7 
8 /* vector names */
9 #define VEC_OFFSET 0
10 #define VEC_SOLN   ksp->vec_sol
11 #define VEC_RHS    ksp->vec_rhs
12 #define b          VEC_RHS
13 #define x          VEC_SOLN
14 #define r          ksp->work[VEC_OFFSET + 1]
15 #define um1        ksp->work[VEC_OFFSET + 2]
16 #define u          ksp->work[VEC_OFFSET + 3]
17 #define vm1        ksp->work[VEC_OFFSET + 4]
18 #define v          ksp->work[VEC_OFFSET + 5]
19 #define v0         ksp->work[VEC_OFFSET + 6]
20 #define pvec1      ksp->work[VEC_OFFSET + 7]
21 #define pvec2      ksp->work[VEC_OFFSET + 8]
22 #define p          ksp->work[VEC_OFFSET + 9]
23 #define y          ksp->work[VEC_OFFSET + 10]
24 #define z          ksp->work[VEC_OFFSET + 11]
25 #define utmp       ksp->work[VEC_OFFSET + 12]
26 #define up1        ksp->work[VEC_OFFSET + 13]
27 #define vp1        ksp->work[VEC_OFFSET + 14]
28 #define pvec       ksp->work[VEC_OFFSET + 15]
29 #define vtmp       ksp->work[VEC_OFFSET + 16]
30 #define TCQMR_VECS 17
31