Add more initializers (#2896)

This commit is contained in:
Frederick Stein 2023-08-04 17:09:41 +02:00 committed by GitHub
parent 28fd90ebcf
commit 2968ed4d97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 1369 additions and 1494 deletions

View file

@ -31,20 +31,20 @@ MODULE al_system_types
! **************************************************************************************************
TYPE al_thermo_type
INTEGER :: degrees_of_freedom
REAL(KIND=dp) :: nkt
REAL(KIND=dp) :: chi
REAL(KIND=dp) :: mass
REAL(KIND=dp) :: region_kin_energy
INTEGER :: degrees_of_freedom = 0
REAL(KIND=dp) :: nkt = 0.0_dp
REAL(KIND=dp) :: chi = 0.0_dp
REAL(KIND=dp) :: mass = 0.0_dp
REAL(KIND=dp) :: region_kin_energy = 0.0_dp
END TYPE al_thermo_type
! **************************************************************************************************
TYPE al_system_type
INTEGER :: region, glob_num_al, loc_num_al
REAL(KIND=dp) :: tau_nh, tau_langevin, dt_fact
REAL(KIND=dp) :: dt
TYPE(al_thermo_type), POINTER :: nvt(:)
TYPE(map_info_type), POINTER :: map_info
INTEGER :: region = 0, glob_num_al = 0, loc_num_al = 0
REAL(KIND=dp) :: tau_nh = 0.0_dp, tau_langevin = 0.0_dp, dt_fact = 0.0_dp
REAL(KIND=dp) :: dt = 0.0_dp
TYPE(al_thermo_type), POINTER :: nvt(:) => NULL()
TYPE(map_info_type), POINTER :: map_info => NULL()
END TYPE al_system_type
! *** Global parameters ***

View file

@ -53,10 +53,10 @@ MODULE almo_scf_diis_types
TYPE almo_scf_diis_type
INTEGER :: diis_env_type
INTEGER :: diis_env_type = 0
INTEGER :: buffer_length
INTEGER :: max_buffer_length
INTEGER :: buffer_length = 0
INTEGER :: max_buffer_length = 0
!INTEGER, DIMENSION(:), ALLOCATABLE :: history_index
TYPE(dbcsr_type), DIMENSION(:), ALLOCATABLE :: m_var
@ -70,12 +70,12 @@ MODULE almo_scf_diis_types
TYPE(domain_submatrix_type), DIMENSION(:), ALLOCATABLE :: m_b
! insertion point
INTEGER :: in_point
INTEGER :: in_point = 0
! in order to calculate the overlap between error vectors
! it is desirable to know tensorial properties of the error
! vector, e.g. convariant, contravariant, orthogonal
INTEGER :: error_type
INTEGER :: error_type = 0
END TYPE almo_scf_diis_type

View file

@ -39,11 +39,11 @@ MODULE almo_scf_lbfgs_types
lbfgs_history_type
TYPE lbfgs_history_type
INTEGER :: nstore
INTEGER :: nstore = 0
! istore counts the total number of action=2 pushes
! istore is designed to become more than nstore eventually
! there are two counters: the main variable and gradient
INTEGER, DIMENSION(2) :: istore
INTEGER, DIMENSION(2) :: istore = 0
TYPE(dbcsr_type), DIMENSION(:, :, :), ALLOCATABLE :: matrix
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: rho
END TYPE lbfgs_history_type

View file

@ -48,11 +48,11 @@ MODULE almo_scf_types
! methods that add penalty terms to the energy functional
TYPE penalty_type
REAL(KIND=dp) :: final_determinant, penalty_strength, &
determinant_tolerance, penalty_strength_dec_factor, &
compactification_filter_start
INTEGER :: operator_type
LOGICAL :: virtual_nlmos
REAL(KIND=dp) :: final_determinant = 0.0_dp, penalty_strength = 0.0_dp, &
determinant_tolerance = 0.0_dp, penalty_strength_dec_factor = 0.0_dp, &
compactification_filter_start = 0.0_dp
INTEGER :: operator_type = 0
LOGICAL :: virtual_nlmos = .FALSE.
END TYPE penalty_type
@ -60,41 +60,41 @@ MODULE almo_scf_types
TYPE almo_analysis_type
! switch analysis on/off
LOGICAL :: do_analysis
LOGICAL :: do_analysis = .FALSE.
INTEGER :: frozen_mo_energy_term
INTEGER :: frozen_mo_energy_term = 0
END TYPE almo_analysis_type
TYPE optimizer_options_type
REAL(KIND=dp) :: eps_error, &
eps_error_early, &
lin_search_eps_error, &
lin_search_step_size_guess, &
rho_do_not_update, &
model_grad_norm_ratio, &
initial_trust_radius, &
max_trust_radius, &
neglect_threshold
REAL(KIND=dp) :: eps_error = 0.0_dp, &
eps_error_early = 0.0_dp, &
lin_search_eps_error = 0.0_dp, &
lin_search_step_size_guess = 0.0_dp, &
rho_do_not_update = 0.0_dp, &
model_grad_norm_ratio = 0.0_dp, &
initial_trust_radius = 0.0_dp, &
max_trust_radius = 0.0_dp, &
neglect_threshold = 0.0_dp
INTEGER :: optimizer_type ! diis, pcg, etc.
TYPE(penalty_type) :: opt_penalty
INTEGER :: optimizer_type = 0 ! diis, pcg, etc.
TYPE(penalty_type) :: opt_penalty = penalty_type()
INTEGER :: preconditioner, & ! preconditioner type
conjugator, & ! conjugator type
max_iter, &
max_iter_early, &
max_iter_outer_loop, &
trustr_algorithm, &
ndiis ! diis history length
INTEGER :: preconditioner = 0, & ! preconditioner type
conjugator = 0, & ! conjugator type
max_iter = 0, &
max_iter_early = 0, &
max_iter_outer_loop = 0, &
trustr_algorithm = 0, &
ndiis = 0 ! diis history length
LOGICAL :: early_stopping_on = .FALSE.
END TYPE optimizer_options_type
TYPE almo_scf_history_type
INTEGER :: istore, nstore
INTEGER :: istore = 0, nstore = 0
TYPE(dbcsr_type), DIMENSION(:, :), ALLOCATABLE :: matrix_p_up_down
!TYPE(dbcsr_type), DIMENSION(:, :), ALLOCATABLE :: matrix_x
TYPE(dbcsr_type), DIMENSION(:), ALLOCATABLE :: matrix_t
@ -103,12 +103,12 @@ MODULE almo_scf_types
! the structure contains general info about the system
TYPE almo_scf_env_type
TYPE(mp_para_env_type), POINTER :: para_env
TYPE(cp_blacs_env_type), POINTER :: blacs_env
TYPE(mp_para_env_type), POINTER :: para_env => NULL()
TYPE(cp_blacs_env_type), POINTER :: blacs_env => NULL()
INTEGER :: nspins, nelectrons_total, naos
INTEGER :: natoms, nmolecules
INTEGER, DIMENSION(2) :: nelectrons_spin
INTEGER :: nspins = 0, nelectrons_total = 0, naos = 0
INTEGER :: natoms = 0, nmolecules = 0
INTEGER, DIMENSION(2) :: nelectrons_spin = 0
! Definitions:
! I. Domain - a subset of basis functions (e.g. AOs),
@ -123,7 +123,7 @@ MODULE almo_scf_types
! It follows that the number of domains is equal to the number of groups
!
! Number of domains
INTEGER :: ndomains
INTEGER :: ndomains = 0
! List of atoms, whose basis functions are included into the domain.
! It is assumed that:
@ -177,9 +177,9 @@ MODULE almo_scf_types
! 2. Electrons can be grouped into:
! a. molecular sets
! b. atomic sets
INTEGER :: domain_layout_mos, domain_layout_aos
INTEGER :: domain_layout_mos = 0, domain_layout_aos = 0
! ALMO constraint type.
INTEGER :: constraint_type
INTEGER :: constraint_type = 0
! Desciptors of molecules
!INTEGER, DIMENSION(:), ALLOCATABLE :: molecule_index_of_atom
@ -201,25 +201,25 @@ MODULE almo_scf_types
! molecular blocks. Domain blocks should be equal or larger than
! the distribution blocks (otherwise retain_sparsity does not work).
! Possible values: almo_mat_distr_atomic, almo_mat_distr_molecular
INTEGER :: mat_distr_aos, mat_distr_mos
INTEGER :: mat_distr_aos = 0, mat_distr_mos = 0
! Define mappping from a distribution block to a domain
INTEGER, DIMENSION(:), ALLOCATABLE :: domain_index_of_ao_block
INTEGER, DIMENSION(:), ALLOCATABLE :: domain_index_of_mo_block
LOGICAL :: need_previous_ks
LOGICAL :: need_virtuals
LOGICAL :: need_orbital_energies
LOGICAL :: s_inv_done
LOGICAL :: s_sqrt_done
REAL(KIND=dp) :: almo_scf_energy
LOGICAL :: orthogonal_basis, fixed_mu
LOGICAL :: return_orthogonalized_mos, construct_nlmos
LOGICAL :: need_previous_ks = .FALSE.
LOGICAL :: need_virtuals = .FALSE.
LOGICAL :: need_orbital_energies = .FALSE.
LOGICAL :: s_inv_done = .FALSE.
LOGICAL :: s_sqrt_done = .FALSE.
REAL(KIND=dp) :: almo_scf_energy = 0.0_dp
LOGICAL :: orthogonal_basis = .FALSE., fixed_mu = .FALSE.
LOGICAL :: return_orthogonalized_mos = .FALSE., construct_nlmos = .FALSE.
!! Smearing control
!! smear flag allow to retrieve eigenvalues in almo_scf with diag algorithm and create occupation-scaled ALMO orbitals
LOGICAL :: smear
LOGICAL :: smear = .FALSE.
!! store relevant smearing parameters
REAL(KIND=dp) :: smear_e_temp !! electronic temperature, required for Fermi-Dirac
REAL(KIND=dp) :: smear_e_temp = 0.0_dp !! electronic temperature, required for Fermi-Dirac
REAL(KIND=dp), DIMENSION(:), ALLOCATABLE :: kTS !! electronic entropy contribution of each spin system
!! mo_energies(imo, ispin) stores the eigenvalue corresponding to the orbital imo with spin ispin
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: mo_energies
@ -228,45 +228,45 @@ MODULE almo_scf_types
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: real_ne_of_domain
! Controls for the SCF procedure
REAL(KIND=dp) :: eps_filter
INTEGER :: xalmo_trial_wf
INTEGER :: almo_scf_guess
REAL(KIND=dp) :: eps_prev_guess
INTEGER :: order_lanczos
REAL(KIND=dp) :: matrix_iter_eps_error_factor
REAL(KIND=dp) :: eps_lanczos
INTEGER :: max_iter_lanczos
REAL(KIND=dp) :: mixing_fraction
REAL(KIND=dp) :: mu
REAL(KIND=dp) :: eps_filter = 0.0_dp
INTEGER :: xalmo_trial_wf = 0
INTEGER :: almo_scf_guess = 0
REAL(KIND=dp) :: eps_prev_guess = 0.0_dp
INTEGER :: order_lanczos = 0
REAL(KIND=dp) :: matrix_iter_eps_error_factor = 0.0_dp
REAL(KIND=dp) :: eps_lanczos = 0.0_dp
INTEGER :: max_iter_lanczos = 0
REAL(KIND=dp) :: mixing_fraction = 0.0_dp
REAL(KIND=dp) :: mu = 0.0_dp
! SCF procedure for the block-diagonal ALMOs
INTEGER :: almo_update_algorithm
INTEGER :: almo_update_algorithm = 0
! SCF procedure for the quenched ALMOs (xALMOs)
INTEGER :: xalmo_update_algorithm
INTEGER :: xalmo_update_algorithm = 0
! mo overlap inversion algorithm
INTEGER :: sigma_inv_algorithm
INTEGER :: sigma_inv_algorithm = 0
! Determinant of the ALMO overlap matrix
REAL(KIND=dp) :: overlap_determinant
REAL(KIND=dp) :: overlap_determinant = 0.0_dp
! ALMO SCF delocalization control
LOGICAL :: perturbative_delocalization
INTEGER :: quencher_radius_type
REAL(KIND=dp) :: quencher_r0_factor, &
quencher_r1_factor, &
LOGICAL :: perturbative_delocalization = .FALSE.
INTEGER :: quencher_radius_type = 0
REAL(KIND=dp) :: quencher_r0_factor = 0.0_dp, &
quencher_r1_factor = 0.0_dp, &
!quencher_r0_shift,&
!quencher_r1_shift,&
quencher_s0, &
quencher_s1, &
envelope_amplitude
quencher_s0 = 0.0_dp, &
quencher_s1 = 0.0_dp, &
envelope_amplitude = 0.0_dp
! guess options
TYPE(almo_scf_history_type) :: almo_history
TYPE(almo_scf_history_type) :: xalmo_history
INTEGER :: almo_extrapolation_order
INTEGER :: xalmo_extrapolation_order
TYPE(almo_scf_history_type) :: almo_history = almo_scf_history_type()
TYPE(almo_scf_history_type) :: xalmo_history = almo_scf_history_type()
INTEGER :: almo_extrapolation_order = 0
INTEGER :: xalmo_extrapolation_order = 0
! forces
LOGICAL :: calc_forces
LOGICAL :: calc_forces = .FALSE.
!!!!!!!!!!!!!!!!!!!!!!!
!!!!!! MATRICES !!!!!!!
@ -362,63 +362,63 @@ MODULE almo_scf_types
INTEGER, DIMENSION(:), ALLOCATABLE :: cpu_of_domain
! Options for various subsection options collected neatly
TYPE(almo_analysis_type) :: almo_analysis
TYPE(almo_analysis_type) :: almo_analysis = almo_analysis_type()
! Options for various optimizers collected neatly
TYPE(optimizer_options_type) :: opt_block_diag_diis
TYPE(optimizer_options_type) :: opt_block_diag_pcg
TYPE(optimizer_options_type) :: opt_xalmo_diis
TYPE(optimizer_options_type) :: opt_xalmo_pcg
TYPE(optimizer_options_type) :: opt_xalmo_trustr
TYPE(optimizer_options_type) :: opt_nlmo_pcg
TYPE(optimizer_options_type) :: opt_block_diag_trustr
TYPE(optimizer_options_type) :: opt_xalmo_newton_pcg_solver
TYPE(optimizer_options_type) :: opt_k_pcg
TYPE(optimizer_options_type) :: opt_block_diag_diis = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_block_diag_pcg = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_xalmo_diis = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_xalmo_pcg = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_xalmo_trustr = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_nlmo_pcg = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_block_diag_trustr = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_xalmo_newton_pcg_solver = optimizer_options_type()
TYPE(optimizer_options_type) :: opt_k_pcg = optimizer_options_type()
! keywords that control electron delocalization treatment
! RZK-warning: many of these varibles should be collected
! into an optimizer_options_type variable
INTEGER :: deloc_method
LOGICAL :: deloc_use_occ_orbs
LOGICAL :: deloc_cayley_use_virt_orbs
INTEGER :: deloc_cayley_tensor_type
LOGICAL :: deloc_cayley_linear
INTEGER :: deloc_cayley_conjugator
REAL(KIND=dp) :: deloc_cayley_eps_convergence
INTEGER :: deloc_cayley_max_iter
INTEGER :: deloc_truncate_virt
INTEGER :: deloc_virt_per_domain
LOGICAL :: deloc_cayley_occ_precond
LOGICAL :: deloc_cayley_vir_precond
INTEGER :: deloc_method = 0
LOGICAL :: deloc_use_occ_orbs = .FALSE.
LOGICAL :: deloc_cayley_use_virt_orbs = .FALSE.
INTEGER :: deloc_cayley_tensor_type = 0
LOGICAL :: deloc_cayley_linear = .FALSE.
INTEGER :: deloc_cayley_conjugator = 0
REAL(KIND=dp) :: deloc_cayley_eps_convergence = 0.0_dp
INTEGER :: deloc_cayley_max_iter = 0
INTEGER :: deloc_truncate_virt = 0
INTEGER :: deloc_virt_per_domain = 0
LOGICAL :: deloc_cayley_occ_precond = .FALSE.
LOGICAL :: deloc_cayley_vir_precond = .FALSE.
!! keywords that control optimization of retained orbitals
INTEGER :: opt_k_conjugator !-> conjugartor
REAL(KIND=dp) :: opt_k_eps_convergence !-> eps_error
REAL(KIND=dp) :: opt_k_trial_step_size !-> lin_search_step_size_guess
INTEGER :: opt_k_max_iter !-> max_iter
INTEGER :: opt_k_outer_max_iter !-> max_iter for a separate 'outer' optimizer
REAL(KIND=dp) :: opt_k_trial_step_size_multiplier !-> ?
INTEGER :: opt_k_conj_iter_start !-> ?
INTEGER :: opt_k_prec_iter_start !-> ?
INTEGER :: opt_k_conj_iter_freq !-> ?
INTEGER :: opt_k_prec_iter_freq !-> ?
INTEGER :: opt_k_conjugator = 0 !-> conjugartor
REAL(KIND=dp) :: opt_k_eps_convergence = 0.0_dp !-> eps_error
REAL(KIND=dp) :: opt_k_trial_step_size = 0.0_dp !-> lin_search_step_size_guess
INTEGER :: opt_k_max_iter = 0 !-> max_iter
INTEGER :: opt_k_outer_max_iter = 0 !-> max_iter for a separate 'outer' optimizer
REAL(KIND=dp) :: opt_k_trial_step_size_multiplier = 0.0_dp !-> ?
INTEGER :: opt_k_conj_iter_start = 0 !-> ?
INTEGER :: opt_k_prec_iter_start = 0 !-> ?
INTEGER :: opt_k_conj_iter_freq = 0 !-> ?
INTEGER :: opt_k_prec_iter_freq = 0 !-> ?
! development keywords
INTEGER :: integer01
INTEGER :: integer02
INTEGER :: integer03
INTEGER :: integer04
INTEGER :: integer05
REAL(KIND=dp) :: real01
REAL(KIND=dp) :: real02
REAL(KIND=dp) :: real03
REAL(KIND=dp) :: real04
REAL(KIND=dp) :: real05
LOGICAL :: logical01
LOGICAL :: logical02
LOGICAL :: logical03
LOGICAL :: logical04
LOGICAL :: logical05
INTEGER :: integer01 = 0
INTEGER :: integer02 = 0
INTEGER :: integer03 = 0
INTEGER :: integer04 = 0
INTEGER :: integer05 = 0
REAL(KIND=dp) :: real01 = 0.0_dp
REAL(KIND=dp) :: real02 = 0.0_dp
REAL(KIND=dp) :: real03 = 0.0_dp
REAL(KIND=dp) :: real04 = 0.0_dp
REAL(KIND=dp) :: real05 = 0.0_dp
LOGICAL :: logical01 = .FALSE.
LOGICAL :: logical02 = .FALSE.
LOGICAL :: logical03 = .FALSE.
LOGICAL :: logical04 = .FALSE.
LOGICAL :: logical05 = .FALSE.
END TYPE almo_scf_env_type

View file

@ -58,7 +58,7 @@ MODULE atom_fit
PUBLIC :: atom_fit_density, atom_fit_basis, atom_fit_pseudo, atom_fit_kgpot
TYPE wfn_init
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wfn
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wfn => NULL()
END TYPE wfn_init
CONTAINS

View file

@ -55,7 +55,7 @@ MODULE atom_grb
IMPLICIT NONE
TYPE basis_p_type
TYPE(atom_basis_type), POINTER :: basis
TYPE(atom_basis_type), POINTER :: basis => NULL()
END TYPE basis_p_type
PRIVATE

View file

@ -21,21 +21,21 @@ MODULE atom_optimization
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'atom_optimization'
TYPE hmat_type
REAL(dp) :: energy
REAL(dp) :: error
REAL(dp), DIMENSION(:, :, :), POINTER :: emat
REAL(dp), DIMENSION(:, :, :), POINTER :: fmat
REAL(dp), DIMENSION(:, :, :), POINTER :: pmat
REAL(dp) :: energy = 0.0_dp
REAL(dp) :: error = 0.0_dp
REAL(dp), DIMENSION(:, :, :), POINTER :: emat => NULL()
REAL(dp), DIMENSION(:, :, :), POINTER :: fmat => NULL()
REAL(dp), DIMENSION(:, :, :), POINTER :: pmat => NULL()
END TYPE hmat_type
TYPE atom_history_type
INTEGER :: max_history
INTEGER :: hlen
INTEGER :: hpos
REAL(dp) :: damping
REAL(dp) :: eps_diis
REAL(dp), DIMENSION(:, :), POINTER :: dmat
TYPE(hmat_type), DIMENSION(:), POINTER :: hmat
INTEGER :: max_history = 0
INTEGER :: hlen = 0
INTEGER :: hpos = 0
REAL(dp) :: damping = 0.0_dp
REAL(dp) :: eps_diis = 0.0_dp
REAL(dp), DIMENSION(:, :), POINTER :: dmat => NULL()
TYPE(hmat_type), DIMENSION(:), POINTER :: hmat => NULL()
END TYPE atom_history_type
PUBLIC :: atom_opt_fmat, &

View file

@ -36,21 +36,21 @@ MODULE atom_sgp
IMPLICIT NONE
TYPE atom_sgp_potential_type
LOGICAL :: has_nonlocal
INTEGER :: n_nonlocal
INTEGER :: lmax
LOGICAL :: has_nonlocal = .FALSE.
INTEGER :: n_nonlocal = 0
INTEGER :: lmax = 0
LOGICAL, DIMENSION(0:5) :: is_nonlocal = .FALSE.
REAL(KIND=dp), DIMENSION(:), POINTER :: a_nonlocal => Null()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: h_nonlocal => Null()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: c_nonlocal => Null()
LOGICAL :: has_local
INTEGER :: n_local
REAL(KIND=dp) :: zval
REAL(KIND=dp) :: ac_local
LOGICAL :: has_local = .FALSE.
INTEGER :: n_local = 0
REAL(KIND=dp) :: zval = 0.0_dp
REAL(KIND=dp) :: ac_local = 0.0_dp
REAL(KIND=dp), DIMENSION(:), POINTER :: a_local => Null()
REAL(KIND=dp), DIMENSION(:), POINTER :: c_local => Null()
LOGICAL :: has_nlcc
INTEGER :: n_nlcc
LOGICAL :: has_nlcc = .FALSE.
INTEGER :: n_nlcc = 0
REAL(KIND=dp), DIMENSION(:), POINTER :: a_nlcc => Null()
REAL(KIND=dp), DIMENSION(:), POINTER :: c_nlcc => Null()
END TYPE

View file

@ -30,10 +30,10 @@ MODULE atom_types
parser_create,&
parser_release
USE input_constants, ONLY: &
barrier_conf, contracted_gto, do_gapw_log, do_numeric, do_potential_coulomb, &
do_potential_long, do_potential_mix_cl, do_potential_short, do_semi_analytic, ecp_pseudo, &
gaussian, geometrical_gto, gth_pseudo, no_conf, no_pseudo, numerical, poly_conf, &
sgp_pseudo, slater, upf_pseudo
barrier_conf, contracted_gto, do_analytic, do_gapw_log, do_nonrel_atom, do_numeric, &
do_potential_coulomb, do_potential_long, do_potential_mix_cl, do_potential_short, &
do_rks_atom, do_semi_analytic, ecp_pseudo, gaussian, geometrical_gto, gth_pseudo, no_conf, &
no_pseudo, numerical, poly_conf, sgp_pseudo, slater, upf_pseudo
USE input_section_types, ONLY: section_vals_get,&
section_vals_get_subs_vals,&
section_vals_list_get,&
@ -76,118 +76,118 @@ MODULE atom_types
!> \brief Provides all information about a basis set
! **************************************************************************************************
TYPE atom_basis_type
INTEGER :: basis_type
INTEGER, DIMENSION(0:lmat) :: nbas
INTEGER, DIMENSION(0:lmat) :: nprim
REAL(KIND=dp), DIMENSION(:, :), POINTER :: am !GTO exponents
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: cm !Contraction coeffs
REAL(KIND=dp), DIMENSION(:, :), POINTER :: as !STO exponents
INTEGER, DIMENSION(:, :), POINTER :: ns !STO n-quantum numbers
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: bf !num. bsf
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dbf !derivatives (num)
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: ddbf !2nd derivatives (num)
REAL(KIND=dp) :: eps_eig
TYPE(grid_atom_type), POINTER :: grid
LOGICAL :: geometrical
REAL(KIND=dp) :: aval, cval
INTEGER, DIMENSION(0:lmat) :: start
INTEGER :: basis_type = GTO_BASIS
INTEGER, DIMENSION(0:lmat) :: nbas = 0
INTEGER, DIMENSION(0:lmat) :: nprim = 0
REAL(KIND=dp), DIMENSION(:, :), POINTER :: am => NULL() !GTO exponents
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: cm => NULL() !Contraction coeffs
REAL(KIND=dp), DIMENSION(:, :), POINTER :: as => NULL() !STO exponents
INTEGER, DIMENSION(:, :), POINTER :: ns => NULL() !STO n-quantum numbers
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: bf => NULL() !num. bsf
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dbf => NULL() !derivatives (num)
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: ddbf => NULL() !2nd derivatives (num)
REAL(KIND=dp) :: eps_eig = 0.0_dp
TYPE(grid_atom_type), POINTER :: grid => NULL()
LOGICAL :: geometrical = .FALSE.
REAL(KIND=dp) :: aval = 0.0_dp, cval = 0.0_dp
INTEGER, DIMENSION(0:lmat) :: start = 0
END TYPE atom_basis_type
!> \brief Provides all information about a pseudopotential
! **************************************************************************************************
TYPE atom_gthpot_type
CHARACTER(LEN=2) :: symbol
CHARACTER(LEN=default_string_length) :: pname
INTEGER, DIMENSION(0:lmat) :: econf
REAL(dp) :: zion
REAL(dp) :: rc
INTEGER :: ncl
REAL(dp), DIMENSION(5) :: cl
INTEGER, DIMENSION(0:lmat) :: nl
REAL(dp), DIMENSION(0:lmat) :: rcnl
REAL(dp), DIMENSION(4, 4, 0:lmat) :: hnl
CHARACTER(LEN=2) :: symbol = ""
CHARACTER(LEN=default_string_length) :: pname = ""
INTEGER, DIMENSION(0:lmat) :: econf = 0
REAL(dp) :: zion = 0.0_dp
REAL(dp) :: rc = 0.0_dp
INTEGER :: ncl = 0
REAL(dp), DIMENSION(5) :: cl = 0.0_dp
INTEGER, DIMENSION(0:lmat) :: nl = 0
REAL(dp), DIMENSION(0:lmat) :: rcnl = 0.0_dp
REAL(dp), DIMENSION(4, 4, 0:lmat) :: hnl = 0.0_dp
! type extensions
! NLCC
LOGICAL :: nlcc
INTEGER :: nexp_nlcc
REAL(KIND=dp), DIMENSION(10) :: alpha_nlcc
INTEGER, DIMENSION(10) :: nct_nlcc
REAL(KIND=dp), DIMENSION(4, 10) :: cval_nlcc
LOGICAL :: nlcc = .FALSE.
INTEGER :: nexp_nlcc = 0
REAL(KIND=dp), DIMENSION(10) :: alpha_nlcc = 0.0_dp
INTEGER, DIMENSION(10) :: nct_nlcc = 0
REAL(KIND=dp), DIMENSION(4, 10) :: cval_nlcc = 0.0_dp
! LSD potential
LOGICAL :: lsdpot
INTEGER :: nexp_lsd
REAL(KIND=dp), DIMENSION(10) :: alpha_lsd
INTEGER, DIMENSION(10) :: nct_lsd
REAL(KIND=dp), DIMENSION(4, 10) :: cval_lsd
LOGICAL :: lsdpot = .FALSE.
INTEGER :: nexp_lsd = 0
REAL(KIND=dp), DIMENSION(10) :: alpha_lsd = 0.0_dp
INTEGER, DIMENSION(10) :: nct_lsd = 0
REAL(KIND=dp), DIMENSION(4, 10) :: cval_lsd = 0.0_dp
! extended local potential
LOGICAL :: lpotextended
INTEGER :: nexp_lpot
REAL(KIND=dp), DIMENSION(10) :: alpha_lpot
INTEGER, DIMENSION(10) :: nct_lpot
REAL(KIND=dp), DIMENSION(4, 10) :: cval_lpot
LOGICAL :: lpotextended = .FALSE.
INTEGER :: nexp_lpot = 0
REAL(KIND=dp), DIMENSION(10) :: alpha_lpot = 0.0_dp
INTEGER, DIMENSION(10) :: nct_lpot = 0
REAL(KIND=dp), DIMENSION(4, 10) :: cval_lpot = 0.0_dp
END TYPE atom_gthpot_type
TYPE atom_ecppot_type
CHARACTER(LEN=2) :: symbol
CHARACTER(LEN=default_string_length) :: pname
INTEGER, DIMENSION(0:lmat) :: econf
REAL(dp) :: zion
INTEGER :: lmax
INTEGER :: nloc ! # terms
INTEGER, DIMENSION(1:10) :: nrloc ! r**(n-2)
REAL(dp), DIMENSION(1:10) :: aloc ! coefficient
REAL(dp), DIMENSION(1:10) :: bloc ! exponent
INTEGER, DIMENSION(0:10) :: npot ! # terms
INTEGER, DIMENSION(1:10, 0:10) :: nrpot ! r**(n-2)
REAL(dp), DIMENSION(1:10, 0:10) :: apot ! coefficient
REAL(dp), DIMENSION(1:10, 0:10) :: bpot ! exponent
CHARACTER(LEN=2) :: symbol = ""
CHARACTER(LEN=default_string_length) :: pname = ""
INTEGER, DIMENSION(0:lmat) :: econf = 0
REAL(dp) :: zion = 0.0_dp
INTEGER :: lmax = 0
INTEGER :: nloc = 0 ! # terms
INTEGER, DIMENSION(1:10) :: nrloc = 0 ! r**(n-2)
REAL(dp), DIMENSION(1:10) :: aloc = 0.0_dp ! coefficient
REAL(dp), DIMENSION(1:10) :: bloc = 0.0_dp ! exponent
INTEGER, DIMENSION(0:10) :: npot = 0 ! # terms
INTEGER, DIMENSION(1:10, 0:10) :: nrpot = 0 ! r**(n-2)
REAL(dp), DIMENSION(1:10, 0:10) :: apot = 0.0_dp ! coefficient
REAL(dp), DIMENSION(1:10, 0:10) :: bpot = 0.0_dp ! exponent
END TYPE atom_ecppot_type
TYPE atom_sgppot_type
CHARACTER(LEN=2) :: symbol
CHARACTER(LEN=default_string_length) :: pname
INTEGER, DIMENSION(0:lmat) :: econf
REAL(dp) :: zion
INTEGER :: lmax
LOGICAL :: has_nonlocal
INTEGER :: n_nonlocal
CHARACTER(LEN=2) :: symbol = ""
CHARACTER(LEN=default_string_length) :: pname = ""
INTEGER, DIMENSION(0:lmat) :: econf = 0
REAL(dp) :: zion = 0.0_dp
INTEGER :: lmax = 0
LOGICAL :: has_nonlocal = .FALSE.
INTEGER :: n_nonlocal = 0
LOGICAL, DIMENSION(0:5) :: is_nonlocal = .FALSE.
REAL(KIND=dp), DIMENSION(nmax) :: a_nonlocal
REAL(KIND=dp), DIMENSION(nmax, 0:lmat) :: h_nonlocal
REAL(KIND=dp), DIMENSION(nmax, nmax, 0:lmat) :: c_nonlocal
INTEGER :: n_local
REAL(KIND=dp) :: ac_local
REAL(KIND=dp), DIMENSION(nmax) :: a_local
REAL(KIND=dp), DIMENSION(nmax) :: c_local
LOGICAL :: has_nlcc
INTEGER :: n_nlcc
REAL(KIND=dp), DIMENSION(nmax) :: a_nlcc
REAL(KIND=dp), DIMENSION(nmax) :: c_nlcc
REAL(KIND=dp), DIMENSION(nmax) :: a_nonlocal = 0.0_dp
REAL(KIND=dp), DIMENSION(nmax, 0:lmat) :: h_nonlocal = 0.0_dp
REAL(KIND=dp), DIMENSION(nmax, nmax, 0:lmat) :: c_nonlocal = 0.0_dp
INTEGER :: n_local = 0
REAL(KIND=dp) :: ac_local = 0.0_dp
REAL(KIND=dp), DIMENSION(nmax) :: a_local = 0.0_dp
REAL(KIND=dp), DIMENSION(nmax) :: c_local = 0.0_dp
LOGICAL :: has_nlcc = .FALSE.
INTEGER :: n_nlcc = 0
REAL(KIND=dp), DIMENSION(nmax) :: a_nlcc = 0.0_dp
REAL(KIND=dp), DIMENSION(nmax) :: c_nlcc = 0.0_dp
END TYPE atom_sgppot_type
TYPE atom_potential_type
INTEGER :: ppot_type
LOGICAL :: confinement
INTEGER :: conf_type
REAL(dp) :: acon
REAL(dp) :: rcon
REAL(dp) :: scon
TYPE(atom_gthpot_type) :: gth_pot
TYPE(atom_ecppot_type) :: ecp_pot
TYPE(atom_upfpot_type) :: upf_pot
TYPE(atom_sgppot_type) :: sgp_pot
INTEGER :: ppot_type = 0
LOGICAL :: confinement = .FALSE.
INTEGER :: conf_type = 0
REAL(dp) :: acon = 0.0_dp
REAL(dp) :: rcon = 0.0_dp
REAL(dp) :: scon = 0.0_dp
TYPE(atom_gthpot_type) :: gth_pot = atom_gthpot_type()
TYPE(atom_ecppot_type) :: ecp_pot = atom_ecppot_type()
TYPE(atom_upfpot_type) :: upf_pot = atom_upfpot_type()
TYPE(atom_sgppot_type) :: sgp_pot = atom_sgppot_type()
END TYPE atom_potential_type
!> \brief Provides info about hartree-fock exchange (For now, we only support potentials that can be represented
!> with Coulomb and longrange-coulomb potential)
! **************************************************************************************************
TYPE atom_hfx_type
REAL(KIND=dp) :: scale_coulomb
REAL(KIND=dp) :: scale_longrange
REAL(KIND=dp) :: omega
REAL(KIND=dp) :: scale_coulomb = 0.0_dp
REAL(KIND=dp) :: scale_longrange = 0.0_dp
REAL(KIND=dp) :: omega = 0.0_dp
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :, :) :: kernel
LOGICAL :: do_gh
INTEGER :: nr_gh
LOGICAL :: do_gh = .FALSE.
INTEGER :: nr_gh = 0
END TYPE atom_hfx_type
!> \brief Provides all information on states and occupation
@ -196,129 +196,129 @@ MODULE atom_types
REAL(KIND=dp), DIMENSION(0:lmat, 10) :: occ = 0.0_dp
REAL(KIND=dp), DIMENSION(0:lmat, 10) :: core = 0.0_dp
REAL(KIND=dp), DIMENSION(0:lmat, 10) :: occupation = 0.0_dp
INTEGER :: maxl_occ
INTEGER :: maxl_occ = 0
INTEGER, DIMENSION(0:lmat) :: maxn_occ = 0
INTEGER :: maxl_calc
INTEGER :: maxl_calc = 0
INTEGER, DIMENSION(0:lmat) :: maxn_calc = 0
INTEGER :: multiplicity
INTEGER :: multiplicity = 0
REAL(KIND=dp), DIMENSION(0:lmat, 10) :: occa = 0.0_dp, occb = 0.0_dp
END TYPE atom_state
!> \brief Holds atomic integrals
! **************************************************************************************************
TYPE eri
REAL(KIND=dp), DIMENSION(:, :), POINTER :: int
REAL(KIND=dp), DIMENSION(:, :), POINTER :: int => NULL()
END TYPE eri
TYPE atom_integrals
INTEGER :: status = 0
INTEGER :: ppstat = 0
LOGICAL :: eri_coulomb
LOGICAL :: eri_exchange
LOGICAL :: all_nu
INTEGER, DIMENSION(0:lmat) :: n, nne
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: ovlp, kin, core, clsd
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: utrans, uptrans
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: hnl
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: conf
TYPE(eri), DIMENSION(100) :: ceri
TYPE(eri), DIMENSION(100) :: eeri
LOGICAL :: eri_coulomb = .FALSE.
LOGICAL :: eri_exchange = .FALSE.
LOGICAL :: all_nu = .FALSE.
INTEGER, DIMENSION(0:lmat) :: n = 0, nne = 0
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: ovlp => NULL(), kin => NULL(), core => NULL(), clsd => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: utrans => NULL(), uptrans => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: hnl => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: conf => NULL()
TYPE(eri), DIMENSION(100) :: ceri = eri()
TYPE(eri), DIMENSION(100) :: eeri = eri()
INTEGER :: dkhstat = 0
INTEGER :: zorastat = 0
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: tzora
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: hdkh
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: tzora => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: hdkh => NULL()
END TYPE atom_integrals
!> \brief Holds atomic orbitals and energies
! **************************************************************************************************
TYPE atom_orbitals
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wfn, wfna, wfnb
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: pmat, pmata, pmatb
REAL(KIND=dp), DIMENSION(:, :), POINTER :: ener, enera, enerb
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: refene, refchg, refnod
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wrefene, wrefchg, wrefnod
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: crefene, crefchg, crefnod
REAL(KIND=dp), DIMENSION(:, :), POINTER :: wpsir0, tpsir0
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rcmax
CHARACTER(LEN=2), DIMENSION(:, :, :), POINTER :: reftype
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wfn => NULL(), wfna => NULL(), wfnb => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: pmat => NULL(), pmata => NULL(), pmatb => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: ener => NULL(), enera => NULL(), enerb => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: refene => NULL(), refchg => NULL(), refnod => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: wrefene => NULL(), wrefchg => NULL(), wrefnod => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: crefene => NULL(), crefchg => NULL(), crefnod => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: wpsir0 => NULL(), tpsir0 => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rcmax => NULL()
CHARACTER(LEN=2), DIMENSION(:, :, :), POINTER :: reftype => NULL()
END TYPE atom_orbitals
!> \brief Operator matrices
! **************************************************************************************************
TYPE opmat_type
INTEGER, DIMENSION(0:lmat) :: n
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: op
INTEGER, DIMENSION(0:lmat) :: n = 0
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: op => NULL()
END TYPE opmat_type
!> \brief Operator grids
! **************************************************************************************************
TYPE opgrid_type
REAL(KIND=dp), DIMENSION(:), POINTER :: op
TYPE(grid_atom_type), POINTER :: grid
REAL(KIND=dp), DIMENSION(:), POINTER :: op => NULL()
TYPE(grid_atom_type), POINTER :: grid => NULL()
END TYPE opgrid_type
!> \brief All energies
! **************************************************************************************************
TYPE atom_energy_type
REAL(KIND=dp) :: etot
REAL(KIND=dp) :: eband
REAL(KIND=dp) :: ekin
REAL(KIND=dp) :: epot
REAL(KIND=dp) :: ecore
REAL(KIND=dp) :: elsd
REAL(KIND=dp) :: epseudo
REAL(KIND=dp) :: eploc
REAL(KIND=dp) :: epnl
REAL(KIND=dp) :: exc
REAL(KIND=dp) :: ecoulomb
REAL(KIND=dp) :: eexchange
REAL(KIND=dp) :: econfinement
REAL(KIND=dp) :: etot = 0.0_dp
REAL(KIND=dp) :: eband = 0.0_dp
REAL(KIND=dp) :: ekin = 0.0_dp
REAL(KIND=dp) :: epot = 0.0_dp
REAL(KIND=dp) :: ecore = 0.0_dp
REAL(KIND=dp) :: elsd = 0.0_dp
REAL(KIND=dp) :: epseudo = 0.0_dp
REAL(KIND=dp) :: eploc = 0.0_dp
REAL(KIND=dp) :: epnl = 0.0_dp
REAL(KIND=dp) :: exc = 0.0_dp
REAL(KIND=dp) :: ecoulomb = 0.0_dp
REAL(KIND=dp) :: eexchange = 0.0_dp
REAL(KIND=dp) :: econfinement = 0.0_dp
END TYPE atom_energy_type
!> \brief Information on optimization procedure
! **************************************************************************************************
TYPE atom_optimization_type
REAL(KIND=dp) :: damping
REAL(KIND=dp) :: eps_scf
REAL(KIND=dp) :: eps_diis
INTEGER :: max_iter
INTEGER :: n_diis
REAL(KIND=dp) :: damping = 0.0_dp
REAL(KIND=dp) :: eps_scf = 0.0_dp
REAL(KIND=dp) :: eps_diis = 0.0_dp
INTEGER :: max_iter = 0
INTEGER :: n_diis = 0
END TYPE atom_optimization_type
!> \brief Provides all information about an atomic kind
! **************************************************************************************************
TYPE atom_type
INTEGER :: z
INTEGER :: zcore
LOGICAL :: pp_calc
INTEGER :: z = 0
INTEGER :: zcore = 0
LOGICAL :: pp_calc = .FALSE.
! ZMP adding in type some variables
LOGICAL :: do_zmp, doread, read_vxc, dm
CHARACTER(LEN=default_string_length) :: ext_file, ext_vxc_file, &
zmp_restart_file
LOGICAL :: do_zmp = .FALSE., doread = .FALSE., read_vxc = .FALSE., dm = .FALSE.
CHARACTER(LEN=default_string_length) :: ext_file = "", ext_vxc_file = "", &
zmp_restart_file = ""
!
INTEGER :: method_type
INTEGER :: relativistic
INTEGER :: coulomb_integral_type
INTEGER :: exchange_integral_type
INTEGER :: method_type = do_rks_atom
INTEGER :: relativistic = do_nonrel_atom
INTEGER :: coulomb_integral_type = do_analytic
INTEGER :: exchange_integral_type = do_analytic
! ZMP
REAL(KIND=dp) :: lambda
REAL(KIND=dp) :: rho_diff_integral
REAL(KIND=dp) :: weight, zmpgrid_tol, zmpvxcgrid_tol
REAL(KIND=dp) :: lambda = 0.0_dp
REAL(KIND=dp) :: rho_diff_integral = 0.0_dp
REAL(KIND=dp) :: weight = 0.0_dp, zmpgrid_tol = 0.0_dp, zmpvxcgrid_tol = 0.0_dp
!
TYPE(atom_basis_type), POINTER :: basis
TYPE(atom_potential_type), POINTER :: potential
TYPE(atom_state), POINTER :: state
TYPE(atom_integrals), POINTER :: integrals
TYPE(atom_orbitals), POINTER :: orbitals
TYPE(atom_energy_type) :: energy
TYPE(atom_optimization_type) :: optimization
TYPE(section_vals_type), POINTER :: xc_section, zmp_section
TYPE(opmat_type), POINTER :: fmat
TYPE(atom_hfx_type) :: hfx_pot
TYPE(atom_basis_type), POINTER :: basis => NULL()
TYPE(atom_potential_type), POINTER :: potential => NULL()
TYPE(atom_state), POINTER :: state => NULL()
TYPE(atom_integrals), POINTER :: integrals => NULL()
TYPE(atom_orbitals), POINTER :: orbitals => NULL()
TYPE(atom_energy_type) :: energy = atom_energy_type()
TYPE(atom_optimization_type) :: optimization = atom_optimization_type()
TYPE(section_vals_type), POINTER :: xc_section => NULL(), zmp_section => NULL()
TYPE(opmat_type), POINTER :: fmat => NULL()
TYPE(atom_hfx_type) :: hfx_pot = atom_hfx_type()
END TYPE atom_type
! **************************************************************************************************
TYPE atom_p_type
TYPE(atom_type), POINTER :: atom
TYPE(atom_type), POINTER :: atom => NULL()
END TYPE atom_p_type
PUBLIC :: lmat

View file

@ -30,24 +30,24 @@ MODULE atom_upf
INTEGER, PARAMETER :: lmat = 3
TYPE atom_upfpot_type
CHARACTER(LEN=2) :: symbol
CHARACTER(LEN=2) :: symbol = ""
CHARACTER(LEN=default_string_length) :: pname = ""
INTEGER, DIMENSION(0:lmat) :: econf = 0
REAL(dp) :: zion
CHARACTER(LEN=default_string_length) :: version
REAL(dp) :: zion = 0.0_dp
CHARACTER(LEN=default_string_length) :: version = ""
CHARACTER(LEN=default_string_length) :: filename = ""
! <INFO>
INTEGER :: maxinfo = 100
CHARACTER(LEN=default_string_length), DIMENSION(100) &
:: info
:: info = ""
! <HEADER>
CHARACTER(LEN=default_string_length) :: generated
CHARACTER(LEN=default_string_length) :: author
CHARACTER(LEN=default_string_length) :: date
CHARACTER(LEN=default_string_length) :: comment
CHARACTER(LEN=4) :: pseudo_type
CHARACTER(LEN=15) :: relativistic
CHARACTER(LEN=default_string_length) :: functional
CHARACTER(LEN=default_string_length) :: generated = ""
CHARACTER(LEN=default_string_length) :: author = ""
CHARACTER(LEN=default_string_length) :: date = ""
CHARACTER(LEN=default_string_length) :: comment = ""
CHARACTER(LEN=4) :: pseudo_type = ""
CHARACTER(LEN=15) :: relativistic = ""
CHARACTER(LEN=default_string_length) :: functional = ""
LOGICAL :: is_ultrasoft = .FALSE.
LOGICAL :: is_paw = .FALSE.
LOGICAL :: is_coulomb = .FALSE.
@ -56,20 +56,20 @@ MODULE atom_upf
LOGICAL :: has_gipaw = .FALSE.
LOGICAL :: paw_as_gipaw = .FALSE.
LOGICAL :: core_correction = .FALSE.
REAL(dp) :: total_psenergy
REAL(dp) :: wfc_cutoff
REAL(dp) :: rho_cutoff
REAL(dp) :: total_psenergy = 0.0_dp
REAL(dp) :: wfc_cutoff = 0.0_dp
REAL(dp) :: rho_cutoff = 0.0_dp
INTEGER :: l_max = -100
INTEGER :: l_max_rho
INTEGER :: l_local
INTEGER :: mesh_size
INTEGER :: number_of_wfc
INTEGER :: number_of_proj
INTEGER :: l_max_rho = -1
INTEGER :: l_local = -1
INTEGER :: mesh_size = -1
INTEGER :: number_of_wfc = -1
INTEGER :: number_of_proj = -1
! <MESH>
REAL(dp) :: dx
REAL(dp) :: xmin
REAL(dp) :: rmax
REAL(dp) :: zmesh
REAL(dp) :: dx = 0.0_dp
REAL(dp) :: xmin = 0.0_dp
REAL(dp) :: rmax = 0.0_dp
REAL(dp) :: zmesh = 0.0_dp
REAL(dp), DIMENSION(:), ALLOCATABLE :: r, rab
! <NLCC>
REAL(dp), DIMENSION(:), ALLOCATABLE :: rho_nlcc

View file

@ -21,6 +21,6 @@ MODULE block_p_types
PUBLIC :: block_p_type
! **************************************************************************************************
TYPE block_p_type
REAL(KIND=dp), DIMENSION(:, :), POINTER :: block
REAL(KIND=dp), DIMENSION(:, :), POINTER :: block => NULL()
END TYPE block_p_type
END MODULE block_p_types

View file

@ -16,7 +16,9 @@ MODULE callgraph
#:call hash_map(prefix='callgraph', &
key_type='INTEGER(kind=int_4), DIMENSION(2)', &
value_type='TYPE(call_stat_type), POINTER')
value_type='TYPE(call_stat_type), POINTER', &
key_default_init=' = 0_int_4', &
value_default_init=' => NULL()')
#:endcall hash_map
! **************************************************************************************************

View file

@ -5,7 +5,7 @@
#! SPDX-License-Identifier: GPL-2.0-or-later !
#!-------------------------------------------------------------------------------------------------!
#:mute
#:def hash_map(prefix, key_type, value_type)
#:def hash_map(prefix, key_type, value_type, key_default_init, value_default_init)
! **************************************************************************************************
!> \brief A hash map (also known as hashtable or dictionary).
!> Internally the hash map uses an array to holds its data.
@ -33,9 +33,9 @@
!for use during change_capacity().
TYPE private_item_type
PRIVATE
${key_type}$ :: key
${value_type}$ :: value
INTEGER(KIND=int_8) :: hash
${key_type}$ :: key ${key_default_init}$
${value_type}$ :: value ${value_default_init}$
INTEGER(KIND=int_8) :: hash = 0_int_8
TYPE(private_item_type), POINTER :: next => Null()
END TYPE private_item_type
@ -54,8 +54,8 @@
! this is a public type, its returned by ${prefix}$_items()
TYPE ${prefix}$_item_type
${key_type}$ :: key
${value_type}$ :: value
${key_type}$ :: key ${key_default_init}$
${value_type}$ :: value ${value_default_init}$
END TYPE ${prefix}$_item_type
CONTAINS

View file

@ -36,7 +36,7 @@
!this is an internal type
TYPE private_item_type_${valuetype}$
PRIVATE
${valuetype_out}$ :: value
${valuetype_out}$ :: value #{if valuetype_out.endswith("POINTER")}#=> NULL()#{else}#= ${valuetype_out[5:-1]}$()#{endif}#
END TYPE private_item_type_${valuetype}$
!this is an internal type

View file

@ -15,7 +15,9 @@ MODULE routine_map
#:call hash_map(prefix='routine_map', &
key_type='CHARACTER(LEN=default_string_length)', &
value_type='INTEGER(kind=int_4)')
value_type='INTEGER(kind=int_4)', &
key_default_init=' = ""', &
value_default_init=' = 0_int_4')
#:endcall hash_map
! **************************************************************************************************

View file

@ -33,10 +33,10 @@ MODULE cp_control_types
! \brief Control parameters for pw grids
! **************************************************************************************************
TYPE pw_grid_option
LOGICAL :: spherical
LOGICAL :: fullspace
INTEGER, DIMENSION(2) :: distribution_layout
INTEGER :: blocked
LOGICAL :: spherical = .FALSE.
LOGICAL :: fullspace = .FALSE.
INTEGER, DIMENSION(2) :: distribution_layout = 0
INTEGER :: blocked = 0
END TYPE pw_grid_option
! **************************************************************************************************
! \brief parameters for EMD/RTP calculations involving MO projections
@ -60,32 +60,32 @@ MODULE cp_control_types
! \brief Control parameters for REAL_TIME_PROPAGATION calculations
! **************************************************************************************************
TYPE rtp_control_type
LOGICAL :: converged
REAL(KIND=dp) :: eps_ener
INTEGER :: max_iter
INTEGER :: mat_exp
INTEGER :: propagator
LOGICAL :: fixed_ions
INTEGER :: initial_wfn
REAL(dp) :: eps_exp
LOGICAL :: initial_step
LOGICAL :: hfx_redistribute
INTEGER :: aspc_order
INTEGER :: sc_check_start
LOGICAL :: apply_delta_pulse
LOGICAL :: apply_delta_pulse_mag
LOGICAL :: periodic
LOGICAL :: linear_scaling
LOGICAL :: write_restart
INTEGER :: mcweeny_max_iter
INTEGER :: acc_ref
REAL(dp) :: mcweeny_eps
INTEGER, DIMENSION(3) :: delta_pulse_direction
REAL(KIND=dp) :: delta_pulse_scale
LOGICAL :: velocity_gauge
REAL(KIND=dp), DIMENSION(3) :: vec_pot
LOGICAL :: nl_gauge_transform
LOGICAL :: is_proj_mo
LOGICAL :: converged = .FALSE.
REAL(KIND=dp) :: eps_ener = 0.0_dp
INTEGER :: max_iter = 0
INTEGER :: mat_exp = 0
INTEGER :: propagator = 0
LOGICAL :: fixed_ions = .FALSE.
INTEGER :: initial_wfn = 0
REAL(dp) :: eps_exp = 0.0_dp
LOGICAL :: initial_step = .FALSE.
LOGICAL :: hfx_redistribute = .FALSE.
INTEGER :: aspc_order = 0
INTEGER :: sc_check_start = 0
LOGICAL :: apply_delta_pulse = .FALSE.
LOGICAL :: apply_delta_pulse_mag = .FALSE.
LOGICAL :: periodic = .FALSE.
LOGICAL :: linear_scaling = .FALSE.
LOGICAL :: write_restart = .FALSE.
INTEGER :: mcweeny_max_iter = 0
INTEGER :: acc_ref = 0
REAL(dp) :: mcweeny_eps = 0.0_dp
INTEGER, DIMENSION(3) :: delta_pulse_direction = 0
REAL(KIND=dp) :: delta_pulse_scale = 0.0_dp
LOGICAL :: velocity_gauge = .FALSE.
REAL(KIND=dp), DIMENSION(3) :: vec_pot = 0.0_dp
LOGICAL :: nl_gauge_transform = .FALSE.
LOGICAL :: is_proj_mo = .FALSE.
TYPE(proj_mo_p_type), DIMENSION(:), &
POINTER :: proj_mo_list => NULL()
END TYPE rtp_control_type
@ -93,27 +93,27 @@ MODULE cp_control_types
! \brief Control parameters for DFTB calculations
! **************************************************************************************************
TYPE dftb_control_type
LOGICAL :: self_consistent
LOGICAL :: orthogonal_basis
LOGICAL :: dispersion
INTEGER :: dispersion_type
LOGICAL :: dftb3_diagonal
LOGICAL :: hb_sr_damp
REAL(KIND=dp) :: hb_sr_para
REAL(KIND=dp) :: eps_disp
REAL(KIND=dp) :: epscn
REAL(KIND=dp) :: exp_pre
REAL(KIND=dp) :: scaling
REAL(KIND=dp) :: rcdisp
REAL(KIND=dp), DIMENSION(3) :: sd3
REAL(KIND=dp), DIMENSION(4) :: sd3bj
LOGICAL :: do_ewald
CHARACTER(LEN=default_path_length) :: sk_file_path
CHARACTER(LEN=default_path_length) :: sk_file_list
LOGICAL :: self_consistent = .FALSE.
LOGICAL :: orthogonal_basis = .FALSE.
LOGICAL :: dispersion = .FALSE.
INTEGER :: dispersion_type = 0
LOGICAL :: dftb3_diagonal = .FALSE.
LOGICAL :: hb_sr_damp = .FALSE.
REAL(KIND=dp) :: hb_sr_para = 0.0_dp
REAL(KIND=dp) :: eps_disp = 0.0_dp
REAL(KIND=dp) :: epscn = 0.0_dp
REAL(KIND=dp) :: exp_pre = 0.0_dp
REAL(KIND=dp) :: scaling = 0.0_dp
REAL(KIND=dp) :: rcdisp = 0.0_dp
REAL(KIND=dp), DIMENSION(3) :: sd3 = 0.0_dp
REAL(KIND=dp), DIMENSION(4) :: sd3bj = 0.0_dp
LOGICAL :: do_ewald = .FALSE.
CHARACTER(LEN=default_path_length) :: sk_file_path = ""
CHARACTER(LEN=default_path_length) :: sk_file_list = ""
CHARACTER(LEN=default_string_length), &
DIMENSION(:, :), POINTER :: sk_pair_list
CHARACTER(LEN=default_path_length) :: uff_force_field
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file
DIMENSION(:, :), POINTER :: sk_pair_list => NULL()
CHARACTER(LEN=default_path_length) :: uff_force_field = ""
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file = ""
END TYPE dftb_control_type
! **************************************************************************************************
@ -121,155 +121,155 @@ MODULE cp_control_types
! **************************************************************************************************
TYPE xtb_control_type
!
LOGICAL :: do_ewald
LOGICAL :: do_ewald = .FALSE.
!
INTEGER :: sto_ng
INTEGER :: h_sto_ng
INTEGER :: sto_ng = 0
INTEGER :: h_sto_ng = 0
!
CHARACTER(LEN=default_path_length) :: parameter_file_path
CHARACTER(LEN=default_path_length) :: parameter_file_name
CHARACTER(LEN=default_path_length) :: parameter_file_path = ""
CHARACTER(LEN=default_path_length) :: parameter_file_name = ""
!
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file
REAL(KIND=dp) :: epscn
REAL(KIND=dp) :: rcdisp
REAL(KIND=dp) :: s6, s8
REAL(KIND=dp) :: a1, a2
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file = ""
REAL(KIND=dp) :: epscn = 0.0_dp
REAL(KIND=dp) :: rcdisp = 0.0_dp
REAL(KIND=dp) :: s6 = 0.0_dp, s8 = 0.0_dp
REAL(KIND=dp) :: a1 = 0.0_dp, a2 = 0.0_dp
!
REAL(KIND=dp) :: ks, kp, kd, ksp, k2sh
REAL(KIND=dp) :: kg, kf
REAL(KIND=dp) :: kcns, kcnp, kcnd
REAL(KIND=dp) :: ken
REAL(KIND=dp) :: kxr, kx2
REAL(KIND=dp) :: ks = 0.0_dp, kp = 0.0_dp, kd = 0.0_dp, ksp = 0.0_dp, k2sh = 0.0_dp
REAL(KIND=dp) :: kg = 0.0_dp, kf = 0.0_dp
REAL(KIND=dp) :: kcns = 0.0_dp, kcnp = 0.0_dp, kcnd = 0.0_dp
REAL(KIND=dp) :: ken = 0.0_dp
REAL(KIND=dp) :: kxr = 0.0_dp, kx2 = 0.0_dp
!
LOGICAL :: xb_interaction
LOGICAL :: do_nonbonded
LOGICAL :: coulomb_interaction
LOGICAL :: coulomb_lr
LOGICAL :: tb3_interaction
LOGICAL :: check_atomic_charges
LOGICAL :: old_coulomb_damping
LOGICAL :: xb_interaction = .FALSE.
LOGICAL :: do_nonbonded = .FALSE.
LOGICAL :: coulomb_interaction = .FALSE.
LOGICAL :: coulomb_lr = .FALSE.
LOGICAL :: tb3_interaction = .FALSE.
LOGICAL :: check_atomic_charges = .FALSE.
LOGICAL :: old_coulomb_damping = .FALSE.
!
REAL(KIND=dp) :: xb_radius
REAL(KIND=dp) :: coulomb_sr_cut
REAL(KIND=dp) :: coulomb_sr_eps
REAL(KIND=dp) :: xb_radius = 0.0_dp
REAL(KIND=dp) :: coulomb_sr_cut = 0.0_dp
REAL(KIND=dp) :: coulomb_sr_eps = 0.0_dp
!
CHARACTER(LEN=default_string_length), &
DIMENSION(:, :), POINTER :: kab_param
INTEGER, DIMENSION(:, :), POINTER :: kab_types
INTEGER :: kab_nval
REAL, DIMENSION(:), POINTER :: kab_vals
DIMENSION(:, :), POINTER :: kab_param => NULL()
INTEGER, DIMENSION(:, :), POINTER :: kab_types => NULL()
INTEGER :: kab_nval = 0
REAL, DIMENSION(:), POINTER :: kab_vals => NULL()
!
TYPE(pair_potential_p_type), POINTER :: nonbonded
TYPE(pair_potential_p_type), POINTER :: nonbonded => NULL()
END TYPE xtb_control_type
! **************************************************************************************************
! \brief Control parameters for semi empirical calculations
! **************************************************************************************************
TYPE semi_empirical_control_type
LOGICAL :: orthogonal_basis
LOGICAL :: analytical_gradients
LOGICAL :: force_kdsod_EX
LOGICAL :: do_ewald, do_ewald_r3, do_ewald_gks
INTEGER :: integral_screening, periodic_type
INTEGER :: max_multipole
INTEGER :: ga_ncells
REAL(KIND=dp) :: delta
LOGICAL :: orthogonal_basis = .FALSE.
LOGICAL :: analytical_gradients = .FALSE.
LOGICAL :: force_kdsod_EX = .FALSE.
LOGICAL :: do_ewald = .FALSE., do_ewald_r3 = .FALSE., do_ewald_gks = .FALSE.
INTEGER :: integral_screening = 0, periodic_type = 0
INTEGER :: max_multipole = 0
INTEGER :: ga_ncells = 0
REAL(KIND=dp) :: delta = 0.0_dp
! Dispersion pair potential
LOGICAL :: dispersion
REAL(KIND=dp) :: rcdisp
REAL(KIND=dp) :: epscn
REAL(KIND=dp), DIMENSION(3) :: sd3
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file
LOGICAL :: dispersion = .FALSE.
REAL(KIND=dp) :: rcdisp = 0.0_dp
REAL(KIND=dp) :: epscn = 0.0_dp
REAL(KIND=dp), DIMENSION(3) :: sd3 = 0.0_dp
CHARACTER(LEN=default_path_length) :: dispersion_parameter_file = ""
! Parameters controlling the evaluation of the integrals
REAL(KIND=dp) :: cutoff_lrc, taper_lrc, range_lrc
REAL(KIND=dp) :: cutoff_cou, taper_cou, range_cou
REAL(KIND=dp) :: cutoff_exc, taper_exc, range_exc
REAL(KIND=dp) :: taper_scr, range_scr
REAL(KIND=dp) :: cutoff_lrc = 0.0_dp, taper_lrc = 0.0_dp, range_lrc = 0.0_dp
REAL(KIND=dp) :: cutoff_cou = 0.0_dp, taper_cou = 0.0_dp, range_cou = 0.0_dp
REAL(KIND=dp) :: cutoff_exc = 0.0_dp, taper_exc = 0.0_dp, range_exc = 0.0_dp
REAL(KIND=dp) :: taper_scr = 0.0_dp, range_scr = 0.0_dp
END TYPE semi_empirical_control_type
! **************************************************************************************************
! \brief Control parameters for GAPW method within QUICKSTEP ***
! **************************************************************************************************
TYPE gapw_control_type
INTEGER :: basis_1c
REAL(KIND=dp) :: eps_fit, &
eps_iso, &
eps_Vrho0, &
eps_svd, &
eps_cpc
INTEGER :: ladd_rho0, &
lmax_rho0, &
lmax_sphere, &
quadrature
LOGICAL :: lrho1_eq_lrho0
LOGICAL :: alpha0_hard_from_input, &
force_paw, &
non_paw_atoms, &
nopaw_as_gpw
REAL(KIND=dp) :: alpha0_hard
REAL(KIND=dp) :: max_rad_local
INTEGER :: basis_1c = 0
REAL(KIND=dp) :: eps_fit = 0.0_dp, &
eps_iso = 0.0_dp, &
eps_Vrho0 = 0.0_dp, &
eps_svd = 0.0_dp, &
eps_cpc = 0.0_dp
INTEGER :: ladd_rho0 = 0, &
lmax_rho0 = 0, &
lmax_sphere = 0, &
quadrature = 0
LOGICAL :: lrho1_eq_lrho0 = .FALSE.
LOGICAL :: alpha0_hard_from_input = .FALSE., &
force_paw = .FALSE., &
non_paw_atoms = .FALSE., &
nopaw_as_gpw = .FALSE.
REAL(KIND=dp) :: alpha0_hard = 0.0_dp
REAL(KIND=dp) :: max_rad_local = 0.0_dp
END TYPE gapw_control_type
! **************************************************************************************************
! \brief parameters for calculations involving a time dependent electric field
! **************************************************************************************************
TYPE efield_type
REAL(KIND=dp) :: actual_time
REAL(KIND=dp) :: actual_time = 0.0_dp
REAL(KIND=dp), DIMENSION(:), POINTER :: polarisation => NULL()
INTEGER :: envelop_id
INTEGER :: envelop_id = 0
REAL(KIND=dp), DIMENSION(:), POINTER :: envelop_r_vars => NULL()
INTEGER, DIMENSION(:), POINTER :: envelop_i_vars
REAL(KIND=dp) :: strength
REAL(KIND=dp) :: phase_offset
REAL(KIND=dp) :: wavelength
INTEGER, DIMENSION(:), POINTER :: envelop_i_vars => NULL()
REAL(KIND=dp) :: strength = 0.0_dp
REAL(KIND=dp) :: phase_offset = 0.0_dp
REAL(KIND=dp) :: wavelength = 0.0_dp
REAL(KIND=dp), DIMENSION(3) :: vec_pot_initial = 0.0_dp
END TYPE efield_type
TYPE efield_p_type
TYPE(efield_type), POINTER :: efield
TYPE(efield_type), POINTER :: efield => NULL()
END TYPE efield_p_type
! **************************************************************************************************
! \brief parameters for calculations involving a time dependent electric field
! **************************************************************************************************
TYPE period_efield_type
LOGICAL :: displacement_field
REAL(KIND=dp), DIMENSION(3) :: polarisation
REAL(KIND=dp), DIMENSION(3) :: d_filter
REAL(KIND=dp) :: strength
LOGICAL :: displacement_field = .FALSE.
REAL(KIND=dp), DIMENSION(3) :: polarisation = 0.0_dp
REAL(KIND=dp), DIMENSION(3) :: d_filter = 0.0_dp
REAL(KIND=dp) :: strength = 0.0_dp
END TYPE period_efield_type
! **************************************************************************************************
! \brief some parameters useful for mulliken_restraints
! **************************************************************************************************
TYPE mulliken_restraint_type
REAL(KIND=dp) :: strength
REAL(KIND=dp) :: TARGET
INTEGER :: natoms
INTEGER, POINTER, DIMENSION(:) :: atoms
REAL(KIND=dp) :: strength = 0.0_dp
REAL(KIND=dp) :: TARGET = 0.0_dp
INTEGER :: natoms = 0
INTEGER, POINTER, DIMENSION(:) :: atoms => NULL()
END TYPE mulliken_restraint_type
! **************************************************************************************************
! \brief some parameters useful for ddapc_restraints
! **************************************************************************************************
TYPE ddapc_restraint_type
INTEGER :: ref_count
REAL(KIND=dp) :: strength
REAL(KIND=dp) :: TARGET
REAL(KIND=dp) :: ddapc_order_p
INTEGER :: functional_form
INTEGER :: natoms
INTEGER, POINTER, DIMENSION(:) :: atoms
REAL(KIND=dp), POINTER, DIMENSION(:) :: coeff
INTEGER :: density_type
INTEGER :: ref_count = 0
REAL(KIND=dp) :: strength = 0.0_dp
REAL(KIND=dp) :: TARGET = 0.0_dp
REAL(KIND=dp) :: ddapc_order_p = 0.0_dp
INTEGER :: functional_form = 0
INTEGER :: natoms = 0
INTEGER, POINTER, DIMENSION(:) :: atoms => NULL()
REAL(KIND=dp), POINTER, DIMENSION(:) :: coeff => NULL()
INTEGER :: density_type = 0
END TYPE ddapc_restraint_type
! **************************************************************************************************
! \brief some parameters useful for s2_restraints
! **************************************************************************************************
TYPE s2_restraint_type
REAL(KIND=dp) :: strength
REAL(KIND=dp) :: TARGET
REAL(KIND=dp) :: s2_order_p
INTEGER :: functional_form
REAL(KIND=dp) :: strength = 0.0_dp
REAL(KIND=dp) :: TARGET = 0.0_dp
REAL(KIND=dp) :: s2_order_p = 0.0_dp
INTEGER :: functional_form = 0
END TYPE s2_restraint_type
! **************************************************************************************************
@ -280,14 +280,14 @@ MODULE cp_control_types
END TYPE admm_block_type
TYPE admm_control_type
REAL(KIND=dp) :: eps_filter
INTEGER :: purification_method
INTEGER :: method
LOGICAL :: charge_constrain
INTEGER :: scaling_model
INTEGER :: aux_exch_func
LOGICAL :: aux_exch_func_param
REAL(KIND=dp), DIMENSION(3) :: aux_x_param
REAL(KIND=dp) :: eps_filter = 0.0_dp
INTEGER :: purification_method = 0
INTEGER :: method = 0
LOGICAL :: charge_constrain = .FALSE.
INTEGER :: scaling_model = 0
INTEGER :: aux_exch_func = 0
LOGICAL :: aux_exch_func_param = .FALSE.
REAL(KIND=dp), DIMENSION(3) :: aux_x_param = 0.0_dp
TYPE(admm_block_type), DIMENSION(:), &
ALLOCATABLE :: blocks
END TYPE admm_control_type
@ -296,19 +296,19 @@ MODULE cp_control_types
! \brief Parameters for external potential
! **************************************************************************************************
TYPE expot_control_type
LOGICAL :: read_from_cube
LOGICAL :: maxwell_solver
LOGICAL :: static
REAL(KIND=dp) :: scaling_factor
LOGICAL :: read_from_cube = .FALSE.
LOGICAL :: maxwell_solver = .FALSE.
LOGICAL :: static = .FALSE.
REAL(KIND=dp) :: scaling_factor = 0.0_dp
END TYPE expot_control_type
! **************************************************************************************************
! \brief Parameters useful for Maxwell equation evaluation of external potential
! **************************************************************************************************
TYPE maxwell_control_type
LOGICAL :: log_test
INTEGER :: int_test
REAL(KIND=dp) :: real_test
LOGICAL :: log_test = .FALSE.
INTEGER :: int_test = 0
REAL(KIND=dp) :: real_test = 0.0_dp
END TYPE maxwell_control_type
! **************************************************************************************************
@ -317,63 +317,63 @@ MODULE cp_control_types
! Gaussian-type functions (primitive basis functions).
! **************************************************************************************************
TYPE qs_control_type
INTEGER :: method_id
REAL(KIND=dp) :: eps_core_charge, &
eps_kg_orb, &
eps_pgf_orb, &
eps_ppl, &
eps_ppnl, &
eps_rho_gspace, &
eps_rho_rspace, &
eps_filter_matrix, &
eps_gvg_rspace, &
progression_factor, &
relative_cutoff
LOGICAL :: do_almo_scf
LOGICAL :: do_ls_scf
LOGICAL :: do_kg
LOGICAL :: commensurate_mgrids
LOGICAL :: realspace_mgrids
LOGICAL :: gapw, gapw_xc, gpw, pao
LOGICAL :: lrigpw, rigpw
LOGICAL :: lri_optbas
LOGICAL :: ofgpw
LOGICAL :: dftb
LOGICAL :: xtb
LOGICAL :: semi_empirical
LOGICAL :: mulliken_restraint
LOGICAL :: ddapc_restraint
LOGICAL :: ddapc_restraint_is_spin
LOGICAL :: ddapc_explicit_potential
LOGICAL :: cdft
LOGICAL :: et_coupling_calc
LOGICAL :: s2_restraint
INTEGER :: do_ppl_method
INTEGER :: wf_interpolation_method_nr
INTEGER :: wf_extrapolation_order
INTEGER :: periodicity
REAL(KIND=dp) :: pairlist_radius
REAL(KIND=dp) :: cutoff
REAL(KIND=dp), DIMENSION(:), POINTER :: e_cutoff
INTEGER :: method_id = 0
REAL(KIND=dp) :: eps_core_charge = 0.0_dp, &
eps_kg_orb = 0.0_dp, &
eps_pgf_orb = 0.0_dp, &
eps_ppl = 0.0_dp, &
eps_ppnl = 0.0_dp, &
eps_rho_gspace = 0.0_dp, &
eps_rho_rspace = 0.0_dp, &
eps_filter_matrix = 0.0_dp, &
eps_gvg_rspace = 0.0_dp, &
progression_factor = 0.0_dp, &
relative_cutoff = 0.0_dp
LOGICAL :: do_almo_scf = .FALSE.
LOGICAL :: do_ls_scf = .FALSE.
LOGICAL :: do_kg = .FALSE.
LOGICAL :: commensurate_mgrids = .FALSE.
LOGICAL :: realspace_mgrids = .FALSE.
LOGICAL :: gapw = .FALSE., gapw_xc = .FALSE., gpw = .FALSE., pao = .FALSE.
LOGICAL :: lrigpw = .FALSE., rigpw = .FALSE.
LOGICAL :: lri_optbas = .FALSE.
LOGICAL :: ofgpw = .FALSE.
LOGICAL :: dftb = .FALSE.
LOGICAL :: xtb = .FALSE.
LOGICAL :: semi_empirical = .FALSE.
LOGICAL :: mulliken_restraint = .FALSE.
LOGICAL :: ddapc_restraint = .FALSE.
LOGICAL :: ddapc_restraint_is_spin = .FALSE.
LOGICAL :: ddapc_explicit_potential = .FALSE.
LOGICAL :: cdft = .FALSE.
LOGICAL :: et_coupling_calc = .FALSE.
LOGICAL :: s2_restraint = .FALSE.
INTEGER :: do_ppl_method = 0
INTEGER :: wf_interpolation_method_nr = 0
INTEGER :: wf_extrapolation_order = 0
INTEGER :: periodicity = 0
REAL(KIND=dp) :: pairlist_radius = 0.0_dp
REAL(KIND=dp) :: cutoff = 0.0_dp
REAL(KIND=dp), DIMENSION(:), POINTER :: e_cutoff => NULL()
TYPE(mulliken_restraint_type), &
POINTER :: mulliken_restraint_control
POINTER :: mulliken_restraint_control => NULL()
TYPE(ddapc_restraint_type), &
DIMENSION(:), POINTER :: ddapc_restraint_control
TYPE(cdft_control_type), POINTER :: cdft_control
TYPE(s2_restraint_type), POINTER :: s2_restraint_control
TYPE(dftb_control_type), POINTER :: dftb_control
TYPE(xtb_control_type), POINTER :: xtb_control
DIMENSION(:), POINTER :: ddapc_restraint_control => NULL()
TYPE(cdft_control_type), POINTER :: cdft_control => NULL()
TYPE(s2_restraint_type), POINTER :: s2_restraint_control => NULL()
TYPE(dftb_control_type), POINTER :: dftb_control => NULL()
TYPE(xtb_control_type), POINTER :: xtb_control => NULL()
TYPE(semi_empirical_control_type), &
POINTER :: se_control
TYPE(gapw_control_type), POINTER :: gapw_control
TYPE(pw_grid_option) :: pw_grid_opt
LOGICAL :: skip_load_balance_distributed
POINTER :: se_control => NULL()
TYPE(gapw_control_type), POINTER :: gapw_control => NULL()
TYPE(pw_grid_option) :: pw_grid_opt = pw_grid_option()
LOGICAL :: skip_load_balance_distributed = .FALSE.
! Types of subsystems for embedding
LOGICAL :: ref_embed_subsys
LOGICAL :: cluster_embed_subsys
LOGICAL :: high_level_embed_subsys
LOGICAL :: dfet_embedded
LOGICAL :: dmfet_embedded
LOGICAL :: ref_embed_subsys = .FALSE.
LOGICAL :: cluster_embed_subsys = .FALSE.
LOGICAL :: high_level_embed_subsys = .FALSE.
LOGICAL :: dfet_embedded = .FALSE.
LOGICAL :: dmfet_embedded = .FALSE.
END TYPE qs_control_type
! **************************************************************************************************
@ -415,26 +415,26 @@ MODULE cp_control_types
! **************************************************************************************************
TYPE tddfpt_control_type
TYPE(cp_fm_type), DIMENSION(:), &
POINTER :: lumos
REAL(KIND=dp) :: tolerance
INTEGER :: n_ev
INTEGER :: max_kv
INTEGER :: n_restarts
INTEGER :: n_reortho
LOGICAL :: do_kernel
LOGICAL :: lsd_singlets
LOGICAL :: invert_S
LOGICAL :: precond
LOGICAL :: drho_by_collocation
LOGICAL :: use_kinetic_energy_density
INTEGER :: res_etype
INTEGER :: diag_method
INTEGER :: oe_corr
INTEGER :: sic_method_id
INTEGER :: sic_list_id
REAL(KIND=dp) :: sic_scaling_a, sic_scaling_b
POINTER :: lumos => NULL()
REAL(KIND=dp) :: tolerance = 0.0_dp
INTEGER :: n_ev = 0
INTEGER :: max_kv = 0
INTEGER :: n_restarts = 0
INTEGER :: n_reortho = 0
LOGICAL :: do_kernel = .FALSE.
LOGICAL :: lsd_singlets = .FALSE.
LOGICAL :: invert_S = .FALSE.
LOGICAL :: precond = .FALSE.
LOGICAL :: drho_by_collocation = .FALSE.
LOGICAL :: use_kinetic_energy_density = .FALSE.
INTEGER :: res_etype = 0
INTEGER :: diag_method = 0
INTEGER :: oe_corr = 0
INTEGER :: sic_method_id = 0
INTEGER :: sic_list_id = 0
REAL(KIND=dp) :: sic_scaling_a = 0.0_dp, sic_scaling_b = 0.0_dp
REAL(KIND=dp), DIMENSION(:, :), &
POINTER :: lumos_eigenvalues
POINTER :: lumos_eigenvalues => NULL()
END TYPE tddfpt_control_type
! **************************************************************************************************
@ -443,14 +443,14 @@ MODULE cp_control_types
! \par NOTES
! **************************************************************************************************
TYPE stda_control_type
LOGICAL :: do_ewald
LOGICAL :: do_exchange
REAL(KIND=dp) :: hfx_fraction
REAL(KIND=dp) :: eps_td_filter
REAL(KIND=dp) :: mn_alpha
REAL(KIND=dp) :: mn_beta
REAL(KIND=dp) :: coulomb_sr_cut
REAL(KIND=dp) :: coulomb_sr_eps
LOGICAL :: do_ewald = .FALSE.
LOGICAL :: do_exchange = .FALSE.
REAL(KIND=dp) :: hfx_fraction = 0.0_dp
REAL(KIND=dp) :: eps_td_filter = 0.0_dp
REAL(KIND=dp) :: mn_alpha = 0.0_dp
REAL(KIND=dp) :: mn_beta = 0.0_dp
REAL(KIND=dp) :: coulomb_sr_cut = 0.0_dp
REAL(KIND=dp) :: coulomb_sr_eps = 0.0_dp
END TYPE stda_control_type
! **************************************************************************************************
@ -458,87 +458,87 @@ MODULE cp_control_types
! **************************************************************************************************
TYPE tddfpt2_control_type
!> compute TDDFPT excitation energies and oscillator strengths
LOGICAL :: enabled
LOGICAL :: enabled = .FALSE.
!> number of excited states to converge
INTEGER :: nstates
INTEGER :: nstates = 0
!> maximal number of iterations to be performed
INTEGER :: niters
INTEGER :: niters = 0
!> maximal number of Krylov space vectors
INTEGER :: nkvs
INTEGER :: nkvs = 0
!> number of unoccupied (virtual) molecular orbitals to consider
INTEGER :: nlumo
INTEGER :: nlumo = 0
!> minimal number of MPI processes to be used per excited state
INTEGER :: nprocs
INTEGER :: nprocs = 0
!> type of kernel function/approximation to use
INTEGER :: kernel
INTEGER :: kernel = 0
!> for full kernel, do we have HFX/ADMM
LOGICAL :: do_hfx
LOGICAL :: do_admm
LOGICAL :: do_hfx = .FALSE.
LOGICAL :: do_admm = .FALSE.
!> for full kernel, do we have long-range HFX and/or Kxc potential
LOGICAL :: do_hfxlr
LOGICAL :: do_exck
LOGICAL :: do_hfxlr = .FALSE.
LOGICAL :: do_exck = .FALSE.
!> options used in sTDA calculation (Kernel)
TYPE(stda_control_type) :: stda_control
TYPE(stda_control_type) :: stda_control = stda_control_type()
!> algorithm to correct orbital energies
INTEGER :: oe_corr
INTEGER :: oe_corr = 0
!> eigenvalue shifts
REAL(KIND=dp) :: ev_shift, eos_shift
REAL(KIND=dp) :: ev_shift = 0.0_dp, eos_shift = 0.0_dp
!> target accuracy
REAL(kind=dp) :: conv
REAL(kind=dp) :: conv = 0.0_dp
!> the smallest excitation amplitude to print
REAL(kind=dp) :: min_excitation_amplitude
REAL(kind=dp) :: min_excitation_amplitude = 0.0_dp
!> threshold which controls when two wave functions considered to be orthogonal:
!> maxabs(Ci^T * S * Cj) <= orthogonal_eps
REAL(kind=dp) :: orthogonal_eps
REAL(kind=dp) :: orthogonal_eps = 0.0_dp
!> read guess wave functions from restart file if exists
LOGICAL :: is_restart
LOGICAL :: is_restart = .FALSE.
!> compute triplet excited states using spin-unpolarised molecular orbitals
LOGICAL :: rks_triplets
LOGICAL :: rks_triplets = .FALSE.
!> local resolution of identity for Coulomb contribution
LOGICAL :: do_lrigpw
LOGICAL :: do_lrigpw = .FALSE.
! automatic generation of auxiliary basis for LRI-TDDFT
INTEGER :: auto_basis_p_lri_aux = 1
!> use symmetric definition of ADMM Kernel correction
LOGICAL :: admm_symm
LOGICAL :: admm_symm = .FALSE.
!> Use/Ignore possible ADMM Kernel XC correction
LOGICAL :: admm_xc_correction
LOGICAL :: admm_xc_correction = .FALSE.
!
! DIPOLE_MOMENTS subsection
!
! form of the dipole operator used to compute oscillator strengths
INTEGER :: dipole_form
INTEGER :: dipole_form = 0
!> type of the reference point used for calculation of electrostatic dipole moments
INTEGER :: dipole_reference
INTEGER :: dipole_reference = 0
!> user-defined reference point
REAL(kind=dp), DIMENSION(:), POINTER :: dipole_ref_point
REAL(kind=dp), DIMENSION(:), POINTER :: dipole_ref_point => NULL()
!
! SOC subsection
LOGICAL :: do_soc
LOGICAL :: do_soc = .FALSE.
!
! MGRID subsection
!
!> number of plain-wave grids
INTEGER :: mgrid_ngrids
INTEGER :: mgrid_ngrids = 0
!> create commensurate grids (progression factor and cutoff values of sub-grids will be ignored)
LOGICAL :: mgrid_commensurate_mgrids
LOGICAL :: mgrid_commensurate_mgrids = .FALSE.
!> signals that MGRID section has been explicitly given. Other mgrid_* variables
!> are not initialised when it is equal to .FALSE. as in this case the default
!> set of plain-wave grids will be used
LOGICAL :: mgrid_is_explicit
LOGICAL :: mgrid_is_explicit = .FALSE.
!> same as qs_control%realspace_mgrids
LOGICAL :: mgrid_realspace_mgrids
LOGICAL :: mgrid_realspace_mgrids = .FALSE.
!> do not perform load balancing
LOGICAL :: mgrid_skip_load_balance
LOGICAL :: mgrid_skip_load_balance = .FALSE.
!> cutoff value at the finest grid level
REAL(kind=dp) :: mgrid_cutoff
REAL(kind=dp) :: mgrid_cutoff = 0.0_dp
!> cutoff at the next grid level will be smaller then the cutoff
!> at the current grid by this number of times
REAL(kind=dp) :: mgrid_progression_factor
REAL(kind=dp) :: mgrid_progression_factor = 0.0_dp
!> cutoff that determines to which grid a particular Gaussian function will be mapped
REAL(kind=dp) :: mgrid_relative_cutoff
REAL(kind=dp) :: mgrid_relative_cutoff = 0.0_dp
!> manually provided the list of cutoff values for each grid level
!> (when it is null(), the cutoff values will be assigned automatically)
REAL(kind=dp), DIMENSION(:), POINTER :: mgrid_e_cutoff
REAL(kind=dp), DIMENSION(:), POINTER :: mgrid_e_cutoff => NULL()
END TYPE tddfpt2_control_type
! **************************************************************************************************
@ -547,26 +547,26 @@ MODULE cp_control_types
! 10.2019 added variables related to surface dipole correction [Soumya Ghosh]
! **************************************************************************************************
TYPE dft_control_type
TYPE(admm_control_type), POINTER :: admm_control
TYPE(period_efield_type), POINTER :: period_efield
TYPE(qs_control_type), POINTER :: qs_control
TYPE(rtp_control_type), POINTER :: rtp_control
TYPE(sccs_control_type), POINTER :: sccs_control
TYPE(tddfpt_control_type), POINTER :: tddfpt_control
TYPE(tddfpt2_control_type), POINTER :: tddfpt2_control
TYPE(xas_control_type), POINTER :: xas_control
TYPE(expot_control_type), POINTER :: expot_control
TYPE(maxwell_control_type), POINTER :: maxwell_control
TYPE(admm_control_type), POINTER :: admm_control => NULL()
TYPE(period_efield_type), POINTER :: period_efield => NULL()
TYPE(qs_control_type), POINTER :: qs_control => NULL()
TYPE(rtp_control_type), POINTER :: rtp_control => NULL()
TYPE(sccs_control_type), POINTER :: sccs_control => NULL()
TYPE(tddfpt_control_type), POINTER :: tddfpt_control => NULL()
TYPE(tddfpt2_control_type), POINTER :: tddfpt2_control => NULL()
TYPE(xas_control_type), POINTER :: xas_control => NULL()
TYPE(expot_control_type), POINTER :: expot_control => NULL()
TYPE(maxwell_control_type), POINTER :: maxwell_control => NULL()
TYPE(efield_p_type), POINTER, &
DIMENSION(:) :: efield_fields
INTEGER :: nspins, &
charge, &
multiplicity, &
sic_method_id, &
plus_u_method_id, &
dir_surf_dip, &
DIMENSION(:) :: efield_fields => NULL()
INTEGER :: nspins = 0, &
charge = 0, &
multiplicity = 0, &
sic_method_id = 0, &
plus_u_method_id = 0, &
dir_surf_dip = 0, &
nimages = 1
INTEGER :: sic_list_id
INTEGER :: sic_list_id = 0
INTEGER :: auto_basis_ri_aux = 1, &
auto_basis_aux_fit = 1, &
auto_basis_lri_aux = 1, &
@ -574,42 +574,42 @@ MODULE cp_control_types
auto_basis_ri_hxc = 1, &
auto_basis_ri_xas = 1, &
auto_basis_ri_hfx = 1
REAL(KIND=dp) :: relax_multiplicity, &
sic_scaling_a, &
sic_scaling_b, &
pos_dir_surf_dip
LOGICAL :: do_tddfpt_calculation, &
do_xas_calculation, &
do_xas_tdp_calculation, &
drho_by_collocation, &
use_kinetic_energy_density, &
restricted, &
roks, &
uks, &
lsd, &
dft_plus_u, &
apply_efield, &
apply_efield_field, &
apply_vector_potential, &
apply_period_efield, &
apply_external_potential, &
eval_external_potential, &
do_admm, &
do_admm_dm, &
do_admm_mo, &
smear, &
low_spin_roks, &
apply_external_density, &
read_external_density, &
apply_external_vxc, &
read_external_vxc, &
correct_surf_dip, &
surf_dip_correct_switch, &
switch_surf_dip, &
correct_el_density_dip, &
do_sccs, &
apply_embed_pot, &
apply_dmfet_pot
REAL(KIND=dp) :: relax_multiplicity = 0.0_dp, &
sic_scaling_a = 0.0_dp, &
sic_scaling_b = 0.0_dp, &
pos_dir_surf_dip = 0.0_dp
LOGICAL :: do_tddfpt_calculation = .FALSE., &
do_xas_calculation = .FALSE., &
do_xas_tdp_calculation = .FALSE., &
drho_by_collocation = .FALSE., &
use_kinetic_energy_density = .FALSE., &
restricted = .FALSE., &
roks = .FALSE., &
uks = .FALSE., &
lsd = .FALSE., &
dft_plus_u = .FALSE., &
apply_efield = .FALSE., &
apply_efield_field = .FALSE., &
apply_vector_potential = .FALSE., &
apply_period_efield = .FALSE., &
apply_external_potential = .FALSE., &
eval_external_potential = .FALSE., &
do_admm = .FALSE., &
do_admm_dm = .FALSE., &
do_admm_mo = .FALSE., &
smear = .FALSE., &
low_spin_roks = .FALSE., &
apply_external_density = .FALSE., &
read_external_density = .FALSE., &
apply_external_vxc = .FALSE., &
read_external_vxc = .FALSE., &
correct_surf_dip = .FALSE., &
surf_dip_correct_switch = .FALSE., &
switch_surf_dip = .FALSE., &
correct_el_density_dip = .FALSE., &
do_sccs = .FALSE., &
apply_embed_pot = .FALSE., &
apply_dmfet_pot = .FALSE.
END TYPE dft_control_type
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'cp_control_types'

View file

@ -51,27 +51,27 @@ MODULE cp_ddapc_types
!> \author Teodoro Laino
! **************************************************************************************************
TYPE cp_ddapc_type
REAL(KIND=dp) :: c0
REAL(KIND=dp), DIMENSION(:, :), POINTER :: AmI
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Md ! decoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Mr ! recoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Mt ! decoupling+recoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Ms ! solvation
REAL(KIND=dp), POINTER, DIMENSION(:, :) :: gfunc
REAL(KIND=dp), POINTER, DIMENSION(:) :: w
REAL(KIND=dp) :: c0 = 0.0_dp
REAL(KIND=dp), DIMENSION(:, :), POINTER :: AmI => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Md => NULL() ! decoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Mr => NULL() ! recoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Mt => NULL() ! decoupling+recoupling
REAL(KIND=dp), DIMENSION(:, :), POINTER :: Ms => NULL() ! solvation
REAL(KIND=dp), POINTER, DIMENSION(:, :) :: gfunc => NULL()
REAL(KIND=dp), POINTER, DIMENSION(:) :: w => NULL()
END TYPE cp_ddapc_type
! **************************************************************************************************
TYPE cp_ddapc_ewald_type
LOGICAL :: do_decoupling
LOGICAL :: do_qmmm_periodic_decpl
LOGICAL :: do_solvation
LOGICAL :: do_property
LOGICAL :: do_restraint
TYPE(section_vals_type), POINTER :: ewald_section
TYPE(pw_pool_type), POINTER :: pw_pool_qm, pw_pool_mm
TYPE(pw_grid_type), POINTER :: pw_grid_qm, pw_grid_mm
TYPE(pw_type), POINTER :: coeff_qm, coeff_mm
LOGICAL :: do_decoupling = .FALSE.
LOGICAL :: do_qmmm_periodic_decpl = .FALSE.
LOGICAL :: do_solvation = .FALSE.
LOGICAL :: do_property = .FALSE.
LOGICAL :: do_restraint = .FALSE.
TYPE(section_vals_type), POINTER :: ewald_section => NULL()
TYPE(pw_pool_type), POINTER :: pw_pool_qm => NULL(), pw_pool_mm => NULL()
TYPE(pw_grid_type), POINTER :: pw_grid_qm => NULL(), pw_grid_mm => NULL()
TYPE(pw_type), POINTER :: coeff_qm => NULL(), coeff_mm => NULL()
END TYPE cp_ddapc_ewald_type
CONTAINS

View file

@ -40,12 +40,12 @@ MODULE cryssym
INTEGER :: punit = -1
INTEGER :: istriz = -1
REAL(KIND=dp) :: delta = 1.0e-8_dp
REAL(KIND=dp), DIMENSION(3, 3) :: hmat
REAL(KIND=dp), DIMENSION(3, 3) :: hmat = 0.0_dp
! KPOINTS
REAL(KIND=dp), DIMENSION(3) :: wvk0 = 0.0_dp
INTEGER, DIMENSION(3) :: mesh
INTEGER :: nkpoint
INTEGER :: nat
INTEGER, DIMENSION(3) :: mesh = 0
INTEGER :: nkpoint = 0
INTEGER :: nat = 0
INTEGER, DIMENSION(:), ALLOCATABLE :: atype
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: scoord
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: xkpoint
@ -54,10 +54,10 @@ MODULE cryssym
INTEGER, DIMENSION(:, :), ALLOCATABLE :: kplink
INTEGER, DIMENSION(:), ALLOCATABLE :: kpop
!SPGLIB
CHARACTER(len=11) :: international_symbol
CHARACTER(len=6) :: pointgroup_symbol
CHARACTER(len=10) :: schoenflies
INTEGER :: n_operations
CHARACTER(len=11) :: international_symbol = ""
CHARACTER(len=6) :: pointgroup_symbol = ""
CHARACTER(len=10) :: schoenflies = ""
INTEGER :: n_operations = 0
INTEGER, DIMENSION(:, :, :), ALLOCATABLE :: rotations
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: translations
END TYPE csym_type

View file

@ -35,19 +35,19 @@ MODULE csvr_system_types
! **************************************************************************************************
TYPE csvr_thermo_type
INTEGER :: degrees_of_freedom
REAL(KIND=dp) :: nkt
REAL(KIND=dp) :: thermostat_energy
REAL(KIND=dp) :: region_kin_energy
TYPE(rng_stream_type) :: gaussian_rng_stream
INTEGER :: degrees_of_freedom = 0
REAL(KIND=dp) :: nkt = 0.0_dp
REAL(KIND=dp) :: thermostat_energy = 0.0_dp
REAL(KIND=dp) :: region_kin_energy = 0.0_dp
TYPE(rng_stream_type) :: gaussian_rng_stream = rng_stream_type()
END TYPE csvr_thermo_type
! **************************************************************************************************
TYPE csvr_system_type
INTEGER :: region, glob_num_csvr, loc_num_csvr
REAL(KIND=dp) :: tau_csvr, dt_fact
TYPE(csvr_thermo_type), POINTER :: nvt(:)
TYPE(map_info_type), POINTER :: map_info
INTEGER :: region = 0, glob_num_csvr = 0, loc_num_csvr = 0
REAL(KIND=dp) :: tau_csvr = 0.0_dp, dt_fact = 0.0_dp
TYPE(csvr_thermo_type), POINTER :: nvt(:) => NULL()
TYPE(map_info_type), POINTER :: map_info => NULL()
END TYPE csvr_system_type
! *** Global parameters ***

View file

@ -39,32 +39,32 @@ MODULE ct_types
! this type contains options for cayley transformation routines
! use orbitals or projectors?
LOGICAL :: use_occ_orbs, use_virt_orbs
LOGICAL :: occ_orbs_orthogonal, virt_orbs_orthogonal
LOGICAL :: use_occ_orbs = .FALSE., use_virt_orbs = .FALSE.
LOGICAL :: occ_orbs_orthogonal = .FALSE., virt_orbs_orthogonal = .FALSE.
! tensor properties of matrix indeces:
! tensor_up_down, tensor_orthogonal
INTEGER :: tensor_type
INTEGER :: tensor_type = 0
! neglect the quadratic term in riccati equations?
LOGICAL :: neglect_quadratic_term
LOGICAL :: neglect_quadratic_term = .FALSE.
! what kind of output do we produce?
LOGICAL :: update_p, update_q, calculate_energy_corr
LOGICAL :: update_p = .FALSE., update_q = .FALSE., calculate_energy_corr = .FALSE.
! variety of conjugate gradient
INTEGER :: conjugator
INTEGER :: conjugator = 0
! type of preconditioner
LOGICAL :: pp_preconditioner_full, &
qq_preconditioner_full
LOGICAL :: pp_preconditioner_full = .FALSE., &
qq_preconditioner_full = .FALSE.
REAL(KIND=dp) :: eps_convergence
REAL(KIND=dp) :: eps_filter
INTEGER :: max_iter
REAL(KIND=dp) :: eps_convergence = 0.0_dp
REAL(KIND=dp) :: eps_filter = 0.0_dp
INTEGER :: max_iter = 0
!INTEGER :: nspins
LOGICAL :: converged
INTEGER :: order_lanczos
REAL(KIND=dp) :: eps_lancsoz
INTEGER :: max_iter_lanczos
LOGICAL :: converged = .FALSE.
INTEGER :: order_lanczos = 0
REAL(KIND=dp) :: eps_lancsoz = 0.0_dp
INTEGER :: max_iter_lanczos = 0
REAL(KIND=dp) :: energy_correction
REAL(KIND=dp) :: energy_correction = 0.0_dp
!SPIN!!! ! metric matrices for covariant to contravariant transformations
!SPIN!!! TYPE(dbcsr_type), DIMENSION(:), POINTER :: p_index_up=>NULL()

View file

@ -64,7 +64,7 @@ MODULE dbcsr_vector
END TYPE ele_type
TYPE hash_table_type
TYPE(ele_type), DIMENSION(:), POINTER :: table
TYPE(ele_type), DIMENSION(:), POINTER :: table => NULL()
INTEGER :: nele = 0
INTEGER :: nmax = 0
INTEGER :: prime = 0
@ -75,23 +75,23 @@ MODULE dbcsr_vector
! **************************************************************************************************
TYPE block_ptr_d
REAL(real_8), DIMENSION(:, :), POINTER :: ptr => NULL()
INTEGER :: assigned_thread
INTEGER :: assigned_thread = -1
END TYPE
TYPE block_ptr_s
REAL(real_4), DIMENSION(:, :), POINTER :: ptr => NULL()
INTEGER :: assigned_thread
INTEGER :: assigned_thread = -1
END TYPE
TYPE block_ptr_c
COMPLEX(real_4), DIMENSION(:, :), POINTER :: ptr => NULL()
INTEGER :: assigned_thread
INTEGER :: assigned_thread = -1
END TYPE
TYPE block_ptr_z
COMPLEX(real_8), DIMENSION(:, :), POINTER :: ptr => NULL()
INTEGER :: assigned_thread
INTEGER :: assigned_thread = -1
END TYPE
TYPE fast_vec_access_type
TYPE(hash_table_type) :: hash_table
TYPE(hash_table_type) :: hash_table = hash_table_type()
TYPE(block_ptr_d), DIMENSION(:), ALLOCATABLE :: blk_map_d
TYPE(block_ptr_s), DIMENSION(:), ALLOCATABLE :: blk_map_s
TYPE(block_ptr_c), DIMENSION(:), ALLOCATABLE :: blk_map_c

View file

@ -60,18 +60,18 @@ MODULE distribution_2d_types
!> \author Joost & Fawzi
! **************************************************************************************************
TYPE distribution_2d_type
INTEGER, DIMENSION(:, :), POINTER :: row_distribution
INTEGER, DIMENSION(:, :), POINTER :: col_distribution
INTEGER :: n_row_distribution
INTEGER :: n_col_distribution
INTEGER, DIMENSION(:), POINTER :: n_local_rows
INTEGER, DIMENSION(:), POINTER :: n_local_cols
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: local_rows
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: local_cols
INTEGER, DIMENSION(:), POINTER :: flat_local_rows
INTEGER, DIMENSION(:), POINTER :: flat_local_cols
TYPE(cp_blacs_env_type), POINTER :: blacs_env
INTEGER :: ref_count
INTEGER, DIMENSION(:, :), POINTER :: row_distribution => NULL()
INTEGER, DIMENSION(:, :), POINTER :: col_distribution => NULL()
INTEGER :: n_row_distribution = 0
INTEGER :: n_col_distribution = 0
INTEGER, DIMENSION(:), POINTER :: n_local_rows => NULL()
INTEGER, DIMENSION(:), POINTER :: n_local_cols => NULL()
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: local_rows => NULL()
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: local_cols => NULL()
INTEGER, DIMENSION(:), POINTER :: flat_local_rows => NULL()
INTEGER, DIMENSION(:), POINTER :: flat_local_cols => NULL()
TYPE(cp_blacs_env_type), POINTER :: blacs_env => NULL()
INTEGER :: ref_count = 0
END TYPE distribution_2d_type
CONTAINS

View file

@ -40,16 +40,16 @@ MODULE dm_ls_scf_types
ls_scf_curvy_type
TYPE ls_mstruct_type
INTEGER :: cluster_type
LOGICAL :: single_precision
LOGICAL :: do_pao
INTEGER :: cluster_type = -1
LOGICAL :: single_precision = .FALSE.
LOGICAL :: do_pao = .FALSE.
INTEGER, DIMENSION(:), ALLOCATABLE :: atom_to_molecule
TYPE(dbcsr_type) :: matrix_A
TYPE(dbcsr_type) :: matrix_B
END TYPE
TYPE ls_mat_history_type
INTEGER :: istore, nstore
INTEGER :: istore = 0, nstore = 0
TYPE(dbcsr_type), DIMENSION(:, :), ALLOCATABLE :: matrix
END TYPE
@ -58,28 +58,28 @@ MODULE dm_ls_scf_types
TYPE(dbcsr_type), DIMENSION(:), ALLOCATABLE :: matrix_p
TYPE(dbcsr_type), DIMENSION(:, :), ALLOCATABLE :: matrix_psave
TYPE(dbcsr_type), DIMENSION(:, :), ALLOCATABLE :: matrix_BCH
REAL(KIND=dp) :: step_size(2)
REAL(KIND=dp) :: shift(2)
REAL(KIND=dp) :: cg_denom(2)
REAL(KIND=dp) :: cg_numer(2)
REAL(KIND=dp), DIMENSION(6) :: energies
INTEGER :: line_search_step
INTEGER :: BCH_saved(2)
LOGICAL :: double_step_size
LOGICAL :: fix_shift(2)
REAL(KIND=dp), DIMENSION(2) :: step_size = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: shift = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: cg_denom = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: cg_numer = 0.0_dp
REAL(KIND=dp), DIMENSION(6) :: energies = 0.0_dp
INTEGER :: line_search_step = 0
INTEGER, DIMENSION(2) :: BCH_saved = 0
LOGICAL :: double_step_size = .FALSE.
LOGICAL, DIMENSION(2) :: fix_shift = .FALSE.
INTEGER :: line_search_type
INTEGER :: n_bch_hist
REAL(KIND=dp) :: scale_filter
REAL(KIND=dp) :: filter_factor
REAL(KIND=dp) :: min_shift
REAL(KIND=dp) :: min_filter
INTEGER :: line_search_type = 0
INTEGER :: n_bch_hist = 0
REAL(KIND=dp) :: scale_filter = 0.0_dp
REAL(KIND=dp) :: filter_factor = 0.0_dp
REAL(KIND=dp) :: min_shift = 0.0_dp
REAL(KIND=dp) :: min_filter = 0.0_dp
END TYPE
TYPE chebyshev_type
LOGICAL :: compute_chebyshev
INTEGER :: n_chebyshev
INTEGER :: n_gridpoint_dos
LOGICAL :: compute_chebyshev = .FALSE.
INTEGER :: n_chebyshev = 0
INTEGER :: n_gridpoint_dos = 0
REAL(KIND=dp), DIMENSION(:), POINTER :: min_energy => NULL()
REAL(KIND=dp), DIMENSION(:), POINTER :: max_energy => NULL()
TYPE(section_vals_type), POINTER :: print_key_dos => NULL()
@ -87,43 +87,44 @@ MODULE dm_ls_scf_types
END TYPE
TYPE ls_scf_env_type
INTEGER :: nspins, natoms
INTEGER :: nelectron_total
INTEGER, DIMENSION(2) :: nelectron_spin
REAL(KIND=dp), DIMENSION(2) :: mu_spin
REAL(KIND=dp), DIMENSION(2) :: homo_spin
REAL(KIND=dp), DIMENSION(2) :: lumo_spin
INTEGER :: nspins = 0, natoms = 0
INTEGER :: nelectron_total = 0
INTEGER, DIMENSION(2) :: nelectron_spin = 0
REAL(KIND=dp), DIMENSION(2) :: mu_spin = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: homo_spin = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: lumo_spin = 0.0_dp
TYPE(ls_mat_history_type) :: scf_history
INTEGER :: extrapolation_order
TYPE(ls_mat_history_type) :: scf_history = ls_mat_history_type()
INTEGER :: extrapolation_order = -1
LOGICAL :: has_unit_metric
LOGICAL :: has_unit_metric = .FALSE.
LOGICAL :: curvy_steps
INTEGER :: s_preconditioner_type
INTEGER :: s_inversion_type
INTEGER :: purification_method
INTEGER :: sign_method
INTEGER :: sign_order
LOGICAL :: sign_symmetric
INTEGER :: submatrix_sign_method
INTEGER :: s_sqrt_method
INTEGER :: s_sqrt_order
LOGICAL :: curvy_steps = .FALSE.
INTEGER :: s_preconditioner_type = 0
INTEGER :: s_inversion_type = 0
INTEGER :: purification_method = 0
INTEGER :: sign_method = 0
INTEGER :: sign_order = 0
LOGICAL :: sign_symmetric = .FALSE.
INTEGER :: submatrix_sign_method = -1
INTEGER :: s_sqrt_method = 0
INTEGER :: s_sqrt_order = 0
LOGICAL :: needs_s_inv, has_s_preconditioner, fixed_mu, dynamic_threshold, check_s_inv
LOGICAL :: restart_read, restart_write, non_monotonic
REAL(KIND=dp) :: eps_filter, eps_scf
LOGICAL :: needs_s_inv = .FALSE., has_s_preconditioner = .FALSE., fixed_mu = .FALSE., &
dynamic_threshold = .FALSE., check_s_inv = .FALSE.
LOGICAL :: restart_read = .FALSE., restart_write = .FALSE., non_monotonic = .FALSE.
REAL(KIND=dp) :: eps_filter = 0.0_dp, eps_scf = 0.0_dp
REAL(KIND=dp) :: eps_lanczos
INTEGER :: max_iter_lanczos
REAL(KIND=dp) :: eps_lanczos = 0.0_dp
INTEGER :: max_iter_lanczos = 0
REAL(KIND=dp) :: mixing_fraction
INTEGER :: max_scf
LOGICAL :: ls_diis
INTEGER :: iter_ini_diis
INTEGER :: nmixing, max_diis
REAL(KIND=dp) :: eps_diis
REAL(KIND=dp) :: energy_init
REAL(KIND=dp) :: mixing_fraction = 0.0_dp
INTEGER :: max_scf = 0
LOGICAL :: ls_diis = .FALSE.
INTEGER :: iter_ini_diis = 0
INTEGER :: nmixing = 0, max_diis = 0
REAL(KIND=dp) :: eps_diis = 0.0_dp
REAL(KIND=dp) :: energy_init = 0.0_dp
TYPE(dbcsr_type) :: matrix_s_inv
TYPE(dbcsr_type) :: matrix_s
@ -132,25 +133,25 @@ MODULE dm_ls_scf_types
TYPE(dbcsr_type), DIMENSION(:), ALLOCATABLE :: matrix_ks
TYPE(dbcsr_type), DIMENSION(:), ALLOCATABLE :: matrix_p
LOGICAL :: report_all_sparsities, perform_mu_scan, use_s_sqrt
LOGICAL :: report_all_sparsities = .FALSE., perform_mu_scan = .FALSE., use_s_sqrt = .FALSE.
TYPE(ls_mstruct_type) :: ls_mstruct
TYPE(ls_scf_curvy_type) :: curvy_data
TYPE(ls_scf_curvy_type) :: curvy_data = ls_scf_curvy_type()
TYPE(chebyshev_type) :: chebyshev
TYPE(chebyshev_type) :: chebyshev = chebyshev_type()
LOGICAL :: do_rho_mixing
INTEGER :: density_mixing_method
TYPE(mixing_storage_type), POINTER :: mixing_store
LOGICAL :: do_rho_mixing = .FALSE.
INTEGER :: density_mixing_method = 0
TYPE(mixing_storage_type), POINTER :: mixing_store => NULL()
LOGICAL :: do_transport
LOGICAL :: do_pexsi
LOGICAL :: do_transport = .FALSE.
LOGICAL :: do_pexsi = .FALSE.
LOGICAL :: calculate_forces
LOGICAL :: calculate_forces = .FALSE.
TYPE(lib_pexsi_env) :: pexsi
TYPE(mp_para_env_type), POINTER :: para_env
TYPE(mp_para_env_type), POINTER :: para_env => NULL()
LOGICAL :: do_pao = .FALSE.
TYPE(pao_env_type) :: pao_env
END TYPE ls_scf_env_type

View file

@ -30,18 +30,18 @@ MODULE domain_submatrix_types
! submatrix storage with the meta-data necessary to convert
! the submatrix into the DBCSR format
TYPE domain_submatrix_type
INTEGER :: domain
INTEGER :: domain = 0
REAL(KIND=dp), DIMENSION(:, :), ALLOCATABLE :: mdata
INTEGER :: nbrows
INTEGER :: nbcols
INTEGER :: nrows
INTEGER :: ncols
INTEGER :: nbrows = 0
INTEGER :: nbcols = 0
INTEGER :: nrows = 0
INTEGER :: ncols = 0
INTEGER, DIMENSION(:), ALLOCATABLE :: dbcsr_row
INTEGER, DIMENSION(:), ALLOCATABLE :: dbcsr_col
INTEGER, DIMENSION(:), ALLOCATABLE :: size_brow
INTEGER, DIMENSION(:), ALLOCATABLE :: size_bcol
INTEGER :: nnodes
TYPE(mp_comm_type) :: group
INTEGER :: nnodes = 0
TYPE(mp_comm_type) :: group = mp_comm_type()
END TYPE domain_submatrix_type
TYPE domain_map_type

View file

@ -52,69 +52,71 @@ MODULE ec_env_types
!> \author JGH
! *****************************************************************************
TYPE energy_correction_type
CHARACTER(len=20) :: ec_name
INTEGER :: energy_functional
INTEGER :: ks_solver
INTEGER :: factorization
INTEGER :: ec_initial_guess
REAL(KIND=dp) :: eps_default
LOGICAL :: do_ec_admm
LOGICAL :: do_ec_hfx
LOGICAL :: should_update
LOGICAL :: use_ls_solver
LOGICAL :: reuse_hfx
LOGICAL :: basis_inconsistent
CHARACTER(len=20) :: ec_name = ""
INTEGER :: energy_functional = 0
INTEGER :: ks_solver = 0
INTEGER :: factorization = 0
INTEGER :: ec_initial_guess = 0
REAL(KIND=dp) :: eps_default = 0.0_dp
LOGICAL :: do_ec_admm = .FALSE.
LOGICAL :: do_ec_hfx = .FALSE.
LOGICAL :: should_update = .FALSE.
LOGICAL :: use_ls_solver = .FALSE.
LOGICAL :: reuse_hfx = .FALSE.
LOGICAL :: basis_inconsistent = .FALSE.
! debug
LOGICAL :: debug_forces = .FALSE.
LOGICAL :: debug_stress = .FALSE.
! basis set
CHARACTER(len=20) :: basis
LOGICAL :: mao
CHARACTER(len=20) :: basis = ""
LOGICAL :: mao = .FALSE.
! Skip EC calculation if ground-state didnt converge
LOGICAL :: do_skip, skip_ec
INTEGER :: mao_max_iter
REAL(KIND=dp) :: mao_eps_grad
REAL(KIND=dp) :: mao_eps1
INTEGER :: mao_iolevel
LOGICAL :: do_skip = .FALSE., skip_ec = .FALSE.
INTEGER :: mao_max_iter = 0
REAL(KIND=dp) :: mao_eps_grad = 0.0_dp
REAL(KIND=dp) :: mao_eps1 = 0.0_dp
INTEGER :: mao_iolevel = 0
! energy components
REAL(KIND=dp) :: etotal, old_etotal
REAL(KIND=dp) :: eband, ecore, exc, ehartree, vhxc
REAL(KIND=dp) :: edispersion, efield_elec, &
efield_nuclear, ex, exc_aux_fit
REAL(KIND=dp) :: etotal = 0.0_dp, old_etotal = 0.0_dp
REAL(KIND=dp) :: eband = 0.0_dp, ecore = 0.0_dp, exc = 0.0_dp, &
ehartree = 0.0_dp, vhxc = 0.0_dp
REAL(KIND=dp) :: edispersion = 0.0_dp, efield_elec = 0.0_dp, &
efield_nuclear = 0.0_dp, ex = 0.0_dp, exc_aux_fit = 0.0_dp
! forces
TYPE(qs_force_type), DIMENSION(:), POINTER :: force => Null()
! full neighbor lists and corresponding task list
TYPE(neighbor_list_set_p_type), &
DIMENSION(:), POINTER :: sab_orb, sac_ppl, sap_ppnl
TYPE(task_list_type), POINTER :: task_list
DIMENSION(:), POINTER :: sab_orb => Null(), sac_ppl => Null(), sap_ppnl => Null()
TYPE(task_list_type), POINTER :: task_list => Null()
! the XC function to be used for the correction, dispersion info
TYPE(section_vals_type), POINTER :: xc_section
TYPE(qs_dispersion_type), POINTER :: dispersion_env
TYPE(section_vals_type), POINTER :: xc_section => Null()
TYPE(qs_dispersion_type), POINTER :: dispersion_env => Null()
! matrices in complete basis
! KS: Kohn-Sham; H: Core; S: overlap; T: kinetic energy;
! P: Harris density, W: Harris energy weighted density
TYPE(dbcsr_p_type), DIMENSION(:, :), POINTER :: matrix_ks, &
matrix_h, &
matrix_s, &
matrix_t, &
matrix_p, &
matrix_w
TYPE(dbcsr_p_type), DIMENSION(:, :), POINTER :: matrix_ks => Null(), &
matrix_h => Null(), &
matrix_s => Null(), &
matrix_t => Null(), &
matrix_p => Null(), &
matrix_w => Null()
! reduce basis
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: mao_coef
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: mao_coef => Null()
! CP equations
TYPE(qs_p_env_type), POINTER :: p_env
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_hz, matrix_wz, matrix_z, z_admm
TYPE(qs_p_env_type), POINTER :: p_env => Null()
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_hz => Null(), matrix_wz => Null(), &
matrix_z => Null(), z_admm => Null()
! Harris (rhoout), and response density (rhoz) on grid
TYPE(pw_type), DIMENSION(:), POINTER :: rhoout_r, rhoz_r
TYPE(pw_type), DIMENSION(:), POINTER :: rhoout_r => Null(), rhoz_r => Null()
! potentials from input density
TYPE(pw_type) :: vh_rspace
TYPE(pw_type), DIMENSION(:), POINTER :: vxc_rspace, vtau_rspace, vadmm_rspace
TYPE(pw_type) :: vh_rspace = pw_type()
TYPE(pw_type), DIMENSION(:), POINTER :: vxc_rspace => Null(), vtau_rspace => Null(), vadmm_rspace => Null()
! efield
TYPE(efield_berry_type), POINTER :: efield => NULL()
! LS matrices and types
TYPE(ls_scf_env_type), POINTER :: ls_env
TYPE(ls_scf_env_type), POINTER :: ls_env => Null()
! Environment for Hartree-Fock exchange
TYPE(hfx_type), DIMENSION(:, :), POINTER :: x_data
TYPE(hfx_type), DIMENSION(:, :), POINTER :: x_data => Null()
! ADMM XC environments
TYPE(section_vals_type), POINTER :: xc_section_primary => Null(), &
xc_section_aux => Null()

View file

@ -81,20 +81,20 @@ MODULE eip_environment_types
!> \author Thomas D. Kuehne (tkuehne@phys.chem.ethz.ch)
! **************************************************************************************************
TYPE eip_environment_type
INTEGER :: eip_model
REAL(KIND=dp) :: eip_energy, &
eip_kinetic_energy, &
eip_potential_energy, &
eip_energy_var
REAL(KIND=dp), DIMENSION(:, :), POINTER :: eip_forces
REAL(KIND=dp) :: coord_avg, &
coord_var, &
count
TYPE(cp_subsys_type), POINTER :: subsys
TYPE(section_vals_type), POINTER :: eip_input, &
force_env_input
TYPE(cell_type), POINTER :: cell_ref
LOGICAL :: use_ref_cell
INTEGER :: eip_model = 0
REAL(KIND=dp) :: eip_energy = 0.0_dp, &
eip_kinetic_energy = 0.0_dp, &
eip_potential_energy = 0.0_dp, &
eip_energy_var = 0.0_dp
REAL(KIND=dp), DIMENSION(:, :), POINTER :: eip_forces => Null()
REAL(KIND=dp) :: coord_avg = 0.0_dp, &
coord_var = 0.0_dp, &
count = 0.0_dp
TYPE(cp_subsys_type), POINTER :: subsys => Null()
TYPE(section_vals_type), POINTER :: eip_input => Null(), &
force_env_input => Null()
TYPE(cell_type), POINTER :: cell_ref => Null()
LOGICAL :: use_ref_cell = .FALSE.
END TYPE eip_environment_type
CONTAINS

View file

@ -100,12 +100,12 @@ MODULE et_coupling_proj
! m_transf_inv - inversion transformation matrix
! block - atomic data blocks
TYPE et_cpl
INTEGER :: n_atoms
INTEGER :: n_blocks
REAL(KIND=dp), DIMENSION(:), POINTER :: fermi
TYPE(cp_fm_type), POINTER :: m_transf
TYPE(cp_fm_type), POINTER :: m_transf_inv
TYPE(et_cpl_block), DIMENSION(:), POINTER :: block
INTEGER :: n_atoms = 0
INTEGER :: n_blocks = 0
REAL(KIND=dp), DIMENSION(:), POINTER :: fermi => NULL()
TYPE(cp_fm_type), POINTER :: m_transf => NULL()
TYPE(cp_fm_type), POINTER :: m_transf_inv => NULL()
TYPE(et_cpl_block), DIMENSION(:), POINTER :: block => NULL()
END TYPE et_cpl
! Electronic-coupling data block
@ -117,12 +117,12 @@ MODULE et_coupling_proj
! mo - electronic states
! hab - electronic-coupling elements
TYPE et_cpl_block
INTEGER :: n_atoms
INTEGER :: n_electrons
INTEGER :: n_ao
TYPE(et_cpl_atom), DIMENSION(:), POINTER :: atom
TYPE(mo_set_type), DIMENSION(:), POINTER :: mo
TYPE(cp_fm_type), DIMENSION(:, :), POINTER :: hab
INTEGER :: n_atoms = 0
INTEGER :: n_electrons = 0
INTEGER :: n_ao = 0
TYPE(et_cpl_atom), DIMENSION(:), POINTER :: atom => NULL()
TYPE(mo_set_type), DIMENSION(:), POINTER :: mo => NULL()
TYPE(cp_fm_type), DIMENSION(:, :), POINTER :: hab => NULL()
END TYPE et_cpl_block
! Electronic-coupling block-atom data
@ -130,9 +130,9 @@ MODULE et_coupling_proj
! n_ao - number of AO basis functions
! ao_pos - position of atom in array of AO functions
TYPE et_cpl_atom
INTEGER :: id
INTEGER :: n_ao
INTEGER :: ao_pos
INTEGER :: id = 0
INTEGER :: n_ao = 0
INTEGER :: ao_pos = 0
END TYPE et_cpl_atom
PUBLIC :: calc_et_coupling_proj

View file

@ -39,11 +39,11 @@ MODULE et_coupling_types
!> \author fschiff
! **************************************************************************************************
TYPE et_coupling_type
TYPE(cp_fm_type), DIMENSION(:), POINTER :: et_mo_coeff
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: rest_mat
LOGICAL :: first_run
LOGICAL :: keep_matrix
REAL(KIND=dp) :: energy, e1, order_p
TYPE(cp_fm_type), DIMENSION(:), POINTER :: et_mo_coeff => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: rest_mat => NULL()
LOGICAL :: first_run = .FALSE.
LOGICAL :: keep_matrix = .FALSE.
REAL(KIND=dp) :: energy = 0.0_dp, e1 = 0.0_dp, order_p = 0.0_dp
END TYPE
CONTAINS

View file

@ -149,17 +149,17 @@ MODULE f77_interface
! **************************************************************************************************
TYPE f_env_p_type
TYPE(f_env_type), POINTER :: f_env
TYPE(f_env_type), POINTER :: f_env => NULL()
END TYPE f_env_p_type
! **************************************************************************************************
TYPE f_env_type
INTEGER :: id_nr
TYPE(force_env_type), POINTER :: force_env
TYPE(cp_logger_type), POINTER :: logger
TYPE(timer_env_type), POINTER :: timer_env
TYPE(mp_perf_env_type), POINTER :: mp_perf_env
CHARACTER(len=default_path_length) :: my_path, old_path
INTEGER :: id_nr = 0
TYPE(force_env_type), POINTER :: force_env => NULL()
TYPE(cp_logger_type), POINTER :: logger => NULL()
TYPE(timer_env_type), POINTER :: timer_env => NULL()
TYPE(mp_perf_env_type), POINTER :: mp_perf_env => NULL()
CHARACTER(len=default_path_length) :: my_path = "", old_path = ""
END TYPE f_env_type
TYPE(f_env_p_type), DIMENSION(:), POINTER, SAVE :: f_envs

View file

@ -137,24 +137,24 @@ MODULE force_env_types
!> \author fawzi
! **************************************************************************************************
TYPE force_env_type
INTEGER :: ref_count, in_use, method_name_id
REAL(KIND=dp) :: additional_potential
TYPE(fist_environment_type), POINTER :: fist_env
TYPE(meta_env_type), POINTER :: meta_env
TYPE(fp_type), POINTER :: fp_env
TYPE(qs_environment_type), POINTER :: qs_env
TYPE(eip_environment_type), POINTER :: eip_env
TYPE(pwdft_environment_type), POINTER :: pwdft_env
TYPE(global_environment_type), POINTER :: globenv
TYPE(mp_para_env_type), POINTER :: para_env
TYPE(force_env_p_type), DIMENSION(:), POINTER :: sub_force_env
TYPE(qmmm_env_type), POINTER :: qmmm_env
TYPE(qmmmx_env_type), POINTER :: qmmmx_env
TYPE(mixed_environment_type), POINTER :: mixed_env
TYPE(nnp_type), POINTER :: nnp_env
TYPE(embed_env_type), POINTER :: embed_env
TYPE(section_vals_type), POINTER :: force_env_section
TYPE(section_vals_type), POINTER :: root_section
INTEGER :: ref_count = 0, in_use = 0, method_name_id = 0
REAL(KIND=dp) :: additional_potential = 0.0_dp
TYPE(fist_environment_type), POINTER :: fist_env => NULL()
TYPE(meta_env_type), POINTER :: meta_env => NULL()
TYPE(fp_type), POINTER :: fp_env => NULL()
TYPE(qs_environment_type), POINTER :: qs_env => NULL()
TYPE(eip_environment_type), POINTER :: eip_env => NULL()
TYPE(pwdft_environment_type), POINTER :: pwdft_env => NULL()
TYPE(global_environment_type), POINTER :: globenv => NULL()
TYPE(mp_para_env_type), POINTER :: para_env => NULL()
TYPE(force_env_p_type), DIMENSION(:), POINTER :: sub_force_env => NULL()
TYPE(qmmm_env_type), POINTER :: qmmm_env => NULL()
TYPE(qmmmx_env_type), POINTER :: qmmmx_env => NULL()
TYPE(mixed_environment_type), POINTER :: mixed_env => NULL()
TYPE(nnp_type), POINTER :: nnp_env => NULL()
TYPE(embed_env_type), POINTER :: embed_env => NULL()
TYPE(section_vals_type), POINTER :: force_env_section => NULL()
TYPE(section_vals_type), POINTER :: root_section => NULL()
END TYPE force_env_type
! **************************************************************************************************
@ -165,7 +165,7 @@ MODULE force_env_types
!> \author MJM
! **************************************************************************************************
TYPE force_env_p_type
TYPE(force_env_type), POINTER :: force_env
TYPE(force_env_type), POINTER :: force_env => NULL()
END TYPE force_env_p_type
CONTAINS

View file

@ -13,6 +13,8 @@ MODULE mp_perf_env
USE kinds, ONLY: dp
#include "../base/base_uses.f90"
PRIVATE
PUBLIC :: mp_perf_env_type
PUBLIC :: mp_perf_env_retain, mp_perf_env_release
PUBLIC :: add_mp_perf_env, rm_mp_perf_env, get_mp_perf_env, describe_mp_perf_env

View file

@ -28,12 +28,14 @@ MODULE mp_perf_test
#if defined(__parallel)
#if defined(__MPI_F08)
USE mpi_f08
USE mpi_f08, ONLY: mpi_wtime
#else
USE mpi
USE mpi, ONLY: mpi_wtime
#endif
#endif
PRIVATE
PUBLIC :: mpi_perf_test
CONTAINS

View file

@ -30,7 +30,7 @@ MODULE pair_potential_types
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'pair_potential_types'
PRIVATE
! when adding a new nonbonedd potential please update also the list_pot
! when adding a new nonbonded potential please update also the list_pot
! used for the linear scaling screening of potential calculation
INTEGER, PUBLIC, PARAMETER :: multi_type = -1, &
nn_type = 0, &
@ -119,64 +119,64 @@ MODULE pair_potential_types
! **************************************************************************************************
TYPE ipbv_pot_type
REAL(KIND=dp), DIMENSION(2:15) :: a
REAL(KIND=dp) :: rcore
REAL(KIND=dp) :: m
REAL(KIND=dp) :: b
REAL(KIND=dp), DIMENSION(2:15) :: a = 0.0_dp
REAL(KIND=dp) :: rcore = 0.0_dp
REAL(KIND=dp) :: m = 0.0_dp
REAL(KIND=dp) :: b = 0.0_dp
END TYPE ipbv_pot_type
! **************************************************************************************************
TYPE lj_pot_type
REAL(KIND=dp) :: epsilon
REAL(KIND=dp) :: sigma6
REAL(KIND=dp) :: sigma12
REAL(KIND=dp) :: epsilon = 0.0_dp
REAL(KIND=dp) :: sigma6 = 0.0_dp
REAL(KIND=dp) :: sigma12 = 0.0_dp
END TYPE Lj_pot_type
! **************************************************************************************************
TYPE ft_pot_type
REAL(KIND=dp) :: A
REAL(KIND=dp) :: B
REAL(KIND=dp) :: C
REAL(KIND=dp) :: D
REAL(KIND=dp) :: A = 0.0_dp
REAL(KIND=dp) :: B = 0.0_dp
REAL(KIND=dp) :: C = 0.0_dp
REAL(KIND=dp) :: D = 0.0_dp
END TYPE ft_pot_type
! **************************************************************************************************
TYPE ftd_pot_type
REAL(KIND=dp) :: A
REAL(KIND=dp) :: B
REAL(KIND=dp) :: C
REAL(KIND=dp) :: D
REAL(KIND=dp), DIMENSION(2) :: BD
REAL(KIND=dp) :: A = 0.0_dp
REAL(KIND=dp) :: B = 0.0_dp
REAL(KIND=dp) :: C = 0.0_dp
REAL(KIND=dp) :: D = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: BD = 0.0_dp
END TYPE ftd_pot_type
! **************************************************************************************************
TYPE williams_pot_type
REAL(KIND=dp) :: a
REAL(KIND=dp) :: b
REAL(KIND=dp) :: c
REAL(KIND=dp) :: a = 0.0_dp
REAL(KIND=dp) :: b = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
END TYPE williams_pot_type
! **************************************************************************************************
TYPE goodwin_pot_type
REAL(KIND=dp) :: vr0
REAL(KIND=dp) :: m, mc
REAL(KIND=dp) :: d, dc
REAL(KIND=dp) :: vr0 = 0.0_dp
REAL(KIND=dp) :: m = 0.0_dp, mc = 0.0_dp
REAL(KIND=dp) :: d = 0.0_dp, dc = 0.0_dp
END TYPE goodwin_pot_type
! **************************************************************************************************
TYPE eam_pot_type
CHARACTER(LEN=default_path_length) :: eam_file_name
INTEGER :: npoints
REAL(KIND=dp) :: drar, drhoar, acutal
REAL(KIND=dp), POINTER, DIMENSION(:) :: rho, phi, frho, rhoval, rval
REAL(KIND=dp), POINTER, DIMENSION(:) :: rhop, phip, frhop
CHARACTER(LEN=default_path_length) :: eam_file_name = ""
INTEGER :: npoints = 0
REAL(KIND=dp) :: drar = 0.0_dp, drhoar = 0.0_dp, acutal = 0.0_dp
REAL(KIND=dp), POINTER, DIMENSION(:) :: rho => NULL(), phi => NULL(), frho => NULL(), rhoval => NULL(), rval => NULL()
REAL(KIND=dp), POINTER, DIMENSION(:) :: rhop => NULL(), phip => NULL(), frhop => NULL()
END TYPE eam_pot_type
! **************************************************************************************************
TYPE quip_pot_type
CHARACTER(LEN=default_path_length) :: quip_file_name
CHARACTER(LEN=1024) :: init_args
CHARACTER(LEN=1024) :: calc_args
CHARACTER(LEN=default_path_length) :: quip_file_name = ""
CHARACTER(LEN=1024) :: init_args = ""
CHARACTER(LEN=1024) :: calc_args = ""
END TYPE quip_pot_type
! **************************************************************************************************
@ -203,204 +203,204 @@ MODULE pair_potential_types
! **************************************************************************************************
TYPE buck4ran_pot_type
REAL(KIND=dp) :: a
REAL(KIND=dp) :: b
REAL(KIND=dp) :: c
REAL(KIND=dp) :: r1
REAL(KIND=dp) :: r2
REAL(KIND=dp) :: r3
INTEGER :: npoly1, npoly2
REAL(KIND=dp), DIMENSION(0:10) :: poly1
REAL(KIND=dp), DIMENSION(0:10) :: poly2
REAL(KIND=dp) :: a = 0.0_dp
REAL(KIND=dp) :: b = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
REAL(KIND=dp) :: r1 = 0.0_dp
REAL(KIND=dp) :: r2 = 0.0_dp
REAL(KIND=dp) :: r3 = 0.0_dp
INTEGER :: npoly1 = 0, npoly2 = 0
REAL(KIND=dp), DIMENSION(0:10) :: poly1 = 0.0_dp
REAL(KIND=dp), DIMENSION(0:10) :: poly2 = 0.0_dp
END TYPE buck4ran_pot_type
! **************************************************************************************************
TYPE buckmorse_pot_type
REAL(KIND=dp) :: f0
REAL(KIND=dp) :: a1
REAL(KIND=dp) :: a2
REAL(KIND=dp) :: b1
REAL(KIND=dp) :: b2
REAL(KIND=dp) :: c
REAL(KIND=dp) :: d
REAL(KIND=dp) :: r0
REAL(KIND=dp) :: beta
REAL(KIND=dp) :: f0 = 0.0_dp
REAL(KIND=dp) :: a1 = 0.0_dp
REAL(KIND=dp) :: a2 = 0.0_dp
REAL(KIND=dp) :: b1 = 0.0_dp
REAL(KIND=dp) :: b2 = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
REAL(KIND=dp) :: d = 0.0_dp
REAL(KIND=dp) :: r0 = 0.0_dp
REAL(KIND=dp) :: beta = 0.0_dp
END TYPE buckmorse_pot_type
! **************************************************************************************************
TYPE gp_pot_type
INTEGER :: myid
CHARACTER(LEN=default_path_length) :: potential
INTEGER :: myid = 0
CHARACTER(LEN=default_path_length) :: potential = ""
CHARACTER(LEN=default_string_length), &
POINTER, DIMENSION(:) :: parameters, units
CHARACTER(LEN=default_string_length) :: variables
REAL(KIND=dp), DIMENSION(:), POINTER :: values
POINTER, DIMENSION(:) :: parameters => NULL(), units => NULL()
CHARACTER(LEN=default_string_length) :: variables = ""
REAL(KIND=dp), DIMENSION(:), POINTER :: values => NULL()
END TYPE gp_pot_type
! **************************************************************************************************
TYPE tersoff_pot_type
! Get this stuff from the PRB V38, N14 9902 (1988) by Tersoff
REAL(KIND=dp) :: A
REAL(KIND=dp) :: B
REAL(KIND=dp) :: lambda1
REAL(KIND=dp) :: lambda2
REAL(KIND=dp) :: alpha
REAL(KIND=dp) :: beta
REAL(KIND=dp) :: n
REAL(KIND=dp) :: c
REAL(KIND=dp) :: d
REAL(KIND=dp) :: h
REAL(KIND=dp) :: lambda3
REAL(KIND=dp) :: bigR ! Used to be R = Rij + D
REAL(KIND=dp) :: bigD ! Used to be D = Rij - D
REAL(KIND=dp) :: rcutsq ! Always set to (bigR+bigD)^2
REAL(KIND=dp) :: A = 0.0_dp
REAL(KIND=dp) :: B = 0.0_dp
REAL(KIND=dp) :: lambda1 = 0.0_dp
REAL(KIND=dp) :: lambda2 = 0.0_dp
REAL(KIND=dp) :: alpha = 0.0_dp
REAL(KIND=dp) :: beta = 0.0_dp
REAL(KIND=dp) :: n = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
REAL(KIND=dp) :: d = 0.0_dp
REAL(KIND=dp) :: h = 0.0_dp
REAL(KIND=dp) :: lambda3 = 0.0_dp
REAL(KIND=dp) :: bigR = 0.0_dp ! Used to be R = Rij + D
REAL(KIND=dp) :: bigD = 0.0_dp ! Used to be D = Rij - D
REAL(KIND=dp) :: rcutsq = 0.0_dp ! Always set to (bigR+bigD)^2
END TYPE tersoff_pot_type
! **************************************************************************************************
TYPE siepmann_pot_type
REAL(KIND=dp) :: B
REAL(KIND=dp) :: D
REAL(KIND=dp) :: E
REAL(KIND=dp) :: F
REAL(KIND=dp) :: beta
REAL(KIND=dp) :: rcutsq
LOGICAL :: allow_oh_formation
LOGICAL :: allow_h3o_formation
LOGICAL :: allow_o_formation
REAL(KIND=dp) :: B = 0.0_dp
REAL(KIND=dp) :: D = 0.0_dp
REAL(KIND=dp) :: E = 0.0_dp
REAL(KIND=dp) :: F = 0.0_dp
REAL(KIND=dp) :: beta = 0.0_dp
REAL(KIND=dp) :: rcutsq = 0.0_dp
LOGICAL :: allow_oh_formation = .FALSE.
LOGICAL :: allow_h3o_formation = .FALSE.
LOGICAL :: allow_o_formation = .FALSE.
END TYPE siepmann_pot_type
! **************************************************************************************************
TYPE gal_pot_type
CHARACTER(LEN=2) :: met1
CHARACTER(LEN=2) :: met2
REAL(KIND=dp) :: epsilon
REAL(KIND=dp) :: bxy
REAL(KIND=dp) :: bz
REAL(KIND=dp) :: r1
REAL(KIND=dp) :: r2
REAL(KIND=dp) :: a1
REAL(KIND=dp) :: a2
REAL(KIND=dp) :: a3
REAL(KIND=dp) :: a4
REAL(KIND=dp) :: a
REAL(KIND=dp) :: b
REAL(KIND=dp) :: c
REAL(KIND=dp), POINTER, DIMENSION(:) :: gcn
CHARACTER(LEN=2) :: met1 = ""
CHARACTER(LEN=2) :: met2 = ""
REAL(KIND=dp) :: epsilon = 0.0_dp
REAL(KIND=dp) :: bxy = 0.0_dp
REAL(KIND=dp) :: bz = 0.0_dp
REAL(KIND=dp) :: r1 = 0.0_dp
REAL(KIND=dp) :: r2 = 0.0_dp
REAL(KIND=dp) :: a1 = 0.0_dp
REAL(KIND=dp) :: a2 = 0.0_dp
REAL(KIND=dp) :: a3 = 0.0_dp
REAL(KIND=dp) :: a4 = 0.0_dp
REAL(KIND=dp) :: a = 0.0_dp
REAL(KIND=dp) :: b = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
REAL(KIND=dp), POINTER, DIMENSION(:) :: gcn => NULL()
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: n_vectors
REAL(KIND=dp) :: rcutsq
LOGICAL :: express
REAL(KIND=dp) :: rcutsq = 0.0_dp
LOGICAL :: express = .FALSE.
END TYPE gal_pot_type
! **************************************************************************************************
TYPE gal21_pot_type
CHARACTER(LEN=2) :: met1
CHARACTER(LEN=2) :: met2
REAL(KIND=dp) :: epsilon1
REAL(KIND=dp) :: epsilon2
REAL(KIND=dp) :: epsilon3
REAL(KIND=dp) :: bxy1
REAL(KIND=dp) :: bxy2
REAL(KIND=dp) :: bz1
REAL(KIND=dp) :: bz2
REAL(KIND=dp) :: r1
REAL(KIND=dp) :: r2
REAL(KIND=dp) :: a11
REAL(KIND=dp) :: a12
REAL(KIND=dp) :: a13
REAL(KIND=dp) :: a21
REAL(KIND=dp) :: a22
REAL(KIND=dp) :: a23
REAL(KIND=dp) :: a31
REAL(KIND=dp) :: a32
REAL(KIND=dp) :: a33
REAL(KIND=dp) :: a41
REAL(KIND=dp) :: a42
REAL(KIND=dp) :: a43
REAL(KIND=dp) :: AO1
REAL(KIND=dp) :: AO2
REAL(KIND=dp) :: BO1
REAL(KIND=dp) :: BO2
REAL(KIND=dp) :: c
REAL(KIND=dp) :: AH1
REAL(KIND=dp) :: AH2
REAL(KIND=dp) :: BH1
REAL(KIND=dp) :: BH2
REAL(KIND=dp), POINTER, DIMENSION(:) :: gcn
CHARACTER(LEN=2) :: met1 = ""
CHARACTER(LEN=2) :: met2 = ""
REAL(KIND=dp) :: epsilon1 = 0.0_dp
REAL(KIND=dp) :: epsilon2 = 0.0_dp
REAL(KIND=dp) :: epsilon3 = 0.0_dp
REAL(KIND=dp) :: bxy1 = 0.0_dp
REAL(KIND=dp) :: bxy2 = 0.0_dp
REAL(KIND=dp) :: bz1 = 0.0_dp
REAL(KIND=dp) :: bz2 = 0.0_dp
REAL(KIND=dp) :: r1 = 0.0_dp
REAL(KIND=dp) :: r2 = 0.0_dp
REAL(KIND=dp) :: a11 = 0.0_dp
REAL(KIND=dp) :: a12 = 0.0_dp
REAL(KIND=dp) :: a13 = 0.0_dp
REAL(KIND=dp) :: a21 = 0.0_dp
REAL(KIND=dp) :: a22 = 0.0_dp
REAL(KIND=dp) :: a23 = 0.0_dp
REAL(KIND=dp) :: a31 = 0.0_dp
REAL(KIND=dp) :: a32 = 0.0_dp
REAL(KIND=dp) :: a33 = 0.0_dp
REAL(KIND=dp) :: a41 = 0.0_dp
REAL(KIND=dp) :: a42 = 0.0_dp
REAL(KIND=dp) :: a43 = 0.0_dp
REAL(KIND=dp) :: AO1 = 0.0_dp
REAL(KIND=dp) :: AO2 = 0.0_dp
REAL(KIND=dp) :: BO1 = 0.0_dp
REAL(KIND=dp) :: BO2 = 0.0_dp
REAL(KIND=dp) :: c = 0.0_dp
REAL(KIND=dp) :: AH1 = 0.0_dp
REAL(KIND=dp) :: AH2 = 0.0_dp
REAL(KIND=dp) :: BH1 = 0.0_dp
REAL(KIND=dp) :: BH2 = 0.0_dp
REAL(KIND=dp), POINTER, DIMENSION(:) :: gcn => NULL()
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: n_vectors
REAL(KIND=dp) :: rcutsq
LOGICAL :: express
REAL(KIND=dp) :: rcutsq = 0.0_dp
LOGICAL :: express = .FALSE.
END TYPE gal21_pot_type
! **************************************************************************************************
TYPE tab_pot_type
CHARACTER(LEN=default_path_length) :: tabpot_file_name
INTEGER :: npoints, index
REAL(KIND=dp) :: dr, rcut
REAL(KIND=dp), POINTER, DIMENSION(:) :: r, e, f
CHARACTER(LEN=default_path_length) :: tabpot_file_name = ""
INTEGER :: npoints = 0, index = 0
REAL(KIND=dp) :: dr = 0.0_dp, rcut = 0.0_dp
REAL(KIND=dp), POINTER, DIMENSION(:) :: r => NULL(), e => NULL(), f => NULL()
END TYPE tab_pot_type
! **************************************************************************************************
TYPE pot_set_type
REAL(KIND=dp) :: rmin, rmax
TYPE(ipbv_pot_type), POINTER :: ipbv
TYPE(gp_pot_type), POINTER :: gp
TYPE(lj_pot_type), POINTER :: lj
TYPE(ft_pot_type), POINTER :: ft
TYPE(williams_pot_type), POINTER :: willis
TYPE(goodwin_pot_type), POINTER :: goodwin
TYPE(eam_pot_type), POINTER :: eam
TYPE(quip_pot_type), POINTER :: quip
TYPE(nequip_pot_type), POINTER :: nequip
TYPE(allegro_pot_type), POINTER :: allegro
TYPE(buck4ran_pot_type), POINTER :: buck4r
TYPE(buckmorse_pot_type), POINTER :: buckmo
TYPE(tersoff_pot_type), POINTER :: tersoff
TYPE(siepmann_pot_type), POINTER :: siepmann
TYPE(gal_pot_type), POINTER :: gal
TYPE(gal21_pot_type), POINTER :: gal21
TYPE(ftd_pot_type), POINTER :: ftd
TYPE(tab_pot_type), POINTER :: tab
REAL(KIND=dp) :: rmin = 0.0_dp, rmax = 0.0_dp
TYPE(ipbv_pot_type), POINTER :: ipbv => NULL()
TYPE(gp_pot_type), POINTER :: gp => NULL()
TYPE(lj_pot_type), POINTER :: lj => NULL()
TYPE(ft_pot_type), POINTER :: ft => NULL()
TYPE(williams_pot_type), POINTER :: willis => NULL()
TYPE(goodwin_pot_type), POINTER :: goodwin => NULL()
TYPE(eam_pot_type), POINTER :: eam => NULL()
TYPE(quip_pot_type), POINTER :: quip => NULL()
TYPE(nequip_pot_type), POINTER :: nequip => NULL()
TYPE(allegro_pot_type), POINTER :: allegro => NULL()
TYPE(buck4ran_pot_type), POINTER :: buck4r => NULL()
TYPE(buckmorse_pot_type), POINTER :: buckmo => NULL()
TYPE(tersoff_pot_type), POINTER :: tersoff => NULL()
TYPE(siepmann_pot_type), POINTER :: siepmann => NULL()
TYPE(gal_pot_type), POINTER :: gal => NULL()
TYPE(gal21_pot_type), POINTER :: gal21 => NULL()
TYPE(ftd_pot_type), POINTER :: ftd => NULL()
TYPE(tab_pot_type), POINTER :: tab => NULL()
END TYPE pot_set_type
! **************************************************************************************************
TYPE pair_potential_single_type
REAL(KIND=dp) :: rcutsq
REAL(KIND=dp) :: e_fac
REAL(KIND=dp) :: e_fcc
REAL(KIND=dp) :: e_fcs
REAL(KIND=dp) :: e_fsc
REAL(KIND=dp) :: z1
REAL(KIND=dp) :: z2
REAL(KIND=dp) :: zbl_poly(0:5)
REAL(KIND=dp) :: zbl_rcut(2)
LOGICAL :: undef, & ! non-bonding interaction not defined
no_mb, & ! no many-body potential
no_pp ! no pair (=two-body) potential
INTEGER :: shell_type
CHARACTER(LEN=default_string_length) :: at1
CHARACTER(LEN=default_string_length) :: at2
INTEGER, POINTER, DIMENSION(:) :: TYPE
TYPE(pot_set_type), POINTER, DIMENSION(:) :: set
TYPE(spline_data_p_type), POINTER, DIMENSION(:) :: pair_spline_data
TYPE(spline_factor_type), POINTER :: spl_f
REAL(KIND=dp) :: rcutsq = 0.0_dp
REAL(KIND=dp) :: e_fac = 0.0_dp
REAL(KIND=dp) :: e_fcc = 0.0_dp
REAL(KIND=dp) :: e_fcs = 0.0_dp
REAL(KIND=dp) :: e_fsc = 0.0_dp
REAL(KIND=dp) :: z1 = 0.0_dp
REAL(KIND=dp) :: z2 = 0.0_dp
REAL(KIND=dp), DIMENSION(0:5) :: zbl_poly = 0.0_dp
REAL(KIND=dp), DIMENSION(2) :: zbl_rcut = 0.0_dp
LOGICAL :: undef = .FALSE., & ! non-bonding interaction not defined
no_mb = .FALSE., & ! no many-body potential
no_pp = .FALSE. ! no pair (=two-body) potential
INTEGER :: shell_type = 0
CHARACTER(LEN=default_string_length) :: at1 = ""
CHARACTER(LEN=default_string_length) :: at2 = ""
INTEGER, POINTER, DIMENSION(:) :: TYPE => NULL()
TYPE(pot_set_type), POINTER, DIMENSION(:) :: set => NULL()
TYPE(spline_data_p_type), POINTER, DIMENSION(:) :: pair_spline_data => NULL()
TYPE(spline_factor_type), POINTER :: spl_f => NULL()
END TYPE pair_potential_single_type
! **************************************************************************************************
TYPE pair_potential_type
TYPE(pair_potential_single_type), POINTER :: pot
TYPE(pair_potential_single_type), POINTER :: pot => NULL()
END TYPE pair_potential_type
! **************************************************************************************************
TYPE pair_potential_p_type
TYPE(pair_potential_type), DIMENSION(:), POINTER :: pot
TYPE(pair_potential_type), DIMENSION(:), POINTER :: pot => NULL()
END TYPE pair_potential_p_type
! **************************************************************************************************
TYPE pair_potential_pp_type
TYPE(pair_potential_type), DIMENSION(:, :), POINTER :: pot
TYPE(pair_potential_type), DIMENSION(:, :), POINTER :: pot => NULL()
END TYPE pair_potential_pp_type
CONTAINS

View file

@ -340,7 +340,7 @@ CONTAINS
RMR = MATMUL(RM, R)
F = RMR*D !Hadamard product
RF = MATMUL(R, F)
RFR = REAL(MATMUL(RF, TRANSPOSE(CONJG(R))))
RFR = REAL(MATMUL(RF, TRANSPOSE(CONJG(R))), dp)
! gradient dE/dX has to be anti-symmetric
G = 0.5_dp*(TRANSPOSE(RFR) - RFR)
@ -408,8 +408,8 @@ CONTAINS
CALL ZHEEVD('V', 'U', n, A(1, 1), n, eigenvalues(1), &
work(1), lwork, rwork(1), lrwork, iwork(1), liwork, info)
lwork = INT(REAL(work(1)))
lrwork = INT(REAL(rwork(1)))
lwork = INT(REAL(work(1), dp))
lrwork = INT(REAL(rwork(1), dp))
liwork = iwork(1)
DEALLOCATE (iwork, rwork, work)

View file

@ -29,7 +29,7 @@ MODULE pao_types
PUBLIC :: pao_env_type, training_matrix_type, pao_finalize
TYPE filename_type
CHARACTER(LEN=default_path_length) :: fn
CHARACTER(LEN=default_path_length) :: fn = ""
END TYPE filename_type
! **************************************************************************************************
@ -172,7 +172,7 @@ MODULE pao_types
REAL(KIND=dp) :: energy_prev = 0.0_dp
REAL(KIND=dp) :: step_start_time = 0.0_dp
REAL(KIND=dp) :: norm_G = 0.0_dp
TYPE(linesearch_type) :: linesearch
TYPE(linesearch_type) :: linesearch = linesearch_type()
LOGICAL :: matrix_X_ready = .FALSE.
LOGICAL :: matrix_P_ready = .FALSE.
LOGICAL :: constants_ready = .FALSE.

View file

@ -50,25 +50,25 @@ MODULE paw_proj_set_types
! Define the projector types
TYPE paw_proj_set_type
INTEGER :: maxl, ncgauprj, nsgauprj
INTEGER, DIMENSION(:), POINTER :: nprj ! 0:maxl
INTEGER, DIMENSION(:), POINTER :: lx, ly, lz ! ncgauprj
INTEGER, DIMENSION(:), POINTER :: ll, m ! nsgauprj
INTEGER, DIMENSION(:), POINTER :: first_prj, last_prj ! 0:maxl
INTEGER, DIMENSION(:), POINTER :: first_prjs ! 0:maxl
REAL(KIND=dp) :: rcprj
REAL(KIND=dp), DIMENSION(:), POINTER :: zisomin
REAL(KIND=dp), DIMENSION(:, :), POINTER :: zetprj ! maxnprj,0:maxl
REAL(KIND=dp), DIMENSION(:, :), POINTER :: rzetprj ! maxnprj,0:maxl
REAL(KIND=dp), DIMENSION(:, :), POINTER :: csprj ! ncgauprj, np_so
REAL(KIND=dp), DIMENSION(:, :), POINTER :: chprj ! ncgauprj, np_so
REAL(KIND=dp), DIMENSION(:, :), POINTER :: local_oce_sphi_h, local_oce_sphi_s ! maxco,nsgf
REAL(KIND=dp), DIMENSION(:, :), POINTER :: sphi_h, sphi_s
LOGICAL, DIMENSION(:, :), POINTER :: isoprj ! maxnprj,0:maxl
INTEGER :: nsatbas
INTEGER :: nsotot
INTEGER, DIMENSION(:), POINTER :: o2nindex ! maxso*nset
INTEGER, DIMENSION(:), POINTER :: n2oindex ! maxso*nset
INTEGER :: maxl = -1, ncgauprj = -1, nsgauprj = -1
INTEGER, DIMENSION(:), POINTER :: nprj => NULL() ! 0:maxl
INTEGER, DIMENSION(:), POINTER :: lx => NULL(), ly => NULL(), lz => NULL() ! ncgauprj
INTEGER, DIMENSION(:), POINTER :: ll => NULL(), m => NULL() ! nsgauprj
INTEGER, DIMENSION(:), POINTER :: first_prj => NULL(), last_prj => NULL() ! 0:maxl
INTEGER, DIMENSION(:), POINTER :: first_prjs => NULL() ! 0:maxl
REAL(KIND=dp) :: rcprj = 0.0_dp
REAL(KIND=dp), DIMENSION(:), POINTER :: zisomin => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: zetprj => NULL() ! maxnprj,0:maxl
REAL(KIND=dp), DIMENSION(:, :), POINTER :: rzetprj => NULL() ! maxnprj,0:maxl
REAL(KIND=dp), DIMENSION(:, :), POINTER :: csprj => NULL() ! ncgauprj, np_so
REAL(KIND=dp), DIMENSION(:, :), POINTER :: chprj => NULL() ! ncgauprj, np_so
REAL(KIND=dp), DIMENSION(:, :), POINTER :: local_oce_sphi_h => NULL(), local_oce_sphi_s => NULL() ! maxco,nsgf
REAL(KIND=dp), DIMENSION(:, :), POINTER :: sphi_h => NULL(), sphi_s => NULL()
LOGICAL, DIMENSION(:, :), POINTER :: isoprj => NULL() ! maxnprj,0:maxl
INTEGER :: nsatbas = -1
INTEGER :: nsotot = -1
INTEGER, DIMENSION(:), POINTER :: o2nindex => NULL() ! maxso*nset
INTEGER, DIMENSION(:), POINTER :: n2oindex => NULL() ! maxso*nset
END TYPE paw_proj_set_type

View file

@ -53,7 +53,7 @@ MODULE pwdft_environment_types
!> \author JHU
! **************************************************************************************************
TYPE pwdft_energy_type
REAL(KIND=dp) :: etotal
REAL(KIND=dp) :: etotal = 0.0_dp
END TYPE pwdft_energy_type
! **************************************************************************************************
@ -70,17 +70,17 @@ MODULE pwdft_environment_types
TYPE(section_vals_type), POINTER :: xc_input => NULL()
TYPE(pwdft_energy_type), POINTER :: energy => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: forces => NULL()
REAL(KIND=dp), DIMENSION(3, 3) :: stress
REAL(KIND=dp), DIMENSION(3, 3) :: stress = 0.0_dp
! 16 different functionals should be enough
CHARACTER(len=80) :: xc_func(16)
CHARACTER(len=80), DIMENSION(16) :: xc_func = ""
#if defined(__SIRIUS)
TYPE(sirius_context_handler) :: sctx
TYPE(sirius_ground_state_handler) :: gs_handler
TYPE(sirius_kpoint_set_handler) :: ks_handler
#else
TYPE(C_PTR) :: sctx
TYPE(C_PTR) :: gs_handler
TYPE(C_PTR) :: ks_handler
TYPE(C_PTR) :: sctx = C_NULL_PTR
TYPE(C_PTR) :: gs_handler = C_NULL_PTR
TYPE(C_PTR) :: ks_handler = C_NULL_PTR
#endif
END TYPE pwdft_environment_type

View file

@ -40,25 +40,25 @@ MODULE qs_active_space_types
!> \author JGH
! **************************************************************************************************
TYPE eri_gpw_type
LOGICAL :: redo_poisson
REAL(KIND=dp) :: cutoff
REAL(KIND=dp) :: rel_cutoff
REAL(KIND=dp) :: eps_grid
INTEGER :: print_level
LOGICAL :: store_wfn
LOGICAL :: redo_poisson = .FALSE.
REAL(KIND=dp) :: cutoff = 0.0_dp
REAL(KIND=dp) :: rel_cutoff = 0.0_dp
REAL(KIND=dp) :: eps_grid = 0.0_dp
INTEGER :: print_level = 0
LOGICAL :: store_wfn = .FALSE.
END TYPE eri_gpw_type
TYPE eri_type
INTEGER :: method
INTEGER :: OPERATOR
REAL(KIND=dp) :: operator_parameter
INTEGER, DIMENSION(3) :: periodicity
REAL(KIND=dp) :: cutoff_radius
REAL(KIND=dp) :: eps_integral
TYPE(eri_gpw_type) :: eri_gpw
INTEGER :: method = 0
INTEGER :: OPERATOR = 0
REAL(KIND=dp) :: operator_parameter = 0.0_dp
INTEGER, DIMENSION(3) :: periodicity = 0
REAL(KIND=dp) :: cutoff_radius = 0.0_dp
REAL(KIND=dp) :: eps_integral = 0.0_dp
TYPE(eri_gpw_type) :: eri_gpw = eri_gpw_type()
TYPE(dbcsr_csr_p_type), &
DIMENSION(:), POINTER :: eri => NULL()
INTEGER :: norb
INTEGER :: norb = 0
CONTAINS
PROCEDURE :: eri_foreach => eri_type_eri_foreach
@ -73,31 +73,31 @@ MODULE qs_active_space_types
END TYPE eri_type_eri_element_func
TYPE active_space_type
INTEGER :: nelec_active
INTEGER, POINTER, DIMENSION(:, :):: active_orbitals
INTEGER, POINTER, DIMENSION(:, :):: inactive_orbitals
INTEGER :: nelec_inactive
INTEGER, DIMENSION(2) :: nelec_inactive_spinwise
INTEGER, DIMENSION(2) :: nelec_total
INTEGER :: multiplicity
INTEGER :: nspins
LOGICAL :: molecule
INTEGER :: model
REAL(KIND=dp) :: energy_total
REAL(KIND=dp) :: energy_ref
REAL(KIND=dp) :: energy_inactive
REAL(KIND=dp) :: energy_active
LOGICAL :: read_p_act
CHARACTER(LEN=default_path_length) :: p_act_filename
TYPE(mo_set_type), DIMENSION(:), POINTER :: mos_active
TYPE(mo_set_type), DIMENSION(:), POINTER :: mos_inactive
TYPE(eri_type) :: eri
TYPE(cp_fm_type), DIMENSION(:), POINTER :: p_active
TYPE(cp_fm_type), DIMENSION(:), POINTER :: ks_sub
TYPE(cp_fm_type), DIMENSION(:), POINTER :: vxc_sub
TYPE(cp_fm_type), DIMENSION(:), POINTER :: h_sub
TYPE(cp_fm_type), DIMENSION(:), POINTER :: fock_sub
TYPE(dbcsr_p_type), DIMENSION(:), POINTER:: pmat_inactive
INTEGER :: nelec_active = 0
INTEGER, POINTER, DIMENSION(:, :) :: active_orbitals => NULL()
INTEGER, POINTER, DIMENSION(:, :) :: inactive_orbitals => NULL()
INTEGER :: nelec_inactive = 0
INTEGER, DIMENSION(2) :: nelec_inactive_spinwise = 0
INTEGER, DIMENSION(2) :: nelec_total = 0
INTEGER :: multiplicity = 0
INTEGER :: nspins = 0
LOGICAL :: molecule = .FALSE.
INTEGER :: model = 0
REAL(KIND=dp) :: energy_total = 0.0_dp
REAL(KIND=dp) :: energy_ref = 0.0_dp
REAL(KIND=dp) :: energy_inactive = 0.0_dp
REAL(KIND=dp) :: energy_active = 0.0_dp
LOGICAL :: read_p_act = .FALSE.
CHARACTER(LEN=default_path_length) :: p_act_filename = ""
TYPE(mo_set_type), DIMENSION(:), POINTER :: mos_active => NULL()
TYPE(mo_set_type), DIMENSION(:), POINTER :: mos_inactive => NULL()
TYPE(eri_type) :: eri = eri_type()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: p_active => NULL()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: ks_sub => NULL()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: vxc_sub => NULL()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: h_sub => NULL()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: fock_sub => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: pmat_inactive => NULL()
END TYPE active_space_type
ABSTRACT INTERFACE

View file

@ -52,8 +52,8 @@ MODULE qs_tddfpt2_soc_types
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: dipmat => Null()
REAL(dp), POINTER, DIMENSION(:) :: evals_a => Null(), &
evals_b => Null()
TYPE(cp_fm_type) :: a_coeff, &
b_coeff
TYPE(cp_fm_type) :: a_coeff = cp_fm_type(), &
b_coeff = cp_fm_type()
REAL(dp), ALLOCATABLE, DIMENSION(:) :: soc_evals, &
soc_osc
END TYPE
@ -71,7 +71,7 @@ MODULE qs_tddfpt2_soc_types
TYPE(grid_atom_p_type), DIMENSION(:), POINTER :: grid_atom_set => Null()
TYPE(harmonics_atom_p_type), DIMENSION(:), POINTER :: harmonics_atom_set => Null()
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: orb_sphi_so => Null()
TYPE(dbcsr_p_type), DIMENSION(:, :), POINTER :: soc_pp
TYPE(dbcsr_p_type), DIMENSION(:, :), POINTER :: soc_pp => Null()
END TYPE
CONTAINS

View file

@ -77,7 +77,7 @@ MODULE cp2k_shell
TYPE(mp_para_env_type), POINTER :: para_env => Null()
CHARACTER(LEN=5) :: units = "au"
INTEGER :: env_id = -1
INTEGER :: iw
INTEGER :: iw = -1
END TYPE cp2k_shell_type
PUBLIC :: launch_cp2k_shell

View file

@ -50,8 +50,8 @@ MODULE libcp2k
PRIVATE
TYPE, EXTENDS(eri_type_eri_element_func) :: eri2array
INTEGER(C_INT), POINTER :: coords(:)
REAL(C_DOUBLE), POINTER :: values(:)
INTEGER(C_INT), POINTER :: coords(:) => NULL()
REAL(C_DOUBLE), POINTER :: values(:) => NULL()
INTEGER :: idx = 1
CONTAINS
PROCEDURE :: func => eri2array_func

View file

@ -57,9 +57,9 @@ MODULE task_list_types
TYPE task_list_type
TYPE(task_type), DIMENSION(:), POINTER :: tasks => Null()
INTEGER :: ntasks
INTEGER, DIMENSION(:, :), POINTER :: taskstart, taskstop
INTEGER, DIMENSION(:), POINTER :: npairs
INTEGER :: ntasks = 0
INTEGER, DIMENSION(:, :), POINTER :: taskstart => Null(), taskstop => Null()
INTEGER, DIMENSION(:), POINTER :: npairs => Null()
TYPE(atom_pair_type), DIMENSION(:), POINTER :: atom_pair_send => Null()
INTEGER, DIMENSION(:), POINTER :: pair_offsets_send => Null()
@ -74,9 +74,9 @@ MODULE task_list_types
INTEGER :: buffer_size_recv = 0
TYPE(grid_basis_set_type), DIMENSION(:), POINTER :: grid_basis_sets => Null()
TYPE(grid_task_list_type) :: grid_task_list
TYPE(offload_buffer_type) :: pab_buffer
TYPE(offload_buffer_type) :: hab_buffer
TYPE(grid_task_list_type) :: grid_task_list = grid_task_list_type()
TYPE(offload_buffer_type) :: pab_buffer = offload_buffer_type()
TYPE(offload_buffer_type) :: hab_buffer = offload_buffer_type()
END TYPE task_list_type
INTEGER, PARAMETER :: task_size_in_int8 = 17

View file

@ -38,26 +38,26 @@ MODULE xas_control
!> \brief A type that holds controlling information for a xas calculation
! **************************************************************************************************
TYPE xas_control_type
INTEGER :: nexc_atoms
INTEGER :: nexc_search
INTEGER :: spin_channel
INTEGER :: state_type
INTEGER :: xas_method
INTEGER :: dipole_form
INTEGER :: added_mos
INTEGER :: max_iter_added
INTEGER :: ngauss
INTEGER :: stride
INTEGER, DIMENSION(:), POINTER :: exc_atoms
INTEGER, DIMENSION(:), POINTER :: orbital_list
LOGICAL :: cubes, do_centers
LOGICAL :: xas_restart
INTEGER, DIMENSION(:), POINTER :: list_cubes
INTEGER :: nexc_atoms = 0
INTEGER :: nexc_search = 0
INTEGER :: spin_channel = 0
INTEGER :: state_type = 0
INTEGER :: xas_method = 0
INTEGER :: dipole_form = 0
INTEGER :: added_mos = 0
INTEGER :: max_iter_added = 0
INTEGER :: ngauss = 0
INTEGER :: stride = 0
INTEGER, DIMENSION(:), POINTER :: exc_atoms => NULL()
INTEGER, DIMENSION(:), POINTER :: orbital_list => NULL()
LOGICAL :: cubes = .FALSE., do_centers = .FALSE.
LOGICAL :: xas_restart = .FALSE.
INTEGER, DIMENSION(:), POINTER :: list_cubes => NULL()
!
REAL(dp) :: eps_added, overlap_threshold
REAL(dp) :: xes_core_occupation
REAL(dp) :: xes_homo_occupation
REAL(dp) :: nel_tot, xas_core_occupation
REAL(dp) :: eps_added = 0.0_dp, overlap_threshold = 0.0_dp
REAL(dp) :: xes_core_occupation = 0.0_dp
REAL(dp) :: xes_homo_occupation = 0.0_dp
REAL(dp) :: nel_tot = 0.0_dp, xas_core_occupation = 0.0_dp
END TYPE xas_control_type
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'xas_control'

View file

@ -67,39 +67,39 @@ MODULE xas_env_types
!> \author MI
! **************************************************************************************************
TYPE xas_environment_type
INTEGER :: nao, exc_state, xas_estate
INTEGER :: nexc_search, nexc_atoms
INTEGER :: spin_channel
INTEGER :: nvirtual, nvirtual2
INTEGER :: unoccupied_max_iter
INTEGER :: nao = 0, exc_state = 0, xas_estate = 0
INTEGER :: nexc_search = 0, nexc_atoms = 0
INTEGER :: spin_channel = 0
INTEGER :: nvirtual = 0, nvirtual2 = 0
INTEGER :: unoccupied_max_iter = 0
INTEGER, DIMENSION(:), POINTER :: atom_of_state
INTEGER, DIMENSION(:), POINTER :: type_of_state
INTEGER, DIMENSION(:), POINTER :: mykind_of_atom
INTEGER, DIMENSION(:), POINTER :: mykind_of_kind
INTEGER, DIMENSION(:), POINTER :: exc_atoms
INTEGER, DIMENSION(:), POINTER :: nexc_states
INTEGER, DIMENSION(:, :), POINTER :: state_of_atom
INTEGER, DIMENSION(:), POINTER :: atom_of_state => NULL()
INTEGER, DIMENSION(:), POINTER :: type_of_state => NULL()
INTEGER, DIMENSION(:), POINTER :: mykind_of_atom => NULL()
INTEGER, DIMENSION(:), POINTER :: mykind_of_kind => NULL()
INTEGER, DIMENSION(:), POINTER :: exc_atoms => NULL()
INTEGER, DIMENSION(:), POINTER :: nexc_states => NULL()
INTEGER, DIMENSION(:, :), POINTER :: state_of_atom => NULL()
REAL(dp) :: ip_energy, occ_estate, unoccupied_eps, xas_nelectron, homo_occ
REAL(dp), DIMENSION(:), POINTER :: all_evals
REAL(dp), DIMENSION(:), POINTER :: unoccupied_evals
REAL(dp), DIMENSION(:, :), POINTER :: spectrum
REAL(dp), DIMENSION(:, :), POINTER :: centers_wfn
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: stogto_overlap
TYPE(gto_basis_set_p_type), DIMENSION(:), POINTER :: my_gto_basis
TYPE(cp_fm_type), DIMENSION(:), POINTER :: groundstate_coeff
TYPE(cp_fm_type), DIMENSION(:, :), POINTER :: dip_fm_set
REAL(dp) :: ip_energy = 0.0_dp, occ_estate = 0.0_dp, unoccupied_eps = 0.0_dp, xas_nelectron = 0.0_dp, homo_occ = 0.0_dp
REAL(dp), DIMENSION(:), POINTER :: all_evals => NULL()
REAL(dp), DIMENSION(:), POINTER :: unoccupied_evals => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: spectrum => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: centers_wfn => NULL()
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: stogto_overlap => NULL()
TYPE(gto_basis_set_p_type), DIMENSION(:), POINTER :: my_gto_basis => NULL()
TYPE(cp_fm_type), DIMENSION(:), POINTER :: groundstate_coeff => NULL()
TYPE(cp_fm_type), DIMENSION(:, :), POINTER :: dip_fm_set => NULL()
TYPE(cp_fm_pool_p_type), DIMENSION(:), &
POINTER :: ao_mo_fm_pools
TYPE(cp_fm_type), POINTER :: excvec_coeff
TYPE(cp_fm_type), POINTER :: excvec_overlap
TYPE(cp_fm_type), POINTER :: unoccupied_orbs
TYPE(cp_fm_type), POINTER :: all_vectors
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: ostrength_sm
TYPE(qs_loc_env_type), POINTER :: qs_loc_env
TYPE(qs_scf_env_type), POINTER :: scf_env
TYPE(scf_control_type), POINTER :: scf_control
POINTER :: ao_mo_fm_pools => NULL()
TYPE(cp_fm_type), POINTER :: excvec_coeff => NULL()
TYPE(cp_fm_type), POINTER :: excvec_overlap => NULL()
TYPE(cp_fm_type), POINTER :: unoccupied_orbs => NULL()
TYPE(cp_fm_type), POINTER :: all_vectors => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: ostrength_sm => NULL()
TYPE(qs_loc_env_type), POINTER :: qs_loc_env => NULL()
TYPE(qs_scf_env_type), POINTER :: scf_env => NULL()
TYPE(scf_control_type), POINTER :: scf_control => NULL()
END TYPE xas_environment_type

View file

@ -100,57 +100,57 @@ MODULE xas_tdp_types
!> \param ot_eps_iter convergence threshold for OT diagonalization
! **************************************************************************************************
TYPE xas_tdp_control_type
INTEGER :: define_excited
INTEGER :: dipole_form
INTEGER :: n_search
INTEGER :: n_excited
INTEGER :: ot_max_iter
REAL(dp) :: e_range
REAL(dp) :: sx
REAL(dp) :: eps_range
REAL(dp) :: eps_screen
REAL(dp) :: eps_pgf
REAL(dp) :: eps_filter
REAL(dp) :: ot_eps_iter
TYPE(libint_potential_type) :: x_potential
TYPE(libint_potential_type) :: ri_m_potential
REAL(dp) :: ri_radius
LOGICAL :: do_ot
LOGICAL :: do_hfx
LOGICAL :: do_xc
LOGICAL :: do_coulomb
LOGICAL :: do_ri_metric
LOGICAL :: check_only
LOGICAL :: tamm_dancoff
LOGICAL :: do_quad
LOGICAL :: xyz_dip
LOGICAL :: do_loc
LOGICAL :: do_uks
LOGICAL :: do_roks
LOGICAL :: do_soc
LOGICAL :: do_singlet
LOGICAL :: do_triplet
LOGICAL :: do_spin_cons
LOGICAL :: do_spin_flip
LOGICAL :: is_periodic
INTEGER, DIMENSION(:), POINTER :: list_ex_atoms
INTEGER :: define_excited = 0
INTEGER :: dipole_form = 0
INTEGER :: n_search = 0
INTEGER :: n_excited = 0
INTEGER :: ot_max_iter = 0
REAL(dp) :: e_range = 0.0_dp
REAL(dp) :: sx = 0.0_dp
REAL(dp) :: eps_range = 0.0_dp
REAL(dp) :: eps_screen = 0.0_dp
REAL(dp) :: eps_pgf = 0.0_dp
REAL(dp) :: eps_filter = 0.0_dp
REAL(dp) :: ot_eps_iter = 0.0_dp
TYPE(libint_potential_type) :: x_potential = libint_potential_type()
TYPE(libint_potential_type) :: ri_m_potential = libint_potential_type()
REAL(dp) :: ri_radius = 0.0_dp
LOGICAL :: do_ot = .FALSE.
LOGICAL :: do_hfx = .FALSE.
LOGICAL :: do_xc = .FALSE.
LOGICAL :: do_coulomb = .FALSE.
LOGICAL :: do_ri_metric = .FALSE.
LOGICAL :: check_only = .FALSE.
LOGICAL :: tamm_dancoff = .FALSE.
LOGICAL :: do_quad = .FALSE.
LOGICAL :: xyz_dip = .FALSE.
LOGICAL :: do_loc = .FALSE.
LOGICAL :: do_uks = .FALSE.
LOGICAL :: do_roks = .FALSE.
LOGICAL :: do_soc = .FALSE.
LOGICAL :: do_singlet = .FALSE.
LOGICAL :: do_triplet = .FALSE.
LOGICAL :: do_spin_cons = .FALSE.
LOGICAL :: do_spin_flip = .FALSE.
LOGICAL :: is_periodic = .FALSE.
INTEGER, DIMENSION(:), POINTER :: list_ex_atoms => NULL()
CHARACTER(len=default_string_length), &
DIMENSION(:), POINTER :: list_ex_kinds
INTEGER, DIMENSION(:, :), POINTER :: state_types
TYPE(section_vals_type), POINTER :: loc_subsection
TYPE(section_vals_type), POINTER :: print_loc_subsection
DIMENSION(:), POINTER :: list_ex_kinds => NULL()
INTEGER, DIMENSION(:, :), POINTER :: state_types => NULL()
TYPE(section_vals_type), POINTER :: loc_subsection => NULL()
TYPE(section_vals_type), POINTER :: print_loc_subsection => NULL()
CHARACTER(len=default_string_length), &
DIMENSION(:, :), POINTER :: grid_info
TYPE(qs_ot_settings_type), POINTER :: ot_settings
DIMENSION(:, :), POINTER :: grid_info => NULL()
TYPE(qs_ot_settings_type), POINTER :: ot_settings => NULL()
LOGICAL :: do_gw2x
LOGICAL :: xps_only
REAL(dp) :: gw2x_eps
LOGICAL :: pseudo_canonical
INTEGER :: max_gw2x_iter
REAL(dp) :: c_os
REAL(dp) :: c_ss
INTEGER :: batch_size
LOGICAL :: do_gw2x = .FALSE.
LOGICAL :: xps_only = .FALSE.
REAL(dp) :: gw2x_eps = 0.0_dp
LOGICAL :: pseudo_canonical = .FALSE.
INTEGER :: max_gw2x_iter = 0
REAL(dp) :: c_os = 0.0_dp
REAL(dp) :: c_ss = 0.0_dp
INTEGER :: batch_size = 0
END TYPE xas_tdp_control_type
@ -192,44 +192,44 @@ MODULE xas_tdp_types
!> \param lumo_evals the associated LUMO evals
!> *************************************************************************************************
TYPE xas_tdp_env_type
CHARACTER(len=2), DIMENSION(3) :: state_type_char
INTEGER :: nex_atoms
INTEGER :: nex_kinds
INTEGER, DIMENSION(:), POINTER :: ex_atom_indices
INTEGER, DIMENSION(:), POINTER :: ex_kind_indices
INTEGER, DIMENSION(:, :), POINTER :: state_types
TYPE(dbt_type), POINTER :: ri_3c_coul
TYPE(dbt_type), POINTER :: ri_3c_ex
CHARACTER(len=2), DIMENSION(3) :: state_type_char = ""
INTEGER :: nex_atoms = 0
INTEGER :: nex_kinds = 0
INTEGER, DIMENSION(:), POINTER :: ex_atom_indices => NULL()
INTEGER, DIMENSION(:), POINTER :: ex_kind_indices => NULL()
INTEGER, DIMENSION(:, :), POINTER :: state_types => NULL()
TYPE(dbt_type), POINTER :: ri_3c_coul => NULL()
TYPE(dbt_type), POINTER :: ri_3c_ex => NULL()
TYPE(donor_state_type), DIMENSION(:), &
POINTER :: donor_states
INTEGER, DIMENSION(:, :, :), POINTER :: mos_of_ex_atoms
TYPE(qs_loc_env_type), POINTER :: qs_loc_env
REAL(dp), DIMENSION(:, :), POINTER :: ri_inv_coul
REAL(dp), DIMENSION(:, :), POINTER :: ri_inv_ex
TYPE(distribution_2d_type), POINTER :: opt_dist2d_coul
TYPE(distribution_2d_type), POINTER :: opt_dist2d_ex
POINTER :: donor_states => NULL()
INTEGER, DIMENSION(:, :, :), POINTER :: mos_of_ex_atoms => NULL()
TYPE(qs_loc_env_type), POINTER :: qs_loc_env => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: ri_inv_coul => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: ri_inv_ex => NULL()
TYPE(distribution_2d_type), POINTER :: opt_dist2d_coul => NULL()
TYPE(distribution_2d_type), POINTER :: opt_dist2d_ex => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: q_projector
POINTER :: q_projector => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: dipmat
POINTER :: dipmat => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: quadmat
POINTER :: quadmat => NULL()
TYPE(cp_2d_r_p_type), DIMENSION(:, :), &
POINTER :: ri_fxc
LOGICAL :: fxc_avail
POINTER :: ri_fxc => NULL()
LOGICAL :: fxc_avail = .FALSE.
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: orb_soc
TYPE(cp_fm_type), POINTER :: matrix_shalf
POINTER :: orb_soc => NULL()
TYPE(cp_fm_type), POINTER :: matrix_shalf => NULL()
TYPE(cp_fm_type), DIMENSION(:), &
POINTER :: lumo_evecs
POINTER :: lumo_evecs => NULL()
TYPE(cp_1d_r_p_type), DIMENSION(:), &
POINTER :: lumo_evals
POINTER :: lumo_evals => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: ot_prec
POINTER :: ot_prec => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: fock_matrix
TYPE(cp_fm_type), POINTER :: lumo_coeffs
POINTER :: fock_matrix => NULL()
TYPE(cp_fm_type), POINTER :: lumo_coeffs => NULL()
END TYPE xas_tdp_env_type
!> *************************************************************************************************
@ -267,59 +267,59 @@ MODULE xas_tdp_types
!> \param dbcsr_dist the distribution of the dbcsr matrices
!> *************************************************************************************************
TYPE donor_state_type
INTEGER :: at_index
INTEGER :: kind_index
INTEGER :: ndo_mo
CHARACTER(LEN=default_string_length) :: at_symbol
INTEGER :: state_type
INTEGER, DIMENSION(:), POINTER :: blk_size
REAL(dp), DIMENSION(:, :), POINTER :: energy_evals
REAL(dp), DIMENSION(:, :), POINTER :: gw2x_evals
INTEGER, DIMENSION(:, :), POINTER :: mo_indices
TYPE(cp_fm_type), POINTER :: sc_coeffs
TYPE(cp_fm_type), POINTER :: sf_coeffs
TYPE(cp_fm_type), POINTER :: sg_coeffs
TYPE(cp_fm_type), POINTER :: tp_coeffs
TYPE(cp_fm_type), POINTER :: gs_coeffs
REAL(dp), DIMENSION(:, :), POINTER :: contract_coeffs
REAL(dp), DIMENSION(:), POINTER :: sc_evals
REAL(dp), DIMENSION(:), POINTER :: sf_evals
REAL(dp), DIMENSION(:), POINTER :: sg_evals
REAL(dp), DIMENSION(:), POINTER :: tp_evals
REAL(dp), DIMENSION(:), POINTER :: soc_evals
REAL(dp), DIMENSION(:, :), POINTER :: osc_str
REAL(dp), DIMENSION(:, :), POINTER :: soc_osc_str
REAL(dp), DIMENSION(:), POINTER :: quad_osc_str
REAL(dp), DIMENSION(:), POINTER :: soc_quad_osc_str
TYPE(dbcsr_type), POINTER :: sc_matrix_tdp
TYPE(dbcsr_type), POINTER :: sf_matrix_tdp
TYPE(dbcsr_type), POINTER :: sg_matrix_tdp
TYPE(dbcsr_type), POINTER :: tp_matrix_tdp
INTEGER :: at_index = 0
INTEGER :: kind_index = 0
INTEGER :: ndo_mo = 0
CHARACTER(LEN=default_string_length) :: at_symbol = ""
INTEGER :: state_type = 0
INTEGER, DIMENSION(:), POINTER :: blk_size => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: energy_evals => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: gw2x_evals => NULL()
INTEGER, DIMENSION(:, :), POINTER :: mo_indices => NULL()
TYPE(cp_fm_type), POINTER :: sc_coeffs => NULL()
TYPE(cp_fm_type), POINTER :: sf_coeffs => NULL()
TYPE(cp_fm_type), POINTER :: sg_coeffs => NULL()
TYPE(cp_fm_type), POINTER :: tp_coeffs => NULL()
TYPE(cp_fm_type), POINTER :: gs_coeffs => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: contract_coeffs => NULL()
REAL(dp), DIMENSION(:), POINTER :: sc_evals => NULL()
REAL(dp), DIMENSION(:), POINTER :: sf_evals => NULL()
REAL(dp), DIMENSION(:), POINTER :: sg_evals => NULL()
REAL(dp), DIMENSION(:), POINTER :: tp_evals => NULL()
REAL(dp), DIMENSION(:), POINTER :: soc_evals => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: osc_str => NULL()
REAL(dp), DIMENSION(:, :), POINTER :: soc_osc_str => NULL()
REAL(dp), DIMENSION(:), POINTER :: quad_osc_str => NULL()
REAL(dp), DIMENSION(:), POINTER :: soc_quad_osc_str => NULL()
TYPE(dbcsr_type), POINTER :: sc_matrix_tdp => NULL()
TYPE(dbcsr_type), POINTER :: sf_matrix_tdp => NULL()
TYPE(dbcsr_type), POINTER :: sg_matrix_tdp => NULL()
TYPE(dbcsr_type), POINTER :: tp_matrix_tdp => NULL()
TYPE(dbcsr_p_type), DIMENSION(:), &
POINTER :: metric
TYPE(dbcsr_type), POINTER :: matrix_aux
TYPE(dbcsr_distribution_type), POINTER :: dbcsr_dist
POINTER :: metric => NULL()
TYPE(dbcsr_type), POINTER :: matrix_aux => NULL()
TYPE(dbcsr_distribution_type), POINTER :: dbcsr_dist => NULL()
END TYPE donor_state_type
! Some helper types for xas_tdp_atom
TYPE grid_atom_p_type
TYPE(grid_atom_type), POINTER :: grid_atom
TYPE(grid_atom_type), POINTER :: grid_atom => NULL()
END TYPE grid_atom_p_type
TYPE harmonics_atom_p_type
TYPE(harmonics_atom_type), POINTER :: harmonics_atom
TYPE(harmonics_atom_type), POINTER :: harmonics_atom => NULL()
END TYPE harmonics_atom_p_type
TYPE batch_info_type
TYPE(mp_para_env_type) :: para_env
INTEGER :: batch_size
INTEGER :: nbatch
INTEGER :: ibatch
INTEGER :: ipe
TYPE(mp_para_env_type) :: para_env = mp_para_env_type()
INTEGER :: batch_size = 0
INTEGER :: nbatch = 0
INTEGER :: ibatch = 0
INTEGER :: ipe = 0
INTEGER, DIMENSION(:), ALLOCATABLE :: nso_proc
INTEGER, DIMENSION(:, :), ALLOCATABLE :: so_bo
TYPE(cp_2d_i_p_type), POINTER, DIMENSION(:) :: so_proc_info
TYPE(cp_2d_i_p_type), POINTER, DIMENSION(:) :: so_proc_info => NULL()
END TYPE batch_info_type
! **************************************************************************************************
@ -341,20 +341,20 @@ MODULE xas_tdp_types
!> \param dga2 second angular part of the gradient of the RI spherical gaussians
!> *************************************************************************************************
TYPE xas_atom_env_type
INTEGER :: nspins
REAL(dp) :: ri_radius
INTEGER, DIMENSION(:), POINTER :: excited_atoms
INTEGER, DIMENSION(:), POINTER :: excited_kinds
INTEGER, DIMENSION(:), POINTER :: proc_of_exat
TYPE(grid_atom_p_type), DIMENSION(:), POINTER :: grid_atom_set
INTEGER :: nspins = 0
REAL(dp) :: ri_radius = 0.0_dp
INTEGER, DIMENSION(:), POINTER :: excited_atoms => NULL()
INTEGER, DIMENSION(:), POINTER :: excited_kinds => NULL()
INTEGER, DIMENSION(:), POINTER :: proc_of_exat => NULL()
TYPE(grid_atom_p_type), DIMENSION(:), POINTER :: grid_atom_set => NULL()
TYPE(harmonics_atom_p_type), DIMENSION(:), &
POINTER :: harmonics_atom_set
TYPE(cp_1d_r_p_type), DIMENSION(:, :, :), POINTER :: ri_dcoeff
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: ri_sphi_so
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: orb_sphi_so
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: exat_neighbors
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: ga, gr, dgr1, dgr2
TYPE(cp_3d_r_p_type), DIMENSION(:), POINTER :: dga1, dga2
POINTER :: harmonics_atom_set => NULL()
TYPE(cp_1d_r_p_type), DIMENSION(:, :, :), POINTER :: ri_dcoeff => NULL()
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: ri_sphi_so => NULL()
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: orb_sphi_so => NULL()
TYPE(cp_1d_i_p_type), DIMENSION(:), POINTER :: exat_neighbors => NULL()
TYPE(cp_2d_r_p_type), DIMENSION(:), POINTER :: ga => NULL(), gr => NULL(), dgr1 => NULL(), dgr2 => NULL()
TYPE(cp_3d_r_p_type), DIMENSION(:), POINTER :: dga1 => NULL(), dga2 => NULL()
END TYPE xas_atom_env_type
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'xas_tdp_types'

View file

@ -91,14 +91,14 @@ MODULE xas_tdp_utils
!A helper type for SOC
TYPE dbcsr_soc_package_type
TYPE(dbcsr_type), POINTER :: dbcsr_sg
TYPE(dbcsr_type), POINTER :: dbcsr_tp
TYPE(dbcsr_type), POINTER :: dbcsr_sc
TYPE(dbcsr_type), POINTER :: dbcsr_sf
TYPE(dbcsr_type), POINTER :: dbcsr_prod
TYPE(dbcsr_type), POINTER :: dbcsr_ovlp
TYPE(dbcsr_type), POINTER :: dbcsr_tmp
TYPE(dbcsr_type), POINTER :: dbcsr_work
TYPE(dbcsr_type), POINTER :: dbcsr_sg => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_tp => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_sc => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_sf => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_prod => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_ovlp => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_tmp => NULL()
TYPE(dbcsr_type), POINTER :: dbcsr_work => NULL()
END TYPE dbcsr_soc_package_type
CONTAINS

View file

@ -1,36 +1,5 @@
almo_scf_diis_types.F: Found type almo_scf_diis_type without initializer https://cp2k.org/conv#c016
almo_scf.F: Found WRITE statement with hardcoded unit in "almo_scf_init" https://cp2k.org/conv#c012
almo_scf_lbfgs_types.F: Found type lbfgs_history_type without initializer https://cp2k.org/conv#c016
almo_scf_types.F: Found type almo_analysis_type without initializer https://cp2k.org/conv#c016
almo_scf_types.F: Found type almo_scf_env_type without initializer https://cp2k.org/conv#c016
almo_scf_types.F: Found type almo_scf_history_type without initializer https://cp2k.org/conv#c016
almo_scf_types.F: Found type optimizer_options_type without initializer https://cp2k.org/conv#c016
almo_scf_types.F: Found type penalty_type without initializer https://cp2k.org/conv#c016
al_system_dynamics.F: Found WRITE statement with hardcoded unit in "dump_vel" https://cp2k.org/conv#c012
al_system_types.F: Found type al_system_type without initializer https://cp2k.org/conv#c016
al_system_types.F: Found type al_thermo_type without initializer https://cp2k.org/conv#c016
atom_fit.F: Found type wfn_init without initializer https://cp2k.org/conv#c016
atom_grb.F: Found type basis_p_type without initializer https://cp2k.org/conv#c016
atom_optimization.F: Found type atom_history_type without initializer https://cp2k.org/conv#c016
atom_optimization.F: Found type hmat_type without initializer https://cp2k.org/conv#c016
atom_sgp.F: Found type atom_sgp_potential_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_basis_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_ecppot_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_energy_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_gthpot_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_hfx_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_integrals without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_optimization_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_orbitals without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_potential_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_p_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_sgppot_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_state without initializer https://cp2k.org/conv#c016
atom_types.F: Found type atom_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type eri without initializer https://cp2k.org/conv#c016
atom_types.F: Found type opgrid_type without initializer https://cp2k.org/conv#c016
atom_types.F: Found type opmat_type without initializer https://cp2k.org/conv#c016
atom_upf.F: Found type atom_upfpot_type without initializer https://cp2k.org/conv#c016
base_hooks.F: Found CALL m_abort in procedure "cp_abort" https://cp2k.org/conv#c102
base_hooks.F: Found STOP statement in procedure "cp_abort" https://cp2k.org/conv#c205
base_hooks.F: Found STOP statement in procedure "cp__a" https://cp2k.org/conv#c205
@ -40,37 +9,11 @@ base_hooks.F: Found WRITE statement with hardcoded unit in "cp_hint" https://cp2
base_hooks.F: Found WRITE statement with hardcoded unit in "cp_warn" https://cp2k.org/conv#c012
beta_gamma_psi.F: Found GOTO statement in procedure "bratio" https://cp2k.org/conv#c201
bfgs_optimizer.F: Found GOTO statement in procedure "rat_fun_opt" https://cp2k.org/conv#c201
block_p_types.F: Found type block_p_type without initializer https://cp2k.org/conv#c016
callgraph.F: Found type callgraph_item_type without initializer https://cp2k.org/conv#c016
callgraph.F: Found type private_item_type without initializer https://cp2k.org/conv#c016
cg_test.F: Found WRITE statement with hardcoded unit in "clebsch_gordon_test" https://cp2k.org/conv#c012
cp2k_shell.F: Found type cp2k_shell_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type admm_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type ddapc_restraint_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type dftb_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type dft_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type efield_p_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type efield_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type expot_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type gapw_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type maxwell_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type mulliken_restraint_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type period_efield_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type pw_grid_option without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type qs_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type rtp_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type s2_restraint_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type semi_empirical_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type stda_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type tddfpt2_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type tddfpt_control_type without initializer https://cp2k.org/conv#c016
cp_control_types.F: Found type xtb_control_type without initializer https://cp2k.org/conv#c016
cp_dbcsr_operations.F: Found CALL cp_fm_gemm in procedure "cp_dbcsr_plus_fm_fm_t" https://cp2k.org/conv#c101
cp_dbcsr_operations.F: Found WRITE statement with hardcoded unit in "cp_dbcsr_plus_fm_fm_t" https://cp2k.org/conv#c012
cp_dbcsr_operations.F: Found WRITE statement with hardcoded unit in "create_bl_distribution" https://cp2k.org/conv#c012
cp_dbcsr_operations.F: Found WRITE statement with hardcoded unit in "dbcsr_create_dist_block_cyclic" https://cp2k.org/conv#c012
cp_ddapc_types.F: Found type cp_ddapc_ewald_type without initializer https://cp2k.org/conv#c016
cp_ddapc_types.F: Found type cp_ddapc_type without initializer https://cp2k.org/conv#c016
cp_ddapc_util.F: Found WRITE statement with hardcoded unit in "debug_charge" https://cp2k.org/conv#c012
cp_ddapc_util.F: Found WRITE statement with hardcoded unit in "debug_der_a_matrix" https://cp2k.org/conv#c012
cp_ddapc_util.F: Found WRITE statement with hardcoded unit in "debug_der_b_vector" https://cp2k.org/conv#c012
@ -92,47 +35,24 @@ cp_log_handling.F: Found WRITE statement with hardcoded unit in "cp_int_to_strin
cp_log_handling.F: Found WRITE statement with hardcoded unit in "cp_logger_get_default_unit_nr" https://cp2k.org/conv#c012
cp_log_handling.F: Found WRITE statement with hardcoded unit in "cp_real_dp_to_string" https://cp2k.org/conv#c012
cp_parser_inpp_methods.F: Found READ with unchecked STAT in "inpp_process_directive" https://cp2k.org/conv#c001
cryssym.F: Found type csym_type without initializer https://cp2k.org/conv#c016
csvr_system_types.F: Found type csvr_system_type without initializer https://cp2k.org/conv#c016
csvr_system_types.F: Found type csvr_thermo_type without initializer https://cp2k.org/conv#c016
ct_types.F: Found type ct_step_env_type without initializer https://cp2k.org/conv#c016
cube_utils.F: Found WRITE statement with hardcoded unit in "return_cube_nonortho" https://cp2k.org/conv#c012
d3_poly.F: Found CALL RANDOM_NUMBER in procedure "poly_random" https://cp2k.org/conv#c104
dbcsr_vector.F: Found type block_ptr_c without initializer https://cp2k.org/conv#c016
dbcsr_vector.F: Found type block_ptr_d without initializer https://cp2k.org/conv#c016
dbcsr_vector.F: Found type block_ptr_s without initializer https://cp2k.org/conv#c016
dbcsr_vector.F: Found type block_ptr_z without initializer https://cp2k.org/conv#c016
dbcsr_vector.F: Found type fast_vec_access_type without initializer https://cp2k.org/conv#c016
dbcsr_vector.F: Found type hash_table_type without initializer https://cp2k.org/conv#c016
distribution_2d_types.F: Found type distribution_2d_type without initializer https://cp2k.org/conv#c016
dkh_main.F: Found WRITE statement with hardcoded unit in "kintegral_a" https://cp2k.org/conv#c012
dkh_main.F: Found WRITE statement with hardcoded unit in "kintegral" https://cp2k.org/conv#c012
dm_ls_scf_types.F: Found type chebyshev_type without initializer https://cp2k.org/conv#c016
dm_ls_scf_types.F: Found type ls_mat_history_type without initializer https://cp2k.org/conv#c016
dm_ls_scf_types.F: Found type ls_mstruct_type without initializer https://cp2k.org/conv#c016
dm_ls_scf_types.F: Found type ls_scf_curvy_type without initializer https://cp2k.org/conv#c016
dm_ls_scf_types.F: Found type ls_scf_env_type without initializer https://cp2k.org/conv#c016
domain_submatrix_methods.F: Found WRITE statement with hardcoded unit in "print_submatrices" https://cp2k.org/conv#c012
domain_submatrix_types.F: Found type domain_submatrix_type without initializer https://cp2k.org/conv#c016
dumpdcd.F: Found CLOSE statement in procedure "dumpdcd" https://cp2k.org/conv#c204
dumpdcd.F: Found OPEN statement in procedure "dumpdcd" https://cp2k.org/conv#c203
dumpdcd.F: Found STOP statement in procedure "abort_program" https://cp2k.org/conv#c205
dumpdcd.F: Found STOP statement in procedure "dumpdcd" https://cp2k.org/conv#c205
dumpdcd.F: Found WRITE statement with hardcoded unit in "abort_program" https://cp2k.org/conv#c012
dumpdcd.F: Found WRITE statement with hardcoded unit in "print_help" https://cp2k.org/conv#c012
ec_env_types.F: Found type energy_correction_type without initializer https://cp2k.org/conv#c016
eip_environment_types.F: Found type eip_environment_type without initializer https://cp2k.org/conv#c016
eip_silicon.F: Found OPEN statement in procedure "eip_bazant_silicon" https://cp2k.org/conv#c203
eip_silicon.F: Found OPEN statement in procedure "eip_lenosky_silicon" https://cp2k.org/conv#c203
eip_silicon.F: Found WRITE statement with hardcoded unit in "eip_bazant_silicon" https://cp2k.org/conv#c012
eip_silicon.F: Found WRITE statement with hardcoded unit in "eip_lenosky_silicon" https://cp2k.org/conv#c012
eip_silicon.F: Found WRITE statement with hardcoded unit in "subfeniat_b" https://cp2k.org/conv#c012
eip_silicon.F: Found WRITE statement with hardcoded unit in "subfeniat_l" https://cp2k.org/conv#c012
environment.F: Module "mp_perf_env" USEd without ONLY clause or not PRIVATE https://cp2k.org/conv#c002
et_coupling_proj.F: Found type et_cpl_atom without initializer https://cp2k.org/conv#c016
et_coupling_proj.F: Found type et_cpl_block without initializer https://cp2k.org/conv#c016
et_coupling_proj.F: Found type et_cpl without initializer https://cp2k.org/conv#c016
et_coupling_types.F: Found type et_coupling_type without initializer https://cp2k.org/conv#c016
ewald_environment_types.F: Found type ewald_environment_type without initializer https://cp2k.org/conv#c016
ewald_pw_types.F: Found type ewald_pw_type without initializer https://cp2k.org/conv#c016
exclusion_types.F: Found type exclusion_type without initializer https://cp2k.org/conv#c016
@ -144,9 +64,6 @@ extended_system_types.F: Found type map_info_type without initializer https://cp
extended_system_types.F: Found type nhc_info_type without initializer https://cp2k.org/conv#c016
extended_system_types.F: Found type npt_info_type without initializer https://cp2k.org/conv#c016
extended_system_types.F: Found type point_info_type without initializer https://cp2k.org/conv#c016
f77_interface.F: Found type f_env_p_type without initializer https://cp2k.org/conv#c016
f77_interface.F: Found type f_env_type without initializer https://cp2k.org/conv#c016
f77_interface.F: Module "mp_perf_env" USEd without ONLY clause or not PRIVATE https://cp2k.org/conv#c002
farming_methods.F: Found CLOSE statement in procedure "farming_parse_input" https://cp2k.org/conv#c204
farming_methods.F: Found OPEN statement in procedure "farming_parse_input" https://cp2k.org/conv#c203
farming_types.F: Found type farming_env_type without initializer https://cp2k.org/conv#c016
@ -162,8 +79,6 @@ fist_force.F: Found type debug_variables_type without initializer https://cp2k.o
fist_neighbor_lists.F: Found type local_atoms_type without initializer https://cp2k.org/conv#c016
fist_neighbor_list_types.F: Found type fist_neighbor_type without initializer https://cp2k.org/conv#c016
fist_neighbor_list_types.F: Found type neighbor_kind_pairs_type without initializer https://cp2k.org/conv#c016
force_env_types.F: Found type force_env_p_type without initializer https://cp2k.org/conv#c016
force_env_types.F: Found type force_env_type without initializer https://cp2k.org/conv#c016
force_field_types.F: Found type amber_info_type without initializer https://cp2k.org/conv#c016
force_field_types.F: Found type charmm_info_type without initializer https://cp2k.org/conv#c016
force_field_types.F: Found type force_field_type without initializer https://cp2k.org/conv#c016
@ -199,7 +114,6 @@ hartree_local_types.F: Found type ecoul_1center_type without initializer https:/
hartree_local_types.F: Found type hartree_local_type without initializer https://cp2k.org/conv#c016
hfx_compression_methods.F: Found READ with unchecked STAT in "hfx_decompress_cache" https://cp2k.org/conv#c001
hfx_energy_potential.F: Found WRITE statement with hardcoded unit in "print_integrals" https://cp2k.org/conv#c012
hfx_types.F: Found type hfx_ri_type without initializer https://cp2k.org/conv#c016
hirshfeld_types.F: Found type hirshfeld_type without initializer https://cp2k.org/conv#c016
hirshfeld_types.F: Found type shape_fn without initializer https://cp2k.org/conv#c016
input_enumeration_types.F: Found WRITE statement with hardcoded unit in "enum_i2c" https://cp2k.org/conv#c012
@ -227,10 +141,6 @@ library_tests.F: Found CALL RANDOM_NUMBER in procedure "copy_test" https://cp2k.
library_tests.F: Found CALL RANDOM_NUMBER in procedure "cp_fm_gemm_test" https://cp2k.org/conv#c104
library_tests.F: Found CALL RANDOM_NUMBER in procedure "fft_test" https://cp2k.org/conv#c104
library_tests.F: Found CALL RANDOM_NUMBER in procedure "rs_pw_transfer_test" https://cp2k.org/conv#c104
library_tests.F: Module "mp_perf_test" USEd without ONLY clause or not PRIVATE https://cp2k.org/conv#c002
list_routinereport.F: Found type private_item_type_routinereport without initializer https://cp2k.org/conv#c016
list_routinestat.F: Found type private_item_type_routinestat without initializer https://cp2k.org/conv#c016
list_timerenv.F: Found type private_item_type_timerenv without initializer https://cp2k.org/conv#c016
lri_environment_types.F: Found type carray without initializer https://cp2k.org/conv#c016
lri_environment_types.F: Found type int_container without initializer https://cp2k.org/conv#c016
lri_environment_types.F: Found type lri_bas_type without initializer https://cp2k.org/conv#c016
@ -279,7 +189,6 @@ message_passing.F: Found OPEN statement in procedure "mp_file_open" https://cp2k
message_passing.F: Found STOP statement in procedure "mp_abort" https://cp2k.org/conv#c205
message_passing.F: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
message_passing.F: USE statement at (1) has no ONLY qualifier [-Wuse-without-only]
message_passing.F: Module "mp_perf_env" USEd without ONLY clause or not PRIVATE https://cp2k.org/conv#c002
message_passing.fypp: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
message_passing.fypp: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
message_passing.fypp: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-3)
@ -305,8 +214,6 @@ mm_mapping_library.F: Found type ff_map_type without initializer https://cp2k.or
mode_selective.F: Found READ with unchecked STAT in "bfgs_guess" https://cp2k.org/conv#c001
mode_selective.F: Found type ms_vib_type without initializer https://cp2k.org/conv#c016
molsym.F: Found type molsym_type without initializer https://cp2k.org/conv#c016
mp_perf_test.F: USE statement at (1) has no ONLY qualifier [-Wuse-without-only]
mp2_integrals.F: Found type intermediate_matrix_type without initializer https://cp2k.org/conv#c016
mscfg_types.F: Found type molecular_scf_guess_env_type without initializer https://cp2k.org/conv#c016
negf_atom_map.F: Found type negf_atom_map_type without initializer https://cp2k.org/conv#c016
negf_control_types.F: Found type negf_control_contact_type without initializer https://cp2k.org/conv#c016
@ -339,34 +246,10 @@ optimize_input.F: Found type oi_env_type without initializer https://cp2k.org/co
optimize_input.F: Found type variable_type without initializer https://cp2k.org/conv#c016
outer_scf_control_types.F: Found type outer_scf_control_type without initializer https://cp2k.org/conv#c016
outer_scf_control_types.F: Found type qs_outer_scf_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type buck4ran_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type buckmorse_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type eam_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type ftd_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type ft_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type gal21_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type gal_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type goodwin_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type gp_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type ipbv_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type lj_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type pair_potential_pp_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type pair_potential_p_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type pair_potential_single_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type pair_potential_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type pot_set_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type quip_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type siepmann_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type tab_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type tersoff_pot_type without initializer https://cp2k.org/conv#c016
pair_potential_types.F: Found type williams_pot_type without initializer https://cp2k.org/conv#c016
pao_param_exp.F: Found lossy conversion real_4_r8 without KIND argument in "zheevd_wrapper" https://cp2k.org/conv#c015
pao_types.F: Found type filename_type without initializer https://cp2k.org/conv#c016
parallel_gemm_api.F: Found CALL cp_fm_gemm in procedure "parallel_gemm_fm" https://cp2k.org/conv#c101
parallel_rng_types_unittest.F: Found WRITE statement with hardcoded unit in "dump_reload_check" https://cp2k.org/conv#c012
parallel_rng_types_unittest.F: Found WRITE statement with hardcoded unit in "parallel_rng_types_test" https://cp2k.org/conv#c012
parallel_rng_types_unittest.F: Found WRITE statement with hardcoded unit in "shuffle_check" https://cp2k.org/conv#c012
paw_proj_set_types.F: Found type paw_proj_set_type without initializer https://cp2k.org/conv#c016
pexsi_types.F: Found type lib_pexsi_env without initializer https://cp2k.org/conv#c016
powell.F: Found GOTO statement in procedure "newuob" https://cp2k.org/conv#c201
preconditioner_makes.F: Found WRITE statement with hardcoded unit in "make_full_all" https://cp2k.org/conv#c012
@ -384,8 +267,6 @@ ps_wavelet_scaling_function.F: Found WRITE statement with hardcoded unit in "sca
ps_wavelet_scaling_function.F: Found WRITE statement with hardcoded unit in "wavelet_function" https://cp2k.org/conv#c012
ps_wavelet_util.F: Found WRITE statement with hardcoded unit in "p_fft_dimensions" https://cp2k.org/conv#c012
ps_wavelet_util.F: Found WRITE statement with hardcoded unit in "s_fft_dimensions" https://cp2k.org/conv#c012
pwdft_environment_types.F: Found type pwdft_energy_type without initializer https://cp2k.org/conv#c016
pwdft_environment_types.F: Found type pwdft_environment_type without initializer https://cp2k.org/conv#c016
pw_grids.F: Found WRITE statement with hardcoded unit in "pw_grid_sort" https://cp2k.org/conv#c012
qmmm_gaussian_types.F: Found type qmmm_gaussian_p_type without initializer https://cp2k.org/conv#c016
qmmm_gaussian_types.F: Found type qmmm_gaussian_type without initializer https://cp2k.org/conv#c016
@ -407,9 +288,6 @@ qmmm_types_low.F: Found type qmmm_pseudo_link_p_type without initializer https:/
qmmm_types_low.F: Found type qmmm_pseudo_link_type without initializer https://cp2k.org/conv#c016
qs_active_space_methods.F: Found type eri_fcidump_checksum without initializer https://cp2k.org/conv#c016
qs_active_space_methods.F: Found type eri_fcidump_print without initializer https://cp2k.org/conv#c016
qs_active_space_types.F: Found type active_space_type without initializer https://cp2k.org/conv#c016
qs_active_space_types.F: Found type eri_gpw_type without initializer https://cp2k.org/conv#c016
qs_active_space_types.F: Found type eri_type without initializer https://cp2k.org/conv#c016
qs_atomic_block.F: Found type atom_matrix_type without initializer https://cp2k.org/conv#c016
qs_block_davidson_types.F: Found type davidson_type without initializer https://cp2k.org/conv#c016
qs_cdft_opt_types.F: Found type cdft_opt_type without initializer https://cp2k.org/conv#c016
@ -535,9 +413,6 @@ qs_wf_history_types.F: Found type qs_wf_snapshot_type without initializer https:
rel_control_types.F: Found type rel_control_type without initializer https://cp2k.org/conv#c016
replica_types.F: Found type replica_env_p_type without initializer https://cp2k.org/conv#c016
replica_types.F: Found type replica_env_type without initializer https://cp2k.org/conv#c016
routine_map.F: Found type private_item_type without initializer https://cp2k.org/conv#c016
routine_map.F: Found type routine_map_item_type without initializer https://cp2k.org/conv#c016
rpa_im_time_force_types.F: Found type im_time_force_type without initializer https://cp2k.org/conv#c016
scf_control_types.F: Found type diagonalization_type without initializer https://cp2k.org/conv#c016
scf_control_types.F: Found type scf_control_type without initializer https://cp2k.org/conv#c016
scf_control_types.F: Found type smear_type without initializer https://cp2k.org/conv#c016
@ -587,7 +462,6 @@ swarm_mpi.F: Found CLOSE statement in procedure "logger_init_master" https://cp2
swarm_mpi.F: Found OPEN statement in procedure "logger_finalize" https://cp2k.org/conv#c203
taper_types.F: Found type taper_type without initializer https://cp2k.org/conv#c016
task_list_methods.F: Found WRITE statement with hardcoded unit in "generate_qs_task_list" https://cp2k.org/conv#c012
task_list_types.F: Found type task_list_type without initializer https://cp2k.org/conv#c016
timings.F: Found WRITE statement with hardcoded unit in "timestop_handler" https://cp2k.org/conv#c012
tip_scan_types.F: Found type scanning_type without initializer https://cp2k.org/conv#c016
tmc_analysis.F: Found WRITE statement with hardcoded unit in "print_average_displacement" https://cp2k.org/conv#c012
@ -614,16 +488,6 @@ topology_types.F: Found type topology_parameters_type without initializer https:
transport_env_types.F: Found type cp2k_csr_interop_type without initializer https://cp2k.org/conv#c016
transport_env_types.F: Found type cp2k_transport_parameters without initializer https://cp2k.org/conv#c016
transport_env_types.F: Found type transport_env_type without initializer https://cp2k.org/conv#c016
xas_control.F: Found type xas_control_type without initializer https://cp2k.org/conv#c016
xas_env_types.F: Found type xas_environment_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type batch_info_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type donor_state_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type grid_atom_p_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type harmonics_atom_p_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type xas_atom_env_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type xas_tdp_control_type without initializer https://cp2k.org/conv#c016
xas_tdp_types.F: Found type xas_tdp_env_type without initializer https://cp2k.org/conv#c016
xas_tdp_utils.F: Found type dbcsr_soc_package_type without initializer https://cp2k.org/conv#c016
xc.F: Found CLOSE statement in procedure "xc_vxc_pw_create_debug" https://cp2k.org/conv#c204
xc.F: Found CLOSE statement in procedure "xc_vxc_pw_create_test_lsd" https://cp2k.org/conv#c204
xc.F: Found OPEN statement in procedure "xc_vxc_pw_create_debug" https://cp2k.org/conv#c203