Zhuo,
I'll try to get it done after the incoming release. My hands are full with more 
urgent tasks at moment. I'll let you know after I'm done.
Thanks for your patience.
Hong

________________________________
From: Zhuo Chen <[email protected]>
Sent: Thursday, September 10, 2020 8:41 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,

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!

On Thu, Sep 10, 2020 at 7:32 PM Zhang, Hong 
<[email protected]<mailto:[email protected]>> wrote:
Zhuo,
Call
KSPSetType(ksp,KSPGMRES);
KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization);
Hong

________________________________
From: Zhuo Chen <[email protected]<mailto:[email protected]>>
Sent: Thursday, September 10, 2020 8:17 PM
To: Zhang, Hong <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[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/


--
Zhuo Chen
Department of Physics
University of Alberta
Edmonton Alberta, Canada T6G 2E1
http://www.pas.rochester.edu/~zchen25/

Reply via email to