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

Zhang, Hong hzhang at mcs.anl.gov
Thu Sep 10 20:32:28 CDT 2020


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

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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200911/b3b9bcb7/attachment.html>


More information about the petsc-users mailing list