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