MPI-SCATCI  2.0
An MPI version of SCATCI
SLEPCDavidsonDiagonalizer_module.F90
Go to the documentation of this file.
1 ! Copyright 2019
2 !
3 ! For a comprehensive list of the developers that contributed to these codes
4 ! see the UK-AMOR website.
5 !
6 ! This file is part of UKRmol-in (UKRmol+ suite).
7 !
8 ! UKRmol-in is free software: you can redistribute it and/or modify
9 ! it under the terms of the GNU General Public License as published by
10 ! the Free Software Foundation, either version 3 of the License, or
11 ! (at your option) any later version.
12 !
13 ! UKRmol-in is distributed in the hope that it will be useful,
14 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ! GNU General Public License for more details.
17 !
18 ! You should have received a copy of the GNU General Public License
19 ! along with UKRmol-in (in source/COPYING). Alternatively, you can also visit
20 ! <https://www.gnu.org/licenses/>.
21 
34 
35  use const_gbl, only: stdout
37  use slepceps
38 
39  implicit none
40 
41 #include <finclude/slepceps.h>
42 
44 
45  private
46 
48  contains
49  procedure, public :: selecteps => select_davidson
50  end type
51 
52 contains
53 
54  subroutine select_davidson(this,eps)
55  class(slepcdavidsondiagonalizer) :: this
56  eps, intent(inout) :: eps
57  petscerrorcode :: ierr
58 
59  write(stdout,"('--------Generalized Davidson used as Diagonalizer------')")
60 
61  ! ** Create eigensolver context
62  !call PetscSetFPTrap(PETSC_FP_TRAP_ON, ierr)
63  call epssettype(eps, epsgd, ierr)
64  !call EPSGDSetDoubleExpansion(eps, PETSC_TRUE)
65  chkerrq(ierr)
66 
67  end subroutine select_davidson
68 
slepcdavidsondiagonalizer_module
Diagonalizer type using SLEPc (Davidson) backend.
Definition: SLEPCDavidsonDiagonalizer_module.F90:33
slepcdiagonalizer_module
Diagonalizer type using SLEPc backend.
Definition: SLEPCDiagonalizer_module.F90:30
slepcdavidsondiagonalizer_module::select_davidson
subroutine select_davidson(this, eps)
Definition: SLEPCDavidsonDiagonalizer_module.F90:55
slepcdavidsondiagonalizer_module::slepcdavidsondiagonalizer
Definition: SLEPCDavidsonDiagonalizer_module.F90:47
slepcdiagonalizer_module::slepcdiagonalizer
Definition: SLEPCDiagonalizer_module.F90:58