[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