xref: /petsc/src/ksp/ksp/impls/gmres/gmpre.c (revision a1cb98fac0cdf0eb4d3e8a0c8b58f3fe8f800bc6)
1 
2 #include <../src/ksp/ksp/impls/gmres/gmresimpl.h> /*I  "petscksp.h"  I*/
3 
4 /*@
5     KSPGMRESSetPreAllocateVectors - Causes GMRES and FGMRES to preallocate all its
6     needed work vectors at initial setup rather than the default, which
7     is to allocate them in chunks when needed.
8 
9     Logically Collective on ksp
10 
11     Input Parameter:
12 .   ksp   - iterative context obtained from KSPCreate
13 
14     Options Database Key:
15 .   -ksp_gmres_preallocate - Activates KSPGmresSetPreAllocateVectors()
16 
17     Level: intermediate
18 
19 .seealso: [](chapter_ksp), `KSPGMRESSetRestart()`, `KSPGMRESSetOrthogonalization()`, `KSPGMRESGetOrthogonalization()`
20 @*/
21 PetscErrorCode KSPGMRESSetPreAllocateVectors(KSP ksp)
22 {
23   PetscFunctionBegin;
24   PetscTryMethod(ksp, "KSPGMRESSetPreAllocateVectors_C", (KSP), (ksp));
25   PetscFunctionReturn(0);
26 }
27