The options database option should work also. Are you calling KSPSetFromOptions()?
Also -ksp_view should include information about the orthogonalization used. Barry > On Sep 10, 2020, at 8:32 PM, Zhang, Hong via petsc-users > <[email protected]> wrote: > > Zhuo, > Call > KSPSetType(ksp,KSPGMRES); > KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization); > Hong > > From: Zhuo Chen <[email protected]> > Sent: Thursday, September 10, 2020 8:17 PM > To: Zhang, Hong <[email protected]> > Cc: [email protected] <[email protected]> > Subject: Re: [petsc-users] How to activate the modified Gram-Schmidt > orthogonalization process in Fortran? > > Hi Hong, > > Thank you very much for your help. > > It seems that if I simply append -ksp_gmres_modifiedgramschmidt the warning > goes away. However > KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization,ierr) > has another issue. > > Error: Symbol ‘kspgmresmodifiedgramschmidtorthogonalization’ at (1) has no > IMPLICIT type > > Is it because the argument is too long? I am using gcc 8.4.0 instead of ifort > > On Thu, Sep 10, 2020 at 7:08 PM Zhang, Hong <[email protected] > <mailto:[email protected]>> wrote: > Zhuo, > Run your code with option '-ksp_gmres_modifiedgramschmidt'. For example, > petsc/src/ksp/ksp/tutorials > mpiexec -n 2 ./ex2 -ksp_view -ksp_gmres_modifiedgramschmidt > KSP Object: 2 MPI processes > type: gmres > restart=30, using Modified Gram-Schmidt Orthogonalization > happy breakdown tolerance 1e-30 > maximum iterations=10000, initial guess is zero > tolerances: relative=0.000138889, absolute=1e-50, divergence=10000. > left preconditioning > using PRECONDITIONED norm type for convergence test > PC Object: 2 MPI processes > type: bjacobi > ... > > You can call > KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization) > in your program. > > Hong > > From: petsc-users <[email protected] > <mailto:[email protected]>> on behalf of Zhuo Chen > <[email protected] <mailto:[email protected]>> > Sent: Thursday, September 10, 2020 7:52 PM > To: [email protected] <mailto:[email protected]> > <[email protected] <mailto:[email protected]>> > Subject: [petsc-users] How to activate the modified Gram-Schmidt > orthogonalization process in Fortran? > > Dear Petsc users, > > I found an ancient thread discussing this problem. > > https://lists.mcs.anl.gov/pipermail/petsc-users/2011-October/010607.html > <https://lists.mcs.anl.gov/pipermail/petsc-users/2011-October/010607.html> > > However, when I add > > call KSPSetType(ksp,KSPGMRES,ierr);CHKERRQ(ierr) > call > PetscOptionsSetValue(PETSC_NULL_OPTIONS,'-ksp_gmres_modifiedgramschmidt','1',ierr);CHKERRQ(ierr) > > the program will tell me > > WARNING! There are options you set that were not used! > WARNING! could be spelling mistake, etc! > There is one unused database option. It is: > Option left: name:-ksp_gmres_modifiedgramschmidt value: 1 > > I would like to know the most correct way to activate the modified > Gram-Schmidt orthogonalization process in Fortran. Thank you very much! > > Best regards. > > > > > -- > Zhuo Chen > Department of Physics > University of Alberta > Edmonton Alberta, Canada T6G 2E1 > http://www.pas.rochester.edu/~zchen25/ > <http://www.pas.rochester.edu/~zchen25/> > > > -- > Zhuo Chen > Department of Physics > University of Alberta > Edmonton Alberta, Canada T6G 2E1 > http://www.pas.rochester.edu/~zchen25/ > <http://www.pas.rochester.edu/~zchen25/>
