mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-21 06:25:15 -04:00
Fix typo
This commit is contained in:
parent
0d0e0047ac
commit
40b9ef4da9
325 changed files with 735 additions and 737 deletions
|
|
@ -26,7 +26,7 @@
|
|||
# In addition to the basis sets discussed in the paper above, we have generated with the same procedure
|
||||
# variants of these basis sets using less and thus less diffuse primitives (based on the atomic code being with 1mHt of the basis set limit)
|
||||
# These are the SZV-MOLOPT-SR-GTH and DZVP-MOLOPT-SR-GTH (Shorter Range) basis sets for most of the periodic table
|
||||
# These basis sets reduce the cost for medium size condensed phase systems, while most properties are only slighly affected.
|
||||
# These basis sets reduce the cost for medium size condensed phase systems, while most properties are only slightly affected.
|
||||
# Most affected is BSSE, which increases to 0.32, 0.16, 0.31, 0.24 from 0.23, 0.11, 0.41, 0.20 kcal/mol (DZVP-MOLOPT-SR-GTH vs. DZVP-MOLOPT-GTH),
|
||||
# while for a box with 64 molecules timings are 25 and 111 s respectively.
|
||||
#
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ MODULE admm_dm_methods
|
|||
CONTAINS
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Entry methods: Calculates auxilary density matrix from primary one.
|
||||
!> \brief Entry methods: Calculates auxiliary density matrix from primary one.
|
||||
!> \param ks_env ...
|
||||
!> \author Ole Schuett
|
||||
! **************************************************************************************************
|
||||
|
|
@ -81,7 +81,7 @@ CONTAINS
|
|||
END SUBROUTINE admm_dm_calc_rho_aux
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Entry methods: Merges auxilary Kohn-Sham matrix into primary one.
|
||||
!> \brief Entry methods: Merges auxiliary Kohn-Sham matrix into primary one.
|
||||
!> \param ks_env ...
|
||||
!> \author Ole Schuett
|
||||
! **************************************************************************************************
|
||||
|
|
@ -125,7 +125,7 @@ CONTAINS
|
|||
END SUBROUTINE admm_dm_merge_ks_matrix
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Calculates auxilary density matrix via basis projection.
|
||||
!> \brief Calculates auxiliary density matrix via basis projection.
|
||||
!> \param ks_env ...
|
||||
!> \author Ole Schuett
|
||||
! **************************************************************************************************
|
||||
|
|
@ -188,7 +188,7 @@ CONTAINS
|
|||
END SUBROUTINE map_dm_projection
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Calculates auxilary density matrix via blocking.
|
||||
!> \brief Calculates auxiliary density matrix via blocking.
|
||||
!> \param ks_env ...
|
||||
!> \author Ole Schuett
|
||||
! **************************************************************************************************
|
||||
|
|
@ -235,7 +235,7 @@ CONTAINS
|
|||
END SUBROUTINE map_dm_blocked
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Call calculate_rho_elec() for auxilary density
|
||||
!> \brief Call calculate_rho_elec() for auxiliary density
|
||||
!> \param ks_env ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE update_rho_aux(ks_env)
|
||||
|
|
@ -281,7 +281,7 @@ CONTAINS
|
|||
END SUBROUTINE update_rho_aux
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Merges auxilary Kohn-Sham matrix via basis projection.
|
||||
!> \brief Merges auxiliary Kohn-Sham matrix via basis projection.
|
||||
!> \param ks_env ...
|
||||
!> \param matrix_ks_merge Input: The KS matrix to be merged
|
||||
!> \author Ole Schuett
|
||||
|
|
@ -318,7 +318,7 @@ CONTAINS
|
|||
END SUBROUTINE merge_dm_projection
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Merges auxilary Kohn-Sham matrix via blocking.
|
||||
!> \brief Merges auxiliary Kohn-Sham matrix via blocking.
|
||||
!> \param ks_env ...
|
||||
!> \param matrix_ks_merge Input: The KS matrix to be merged
|
||||
!> \author Ole Schuett
|
||||
|
|
@ -355,7 +355,7 @@ CONTAINS
|
|||
END SUBROUTINE merge_dm_blocked
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Apply McWeeny purification to auxilary density matrix
|
||||
!> \brief Apply McWeeny purification to auxiliary density matrix
|
||||
!> \param ks_env ...
|
||||
!> \author Ole Schuett
|
||||
! **************************************************************************************************
|
||||
|
|
@ -442,7 +442,7 @@ CONTAINS
|
|||
END SUBROUTINE purify_mcweeny
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Prepare auxilary KS-matrix for merge using reverse McWeeny
|
||||
!> \brief Prepare auxiliary KS-matrix for merge using reverse McWeeny
|
||||
!> \param ks_env ...
|
||||
!> \param matrix_ks_merge Output: The KS matrix for the merge
|
||||
!> \author Ole Schuett
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Types and set/get functions for auxiliary denisty matrix methods
|
||||
!> \brief Types and set/get functions for auxiliary density matrix methods
|
||||
!> \par History
|
||||
!> 11.2014 created [Ole Schuett]
|
||||
!> \author Ole Schuett
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@ CONTAINS
|
|||
CALL create_oce_set(admm_gapw_env%oce)
|
||||
CALL allocate_oce_set(admm_gapw_env%oce, nkind)
|
||||
|
||||
!always compute the derivitive, cheap anyways
|
||||
!always compute the derivative, cheap anyways
|
||||
CALL build_oce_matrices(admm_gapw_env%oce%intac, calculate_forces=.TRUE., nder=1, &
|
||||
qs_kind_set=admm_kind_set, particle_set=particle_set, &
|
||||
sap_oce=sap_oce, eps_fit=dft_control%qs_control%gapw_control%eps_fit)
|
||||
|
|
@ -1779,7 +1779,7 @@ CONTAINS
|
|||
END SUBROUTINE calc_spin_dep_aux_exch_ener
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Scale density matrix by gsi(ispin), is neede for force scaling in ADMMP
|
||||
!> \brief Scale density matrix by gsi(ispin), is needed for force scaling in ADMMP
|
||||
!> \param qs_env ...
|
||||
!> \param rho_ao_orb ...
|
||||
!> \param scale_back ...
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Types and set/get functions for auxiliary denisty matrix methods
|
||||
!> \brief Types and set/get functions for auxiliary density matrix methods
|
||||
!> \par History
|
||||
!> 05.2008 created [Manuel Guidon]
|
||||
!> 12.2019 Made GAPW compatiblae [Augustin Bussy]
|
||||
|
|
|
|||
|
|
@ -1152,7 +1152,7 @@ CONTAINS
|
|||
|
||||
WRITE (unit_nr, '(T2,A)') REPEAT("-", 79)
|
||||
|
||||
! print fragment neigbors
|
||||
! print fragment neighbors
|
||||
WRITE (unit_nr, '(T2,A78)') &
|
||||
"Neighbor lists (including self)"
|
||||
WRITE (unit_nr, '(T2,A)') REPEAT("-", 79)
|
||||
|
|
|
|||
|
|
@ -850,7 +850,7 @@ CONTAINS
|
|||
!> \param quench_t ...
|
||||
!> \param matrix_t_in ...
|
||||
!> \param matrix_t_out ...
|
||||
!> \param assume_t0_q0x - since it is extrememly difficult to converge the iterative
|
||||
!> \param assume_t0_q0x - since it is extremely difficult to converge the iterative
|
||||
!> procedure using T as an optimized variable, assume
|
||||
!> T = T_0 + (1-R_0)*X and optimize X
|
||||
!> T_0 is assumed to be the zero-delocalization reference
|
||||
|
|
@ -955,7 +955,7 @@ CONTAINS
|
|||
optimize_theta = almo_scf_env%logical05
|
||||
eps_skip_gradients = almo_scf_env%real01
|
||||
|
||||
! penalty amplitude adjusts the strenght of volume conservation
|
||||
! penalty amplitude adjusts the strength of volume conservation
|
||||
energy_coeff = 1.0_dp !optimizer%opt_penalty%energy_coeff
|
||||
localiz_coeff = 0.0_dp !optimizer%opt_penalty%occ_loc_coeff
|
||||
penalty_amplitude = 0.0_dp !optimizer%opt_penalty%occ_vol_coeff
|
||||
|
|
@ -9148,7 +9148,7 @@ CONTAINS
|
|||
WRITE (unit_nr, '(T2,A)') REPEAT("-", 79)
|
||||
ENDIF
|
||||
|
||||
! penalty amplitude adjusts the strenght of volume conservation
|
||||
! penalty amplitude adjusts the strength of volume conservation
|
||||
penalty_occ_vol = .FALSE.
|
||||
!(almo_scf_env%penalty%occ_vol_method .NE. almo_occ_vol_penalty_none .AND. &
|
||||
! my_special_case .EQ. xalmo_case_fully_deloc)
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ CONTAINS
|
|||
|
||||
! RZK-warning The structure of the matrices can be optimized:
|
||||
! 1. Diagonal matrices must be distributed evenly over the processes.
|
||||
! This can be achived by distributing cpus: 012012-rows and 001122-cols
|
||||
! This can be achieved by distributing cpus: 012012-rows and 001122-cols
|
||||
! block_diagonal_flag is introduced but not used
|
||||
! 2. Multiplication of diagonally dominant matrices will be faster
|
||||
! if the diagonal blocks are local to the same processes.
|
||||
|
|
@ -1449,7 +1449,7 @@ CONTAINS
|
|||
! check boundaries
|
||||
IF (domain_grid(grid1, 0) .GT. max_neig) THEN
|
||||
! this neighbor will overstep the boundaries
|
||||
! stop the trial and increase the max number of neigbors
|
||||
! stop the trial and increase the max number of neighbors
|
||||
DEALLOCATE (domain_grid)
|
||||
max_neig = max_neig*2
|
||||
CYCLE max_neig_loop
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ MODULE ai_contraction
|
|||
CONTAINS
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Applying the contraction coefficents to a set of two-center primitive
|
||||
!> \brief Applying the contraction coefficients to a set of two-center primitive
|
||||
!> integrals
|
||||
!> QAB <- CA(T) * SAB * CB
|
||||
!> QAB is optionally scaled with "fscale"
|
||||
|
|
@ -181,7 +181,7 @@ CONTAINS
|
|||
END SUBROUTINE contraction_ab
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Applying the contraction coefficents to a tripple set integrals
|
||||
!> \brief Applying the contraction coefficients to a tripple set integrals
|
||||
!> QABC <- CA(T) * SABC * CB * CC
|
||||
!> If only one or two of the transformation matrices are given, only a
|
||||
!> part transformation is done
|
||||
|
|
@ -263,7 +263,7 @@ CONTAINS
|
|||
IF (PRESENT(ca) .AND. PRESENT(cb) .AND. PRESENT(cc)) THEN
|
||||
! Full transform
|
||||
ALLOCATE (work1(nal, nbl, ncl))
|
||||
! make sure that we have contigous memory, needed for transpose algorithm
|
||||
! make sure that we have contiguous memory, needed for transpose algorithm
|
||||
work1(1:nal, 1:nbl, 1:ncl) = sabc(1:nal, 1:nbl, 1:ncl)
|
||||
!
|
||||
ALLOCATE (work2(nbl, ncl, mal))
|
||||
|
|
@ -302,7 +302,7 @@ CONTAINS
|
|||
END SUBROUTINE contraction_abc
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Applying the de-contraction coefficents to a matrix
|
||||
!> \brief Applying the de-contraction coefficients to a matrix
|
||||
!> QAB <- CA * SAB * CB(T)
|
||||
!> Variable "trans" requests the input matrix to be SAB(T)
|
||||
!> Active dimensions are: QAB(na,nb), SAB(ma,mb)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief Calculation of integrals over Cartesian Gaussian-type functions for [a|(r-Ra)^(2m)|b]
|
||||
!> Ra is the postion of center a
|
||||
!> Ra is the position of center a
|
||||
!> \par Literature
|
||||
!> S. Obara and A. Saika, J. Chem. Phys. 84, 3963 (1986)
|
||||
!> \par History
|
||||
|
|
|
|||
|
|
@ -1085,7 +1085,7 @@ CONTAINS
|
|||
fexpa = 2.0_dp*zeta
|
||||
fexpc = 2.0_dp*zetc
|
||||
|
||||
! derviative with respec to x,y,z
|
||||
! derivative with respec to x,y,z
|
||||
|
||||
devx = 1
|
||||
devy = 2
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
!> _ vnucp : potential of the nuclei
|
||||
!> - vnuc : potential of the electrons
|
||||
!> _ pVpa, pVpb : pVpl=coset(lx,ly,lz)
|
||||
!> - na_pgf,nb_pgf : indice for primitive gaussian functions
|
||||
!> - na_pgf,nb_pgf : indices for primitive gaussian functions
|
||||
!> \par History
|
||||
!> 10.2008 added pVp matrix elements (jens)
|
||||
!> \author Matthias Krack (04.10.2000)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief All kind of helpfull little routines
|
||||
!> \brief All kind of helpful little routines
|
||||
!> \par History
|
||||
!> none
|
||||
!> \author CJM & JGH
|
||||
|
|
|
|||
|
|
@ -2370,7 +2370,7 @@ CONTAINS
|
|||
CASE DEFAULT
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"The requested basis set <"//TRIM(bsname)// &
|
||||
"> for element <"//TRIM(symbol)//"> has an ivalid component: ")
|
||||
"> for element <"//TRIM(symbol)//"> has an invalid component: ")
|
||||
END SELECT
|
||||
END DO
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ CONTAINS
|
|||
CALL create_replicated_col_vec_from_matrix(vectors%rep_col_vec, matrix(1)%matrix, 1)
|
||||
CALL create_replicated_row_vec_from_matrix(vectors%rep_row_vec, matrix(1)%matrix, 1)
|
||||
|
||||
! Tells whether we have local data available on the processor (usually all in pcol 0 but even ther can be some without data)
|
||||
! Tells whether we have local data available on the processor (usually all in pcol 0 but even there can be some without data)
|
||||
control => get_control(arnoldi_data)
|
||||
CALL dbcsr_get_info(matrix=vectors%input_vec, nfullrows_local=nrow_local, nfullcols_local=ncol_local)
|
||||
control%local_comp = ncol_local > 0 .AND. nrow_local > 0
|
||||
|
|
@ -202,7 +202,7 @@ CONTAINS
|
|||
CALL create_replicated_col_vec_from_matrix(vectors%rep_col_vec, matrix(1)%matrix, 1)
|
||||
CALL create_replicated_row_vec_from_matrix(vectors%rep_row_vec, matrix(1)%matrix, 1)
|
||||
|
||||
! Tells whether we have local data available on the processor (usually all in pcol 0 but even ther can be some without data)
|
||||
! Tells whether we have local data available on the processor (usually all in pcol 0 but even there can be some without data)
|
||||
control => get_control(arnoldi_data)
|
||||
CALL dbcsr_get_info(matrix=vectors%input_vec, nfullrows_local=nrow_local, nfullcols_local=ncol_local)
|
||||
control%local_comp = ncol_local > 0 .AND. nrow_local > 0
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief here the iterations are performed and the krylov space for the generalized
|
||||
!> eigenvalue probelm is created
|
||||
!> eigenvalue problem is created
|
||||
!> \param matrix see above
|
||||
!> \param vectors see above
|
||||
!> \param arnoldi_data see above
|
||||
|
|
@ -308,7 +308,7 @@ CONTAINS
|
|||
#:for nametype1, type_prec, type_nametype1, nametype_zero, nametype_one, nametype_negone, czero, cone, ctype, rnorm_to_norm, val_to_type in inst_params_2
|
||||
! **************************************************************************************************
|
||||
!> \brief Call the correct eigensolver, in the arnoldi method only the right
|
||||
!> eigenvectors are used. Lefts are created here but dumped immediatly
|
||||
!> eigenvectors are used. Lefts are created here but dumped immediately
|
||||
!> \param arnoldi_data ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE compute_evals_${nametype1}$ (arnoldi_data)
|
||||
|
|
@ -437,7 +437,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief Alogorithm for the implicit restarts in the arnoldi method
|
||||
!> this is an early implementaion which scales subspace size^4
|
||||
!> this is an early implementation which scales subspace size^4
|
||||
!> by replacing the lapack calls with direct math the
|
||||
!> QR and gemms can be made linear and a N^2 sacling will be acchieved
|
||||
!> however this already sets the framework but should be used with care
|
||||
|
|
@ -641,7 +641,7 @@ CONTAINS
|
|||
END SUBROUTINE transfer_dbcsr_to_local_array_${nametype1}$
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief The inverse routine transfering data back from an array to a dbcsr
|
||||
!> \brief The inverse routine transferring data back from an array to a dbcsr
|
||||
!> \param vec ...
|
||||
!> \param array ...
|
||||
!> \param n ...
|
||||
|
|
@ -853,7 +853,7 @@ CONTAINS
|
|||
END SUBROUTINE gev_arnoldi_init_${nametype1}$
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief builds the basis rothogonal wrt. teh metric.
|
||||
!> \brief builds the basis rothogonal wrt. the metric.
|
||||
!> The structure looks similar to normal arnoldi but norms, vectors and
|
||||
!> matrix_vector products are very differently defined. Therefore it is
|
||||
!> cleaner to put it in a separate subroutine to avoid confusion
|
||||
|
|
@ -937,7 +937,7 @@ CONTAINS
|
|||
END DO
|
||||
|
||||
! getting a bit more complicated here as the final matrix is again a product which has to be computed with the
|
||||
! ditributed vectors, therefore a sum along the first proc_col is necessary. As we want that matrix everywhere,
|
||||
! distributed vectors, therefore a sum along the first proc_col is necessary. As we want that matrix everywhere,
|
||||
! we set it to zero before and compute the distributed product only on the first col and then sum over the full grid
|
||||
ar_data%Hessenberg = ${nametype_zero}$
|
||||
IF (control%local_comp) THEN
|
||||
|
|
@ -1000,7 +1000,7 @@ CONTAINS
|
|||
! ar_data%x_vec(:)=MATMUL(ar_data%local_history(:,1:control%current_step),&
|
||||
! ar_data%revec(1:control%current_step,control%selected_ind(1)))
|
||||
|
||||
! update the C-matrix (A-rho*B), if teh maximum value is requested we have to use -A-rho*B
|
||||
! update the C-matrix (A-rho*B), if the maximum value is requested we have to use -A-rho*B
|
||||
CALL dbcsr_copy(matrix_arnoldi(1)%matrix, matrix(1)%matrix)
|
||||
CALL dbcsr_add(matrix_arnoldi(1)%matrix, matrix(2)%matrix, ${nametype_one}$, -ar_data%rho_scale)
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ MODULE arnoldi_types
|
|||
LOGICAL :: generalized_ev
|
||||
LOGICAL :: iram
|
||||
LOGICAL :: has_initial_vector
|
||||
INTEGER, DIMENSION(:), POINTER :: selected_ind ! list of indicies matching the selection criterion
|
||||
INTEGER, DIMENSION(:), POINTER :: selected_ind ! list of indices matching the selection criterion
|
||||
END TYPE arnoldi_control_type
|
||||
|
||||
TYPE arnoldi_data_d_type
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ CONTAINS
|
|||
CALL powell_optimize(ostate%nvar, x, ostate)
|
||||
|
||||
IF (ostate%nf == 2 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Inital value of function",T61,F20.10)') ostate%f
|
||||
WRITE (iunit, '(" POWELL| Initial value of function",T61,F20.10)') ostate%f
|
||||
END IF
|
||||
IF (MOD(ostate%nf, n10) == 0 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Reached",i4,"% of maximal function calls",T61,F20.10)') &
|
||||
|
|
@ -936,7 +936,7 @@ CONTAINS
|
|||
CALL powell_optimize(ostate%nvar, x, ostate)
|
||||
|
||||
IF (ostate%nf == 2 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Inital value of function",T61,F20.10)') ostate%f
|
||||
WRITE (iunit, '(" POWELL| Initial value of function",T61,F20.10)') ostate%f
|
||||
END IF
|
||||
IF (MOD(ostate%nf, n10) == 0 .AND. iunit > 0 .AND. ostate%nf > 2) THEN
|
||||
WRITE (iunit, '(" POWELL| Reached",i4,"% of maximal function calls",T61,F20.10)') &
|
||||
|
|
|
|||
|
|
@ -1022,7 +1022,7 @@ CONTAINS
|
|||
CALL powell_optimize(ostate%nvar, x, ostate)
|
||||
|
||||
IF (ostate%nf == 2 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Inital value of function",T61,F20.10)') ostate%f
|
||||
WRITE (iunit, '(" POWELL| Initial value of function",T61,F20.10)') ostate%f
|
||||
END IF
|
||||
IF (MOD(ostate%nf, n10) == 0 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Reached",i4,"% of maximal function calls",T61,F20.10)') &
|
||||
|
|
@ -1165,7 +1165,7 @@ CONTAINS
|
|||
CALL powell_optimize(ostate%nvar, x, ostate)
|
||||
|
||||
IF (ostate%nf == 2 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Inital value of function",T61,F20.10)') ostate%f
|
||||
WRITE (iunit, '(" POWELL| Initial value of function",T61,F20.10)') ostate%f
|
||||
END IF
|
||||
IF (MOD(ostate%nf, n10) == 0 .AND. iunit > 0) THEN
|
||||
WRITE (iunit, '(" POWELL| Reached",i4,"% of maximal function calls",T61,F20.10)') &
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ CONTAINS
|
|||
!> \param title ...
|
||||
!> \param electronic_charges (natom,nspin), the number of electrons of (so positive) per spin
|
||||
!> if (nspin==1) it is the sum of alpha and beta electrons
|
||||
!> \param atomic_charges truely the atomic charge (taking Z into account, atoms negative, no spin)
|
||||
!> \param atomic_charges truly the atomic charge (taking Z into account, atoms negative, no spin)
|
||||
!> \par History
|
||||
!> 03.2006 created [Joost VandeVondele]
|
||||
!> \note
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Rountines for GW + Bethe-Salpeter for computing electronic excitations
|
||||
!> \brief Routines for GW + Bethe-Salpeter for computing electronic excitations
|
||||
!> \par History
|
||||
!> 04.2017 created [Jan Wilhelm]
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ CONTAINS
|
|||
!> \param energy ...
|
||||
!> \par History
|
||||
!> 07.2005 created [tlaino]
|
||||
!> 2014/09/17 made atom list to be read from repeated occurance of LIST [LTong]
|
||||
!> 2014/09/17 made atom list to be read from repeated occurrence of LIST [LTong]
|
||||
!> \author Teodoro Laino
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE eval_bsse_energy_low(force_env, conf, conf_loc, n_frags, &
|
||||
|
|
|
|||
|
|
@ -597,7 +597,7 @@ CONTAINS
|
|||
WRITE (iw, '( A )') ' '// &
|
||||
'**********************************************************************'
|
||||
WRITE (iw, '( A,I8)') ' COLVARS| COLVAR INPUT INDEX: ', icol
|
||||
WRITE (iw, '( A,T49,4I8)') ' COLVARS| COMBINATION OF THE FOLOWING COLVARS:'
|
||||
WRITE (iw, '( A,T49,4I8)') ' COLVARS| COMBINATION OF THE FOLLOWING COLVARS:'
|
||||
END IF
|
||||
CALL cp_print_key_finished_output(iw, logger, colvar_section, &
|
||||
"PRINT%PROGRAM_RUN_INFO")
|
||||
|
|
|
|||
|
|
@ -535,7 +535,7 @@ CONTAINS
|
|||
IF (PRESENT(forces)) THEN
|
||||
ALLOCATE (wrk(nsize_int))
|
||||
ALLOCATE (Amatrix(nsize_int, nsize_xyz))
|
||||
! Compute the transformation matrices and the invese mass diagonal Matrix
|
||||
! Compute the transformation matrices and the inverse mass diagonal Matrix
|
||||
CALL eval_colvar(force_env, coords, cvalues, Bmatrix, MassI, Amatrix)
|
||||
wrk = MATMUL(Amatrix, forces)
|
||||
forces = 0.0_dp
|
||||
|
|
@ -543,7 +543,7 @@ CONTAINS
|
|||
DEALLOCATE (Amatrix)
|
||||
DEALLOCATE (wrk)
|
||||
ELSE
|
||||
! Compute the transformation matrices and the invese mass diagonal Matrix
|
||||
! Compute the transformation matrices and the inverse mass diagonal Matrix
|
||||
CALL eval_colvar(force_env, coords, cvalues, Bmatrix, MassI)
|
||||
END IF
|
||||
! Compute the Metric Tensor
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ RECURSIVE SUBROUTINE ${prefix}$_sort_low(arr, indices, tmp_arr, tmp_idx)
|
|||
RETURN
|
||||
ENDIF
|
||||
|
||||
! split list in half and recusively sort both sublists
|
||||
! split list in half and recursively sort both sublists
|
||||
m = (size(arr)+1)/2 ! index where we're going to divide the list in two
|
||||
CALL ${prefix}$_sort_low(arr(1:m), indices(1:m), tmp_arr, tmp_idx)
|
||||
CALL ${prefix}$_sort_low(arr(m+1:), indices(m+1:), tmp_arr, tmp_idx)
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ CONTAINS
|
|||
END IF
|
||||
END DO
|
||||
|
||||
! Seach for an unused entry
|
||||
! Search for an unused entry
|
||||
islot = -1
|
||||
DO ic = 1, nc
|
||||
IF (preconnected(ic)%unit_number == -1) THEN
|
||||
|
|
@ -211,7 +211,7 @@ CONTAINS
|
|||
|
||||
nc = SIZE(preconnected)
|
||||
|
||||
! Seach for preconnection entry and delete it when found
|
||||
! Search for preconnection entry and delete it when found
|
||||
DO ic = 1, nc
|
||||
IF (TRIM(preconnected(ic)%file_name) == TRIM(file_name)) THEN
|
||||
IF (preconnected(ic)%unit_number == unit_number) THEN
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@
|
|||
MODULE PROCEDURE cp_sll_${nametype}$_rm_first_el
|
||||
#:endfor
|
||||
END INTERFACE
|
||||
! remove all the elments
|
||||
! remove all the elements
|
||||
INTERFACE cp_remove_all
|
||||
#:for nametype in nametype1
|
||||
MODULE PROCEDURE cp_sll_${nametype}$_rm_all_el
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
CONTAINS
|
||||
|
||||
${private_routines}$
|
||||
! =========== creation / distruction ========
|
||||
! =========== creation / destruction ========
|
||||
|
||||
|
||||
#:for i in inst
|
||||
|
|
@ -224,7 +224,7 @@ ${private_routines}$
|
|||
!> none
|
||||
!> \author Fawzi Mohamed
|
||||
!> \note
|
||||
!> does not deallocate the elments that are stored in the list
|
||||
!> does not deallocate the elements that are stored in the list
|
||||
!> check more?
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE cp_sll_${nametype1[i]}$_dealloc(sll)
|
||||
|
|
@ -601,7 +601,7 @@ ${private_routines}$
|
|||
! **************************************************************************************************
|
||||
!> \brief returns a newly allocated array with the same contents as
|
||||
!> the linked list
|
||||
!> \param sll the list to trasform in array
|
||||
!> \param sll the list to transform in array
|
||||
!> \return ...
|
||||
!> \par History
|
||||
!> 07.2002 created [fawzi]
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ MODULE cp_log_handling
|
|||
!! level of a note
|
||||
INTEGER, PARAMETER :: cp_note_level = 0
|
||||
|
||||
!! a generic function to trasform different types to strings
|
||||
!! a generic function to transform different types to strings
|
||||
INTERFACE cp_to_string
|
||||
MODULE PROCEDURE cp_int_to_string, cp_real_dp_to_string, cp_logical_to_string
|
||||
END INTERFACE
|
||||
|
|
@ -717,7 +717,7 @@ CONTAINS
|
|||
!> \note
|
||||
!> this should be a function returning a variable length string.
|
||||
!> All spaces are moved to the end of the string.
|
||||
!> Not fully optimized: result must be a littel longer than the
|
||||
!> Not fully optimized: result must be a little longer than the
|
||||
!> resulting compressed filename
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE cp_logger_generate_filename(logger, res, root, postfix, &
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ MODULE cp_result_types
|
|||
! **************************************************************************************************
|
||||
!> \brief contains arbitrary information which need to be stored
|
||||
!> \note
|
||||
!> result_list is a character list, in which everthing can be stored
|
||||
!> result_list is a character list, in which everything can be stored
|
||||
!> before passing any variable just name the variable like '[NAME]'
|
||||
!> brackets will be used to identify the start of a new set
|
||||
!> \author fschiff (12.2007)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
!> Units are complex, this module does not try to be very smart, for
|
||||
!> example SI prefixes are not supported automatically, and
|
||||
!> which kinds are really basic can change depending on the system of
|
||||
!> units choosen, and equivalences are not always catched.
|
||||
!> units chosen, and equivalences are not always catched.
|
||||
!>
|
||||
!> This is thought as a simple conversion facility for the input and output.
|
||||
!> If you need something more you are probably better off using the
|
||||
|
|
@ -361,7 +361,7 @@ CONTAINS
|
|||
kind_id(i_unit) = cp_ukind_force
|
||||
CASE ("AU")
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"au unit without specifing its kind not accepted, use "// &
|
||||
"au unit without specifying its kind not accepted, use "// &
|
||||
"(au_e, au_f, au_t, au_temp, au_l, au_m, au_p, au_pot)")
|
||||
CASE default
|
||||
CPABORT("Unknown unit: "//string(i_low:i_high - 1))
|
||||
|
|
@ -1121,7 +1121,7 @@ CONTAINS
|
|||
END FUNCTION cp_unit_desc
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief tranform a value to the internal cp2k units
|
||||
!> \brief transform a value to the internal cp2k units
|
||||
!> \param value the value to convert
|
||||
!> \param unit the unit of the result
|
||||
!> \param defaults the defaults unit for those that are left free
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief
|
||||
!> Routines to efficently handle dense polynomial in 3 variables up to
|
||||
!> Routines to efficiently handle dense polynomial in 3 variables up to
|
||||
!> a given degree.
|
||||
!> Multiplication, partial evalution, affine transform (change of reference
|
||||
!> Multiplication, partial evaluation, affine transform (change of reference
|
||||
!> system), differentiation are efficiently implemented.
|
||||
!> some functions accept or return several polynomial together,
|
||||
!> these have to have all the same size, and are stored one after the other
|
||||
|
|
@ -578,7 +578,7 @@ CONTAINS
|
|||
shiftRes = shiftRes + newSize
|
||||
END DO
|
||||
IF (grad1 > max_grad3 .OR. grad2 > max_grad3) THEN
|
||||
! one could remove multiplications even more agressively...
|
||||
! one could remove multiplications even more aggressively...
|
||||
msize_p1 = my_size_p1
|
||||
DO ipoly = 0, np1 - 1
|
||||
shift1 = 1 + ipoly*my_size_p1
|
||||
|
|
@ -686,7 +686,7 @@ CONTAINS
|
|||
shiftRes = shiftRes + newSize
|
||||
END DO
|
||||
IF (grad1 > max_grad3 .OR. grad2 > max_grad3) THEN
|
||||
! one could remove multiplications even more agressively...
|
||||
! one could remove multiplications even more aggressively...
|
||||
msize_p1 = my_size_p1
|
||||
DO ipoly = 0, np1 - 1
|
||||
shift1 = 1 + ipoly*my_size_p1 + (max_grad3 + 1)*(max_grad3 + 2)*(max_grad3 + 3)/6
|
||||
|
|
@ -1006,7 +1006,7 @@ CONTAINS
|
|||
monoFullDim1 - monoDimAtt2, 1, .FALSE.)
|
||||
igrad = igrad + 1
|
||||
|
||||
! ! alterantive to unrolling
|
||||
! ! alternative to unrolling
|
||||
! monoG1=monoG2
|
||||
! monoSize1=monoSize2
|
||||
! monoDim1=monoDim2
|
||||
|
|
@ -1168,7 +1168,7 @@ CONTAINS
|
|||
monoFullDim1 - monoDimAtt2, 1, .FALSE.)
|
||||
igrad = igrad + 1
|
||||
|
||||
! ! alterantive to unrolling
|
||||
! ! alternative to unrolling
|
||||
! monoG1=monoG2
|
||||
! monoSize1=monoSize2
|
||||
! monoDim1=monoDim2
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
!> \brief stores a lists of integer that are local to a processor.
|
||||
!> The idea is that these integers represent objects that are distributed
|
||||
!> between the different processors.
|
||||
!> The ordering is just to make some operation more efficent, logically
|
||||
!> The ordering is just to make some operation more efficient, logically
|
||||
!> these lists are like sets.
|
||||
!> Some operations assume that the integers represent a range of values
|
||||
!> from 1 to a (not too big) maxval, and that an element is present just
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ MODULE fparser
|
|||
evalf, & ! Evaluate single function
|
||||
finalizef, & ! Finalize the function parser
|
||||
evalfd
|
||||
INTEGER, PUBLIC :: EvalErrType ! =0: no error occured, >0: evaluation error
|
||||
INTEGER, PUBLIC :: EvalErrType ! =0: no error occurred, >0: evaluation error
|
||||
!------- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
PRIVATE
|
||||
SAVE
|
||||
|
|
@ -445,7 +445,7 @@ CONTAINS
|
|||
! **************************************************************************************************
|
||||
FUNCTION MathFunctionIndex(str) RESULT(n)
|
||||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
! Return index of math function beginnig at 1st position of string str
|
||||
! Return index of math function beginning at 1st position of string str
|
||||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
CHARACTER(LEN=*), INTENT(in) :: str
|
||||
INTEGER(is) :: n
|
||||
|
|
|
|||
|
|
@ -530,7 +530,7 @@ CONTAINS
|
|||
END FUNCTION fgamma_ref
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Initalize a table of F_n(t) values in the range 0 <= t <= 12 with
|
||||
!> \brief Initialize a table of F_n(t) values in the range 0 <= t <= 12 with
|
||||
!> a stepsize of 0.1 up to n equal to nmax for the Taylor series
|
||||
!> expansion used by McMurchie-Davidson (MD).
|
||||
!> \param nmax ...
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ END FUNCTION ${prefix}$_items
|
|||
! **************************************************************************************************
|
||||
!> \brief Copies all key/values-items from one hash map to another.
|
||||
!> Afterwards hash_map will contain all items from the from_hash_map and
|
||||
!> additionaly all its previous items, which were not overwritten.
|
||||
!> additionally all its previous items, which were not overwritten.
|
||||
!> The two hash maps have to be of the same type.
|
||||
!> \param hash_map destination of items
|
||||
!> \param from_hash_map source of items - will not be change
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ CONTAINS
|
|||
END FUNCTION pswitch
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief determins if a value is not normal (e.g. for Inf and Nan)
|
||||
!> \brief determines if a value is not normal (e.g. for Inf and Nan)
|
||||
!> based on IO to work also under optimization.
|
||||
!> \param a input value
|
||||
!> \return TRUE for NaN and Inf
|
||||
|
|
@ -152,7 +152,7 @@ CONTAINS
|
|||
CHARACTER(LEN=32) :: buffer
|
||||
|
||||
abnormal_value = .FALSE.
|
||||
! the function should work when compiled witht -ffast-math and similar
|
||||
! the function should work when compiled with -ffast-math and similar
|
||||
! unfortunately, that option asserts that all numbers are normals,
|
||||
! which the compiler uses to optimize the function to .FALSE. if based on the IEEE module
|
||||
! therefore, pass this to the Fortran runtime/printf, if things are NaN or Inf, error out.
|
||||
|
|
|
|||
|
|
@ -1191,7 +1191,7 @@ CONTAINS
|
|||
wvec(ip, 5) = zero
|
||||
END DO
|
||||
!
|
||||
! Put the coefficents of THETA*Wcheck in PROD.
|
||||
! Put the coefficients of THETA*Wcheck in PROD.
|
||||
!
|
||||
DO jc = 1, 5
|
||||
nw = npt
|
||||
|
|
|
|||
|
|
@ -494,7 +494,7 @@ CONTAINS
|
|||
!> \brief returns the corresponding fields from an ISI record.
|
||||
!> returns an empty string if the field can not be found
|
||||
!> iline_start should be initialized to 1 to obtain the first matching entry
|
||||
!> on return it is updated, so that succesive calls give succesive fields
|
||||
!> on return it is updated, so that successive calls give successive fields
|
||||
!> \param ISI_record ...
|
||||
!> \param iline_start ...
|
||||
!> \return ...
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ CONTAINS
|
|||
|
||||
! compute index
|
||||
i = INT((x - x1)/(xn - x1)*(n - 1)) + 1
|
||||
! reset if ouside 1..n
|
||||
! reset if outside 1..n
|
||||
IF (i < 1) i = 1
|
||||
IF (i > n - 1) i = n - 1
|
||||
iixun = i
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief All kind of helpfull little routines
|
||||
!> \brief All kind of helpful little routines
|
||||
!> \par History
|
||||
!> none
|
||||
!> \author CJM & JGH
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@ MODULE cp_control_types
|
|||
! - lumos_eigenvalues : holds the eigenvalues of the lumos (if calculated in QS)
|
||||
!
|
||||
! \par NOTES
|
||||
! The lumos are helpfull in choosing a initial vector for the TDDFPT
|
||||
! The lumos are helpful in choosing a initial vector for the TDDFPT
|
||||
! calculation, since they can be used to construct the solutions of the
|
||||
! TDDFPT operator without the perturbation kernel.
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -845,7 +845,7 @@ CONTAINS
|
|||
END DO
|
||||
qs_control%mulliken_restraint_control%natoms = jj
|
||||
IF (qs_control%mulliken_restraint_control%natoms < 1) &
|
||||
CPABORT("Need at least 1 atom to use mulliken contraints")
|
||||
CPABORT("Need at least 1 atom to use mulliken constraints")
|
||||
ALLOCATE (qs_control%mulliken_restraint_control%atoms(qs_control%mulliken_restraint_control%natoms))
|
||||
jj = 0
|
||||
DO k = 1, n_rep
|
||||
|
|
@ -1852,7 +1852,7 @@ CONTAINS
|
|||
jj = jj + 1
|
||||
END DO
|
||||
END DO
|
||||
IF (jj < 1) CPABORT("Need at least 1 atom to use ddapc contraints")
|
||||
IF (jj < 1) CPABORT("Need at least 1 atom to use ddapc constraints")
|
||||
ddapc_restraint_control%natoms = jj
|
||||
IF (ASSOCIATED(ddapc_restraint_control%atoms)) &
|
||||
DEALLOCATE (ddapc_restraint_control%atoms)
|
||||
|
|
|
|||
|
|
@ -970,7 +970,7 @@ CONTAINS
|
|||
!> \param[in] nelements number of elements to bin
|
||||
!> \param[in] nbins number of bins
|
||||
!> \par Term clarification
|
||||
!> An example: blocks are atom blocks and bins are process rows/colums.
|
||||
!> An example: blocks are atom blocks and bins are process rows/columns.
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE create_bl_distribution(block_distribution, &
|
||||
block_size, nelements, nbins)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \note
|
||||
!> Routine to initalize a real space grid from a given input section
|
||||
!> Routine to initialize a real space grid from a given input section
|
||||
!> \par History
|
||||
!> 01.2014 moved routine from realspace_grid_types into separate file.
|
||||
!> \author Ole Schuett
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ MODULE ct_types
|
|||
!SPIN!!! ! virt orbitals, contravariant-covariant representation
|
||||
!SPIN!!! TYPE(dbcsr_type), DIMENSION(:), POINTER :: matrix_v=>NULL()
|
||||
!SPIN!!!
|
||||
!SPIN!!! ! to avoid bulding Occ-by-N and Virt-vy-N matrices inside
|
||||
!SPIN!!! ! to avoid building Occ-by-N and Virt-vy-N matrices inside
|
||||
!SPIN!!! ! the ct routines get them from the external code
|
||||
!SPIN!!! TYPE(dbcsr_type), DIMENSION(:), POINTER :: matrix_qp_template=>NULL()
|
||||
!SPIN!!! TYPE(dbcsr_type), DIMENSION(:), POINTER :: matrix_pq_template=>NULL()
|
||||
|
|
@ -104,7 +104,7 @@ MODULE ct_types
|
|||
! virt orbitals, contravariant-covariant representation
|
||||
TYPE(dbcsr_type), POINTER :: matrix_v => NULL()
|
||||
|
||||
! to avoid bulding Occ-by-N and Virt-vy-N matrices inside
|
||||
! to avoid building Occ-by-N and Virt-vy-N matrices inside
|
||||
! the ct routines get them from the external code
|
||||
TYPE(dbcsr_type), POINTER :: matrix_qp_template => NULL()
|
||||
TYPE(dbcsr_type), POINTER :: matrix_pq_template => NULL()
|
||||
|
|
|
|||
|
|
@ -944,7 +944,7 @@ CONTAINS
|
|||
!
|
||||
!! Convert the results to a column wise distribution, this is a bit involved as the result_row is fully replicated
|
||||
!! While the result_col still has the partial results in parallel. The routine below takes care of that and saves an
|
||||
!! mp_sum. Of the res_row vectors are created only taking the approriate element (0 otherwise) while the res_col
|
||||
!! mp_sum. Of the res_row vectors are created only taking the appropriate element (0 otherwise) while the res_col
|
||||
!! parallel bits are locally added. The mp_sum magically creates the correct vector
|
||||
CALL dbcsr_rep_row_to_rep_col_vec_${nametype}$ (work_col, result_row, res_fast_vec_row, res_fast_vec_col)
|
||||
|
||||
|
|
|
|||
|
|
@ -1004,7 +1004,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief creates a distribution placing close by atoms into clusters and
|
||||
!> putting them on the smae processors. Load balancing is
|
||||
!> putting them on the same processors. Load balancing is
|
||||
!> performed by balancing sum of the cluster costs per processor
|
||||
!> \param coords coordinates of the system
|
||||
!> \param scaled_coords scaled coordinates
|
||||
|
|
@ -1338,7 +1338,7 @@ CONTAINS
|
|||
END DO
|
||||
|
||||
! Now start the KMEANS but penalise it in case it starts packing too many atoms into a single set
|
||||
! Unfoirtunatelz as this is dependent on what happend before it cant be parallel
|
||||
! Unfoirtunatelz as this is dependent on what happened before it cant be parallel
|
||||
cluster = 0; old_var = HUGE(1.0_dp)
|
||||
DO itn = 1, 1000
|
||||
changed = .FALSE.; var_cl = 0.0_dp; tot_var = 0.0_dp; nat_cl = 0; deviat = 0.0_dp
|
||||
|
|
|
|||
|
|
@ -994,7 +994,7 @@ CONTAINS
|
|||
! -
|
||||
! Matrix routines for DKH-procedure -
|
||||
! Alexander Wolf -
|
||||
! modifed: Jens Thar: Mem manager deleted -
|
||||
! modified: Jens Thar: Mem manager deleted -
|
||||
! This file contains the -
|
||||
! following subroutines: -
|
||||
! 1. mat_1_over_h -
|
||||
|
|
@ -2190,7 +2190,7 @@ CONTAINS
|
|||
! -
|
||||
! Matrix routines for DKH-procedure -
|
||||
! Alexander Wolf -
|
||||
! modifed: Jens Thar: Mem manager deleted -
|
||||
! modified: Jens Thar: Mem manager deleted -
|
||||
! This file contains the -
|
||||
! following subroutines: -
|
||||
! 1. mat_1_over_h -
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ CONTAINS
|
|||
CASE (ls_s_sqrt_proot)
|
||||
WRITE (unit_nr, '(T2,A,T61,A20)') "S sqrt method:", "PROOT"
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown sqrt method.")
|
||||
CPABORT("Unknown sqrt method.")
|
||||
END SELECT
|
||||
|
||||
WRITE (unit_nr, '(T2,A,T61,I20)') "S sqrt order:", ls_scf_env%s_sqrt_order
|
||||
|
|
@ -412,7 +412,7 @@ CONTAINS
|
|||
CPABORT("Unkown submatrix sign method.")
|
||||
END SELECT
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown sign method.")
|
||||
CPABORT("Unknown sign method.")
|
||||
END SELECT
|
||||
WRITE (unit_nr, '(T2,A,T61,I20)') "Sign order:", ls_scf_env%sign_order
|
||||
WRITE (unit_nr, '(T2,A,T61,L20)') "Symmetric sign calculation:", ls_scf_env%sign_symmetric
|
||||
|
|
@ -436,7 +436,7 @@ CONTAINS
|
|||
CASE (ls_cluster_molecular)
|
||||
WRITE (unit_nr, '(T2,A,T61,A20)') "Cluster type", ADJUSTR("MOLECULAR")
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown cluster type")
|
||||
CPABORT("Unknown cluster type")
|
||||
END SELECT
|
||||
|
||||
IF (ls_scf_env%chebyshev%compute_chebyshev) THEN
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ CONTAINS
|
|||
CALL cite_reference(Shao2003)
|
||||
|
||||
! Upon first call initialize all matrices needed curing optimization
|
||||
! In addtion transform P into orthonormal basis. Will be scaled by 0.5 in closed shell case
|
||||
! In addition transform P into orthonormal basis. Will be scaled by 0.5 in closed shell case
|
||||
! Only to be done once as it will be stored and reused afterwards
|
||||
! TRS4 might yield a non-idempotent P therefore McWeeny purification is applied on initial P
|
||||
|
||||
|
|
@ -386,7 +386,7 @@ CONTAINS
|
|||
! Precompute -FP-[FP]T which will be used throughout the CG iterations
|
||||
CALL dbcsr_add(matrix_b, matrix_PKs, -1.0_dp, -1.0_dp)
|
||||
|
||||
! Setup some values to check convergence and safty checks for eigenvalue shifting
|
||||
! Setup some values to check convergence and safety checks for eigenvalue shifting
|
||||
CALL dbcsr_norm(matrix_res, which_norm=2, norm_scalar=old_conv)
|
||||
old_conv = dbcsr_frobenius_norm(matrix_res)
|
||||
shift = MIN(10.0_dp, MAX(min_shift, 0.05_dp*old_conv))
|
||||
|
|
@ -496,7 +496,7 @@ CONTAINS
|
|||
lin_eq = 0.0_dp
|
||||
fac = norm_rr/norm_cA
|
||||
fac1 = fac
|
||||
! Use a 3point line serach and a fit to a quadratic function to determine optimal step size
|
||||
! Use a 3point line search and a fit to a quadratic function to determine optimal step size
|
||||
DO i = 1, 3
|
||||
CALL dbcsr_copy(tmp, res)
|
||||
CALL dbcsr_add(tmp, Ax, 1.0_dp, -fac)
|
||||
|
|
@ -530,7 +530,7 @@ CONTAINS
|
|||
END SUBROUTINE compute_cg_matrices
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Only for 2D line serach. Use saved P-components to construct new
|
||||
!> \brief Only for 2D line search. Use saved P-components to construct new
|
||||
!> test density matrix. Takes care as well, whether step_size
|
||||
!> increased or decreased during 2nd step and combines matrices accordingly
|
||||
!> \param matrix_p ...
|
||||
|
|
@ -719,7 +719,7 @@ CONTAINS
|
|||
END SUBROUTINE update_p_exp
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief performs a tranformation of a matrix back to/into orthonormal basis
|
||||
!> \brief performs a transformation of a matrix back to/into orthonormal basis
|
||||
!> in case of P a scaling of 0.5 has to be applied for closed shell case
|
||||
!> \param matrix matrix to be transformed
|
||||
!> \param matrix_trafo transformation matrix
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ CONTAINS
|
|||
ls_scf_env%s_sqrt_order, &
|
||||
ls_scf_env%eps_lanczos, ls_scf_env%max_iter_lanczos)
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown sqrt method.")
|
||||
CPABORT("Unknown sqrt method.")
|
||||
END SELECT
|
||||
|
||||
IF (ls_scf_env%check_s_inv) THEN
|
||||
|
|
@ -1001,7 +1001,7 @@ CONTAINS
|
|||
beta = 0.0_dp
|
||||
betaB = 1.0_dp
|
||||
ENDIF
|
||||
! inital SCF cycle has no reliable estimate of homo/lumo, force monotinic bounds.
|
||||
! initial SCF cycle has no reliable estimate of homo/lumo, force monotinic bounds.
|
||||
IF (e_homo == 0.0_dp) THEN
|
||||
beta = 0.0_dp
|
||||
BetaB = 1.0_dp
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ CONTAINS
|
|||
ls_dist = ls_dist_clustered
|
||||
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown LS cluster type")
|
||||
CPABORT("Unknown LS cluster type")
|
||||
END SELECT
|
||||
|
||||
! Create actual matrix -----------------------------------------------------------------------
|
||||
|
|
@ -294,7 +294,7 @@ CONTAINS
|
|||
CALL dbcsr_release(matrix_in_nosym)
|
||||
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown LS cluster type")
|
||||
CPABORT("Unknown LS cluster type")
|
||||
END SELECT
|
||||
|
||||
CALL timestop(handle)
|
||||
|
|
@ -409,7 +409,7 @@ CONTAINS
|
|||
ENDIF
|
||||
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown LS cluster type")
|
||||
CPABORT("Unknown LS cluster type")
|
||||
END SELECT
|
||||
|
||||
CALL timestop(handle)
|
||||
|
|
|
|||
|
|
@ -1558,7 +1558,7 @@ CONTAINS
|
|||
DEALLOCATE (offset_block)
|
||||
DEALLOCATE (offset2_block)
|
||||
|
||||
! copy recieved data into dbcsr matrix
|
||||
! copy received data into dbcsr matrix
|
||||
CALL dbcsr_get_info(matrix, col_blk_size=col_blk_size, row_blk_size=row_blk_size)
|
||||
DO iNode = 1, nNodes
|
||||
block_offset = 0
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ MODULE rt_propagation_methods
|
|||
CONTAINS
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief performes a single propagation step a(t+Dt)=U(t+Dt,t)*a(0)
|
||||
!> \brief performs a single propagation step a(t+Dt)=U(t+Dt,t)*a(0)
|
||||
!> and calculates the new exponential
|
||||
!> \param qs_env ...
|
||||
!> \param rtp ...
|
||||
|
|
@ -248,7 +248,7 @@ CONTAINS
|
|||
END SUBROUTINE propagation_step
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Performes all the stuff to finish the step:
|
||||
!> \brief Performs all the stuff to finish the step:
|
||||
!> convergence checks
|
||||
!> copying stuff into right place for the next step
|
||||
!> updating the history for extrapolation
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ CONTAINS
|
|||
END SUBROUTINE rt_calculate_orthonormality
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief computs the convergence criterion for RTP and EMD
|
||||
!> \brief computes the convergence criterion for RTP and EMD
|
||||
!> \param rtp ...
|
||||
!> \param matrix_s Overlap matrix without the derivatives
|
||||
!> \param delta_mos ...
|
||||
|
|
@ -443,7 +443,7 @@ CONTAINS
|
|||
END SUBROUTINE rt_convergence
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief computs the convergence criterion for RTP and EMD based on the density matrix
|
||||
!> \brief computes the convergence criterion for RTP and EMD based on the density matrix
|
||||
!> \param rtp ...
|
||||
!> \param delta_P ...
|
||||
!> \param delta_eps ...
|
||||
|
|
|
|||
|
|
@ -385,7 +385,7 @@ CONTAINS
|
|||
matrix_v=mos_occ%matrix, &
|
||||
ncol=ncol, &
|
||||
alpha=alpha)
|
||||
! It is actually complex conjugate but i*i=-1 therfore it must be added
|
||||
! It is actually complex conjugate but i*i=-1 therefore it must be added
|
||||
CALL cp_fm_to_fm(mos_new(im)%matrix, mos_occ%matrix)
|
||||
CALL cp_fm_column_scale(mos_occ%matrix, mos(i)%mo_set%occupation_numbers/alpha)
|
||||
CALL cp_dbcsr_plus_fm_fm_t(sparse_matrix=rho_ao(i)%matrix, &
|
||||
|
|
|
|||
|
|
@ -1526,7 +1526,7 @@ CONTAINS
|
|||
matrix_s(1, 1)%matrix, eps_filter, &
|
||||
s_sqrt_order, eps_lanczos, max_iter_lanczos)
|
||||
CASE DEFAULT
|
||||
CPABORT("Unkown sqrt method.")
|
||||
CPABORT("Unknown sqrt method.")
|
||||
END SELECT
|
||||
CALL dbcsr_release(matrix_s_sqrt)
|
||||
CASE DEFAULT
|
||||
|
|
|
|||
|
|
@ -576,8 +576,8 @@ CONTAINS
|
|||
! **************************************************************************************************
|
||||
!> \brief calculated transformation matrix for basis-set orthogonalization (S^{-1/2})
|
||||
!> \param qs_env QuickStep environment containing all system data
|
||||
!> \param mat_t storage for the trasformation matrix
|
||||
!> \param mat_i storage for the inversion trasformation matrix
|
||||
!> \param mat_t storage for the transformation matrix
|
||||
!> \param mat_i storage for the inversion transformation matrix
|
||||
!> \param mat_w working matrix of the same dimension
|
||||
!> \author Z. Futera (02.2017)
|
||||
! **************************************************************************************************
|
||||
|
|
@ -1943,7 +1943,7 @@ CONTAINS
|
|||
CPABORT('different number of alpha/beta AO basis functions')
|
||||
IF (master) THEN
|
||||
WRITE (output_unit, '(/,T3,A,I10)') &
|
||||
'Number of AO basis funtions = ', mo(1)%mo_set%nao
|
||||
'Number of AO basis functions = ', mo(1)%mo_set%nao
|
||||
WRITE (output_unit, '(T3,A,I10)') &
|
||||
'Number of alpha states = ', mo(1)%mo_set%nmo
|
||||
WRITE (output_unit, '(T3,A,I10)') &
|
||||
|
|
@ -1980,7 +1980,7 @@ CONTAINS
|
|||
! State eneries of the whole system
|
||||
IF (master) THEN
|
||||
WRITE (output_unit, '(/,T3,A,I10)') &
|
||||
'Number of AO basis funtions = ', mo(1)%mo_set%nao
|
||||
'Number of AO basis functions = ', mo(1)%mo_set%nao
|
||||
WRITE (output_unit, '(T3,A,I10)') &
|
||||
'Number of states = ', mo(1)%mo_set%nmo
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ MODULE ewald_environment_types
|
|||
LOGICAL :: do_multipoles ! Flag for using the multipole code
|
||||
INTEGER :: do_ipol ! Solver for induced dipoles
|
||||
INTEGER :: max_multipole ! max expansion in the multipoles
|
||||
INTEGER :: max_ipol_iter ! max number of interation for induced dipoles
|
||||
INTEGER :: max_ipol_iter ! max number of interaction for induced dipoles
|
||||
INTEGER :: ewald_type ! type of ewald
|
||||
INTEGER :: gmax(3) ! max Miller index
|
||||
INTEGER :: ns_max ! # grid points for small grid (PME)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ MODULE ewald_pw_methods
|
|||
CONTAINS
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Rescales pw_grids for given box, if nessecary
|
||||
!> \brief Rescales pw_grids for given box, if necessary
|
||||
!> \param ewald_pw ...
|
||||
!> \param ewald_env ...
|
||||
!> \param cell_hmat ...
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
f(i) = irab2*(f(i-1) - tmp*((2.0_dp*beta**2)**i)/(fac*beta))
|
||||
END DO
|
||||
#:else
|
||||
#:stop "Unkown mode: "+mode
|
||||
#:stop "Unknown mode: "+mode
|
||||
#:endif
|
||||
|
||||
! Compute the Tensor components
|
||||
|
|
|
|||
|
|
@ -1079,7 +1079,7 @@ CONTAINS
|
|||
ELSE
|
||||
exist_res = .TRUE.
|
||||
END IF
|
||||
! if existing (or assuming the existance) read the results
|
||||
! if existing (or assuming the existence) read the results
|
||||
IF (exist_res) THEN
|
||||
CALL get_results(results, description=description, n_rep=nres)
|
||||
CALL get_results(results, description=description, values=RESULT, nval=nres)
|
||||
|
|
|
|||
|
|
@ -405,13 +405,13 @@ CONTAINS
|
|||
!> \param N total number of electrons (output)
|
||||
!> \param T electronic temperature
|
||||
!> \param maxocc ...
|
||||
!> \param l typical lenght scale (~ 10 * T)
|
||||
!> \param l typical length scale (~ 10 * T)
|
||||
!> \param estate ...
|
||||
!> \param festate ...
|
||||
!> \date 09.2008
|
||||
!> \par History
|
||||
!> - Made estate and festate optional (LT, 2014/02/26)
|
||||
!> - Changed order of input, so l is before the two optional varaibles
|
||||
!> - Changed order of input, so l is before the two optional variables
|
||||
!> (LT, 2014/02/26)
|
||||
!> \author Joost VandeVondele
|
||||
! **************************************************************************************************
|
||||
|
|
@ -443,7 +443,7 @@ CONTAINS
|
|||
|
||||
DO I = 1, Nstate
|
||||
! NR 5.7.8
|
||||
! the problem here is that each f_i 'seems to have' a different lenght scale
|
||||
! the problem here is that each f_i 'seems to have' a different length scale
|
||||
! and it would be to expensive to compute each single df_i/de_i using a finite difference
|
||||
h = (EPSILON(h)**(1.0_dp/3.0_dp))*l
|
||||
! get an exact machine representable number close to this h
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief releases the given blacs_env
|
||||
!> \param blacs_env the blacs env to relase
|
||||
!> \param blacs_env the blacs env to release
|
||||
!> \par History
|
||||
!> 08.2002 created [fawzi]
|
||||
!> \author Fawzi Mohamed
|
||||
|
|
|
|||
|
|
@ -1688,9 +1688,9 @@ CONTAINS
|
|||
END SUBROUTINE cp_fm_triangular_invert
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief perfoms a QR factorization of the input rectangular matrix A or of a submatrix of A
|
||||
!> \brief performs a QR factorization of the input rectangular matrix A or of a submatrix of A
|
||||
!> the computed upper triangular matrix R is in output in the submatrix sub(A) of size NxN
|
||||
!> M and M give the dimention of the submatrix that has to be factorized (MxN) with M>N
|
||||
!> M and M give the dimension of the submatrix that has to be factorized (MxN) with M>N
|
||||
!> \param matrix_a ...
|
||||
!> \param matrix_r ...
|
||||
!> \param nrow_fact ...
|
||||
|
|
@ -1776,7 +1776,7 @@ CONTAINS
|
|||
END SUBROUTINE cp_fm_qr_factorization
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief computs the the solution to A*b=A_general using lu decomposition
|
||||
!> \brief computes the the solution to A*b=A_general using lu decomposition
|
||||
!> pay attention, both matrices are overwritten, a_general contais the result
|
||||
!> \param matrix_a ...
|
||||
!> \param general_a ...
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ CONTAINS
|
|||
!> number of CPUs for diagonalization
|
||||
!> \param should_print flag that determines if information about the redistribution process
|
||||
!> should be printed
|
||||
!> \param elpa_force_redistribute flag that if redistribution should always be perfomed when
|
||||
!> \param elpa_force_redistribute flag that if redistribution should always be performed when
|
||||
!> the ELPA diagonalization library is in use
|
||||
!> \author Nico Holmberg [01.2018]
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -105,10 +105,10 @@ CONTAINS
|
|||
!> \param para_env the parallel environment
|
||||
!> \param context the blacs context of this matrix
|
||||
!> \param nrow_global the number of row of the full matrix
|
||||
!> \param ncol_global the number of colums of the full matrix
|
||||
!> \param ncol_global the number of columns of the full matrix
|
||||
!> \param nrow_block the number of rows of a block of the matrix,
|
||||
!> omit or set to -1 to use the built-in defaults
|
||||
!> \param ncol_block the number of colums of a block of the matrix,
|
||||
!> \param ncol_block the number of columns of a block of the matrix,
|
||||
!> omit or set to -1 to use the built-in defaults
|
||||
!> \param descriptor the scalapack descriptor of the matrix (if not given
|
||||
!> a new one is allocated
|
||||
|
|
@ -397,7 +397,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief returns the values of various attributes of the matrix structure
|
||||
!> \param fmstruct the structure you whant info about
|
||||
!> \param fmstruct the structure you want info about
|
||||
!> \param para_env ...
|
||||
!> \param context ...
|
||||
!> \param descriptor ...
|
||||
|
|
|
|||
|
|
@ -858,7 +858,7 @@ CONTAINS
|
|||
!> \param matrix_struct ...
|
||||
!> \param para_env ...
|
||||
!> \note
|
||||
!> see also cp_fm_struct for explaination
|
||||
!> see also cp_fm_struct for explanation
|
||||
!> - nrow_local, ncol_local, row_indices, col_indices, local_data are hooks for efficient
|
||||
!> access to the local blacs block
|
||||
! **************************************************************************************************
|
||||
|
|
@ -1963,7 +1963,7 @@ CONTAINS
|
|||
! check whether source is available on this process
|
||||
IF (ASSOCIATED(source)) THEN
|
||||
desca = source%matrix_struct%descriptor
|
||||
IF (source%use_sp) CPABORT("only DP kind implemnted")
|
||||
IF (source%use_sp) CPABORT("only DP kind implemented")
|
||||
IF (nrows .GT. source%matrix_struct%nrow_global) &
|
||||
CPABORT("nrows is greater than nrow_global of source")
|
||||
IF (ncols .GT. source%matrix_struct%ncol_global) &
|
||||
|
|
@ -1976,7 +1976,7 @@ CONTAINS
|
|||
! check destination is available on this process
|
||||
IF (ASSOCIATED(destination)) THEN
|
||||
descb = destination%matrix_struct%descriptor
|
||||
IF (destination%use_sp) CPABORT("only DP kind implemnted")
|
||||
IF (destination%use_sp) CPABORT("only DP kind implemented")
|
||||
IF (nrows .GT. destination%matrix_struct%nrow_global) &
|
||||
CPABORT("nrows is greater than nrow_global of destination")
|
||||
IF (ncols .GT. destination%matrix_struct%ncol_global) &
|
||||
|
|
@ -2361,7 +2361,7 @@ CONTAINS
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief wrapper to scalapack function INDXG2P that computes the process
|
||||
!> coordinate which posseses the entry of a distributed matrix specified
|
||||
!> coordinate which possesses the entry of a distributed matrix specified
|
||||
!> by a global index INDXGLOB.
|
||||
!>
|
||||
!> Arguments
|
||||
|
|
|
|||
|
|
@ -1677,7 +1677,7 @@ CONTAINS
|
|||
opt_embed%open_shell_embed, spin_embed_pot, &
|
||||
opt_embed%pot_diff, opt_embed%Coulomb_guess, opt_embed%grid_opt)
|
||||
|
||||
! Read embeding potential vector from the file
|
||||
! Read embedding potential vector from the file
|
||||
IF (opt_embed%read_embed_pot .OR. opt_embed%read_embed_pot_cube) CALL read_embed_pot( &
|
||||
force_env%sub_force_env(ref_subsys_number)%force_env%qs_env, embed_pot, spin_embed_pot, &
|
||||
opt_embed_section, opt_embed)
|
||||
|
|
|
|||
|
|
@ -3177,7 +3177,7 @@ CONTAINS
|
|||
TYPE(spline_environment_type), POINTER :: spline_env
|
||||
|
||||
CALL timeset(routineN, handle2)
|
||||
! Figure out which nonbonded interactions happen to be indentical, and
|
||||
! Figure out which nonbonded interactions happen to be identical, and
|
||||
! prepare storage for these, avoiding duplicates.
|
||||
NULLIFY (spline_env)
|
||||
CALL get_nonbond_storage(spline_env, potparm, atomic_kind_set, &
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ MODULE global_types
|
|||
globenv_release
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief contains the initally parsed file and the initial parallel environment
|
||||
!> \brief contains the initially parsed file and the initial parallel environment
|
||||
!> \param id_nr identification number (unique)
|
||||
!> \param ref_count reference count (see doc/ReferenceCounting.html)
|
||||
!> \param handle handle with the total time of the computation
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
! **************************************************************************************************
|
||||
!> \brief
|
||||
!> Routines to efficently collocate and integrate gaussians on a grid
|
||||
!> Routines to efficiently collocate and integrate gaussians on a grid
|
||||
!> These use most of Joost's tricks and a couple more...
|
||||
!> result is *speed* and genericity
|
||||
!> \author Fawzi Mohamed, 2007
|
||||
|
|
|
|||
|
|
@ -413,7 +413,7 @@ CONTAINS
|
|||
CALL section_vals_get(hfx_sections, n_repetition=n_rep_hf)
|
||||
|
||||
IF (calculate_forces) THEN
|
||||
!! initalize force array to zero
|
||||
!! initialize force array to zero
|
||||
CALL get_qs_env(qs_env=qs_env, force=force)
|
||||
DO ikind = 1, SIZE(force)
|
||||
force(ikind)%fock_4c(:, :) = 0.0_dp
|
||||
|
|
@ -425,7 +425,7 @@ CONTAINS
|
|||
|
||||
IF (do_adiabatic_rescaling .AND. hfx_treat_lsd_in_core) &
|
||||
CPABORT("HFX_TREAT_LSD_IN_CORE not implemented for adiabatically rescaled hybrids")
|
||||
! everything is calulated with adiabatic rescaling but the potential is not added in a first step
|
||||
! everything is calculated with adiabatic rescaling but the potential is not added in a first step
|
||||
distribute_fock_matrix = .NOT. do_adiabatic_rescaling
|
||||
|
||||
mspin = 1
|
||||
|
|
|
|||
|
|
@ -467,7 +467,7 @@ CONTAINS
|
|||
ncpu = para_env%num_pe
|
||||
n_processes = ncpu*n_threads
|
||||
|
||||
!! initalize some counters
|
||||
!! initialize some counters
|
||||
neris_total = 0_int_8
|
||||
neris_incore = 0_int_8
|
||||
neris_onthefly = 0_int_8
|
||||
|
|
@ -672,7 +672,7 @@ CONTAINS
|
|||
END IF
|
||||
|
||||
!! Start caluclating integrals of the form (ab|cd) or (ij|kl)
|
||||
!! In order to do so, there is a main four-loop structre that takes into account the two symmetries
|
||||
!! In order to do so, there is a main four-loop structure that takes into account the two symmetries
|
||||
!!
|
||||
!! (ab|cd) = (ba|cd) = (ab|dc) = (ba|dc)
|
||||
!!
|
||||
|
|
@ -706,7 +706,7 @@ CONTAINS
|
|||
!! This tells the process where to start the main loops and how many bunches of integrals it has to
|
||||
!! calculate. The original parallelization is a simple modulo distribution that is binned and
|
||||
!! optimized in the load_balance routines. Since the Monte Carlo routines can swap processors,
|
||||
!! we need to know which was the inital cpu_id.
|
||||
!! we need to know which was the initial cpu_id.
|
||||
!! Furthermore, the indices iatom, jatom, katom, latom have to be set to istart, jstart, kstart and
|
||||
!! lstart only the first time the loop is executed. All subsequent loops have to start with one or
|
||||
!! iatom and katom respectively. Therefore, we use flags like first_j_loop etc.
|
||||
|
|
@ -2165,7 +2165,7 @@ CONTAINS
|
|||
END SUBROUTINE prefetch_density_matrix
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief This routine updates the forces using bufferd density matrices
|
||||
!> \brief This routine updates the forces using buffered density matrices
|
||||
!> \param ma_max Size of matrix blocks
|
||||
!> \param mb_max Size of matrix blocks
|
||||
!> \param mc_max Size of matrix blocks
|
||||
|
|
@ -2175,7 +2175,7 @@ CONTAINS
|
|||
!> \param pad buffer that will contain P(a,d)
|
||||
!> \param pac buffer that will contain P(a,c)
|
||||
!> \param fac mulitplication factor (spin, symmetry)
|
||||
!> \param prim primitve forces
|
||||
!> \param prim primitive forces
|
||||
!> \param force storage loacation for forces
|
||||
!> \param forces_map index table
|
||||
!> \param coord which of the 12 coords to be updated
|
||||
|
|
@ -2275,7 +2275,7 @@ CONTAINS
|
|||
END SUBROUTINE update_forces
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief This routine updates the virial using bufferd density matrices
|
||||
!> \brief This routine updates the virial using buffered density matrices
|
||||
!> \param ma_max Size of matrix blocks
|
||||
!> \param mb_max Size of matrix blocks
|
||||
!> \param mc_max Size of matrix blocks
|
||||
|
|
@ -2285,7 +2285,7 @@ CONTAINS
|
|||
!> \param pad buffer that will contain P(a,d)
|
||||
!> \param pac buffer that will contain P(a,c)
|
||||
!> \param fac mulitplication factor (spin, symmetry)
|
||||
!> \param prim primitve forces
|
||||
!> \param prim primitive forces
|
||||
!> \param tmp_virial ...
|
||||
!> \param coord which of the 12 coords to be updated
|
||||
!> \param l ...
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Rountines to calculate HFX energy and potential
|
||||
!> \brief Routines to calculate HFX energy and potential
|
||||
!> \par History
|
||||
!> 11.2006 created [Manuel Guidon]
|
||||
!> \author Manuel Guidon
|
||||
|
|
@ -444,7 +444,7 @@ CONTAINS
|
|||
ncpu = para_env%num_pe
|
||||
n_processes = ncpu*n_threads
|
||||
|
||||
!! initalize some counters
|
||||
!! initialize some counters
|
||||
neris_total = 0_int_8
|
||||
neris_incore = 0_int_8
|
||||
neris_disk = 0_int_8
|
||||
|
|
@ -878,7 +878,7 @@ CONTAINS
|
|||
!$OMP BARRIER
|
||||
|
||||
!! Start caluclating integrals of the form (ab|cd) or (ij|kl)
|
||||
!! In order to do so, there is a main four-loop structre that takes into account the two symmetries
|
||||
!! In order to do so, there is a main four-loop structure that takes into account the two symmetries
|
||||
!!
|
||||
!! (ab|cd) = (ba|cd) = (ab|dc) = (ba|dc)
|
||||
!!
|
||||
|
|
@ -910,7 +910,7 @@ CONTAINS
|
|||
!! This tells the process where to start the main loops and how many bunches of integrals it has to
|
||||
!! calculate. The original parallelization is a simple modulo distribution that is binned and
|
||||
!! optimized in the load_balance routines. Since the Monte Carlo routines can swap processors,
|
||||
!! we need to know which was the inital cpu_id.
|
||||
!! we need to know which was the initial cpu_id.
|
||||
!! Furthermore, the indices iatom, jatom, katom, latom have to be set to istart, jstart, kstart and
|
||||
!! lstart only the first time the loop is executed. All subsequent loops have to start with one or
|
||||
!! iatom and katom respectively. Therefore, we use flags like first_j_loop etc.
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
!> the ERI's, there are always 4 matrix elements to be considered.
|
||||
!> CASE 0-15 belong to an energy calculation (linear screening)
|
||||
!> CASE 16-31 belong to a force calculation (square screening)
|
||||
!> \param ptr_p_1 Pointers to atomic denisty matrices
|
||||
!> \param ptr_p_2 Pointers to atomic denisty matrices
|
||||
!> \param ptr_p_3 Pointers to atomic denisty matrices
|
||||
!> \param ptr_p_4 Pointers to atomic denisty matrices
|
||||
!> \param ptr_p_1 Pointers to atomic density matrices
|
||||
!> \param ptr_p_2 Pointers to atomic density matrices
|
||||
!> \param ptr_p_3 Pointers to atomic density matrices
|
||||
!> \param ptr_p_4 Pointers to atomic density matrices
|
||||
!> \param iset Current set
|
||||
!> \param jset Current set
|
||||
!> \param kset Current set
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Rountines for optimizing load balance between processes in HFX calculations
|
||||
!> \brief Routines for optimizing load balance between processes in HFX calculations
|
||||
!> \par History
|
||||
!> 04.2008 created [Manuel Guidon]
|
||||
!> \author Manuel Guidon
|
||||
|
|
@ -88,7 +88,7 @@ CONTAINS
|
|||
!> \param coeffs_kind screening functions
|
||||
!> \param is_assoc_atomic_block_global KS-matrix sparsity
|
||||
!> \param do_periodic flag for periodicity
|
||||
!> \param load_balance_parameter Paramters for Monte-Carlo routines
|
||||
!> \param load_balance_parameter Parameters for Monte-Carlo routines
|
||||
!> \param kind_of helper array for mapping
|
||||
!> \param basis_parameter Basis set parameters
|
||||
!> \param pmax_set Initial screening matrix
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
!--------------------------------------------------------------------------------------------------!
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Rountines for optimizing load balance between processes in HFX calculations
|
||||
!> \brief Routines for optimizing load balance between processes in HFX calculations
|
||||
!> \par History
|
||||
!> 04.2008 created [Manuel Guidon]
|
||||
!> 11.2019 fixed initial value for potential_id (A. Bussy)
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ MODULE hfx_types
|
|||
REAL(dp) :: eps_schwarz !! threshold
|
||||
REAL(dp) :: eps_schwarz_forces !! threshold
|
||||
LOGICAL :: do_p_screening_forces !! screen on P^2 ?
|
||||
LOGICAL :: do_initial_p_screening !! screen on inital guess?
|
||||
LOGICAL :: do_initial_p_screening !! screen on initial guess?
|
||||
END TYPE
|
||||
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -441,7 +441,7 @@ CONTAINS
|
|||
CALL pw_env_get(pw_env, auxbas_rs_desc=auxbas_rs_desc, auxbas_rs_grid=rs_rho, &
|
||||
auxbas_pw_pool=auxbas_pw_pool)
|
||||
cube_info = pw_env%cube_info(1)
|
||||
! be careful in parallel nsmax is choosen with multigrid in mind!
|
||||
! be careful in parallel nsmax is chosen with multigrid in mind!
|
||||
CALL rs_grid_retain(rs_rho)
|
||||
CALL rs_grid_zero(rs_rho)
|
||||
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ CONTAINS
|
|||
!> \brief Get information from a Hirshfeld env
|
||||
!> \param hirshfeld_env the env that holds the information
|
||||
!> \param shape_function_type the type of shape function used
|
||||
!> \param iterative logical which determins if iterative Hirshfeld charges should be computed
|
||||
!> \param iterative logical which determines if iterative Hirshfeld charges should be computed
|
||||
!> \param ref_charge the reference charge type (core charge or mulliken)
|
||||
!> \param fnorm normalization of the shape function
|
||||
!> \param radius_type the type of radius used for building the shape functions
|
||||
|
|
@ -177,7 +177,7 @@ CONTAINS
|
|||
!> \brief Set values of a Hirshfeld env
|
||||
!> \param hirshfeld_env the env that holds the information
|
||||
!> \param shape_function_type the type of shape function used
|
||||
!> \param iterative logical which determins if iterative Hirshfeld charges should be computed
|
||||
!> \param iterative logical which determines if iterative Hirshfeld charges should be computed
|
||||
!> \param ref_charge the reference charge type (core charge or mulliken)
|
||||
!> \param fnorm normalization of the shape function
|
||||
!> \param radius_type the type of radius used for building the shape functions
|
||||
|
|
|
|||
|
|
@ -89,15 +89,15 @@ MODULE cp_output_handling
|
|||
!! the printkey)
|
||||
!! cp_out_file: always calculate and output the property
|
||||
!! cp_out_store: always calculate and store in memory the property
|
||||
!! cp_out_calc: just calculate the value (indipendently from the fact that there
|
||||
!! cp_out_calc: just calculate the value (independently from the fact that there
|
||||
!! should be output)
|
||||
!! cp_out_default: the default value for proprety flags (cp_out_file_if)
|
||||
!! cp_out_default: the default value for property flags (cp_out_file_if)
|
||||
!!
|
||||
!! this flags can be ior-ed together:
|
||||
!! ior(cp_out_file_if,cp_out_store_if): if the printkey says it both print
|
||||
!! and store the property
|
||||
!!
|
||||
!! there is no guarantee that a proprety is not stored if it is not necessary
|
||||
!! there is no guarantee that a property is not stored if it is not necessary
|
||||
!! not all printkeys have a control flag
|
||||
INTEGER, PUBLIC, PARAMETER :: cp_p_file_if = 3, cp_p_store_if = 4, &
|
||||
cp_p_store = 2, cp_p_file = 1, cp_p_file_each = 5, cp_p_store_each = 6, cp_p_calc = 7
|
||||
|
|
@ -222,7 +222,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL section_create(subsection, __LOCATION__, name="EACH", &
|
||||
description="This section specifies how often this proprety is printed."// &
|
||||
description="This section specifies how often this property is printed."// &
|
||||
"Each keyword inside this section is mapping to a specific iteration level and "// &
|
||||
"the value of each of these keywords is matched with the iteration level during "// &
|
||||
"the calculation. How to handle the last iteration is treated "// &
|
||||
|
|
@ -326,7 +326,7 @@ CONTAINS
|
|||
END SUBROUTINE cp_print_key_section_create
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief returns what should be done with the given proprety
|
||||
!> \brief returns what should be done with the given property
|
||||
!> if btest(res,cp_p_store) then the property should be stored in memory
|
||||
!> if btest(res,cp_p_file) then the property should be print ed to a file
|
||||
!> if res==0 then nothing should be done
|
||||
|
|
@ -703,7 +703,7 @@ CONTAINS
|
|||
END SUBROUTINE cp_rm_iter_level
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Utility function that retuns a unit number to write the print key.
|
||||
!> \brief Utility function that returns a unit number to write the print key.
|
||||
!> Might open a file with a unique filename, generated from
|
||||
!> the print_key name and iteration info.
|
||||
!>
|
||||
|
|
|
|||
|
|
@ -515,7 +515,7 @@ CONTAINS
|
|||
!> \param input_line_number ...
|
||||
!> \param input_unit ...
|
||||
!> \par History
|
||||
!> - standalone proof-of-concept implemenation (20.02.2008,AK)
|
||||
!> - standalone proof-of-concept implementation (20.02.2008,AK)
|
||||
!> - integrated into cp2k (21.02.2008)
|
||||
!> \author AK
|
||||
! **************************************************************************************************
|
||||
|
|
@ -548,7 +548,7 @@ CONTAINS
|
|||
!> \param input_file_name ...
|
||||
!> \param input_line_number ...
|
||||
!> \par History
|
||||
!> - standalone proof-of-concept implemenation (22.02.2008,AK)
|
||||
!> - standalone proof-of-concept implementation (22.02.2008,AK)
|
||||
!> - integrated into cp2k (23.02.2008)
|
||||
!> \author AK
|
||||
! **************************************************************************************************
|
||||
|
|
@ -651,7 +651,7 @@ CONTAINS
|
|||
!> \param varname ...
|
||||
!> \return ...
|
||||
!> \par History
|
||||
!> - standalone proof-of-concept implemenation (22.02.2008,AK)
|
||||
!> - standalone proof-of-concept implementation (22.02.2008,AK)
|
||||
!> - integrated into cp2k (23.02.2008)
|
||||
!> \author AK
|
||||
! **************************************************************************************************
|
||||
|
|
@ -677,7 +677,7 @@ CONTAINS
|
|||
!> \param inpp ...
|
||||
!> \param iochan ...
|
||||
!> \par History
|
||||
!> - standalone proof-of-concept implemenation (22.02.2008,AK)
|
||||
!> - standalone proof-of-concept implementation (22.02.2008,AK)
|
||||
!> - integrated into cp2k (23.02.2008)
|
||||
!> \author AK
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ MODULE cp_parser_methods
|
|||
CONTAINS
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief return a description of the part of the file acually parsed
|
||||
!> \brief return a description of the part of the file actually parsed
|
||||
!> \param parser the parser
|
||||
!> \return ...
|
||||
!> \author fawzi
|
||||
|
|
|
|||
|
|
@ -481,9 +481,9 @@ CONTAINS
|
|||
!> \brief writes out the valuse stored in the val
|
||||
!> \param val the val to write
|
||||
!> \param unit_nr the number of the unit to write to
|
||||
!> \param unit the unit of mesure in wich the output should be written
|
||||
!> \param unit the unit of mesure in which the output should be written
|
||||
!> (overrides unit_str)
|
||||
!> \param unit_str the unit of mesure in wich the output should be written
|
||||
!> \param unit_str the unit of mesure in which the output should be written
|
||||
!> \param fmt ...
|
||||
!> \author fawzi
|
||||
!> \note
|
||||
|
|
|
|||
|
|
@ -1005,7 +1005,7 @@ MODULE input_constants
|
|||
do_opt_coeff = 2, &
|
||||
do_opt_exps = 3
|
||||
|
||||
! LRI paramters for inverse of overlap
|
||||
! LRI parameters for inverse of overlap
|
||||
INTEGER, PARAMETER, PUBLIC :: do_lri_inv = 0, &
|
||||
do_lri_pseudoinv_svd = 1, &
|
||||
do_lri_pseudoinv_diag = 2, &
|
||||
|
|
|
|||
|
|
@ -615,9 +615,9 @@ CONTAINS
|
|||
CALL section_create(section, __LOCATION__, name="XALMO_OPTIMIZER_TRUSTR", &
|
||||
description="Controls the trust-region optimization of extended ALMOs. "// &
|
||||
"Trust radius is varied in the outer loop. Once the trust radius is "// &
|
||||
"chosen (and fixed) the model function can be minized using varius "// &
|
||||
"chosen (and fixed) the model function can be minized using various "// &
|
||||
"approaches. Currently, an iterative conjugate-gradient approach is "// &
|
||||
"used and controled by the inner loop", &
|
||||
"used and controlled by the inner loop", &
|
||||
n_keywords=10, n_subsections=0, repeats=.FALSE.)
|
||||
optimizer_type = optimizer_trustr
|
||||
CASE (optimizer_newton_pcg_solver)
|
||||
|
|
|
|||
|
|
@ -704,7 +704,7 @@ CONTAINS
|
|||
|
||||
! Real
|
||||
CALL keyword_create(keyword, __LOCATION__, name="PARAMETERS", &
|
||||
description="The constrained paramters' values to construct virtual site."// &
|
||||
description="The constrained parameters' values to construct virtual site."// &
|
||||
"r_v=a*r_ij+b*r_kj", &
|
||||
usage="PARAMETERS {real} {real}", &
|
||||
type_of_var=real_t, n_var=2, unit_str="internal_cp2k")
|
||||
|
|
|
|||
|
|
@ -2585,7 +2585,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="APPEND", &
|
||||
description="Append the DOS obtained at different iterations to the output file."// &
|
||||
"By defaut the file is overwritten", &
|
||||
"By default the file is overwritten", &
|
||||
usage="APPEND", default_l_val=.FALSE., &
|
||||
lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(print_key, keyword)
|
||||
|
|
@ -2627,7 +2627,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
CALL keyword_create(keyword, __LOCATION__, name="APPEND", &
|
||||
description="Append the pdos obtained at different iterations to the pdos output file."// &
|
||||
"By defaut the file is overwritten", &
|
||||
"By default the file is overwritten", &
|
||||
usage="APPEND", default_l_val=.FALSE., &
|
||||
lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(print_key, keyword)
|
||||
|
|
@ -2802,7 +2802,7 @@ CONTAINS
|
|||
"Orbital densities are summed according to the bias energy."// &
|
||||
"For negative values, states in the range ]EF+bias,EF] are summed,"// &
|
||||
"While positive values sum states in the range [EF,EF+bias[."// &
|
||||
"If postive biases are used, sufficiently many unoccupied stated"// &
|
||||
"If positive biases are used, sufficiently many unoccupied stated"// &
|
||||
" (see ADDED_MOS and NLUMO ) should be computed.", &
|
||||
n_var=-1, type_of_var=real_t, default_r_vals=(/0.0_dp/), unit_str='eV')
|
||||
CALL section_add_keyword(print_key, keyword)
|
||||
|
|
@ -3155,7 +3155,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="EPSFIT", &
|
||||
variants=(/"EPS_FIT"/), &
|
||||
description="GAPW: precision to give the extention of a hard gaussian ", &
|
||||
description="GAPW: precision to give the extension of a hard gaussian ", &
|
||||
usage="EPSFIT real", default_r_val=1.0E-4_dp)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -4438,7 +4438,7 @@ CONTAINS
|
|||
enum_i_vals=(/outer_scf_none, outer_scf_hirshfeld_constraint, &
|
||||
outer_scf_becke_constraint/), &
|
||||
enum_desc=s2a("No constraint (disables section).", &
|
||||
"Guassian Hirshfeld constraint. Partial implementation: no forces. "// &
|
||||
"Gaussian Hirshfeld constraint. Partial implementation: no forces. "// &
|
||||
"Requires corresponding section. Not as extensively tested.", &
|
||||
"Becke constraint. Requires corresponding section."), &
|
||||
citations=(/Becke1988b/), &
|
||||
|
|
@ -5984,7 +5984,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="GEOMETRIC_SEQUENCE", &
|
||||
description="Exponents are assumed to be a geometric squence. "// &
|
||||
description="Exponents are assumed to be a geometric sequence. "// &
|
||||
"Only the minimal and maximal exponents of one set are optimized and "// &
|
||||
"the other exponents are obtained by geometric progression.", &
|
||||
usage="GEOMETRIC_SEQUENCE", &
|
||||
|
|
@ -6921,7 +6921,7 @@ CONTAINS
|
|||
"In the MGRID section it must be imposed NGRID 1, as it works with only"// &
|
||||
"one grid. The number of points in each direction, and the spacing must"// &
|
||||
"be previously defined choosing the plane waves cut-off in section MGRID"// &
|
||||
"keyword CUTOFF, and the cube dimention in section SUBSYS / CELL / keyword ABC", &
|
||||
"keyword CUTOFF, and the cube dimension in section SUBSYS / CELL / keyword ABC", &
|
||||
usage="DENSITY_FILE_NAME <FILENAME>", &
|
||||
type_of_var=char_t, default_c_val="RHO_O.dat", n_var=-1)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -7022,7 +7022,7 @@ CONTAINS
|
|||
"If preconditioned correctly, method guaranteed to find minimum. "// &
|
||||
"<u>Disadvantages:</u> "// &
|
||||
"Sensitive to preconditioning. A good preconditioner can be expensive. "// &
|
||||
"No smearing, or advanced SCF mixing possible: POOR convergence for metalic systems.", &
|
||||
"No smearing, or advanced SCF mixing possible: POOR convergence for metallic systems.", &
|
||||
n_keywords=27, n_subsections=0, repeats=.FALSE., &
|
||||
citations=(/VandeVondele2003, Weber2008/))
|
||||
|
||||
|
|
@ -7221,7 +7221,7 @@ CONTAINS
|
|||
usage="LINESEARCH GOLD", &
|
||||
default_i_val=ls_2pnt, &
|
||||
enum_c_vals=s2a("NONE", "2PNT", "3PNT", "GOLD"), &
|
||||
enum_desc=s2a("take fixed lenght steps", "extrapolate based on 2 points", &
|
||||
enum_desc=s2a("take fixed length steps", "extrapolate based on 2 points", &
|
||||
"... or on 3 points", "perform 1D golden section search of the minimum (very expensive)"), &
|
||||
enum_i_vals=(/ls_none, ls_2pnt, ls_3pnt, ls_gold/))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -7229,7 +7229,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create( &
|
||||
keyword, __LOCATION__, name="STEPSIZE", &
|
||||
description="Initial stepsize used for the line search, sometimes this parameter can be reduced to stablize DIIS"// &
|
||||
description="Initial stepsize used for the line search, sometimes this parameter can be reduced to stabilize DIIS"// &
|
||||
" or to improve the CG behavior in the first few steps."// &
|
||||
" The optimal value depends on the quality of the preconditioner."// &
|
||||
" A negative values leaves the choice to CP2K depending on the preconditioner.", &
|
||||
|
|
@ -7310,7 +7310,7 @@ CONTAINS
|
|||
"especially effective with the FULL_ALL preconditioner, in which case it should be an underestimate "// &
|
||||
"of the gap (can be a small number, e.g. 0.002)."// &
|
||||
" FULL_SINGLE_INVERSE takes it as lower bound (values below 0.05 can cause stability issues)."// &
|
||||
" In general, heigher values will tame the preconditioner in case of poor initial guesses."// &
|
||||
" In general, higher values will tame the preconditioner in case of poor initial guesses."// &
|
||||
" A negative value will leave the choice to CP2K depending on type of preconditioner.", &
|
||||
usage="ENERGY_GAP 0.001", &
|
||||
default_r_val=-1.0_dp)
|
||||
|
|
@ -8175,7 +8175,7 @@ CONTAINS
|
|||
"This keyword MUST have the same number of entries as the relevant "// &
|
||||
"KIND_LIST or ATOM_LIST. The order of the specified state types must "// &
|
||||
"correspond to the order of the relevant kinds/indices. "// &
|
||||
"This keyword can be repeated, usefull when multiple orbital types "// &
|
||||
"This keyword can be repeated, useful when multiple orbital types "// &
|
||||
"should be excited for specific kinds/atoms.", &
|
||||
n_var=-1, default_i_val=xas_not_excited, repeats=.TRUE., &
|
||||
usage="STATE_TYPES {string} {string} .. {string}", &
|
||||
|
|
@ -8334,7 +8334,7 @@ CONTAINS
|
|||
|
||||
! The EXACT_EXCHANGE subsubsection
|
||||
CALL section_create(subsubsection, __LOCATION__, name="EXACT_EXCHANGE", &
|
||||
description="Whther exact-exchange should be added to the kernel and "// &
|
||||
description="Whether exact-exchange should be added to the kernel and "// &
|
||||
"if so, with which fraction and operator.", &
|
||||
n_keywords=7, &
|
||||
n_subsections=1, &
|
||||
|
|
@ -8495,7 +8495,7 @@ CONTAINS
|
|||
"XAS TDP calculations", repeats=.FALSE.)
|
||||
|
||||
CALL cp_print_key_section_create(print_key, __LOCATION__, name="SPECTRUM", &
|
||||
description="Controles the dumping of the XAS TDP spectrum in ouput files", &
|
||||
description="Controles the dumping of the XAS TDP spectrum in output files", &
|
||||
print_level=low_print_level, filename="", common_iter_levels=3)
|
||||
CALL section_add_subsection(subsection, print_key)
|
||||
CALL section_release(print_key)
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ CONTAINS
|
|||
n_keywords=0, n_subsections=0, repeats=.FALSE.)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="PARAMETER", &
|
||||
description="Defines the perturbing parameter of the alchemical change tranformation", &
|
||||
description="Defines the perturbing parameter of the alchemical change transformation", &
|
||||
usage="PARAMETERS k", type_of_var=char_t, &
|
||||
n_var=1)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
|
|
@ -2343,7 +2343,7 @@ CONTAINS
|
|||
description="Defines the cutoff parameter of the tersoff potential. "// &
|
||||
" This parameter is in principle already defined by the values of "// &
|
||||
" bigD and bigR. But it is necessary to define it when using the tersoff "// &
|
||||
" in conjuction with other potentials (for the same atomic pair) in order to have"// &
|
||||
" in conjunction with other potentials (for the same atomic pair) in order to have"// &
|
||||
" the same consistent definition of RCUT for all potentials.", &
|
||||
usage="RCUT {real}", type_of_var=real_t, &
|
||||
n_var=1, unit_str="angstrom")
|
||||
|
|
|
|||
|
|
@ -999,7 +999,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="THRESHOLD_MIN_TRANS", &
|
||||
variants=(/"EPS"/), &
|
||||
description="Threshold for stopping the iteration for computing the transistion energies. "// &
|
||||
description="Threshold for stopping the iteration for computing the transition energies. "// &
|
||||
"If the lowest excitation changes by less than THRESHOLD_MIN_TRANS (in eV), the ieration"// &
|
||||
"stops.", &
|
||||
usage="THRESHOLD_MIN_TRANS 0.001", &
|
||||
|
|
@ -1008,7 +1008,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MAX_ITER", &
|
||||
description="Maximum number of iterations for determining the transistion energies.", &
|
||||
description="Maximum number of iterations for determining the transition energies.", &
|
||||
usage="MAX_ITER 200", &
|
||||
default_i_val=200)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="STEPSIZE", &
|
||||
description="Initial stepsize used for the line search, sometimes this parameter"// &
|
||||
"can be reduced to stablize DIIS", &
|
||||
"can be reduced to stabilize DIIS", &
|
||||
usage="STEPSIZE <REAL>", &
|
||||
default_r_val=1.0_dp)
|
||||
CALL section_add_keyword(subsection, keyword)
|
||||
|
|
@ -462,7 +462,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MAX_STEPSIZE", &
|
||||
description="Maximum stepsize used for the line search, sometimes this parameter"// &
|
||||
"can be reduced to stablize the LS for particularly difficult initial geometries", &
|
||||
"can be reduced to stabilize the LS for particularly difficult initial geometries", &
|
||||
usage="MAX_STEPSIZE <REAL>", &
|
||||
default_r_val=2.0_dp)
|
||||
CALL section_add_keyword(subsection, keyword)
|
||||
|
|
@ -483,7 +483,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="CHECK_DIIS", &
|
||||
description="Performes a series of checks on the DIIS solution in order to accept the DIIS step."// &
|
||||
description="Performs a series of checks on the DIIS solution in order to accept the DIIS step."// &
|
||||
" If set to .FALSE. the only check performed is that the angle between the DIIS solution and the"// &
|
||||
" reference vector is less than Pi/2. Can be useful if many DIIS steps are rejected.", &
|
||||
default_l_val=.TRUE., lone_keyword_l_val=.TRUE.)
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NGRIDS", &
|
||||
description="Specifies the number of grid points used for the Interpolation of the G-space term", &
|
||||
usage="NGRIDS <integer> <iteger> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
usage="NGRIDS <integer> <integer> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
|
|||
|
|
@ -388,7 +388,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="SELECTED_STATES_ATOM_RADIUS", &
|
||||
description="Select all the states included in the given radius arround each atoms "// &
|
||||
description="Select all the states included in the given radius around each atoms "// &
|
||||
"in SELECTED_STATES_ON_ATOM_LIST.", &
|
||||
usage="SELECTED_STATES_ATOM_RADIUS 2.0", &
|
||||
type_of_var=real_t, &
|
||||
|
|
@ -1443,7 +1443,7 @@ CONTAINS
|
|||
description="Write the NTO in Molden file format, for visualisation.", &
|
||||
print_level=debug_print_level + 1, add_last=add_last_numeric, filename="MOS")
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NDIGITS", &
|
||||
description="Specifies the number of signficiant digits retained. 3 is OK for visualization.", &
|
||||
description="Specifies the number of significant digits retained. 3 is OK for visualization.", &
|
||||
usage="NDIGITS {int}", &
|
||||
default_i_val=3)
|
||||
CALL section_add_keyword(print_key, keyword)
|
||||
|
|
|
|||
|
|
@ -318,7 +318,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="APPEND", &
|
||||
description="Append the DOS obtained at different iterations to the output file."// &
|
||||
"By defaut the file is overwritten", &
|
||||
"By default the file is overwritten", &
|
||||
usage="APPEND", default_l_val=.FALSE., &
|
||||
lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(print_key, keyword)
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="use_geep_lib", &
|
||||
description=" This keyword enables the use of the internal GEEP library to generate the "// &
|
||||
"gaussian expansion of the MM potential. Using this keyword there's no need to provide "// &
|
||||
"the MM_POTENTIAL_FILENAME. It expects a number from 2 to 15 (the number of gaussian funtions"// &
|
||||
"the MM_POTENTIAL_FILENAME. It expects a number from 2 to 15 (the number of gaussian functions"// &
|
||||
" to be used in the expansion.", &
|
||||
usage="use_geep_lib INTEGER", &
|
||||
default_i_val=0)
|
||||
|
|
@ -767,7 +767,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NGRIDS", &
|
||||
description="Specifies the number of grid points used for the Interpolation of the G-space term", &
|
||||
usage="NGRIDS <integer> <iteger> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
usage="NGRIDS <integer> <integer> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -851,7 +851,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NGRIDS", &
|
||||
description="Specifies the number of grid points used for the Interpolation of the G-space term", &
|
||||
usage="NGRIDS <integer> <iteger> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
usage="NGRIDS <integer> <integer> <integer> ", n_var=3, default_i_vals=(/50, 50, 50/))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -1240,7 +1240,7 @@ CONTAINS
|
|||
CALL section_release(print_key)
|
||||
|
||||
CALL cp_print_key_section_create(print_key, __LOCATION__, "spl_coeffs", &
|
||||
description="outputs a cube with the coefficents calculated for "// &
|
||||
description="outputs a cube with the coefficients calculated for "// &
|
||||
"the spline interpolation", &
|
||||
print_level=debug_print_level)
|
||||
CALL section_add_subsection(section, print_key)
|
||||
|
|
|
|||
|
|
@ -2238,7 +2238,7 @@ CONTAINS
|
|||
enum_desc=s2a("Use a PSF file to determine the connectivity."// &
|
||||
" (support standard CHARMM/XPLOR and EXT CHARMM)", &
|
||||
"Read a PSF file in an unformatted way (useful for not so standard PSF).", &
|
||||
"Use multiple PSF (for now...) files to generate the whole sytem.", &
|
||||
"Use multiple PSF (for now...) files to generate the whole system.", &
|
||||
"Use a simple distance criteria. (Look at keyword BONDPARM)", &
|
||||
"Do not generate molecules. (e.g. for QS or ill defined systems)", &
|
||||
"Use GROMOS G87 topology file.", &
|
||||
|
|
|
|||
|
|
@ -1333,7 +1333,7 @@ CONTAINS
|
|||
|
||||
CPASSERT(.NOT. ASSOCIATED(section))
|
||||
CALL section_create(section, __LOCATION__, name="ADIABATIC_RESCALING", &
|
||||
description="Parameters for self interation corrected hybrid functionals", &
|
||||
description="Parameters for self interaction corrected hybrid functionals", &
|
||||
n_keywords=0, n_subsections=0, repeats=.FALSE.)
|
||||
NULLIFY (keyword)
|
||||
CALL keyword_create( &
|
||||
|
|
|
|||
|
|
@ -273,8 +273,8 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="REFERENCE_SET", &
|
||||
description="Specifies the reference basis ID which is used as template to create the new set. "// &
|
||||
"The original basis has ID 0. All follwing sets are counted in order as specified in the Input."// &
|
||||
" The decriptors always assume the structure of the input basis set.", &
|
||||
"The original basis has ID 0. All following sets are counted in order as specified in the Input."// &
|
||||
" The descriptors always assume the structure of the input basis set.", &
|
||||
repeats=.FALSE., usage="REFERNCE_SET INTEGER", default_i_val=0)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -282,7 +282,7 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="REMOVE_CONTRACTION", &
|
||||
description="Can be used to remove a contraction from the reference basis set. "// &
|
||||
"The contraction is speciefied by set number, angular momentum and number of contraction."// &
|
||||
" The decriptors always assume the structure of the input basis set.", &
|
||||
" The descriptors always assume the structure of the input basis set.", &
|
||||
repeats=.TRUE., usage="REMOVE_CONTRACTION SET L ICONTRACTION", type_of_var=integer_t, n_var=3)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -310,7 +310,7 @@ CONTAINS
|
|||
NULLIFY (keyword)
|
||||
CPASSERT(.NOT. ASSOCIATED(section))
|
||||
CALL section_create(section, __LOCATION__, name="CONSTRAIN_EXPONENTS", &
|
||||
description="specicifies contraints for the exponents to be fitted."// &
|
||||
description="specicifies constraints for the exponents to be fitted."// &
|
||||
" Only a single constraint can be applied to an exponent", &
|
||||
repeats=.TRUE.)
|
||||
|
||||
|
|
@ -353,7 +353,7 @@ CONTAINS
|
|||
CPASSERT(.NOT. ASSOCIATED(section))
|
||||
CALL section_create(section, __LOCATION__, name="TRAINING_FILES", &
|
||||
description="specicifies the location in which the files necessary for"// &
|
||||
" fitting procedure are located. Each Training set needs a reptition of this section.", &
|
||||
" fitting procedure are located. Each Training set needs a repetition of this section.", &
|
||||
repeats=.TRUE.)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="DIRECTORY", &
|
||||
|
|
@ -364,7 +364,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="INPUT_FILE_NAME", &
|
||||
description="the filename of the input file used to run the original calcuation", &
|
||||
description="the filename of the input file used to run the original calculation", &
|
||||
usage="INPUT_FILE_NAME my_input.inp", &
|
||||
default_lc_val="input.inp")
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue