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 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/ -- Zhuo Chen Department of Physics University of Alberta Edmonton Alberta, Canada T6G 2E1 http://www.pas.rochester.edu/~zchen25/
