27 LOGICAL :: local_comp = .false., converged = .false.
28 INTEGER :: myproc = -1
30 INTEGER :: max_iter = -1
31 INTEGER :: current_step = -1
32 INTEGER :: nval_req = -1
33 INTEGER :: selection_crit = -1
34 INTEGER :: nval_out = -1
35 INTEGER :: nrestart = -1
36 REAL(
dp) :: threshold = 0.0_dp
37 LOGICAL :: symmetric = .false.
38 LOGICAL :: generalized_ev = .false.
39 LOGICAL :: iram = .false.
40 LOGICAL :: has_initial_vector = .false.
41 INTEGER,
DIMENSION(:),
POINTER :: selected_ind => null()
45 REAL(kind=
dp),
POINTER,
DIMENSION(:) :: f_vec => null()
46 REAL(kind=
dp),
POINTER,
DIMENSION(:, :) :: hessenberg => null()
47 REAL(kind=
dp),
POINTER,
DIMENSION(:, :) :: local_history => null()
48 COMPLEX(dp),
POINTER,
DIMENSION(:) :: evals => null()
49 COMPLEX(dp),
POINTER,
DIMENSION(:, :) :: revec => null()
50 REAL(kind=
dp) :: rho_scale = 0.0_dp
51 REAL(kind=
dp),
POINTER,
DIMENSION(:) :: x_vec => null()
55 TYPE(arnoldi_data_type),
POINTER,
PRIVATE :: data => null()
56 TYPE(arnoldi_control_type),
POINTER,
PRIVATE :: control => null()
68 CHARACTER(len=*),
PARAMETER,
PRIVATE :: modulen =
'arnoldi_types'
84 arnoldi_env%control => control
94 INTEGER,
DIMENSION(:),
POINTER :: selected_ind
96 selected_ind => arnoldi_env%control%selected_ind
109 ar_data => arnoldi_env%data
122 arnoldi_env%data => ar_data
135 control => arnoldi_env%control
146 COMPLEX(dp),
DIMENSION(:),
POINTER :: evals
148 evals => arnoldi_env%data%evals
collection of types used in arnoldi
complex(dp) function, dimension(:), pointer, public get_evals(arnoldi_env)
...
type(arnoldi_data_type) function, pointer, public get_data(arnoldi_env)
...
type(arnoldi_control_type) function, pointer, public get_control(arnoldi_env)
...
subroutine, public set_control(arnoldi_env, control)
...
subroutine, public set_data(arnoldi_env, ar_data)
...
integer function, dimension(:), pointer, public get_sel_ind(arnoldi_env)
...
Defines the basic variable types.
integer, parameter, public dp
Interface to the message passing library MPI.