[petsc-users] How to activate the modified Gram-Schmidt orthogonalization process in Fortran?

Barry Smith bsmith at petsc.dev
Thu Sep 10 20:38:13 CDT 2020


  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 <petsc-users at mcs.anl.gov> wrote:
> 
> Zhuo,
> Call 
> KSPSetType(ksp,KSPGMRES);
> KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization);
> Hong
> 
> From: Zhuo Chen <chenzhuotj at gmail.com>
> Sent: Thursday, September 10, 2020 8:17 PM
> To: Zhang, Hong <hzhang at mcs.anl.gov>
> Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
> 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 <hzhang at mcs.anl.gov <mailto:hzhang at mcs.anl.gov>> 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 <petsc-users-bounces at mcs.anl.gov <mailto:petsc-users-bounces at mcs.anl.gov>> on behalf of Zhuo Chen <chenzhuotj at gmail.com <mailto:chenzhuotj at gmail.com>>
> Sent: Thursday, September 10, 2020 7:52 PM
> To: petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov> <petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov>>
> 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/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200910/b0773419/attachment-0001.html>


More information about the petsc-users mailing list