Make me feel ancient. Would be nice to have the fortran binding though... Chris
> ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 10 Sep 2020 19:41:30 -0600 > From: Zhuo Chen <[email protected]> > 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? > Message-ID: > <cahjedn8hmgxttujk6yp0qfgpcmqmbvna0utfn4wd_au-0uj...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hi Hong, > > According to that very old thread, KSPGMRESSetOrthogonalization was not > implemented in Fortran. I did as you suggested and the compiler will tell > me > > undefined reference to `kspgmressetorthogonalization_' > > I think I will use the -ksp_gmres_modifiedgramschmidt method. Thank you so > much! > dr. ir. Christiaan Klaij | Senior Researcher | Research & Development MARIN | T +31 317 49 33 44 | mailto:[email protected] | http://www.marin.nl > On Thu, Sep 10, 2020 at 7:32 PM Zhang, Hong <[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]> 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]> on behalf of Zhuo > > Chen <[email protected]> > > *Sent:* Thursday, September 10, 2020 7:52 PM > > *To:* [email protected] <[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. > > > >
