Actual source code: tcqmrimpl.h
1: #pragma once
2: /*
3: Private include for tcqmr package
4: */
6: #include <petsc/private/kspimpl.h>
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