mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-21 06:25:15 -04:00
Support native-grid SKALA GAPW stress and k-points
This commit is contained in:
parent
2f0b7ede70
commit
257e3b0b73
51 changed files with 2452 additions and 249 deletions
|
|
@ -16,6 +16,7 @@ MODULE accint_weights_forces
|
|||
USE cell_types, ONLY: cell_type,&
|
||||
pbc
|
||||
USE cp_control_types, ONLY: dft_control_type
|
||||
USE cp_log_handling, ONLY: cp_logger_get_default_io_unit
|
||||
USE grid_api, ONLY: integrate_pgf_product
|
||||
USE input_constants, ONLY: sic_none,&
|
||||
xc_none
|
||||
|
|
@ -48,6 +49,8 @@ MODULE accint_weights_forces
|
|||
qs_rho_type
|
||||
USE realspace_grid_types, ONLY: realspace_grid_type,&
|
||||
transfer_pw2rs
|
||||
USE skala_gpw_functional, ONLY: skala_gpw_exc_density,&
|
||||
xc_section_uses_native_skala_grid
|
||||
USE virial_types, ONLY: virial_type
|
||||
USE xc, ONLY: xc_exc_pw_create,&
|
||||
xc_vxc_pw_create
|
||||
|
|
@ -86,9 +89,10 @@ CONTAINS
|
|||
CHARACTER(len=*), PARAMETER :: routineN = 'accint_weight_force'
|
||||
|
||||
INTEGER :: atom_a, handle, iatom, ikind, natom, &
|
||||
natom_of_kind, nkind
|
||||
natom_of_kind, nkind, output_unit
|
||||
INTEGER, DIMENSION(:), POINTER :: atom_list
|
||||
LOGICAL :: lr_triplet, uf_grid, use_virial
|
||||
LOGICAL :: lr_triplet, native_grid_diagnostics, &
|
||||
native_skala_grid, uf_grid, use_virial
|
||||
REAL(KIND=dp) :: my_force_scale
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: calpha, cvalue
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: aforce
|
||||
|
|
@ -160,10 +164,23 @@ CONTAINS
|
|||
END IF
|
||||
|
||||
CALL get_qs_env(qs_env, atomic_kind_set=atomic_kind_set)
|
||||
native_skala_grid = xc_section_uses_native_skala_grid(xc_section)
|
||||
native_grid_diagnostics = .FALSE.
|
||||
IF (native_skala_grid) THEN
|
||||
CALL section_vals_val_get(xc_section, "XC_FUNCTIONAL%GAUXC%NATIVE_GRID_DIAGNOSTICS", &
|
||||
l_val=native_grid_diagnostics)
|
||||
END IF
|
||||
DO ikind = 1, nkind
|
||||
CALL get_atomic_kind(atomic_kind_set(ikind), natom=natom_of_kind, atom_list=atom_list)
|
||||
DO iatom = 1, natom_of_kind
|
||||
atom_a = atom_list(iatom)
|
||||
IF (native_grid_diagnostics) THEN
|
||||
output_unit = cp_logger_get_default_io_unit()
|
||||
IF (output_unit > 0) THEN
|
||||
WRITE (UNIT=output_unit, FMT="(T2,A,1X,I0,3(1X,ES20.12))") &
|
||||
"SKALA_GPW| Accurate-XCINT atom force", atom_a, my_force_scale*aforce(:, atom_a)
|
||||
END IF
|
||||
END IF
|
||||
force(ikind)%rho_elec(1:3, iatom) = &
|
||||
force(ikind)%rho_elec(1:3, iatom) + my_force_scale*aforce(1:3, atom_a)
|
||||
END DO
|
||||
|
|
@ -341,13 +358,13 @@ CONTAINS
|
|||
CHARACTER(len=*), PARAMETER :: routineN = 'xc_density'
|
||||
|
||||
INTEGER :: handle, ispin, myfun, nspins
|
||||
LOGICAL :: rho1_g_valid, rho1_tau_g_valid, &
|
||||
rho1_tau_valid, rho_g_valid, &
|
||||
rho_tau_g_valid, rho_tau_valid, uf_grid
|
||||
LOGICAL :: native_skala_grid, rho1_g_valid, rho1_tau_g_valid, rho1_tau_valid, rho_g_valid, &
|
||||
rho_tau_g_valid, rho_tau_valid, uf_grid
|
||||
REAL(KIND=dp) :: excint, factor
|
||||
REAL(KIND=dp), DIMENSION(3, 3) :: vdum
|
||||
TYPE(cell_type), POINTER :: cell
|
||||
TYPE(dft_control_type), POINTER :: dft_control
|
||||
TYPE(particle_type), DIMENSION(:), POINTER :: particle_set
|
||||
TYPE(pw_c1d_gs_type), DIMENSION(:), POINTER :: rho1_g, rho1_g_base, rho_g, rho_g_base, &
|
||||
tau1_g, tau1_g_base, tau_g, tau_g_base
|
||||
TYPE(pw_c1d_gs_type), POINTER :: rho_nlcc_g, rho_nlcc_g_use, rho_nlcc_g_xc
|
||||
|
|
@ -366,12 +383,13 @@ CONTAINS
|
|||
NULLIFY (rho1_g, rho1_g_base, rho1_r, rho1_r_base, rho_fxc, tau1_g, tau1_g_base)
|
||||
NULLIFY (rho_g, rho_g_base, rho_r, rho_r_base, tau_g, tau_g_base, tau_r, tau_r_base, &
|
||||
tau1_r, tau1_r_base)
|
||||
NULLIFY (rho_nlcc_use, rho_nlcc_xc, rho_nlcc_g_use, rho_nlcc_g_xc, weights)
|
||||
NULLIFY (particle_set, rho_nlcc_use, rho_nlcc_xc, rho_nlcc_g_use, rho_nlcc_g_xc, weights)
|
||||
|
||||
CALL get_ks_env(ks_env, &
|
||||
dft_control=dft_control, &
|
||||
pw_env=pw_env, &
|
||||
cell=cell, &
|
||||
particle_set=particle_set, &
|
||||
rho_nlcc=rho_nlcc, &
|
||||
rho_nlcc_g=rho_nlcc_g)
|
||||
|
||||
|
|
@ -386,6 +404,7 @@ CONTAINS
|
|||
nspins = dft_control%nspins
|
||||
|
||||
CALL section_vals_val_get(xc_section, "XC_FUNCTIONAL%_SECTION_PARAMETERS_", i_val=myfun)
|
||||
native_skala_grid = xc_section_uses_native_skala_grid(xc_section)
|
||||
|
||||
CALL pw_env_get(pw_env, xc_pw_pool=xc_pw_pool, auxbas_pw_pool=auxbas_pw_pool)
|
||||
uf_grid = .NOT. pw_grid_compare(auxbas_pw_pool%pw_grid, xc_pw_pool%pw_grid)
|
||||
|
|
@ -441,9 +460,18 @@ CONTAINS
|
|||
NULLIFY (vxc_rho, vxc_tau)
|
||||
SELECT CASE (order)
|
||||
CASE (0)
|
||||
! we could reduce to energy only here
|
||||
CALL xc_exc_pw_create(rho_r, rho_g, tau_r, xc_section, weights, xc_pw_pool, exc)
|
||||
IF (native_skala_grid) THEN
|
||||
CALL skala_gpw_exc_density(exc, rho_r, rho_g, tau_r, xc_section, weights, &
|
||||
xc_pw_pool, particle_set, cell)
|
||||
ELSE
|
||||
! we could reduce to energy only here
|
||||
CALL xc_exc_pw_create(rho_r, rho_g, tau_r, xc_section, weights, xc_pw_pool, exc)
|
||||
END IF
|
||||
CASE (1)
|
||||
IF (native_skala_grid) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA GAPW accurate-XCINT response forces are not implemented.")
|
||||
END IF
|
||||
CALL qs_rho_get(rho1_struct, rho_r=rho1_r_base, rho_g=rho1_g_base, tau_r=tau1_r_base, &
|
||||
tau_g=tau1_g_base, rho_g_valid=rho1_g_valid, &
|
||||
tau_g_valid=rho1_tau_g_valid, tau_r_valid=rho1_tau_valid)
|
||||
|
|
@ -476,6 +504,10 @@ CONTAINS
|
|||
compute_virial=.FALSE., &
|
||||
virial_xc=vdum)
|
||||
CASE (2)
|
||||
IF (native_skala_grid) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA GAPW accurate-XCINT response forces are not implemented.")
|
||||
END IF
|
||||
CALL qs_rho_get(rho1_struct, rho_r=rho1_r_base, rho_g=rho1_g_base, tau_r=tau1_r_base, &
|
||||
tau_g=tau1_g_base, rho_g_valid=rho1_g_valid, &
|
||||
tau_g_valid=rho1_tau_g_valid, tau_r_valid=rho1_tau_valid)
|
||||
|
|
|
|||
|
|
@ -618,6 +618,12 @@ CONTAINS
|
|||
(.NOT. use_full_grid)
|
||||
dynamic_symmetry = kpoint_symmetry .AND. .NOT. use_full_grid .AND. &
|
||||
.NOT. use_inversion_symmetry_only
|
||||
IF (run_type_id == debug_run .AND. .NOT. fd_energy .AND. .NOT. dynamic_symmetry .AND. &
|
||||
(full_grid .EQV. use_full_grid) .AND. &
|
||||
(inversion_symmetry_only .EQV. use_inversion_symmetry_only)) THEN
|
||||
CALL qs_basis_rotation(force_env%qs_env, kpoints)
|
||||
RETURN
|
||||
END IF
|
||||
IF (moving_geometry .AND. .NOT. dynamic_symmetry) RETURN
|
||||
IF (moving_geometry .AND. .NOT. kpoint_has_nontrivial_atomic_symmetry(kpoints)) RETURN
|
||||
CALL set_kpoint_info(kpoints, full_grid=use_full_grid, &
|
||||
|
|
|
|||
|
|
@ -1331,9 +1331,10 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MODEL", &
|
||||
description="GauXC OneDFT model name or path. Use NONE for conventional GauXC. "// &
|
||||
"MODEL SKALA uses GAUXC_SKALA_MODEL, or GAUXC_SKALA_CUDA_MODEL when "// &
|
||||
"NATIVE_GRID_USE_CUDA is enabled and that override is set; "// &
|
||||
"other OneDFT models are supplied as .fun files or model names.", &
|
||||
"MODEL SKALA selects the installed Skala-1.1 model when available; "// &
|
||||
"other OneDFT models are supplied as .fun files or model names. "// &
|
||||
"NLCC pseudopotentials are rejected in the molecular GauXC OneDFT/SKALA "// &
|
||||
"path; use the CP2K-native SKALA grid path for NLCC calculations.", &
|
||||
usage="MODEL SKALA", &
|
||||
default_c_val="NONE")
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -1420,24 +1421,22 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="NATIVE_GRID", &
|
||||
description="Experimental CP2K-native GPW real-space-grid path for SKALA "// &
|
||||
"TorchScript models. This bypasses GauXC molecular quadrature and supports "// &
|
||||
"isolated, partially periodic, and fully periodic METHOD GPW/GTH and METHOD "// &
|
||||
"GAPW cells, including Gamma-only and k-point density matrices. GAPW with "// &
|
||||
"GTH/ECP pseudopotentials is limited to KIND%GPW_TYPE regular-grid features; "// &
|
||||
"GAPW all-electron uses the all-electron regular-grid density. "// &
|
||||
"The current implementation "// &
|
||||
"is limited to energy, VXC, and experimental nuclear-gradient/stress "// &
|
||||
"evaluations with a single GAUXC functional. Full-grid, inversion-only, "// &
|
||||
"and symmetry-reduced k-point runs are supported. "// &
|
||||
"K-point runs currently require NATIVE_GRID_USE_CUDA T; the CPU "// &
|
||||
"TorchScript path is limited to non-k-point runs. CUDA k-point runs "// &
|
||||
"should not preload CPU-only Torch libraries such as libtorch_cpu.so. "// &
|
||||
"isolated, partially periodic, and fully periodic METHOD GPW cells with "// &
|
||||
"GTH/ECP pseudopotentials and METHOD GAPW/GAPW_XC cells. GAPW with "// &
|
||||
"GTH/ECP pseudopotentials can use KIND%GPW_TYPE regular-grid features or "// &
|
||||
"the GAPW one-center XC correction; GAPW all-electron uses the "// &
|
||||
"all-electron regular-grid density. The current implementation is limited "// &
|
||||
"to a single GAUXC functional and provides energy, VXC, and experimental "// &
|
||||
"analytical nuclear-gradient/stress evaluations. K-point runs use CP2K's "// &
|
||||
"standard k-point and symmetry-reduction infrastructure; the CPU "// &
|
||||
"TorchScript path may require preloading libtorch_cpu.so before OpenBLAS, "// &
|
||||
"whereas CUDA k-point runs should not preload CPU-only Torch libraries. "// &
|
||||
"MPI runs collect a global atom-partitioned feature block by default; "// &
|
||||
"NATIVE_GRID_ATOM_CHUNKS can split the Torch evaluation by atom block. "// &
|
||||
"Analytical stress is supported for the regular-grid path. NLCC "// &
|
||||
"pseudopotentials use CP2K's standard frozen-core density contribution "// &
|
||||
"on the XC grid. "// &
|
||||
"METHOD GAPW_XC, PAW/one-center GAPW+GTH/ECP, ROKS, ADMM, "// &
|
||||
"and non-k-point multiple-image calculations are not implemented.", &
|
||||
"PAW/one-center GAPW+GTH/ECP and METHOD GAPW_XC use CP2K's GAPW hard/soft "// &
|
||||
"one-center XC correction with a selectable "// &
|
||||
"NATIVE_GRID_GAPW_DENSITY_PARTITION. ROKS, ADMM, and non-k-point "// &
|
||||
"multiple-image calculations are not implemented.", &
|
||||
usage="NATIVE_GRID T", &
|
||||
default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -1469,15 +1468,36 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="NATIVE_GRID_ATOM_PARTITION", &
|
||||
description="Atom partition used to build the experimental CP2K-native "// &
|
||||
"SKALA regular-grid feature block. HARD assigns each native grid point to "// &
|
||||
"the nearest periodic atom and is the default. SMOOTH uses a Becke-like "// &
|
||||
"fuzzy-cell partition on the native grid and creates weighted atom rows; "// &
|
||||
"analytical force and stress contributions include the corresponding "// &
|
||||
"partition-weight derivatives.", &
|
||||
usage="NATIVE_GRID_ATOM_PARTITION HARD", &
|
||||
"the nearest periodic atom and is intended for legacy energy/VXC-only runs. "// &
|
||||
"SMOOTH uses a Becke-like fuzzy-cell partition on the native grid and creates "// &
|
||||
"weighted atom rows. Analytical atom forces and stress use the differentiable "// &
|
||||
"SMOOTH partition internally because the corresponding partition-weight "// &
|
||||
"derivatives enter the SKALA feature response.", &
|
||||
usage="NATIVE_GRID_ATOM_PARTITION SMOOTH", &
|
||||
enum_c_vals=s2a("HARD", "SMOOTH"), &
|
||||
enum_i_vals=[1, 2], &
|
||||
enum_desc=s2a("Assign each grid point to the nearest atom", &
|
||||
"Use a smooth Becke-like native-grid atom partition"), &
|
||||
default_i_val=2)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NATIVE_GRID_GAPW_DENSITY_PARTITION", &
|
||||
description="Hard/soft one-center density contribution used by METHOD "// &
|
||||
"GAPW and METHOD GAPW_XC in OneDFT/SKALA atomic-grid corrections. "// &
|
||||
"HARD_MINUS_SOFT evaluates the SKALA model on hard and soft atomic "// &
|
||||
"densities separately and adds the GAPW hard-minus-soft correction; this "// &
|
||||
"is the default because it follows CP2K's GAPW XC expression. For "// &
|
||||
"pseudopotential PAW/one-center GAPW this is distinct from KIND%GPW_TYPE, "// &
|
||||
"which uses the regular-grid valence-density approximation. "// &
|
||||
"HARD_ONLY, SOFT_ONLY, and NONE are diagnostic variants.", &
|
||||
usage="NATIVE_GRID_GAPW_DENSITY_PARTITION HARD_MINUS_SOFT", &
|
||||
enum_c_vals=s2a("HARD_MINUS_SOFT", "HARD_ONLY", "SOFT_ONLY", "NONE"), &
|
||||
enum_i_vals=[1, 2, 3, 4], &
|
||||
enum_desc=s2a("Use the hard-minus-soft GAPW one-center correction", &
|
||||
"Use only the hard one-center density", &
|
||||
"Use only the soft one-center density with the GAPW sign", &
|
||||
"Disable the GAPW one-center SKALA correction"), &
|
||||
default_i_val=1)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -1487,7 +1507,8 @@ CONTAINS
|
|||
"evaluation into contiguous atom blocks. MPI runs evaluate one atom block per "// &
|
||||
"rank, while single-rank runs can still use atom subchunks to reduce peak CUDA "// &
|
||||
"memory. Dynamic feature rows and VXC gradients are routed between their "// &
|
||||
"local grid and atom-block owner ranks.", &
|
||||
"local grid and atom-block owner ranks. Analytical force and stress runs use "// &
|
||||
"the full differentiable tensor graph instead of routed atom chunks.", &
|
||||
usage="NATIVE_GRID_ATOM_CHUNKS T", &
|
||||
default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
|
|
@ -146,7 +146,8 @@ MODULE qs_ks_methods
|
|||
USE surface_dipole, ONLY: calc_dipsurf_potential
|
||||
USE tblite_ks_matrix, ONLY: build_tblite_ks_matrix
|
||||
USE virial_types, ONLY: virial_type
|
||||
USE xc_gauxc_functional, ONLY: apply_gauxc
|
||||
USE xc_gauxc_functional, ONLY: apply_gauxc,&
|
||||
gauxc_gapw_has_paw_pseudopotentials
|
||||
USE xtb_ks_matrix, ONLY: build_xtb_ks_matrix
|
||||
#include "./base/base_uses.f90"
|
||||
|
||||
|
|
@ -197,18 +198,16 @@ CONTAINS
|
|||
TYPE(section_vals_type), OPTIONAL, POINTER :: ext_xc_section
|
||||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'qs_ks_build_kohn_sham_matrix'
|
||||
|
||||
CHARACTER(len=default_string_length) :: name
|
||||
INTEGER :: ace_rebuild_frequency, atom_a, handle, &
|
||||
iatom, ikind, img, ispin, natom, &
|
||||
nimages, nspins
|
||||
nimages, nspins, output_unit
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:) :: atom_of_kind, kind_of
|
||||
LOGICAL :: ace_active, do_adiabatic_rescaling, do_ddapc, do_hfx, do_kpoints, do_ppl, dokp, &
|
||||
gapw, gapw_xc, just_energy_xc, lrigpw, my_print, native_grid_use_cuda, &
|
||||
native_skala_restore_exc, rigpw, use_gauxc_matrix, use_virial
|
||||
CHARACTER(LEN=*), PARAMETER :: native_skala_gapw_xc_msg = &
|
||||
"Native SKALA grid does not support METHOD GAPW_XC; "// &
|
||||
"the GAPW_XC one-center XC correction needs a dedicated SKALA design."
|
||||
|
||||
gapw, gapw_xc, just_energy_xc, lrigpw, my_print, native_grid_diagnostics, &
|
||||
native_grid_use_cuda, native_skala_restore_exc, rigpw, use_gauxc_matrix, use_virial
|
||||
LOGICAL, SAVE :: native_grid_cpu_kpoints_warned = .FALSE.
|
||||
REAL(KIND=dp) :: ecore_ppl, edisp, ee_ener, ekin_mol, &
|
||||
mulliken_order_p, &
|
||||
native_skala_exc_scf, &
|
||||
|
|
@ -602,7 +601,8 @@ CONTAINS
|
|||
CALL calculate_vxc_atom(qs_env, energy_only=just_energy_xc, exc1=energy%exc1_aux_fit, &
|
||||
kind_set_external=admm_env%admm_gapw_env%admm_kind_set, &
|
||||
xc_section_external=xc_section, &
|
||||
rho_atom_set_external=admm_env%admm_gapw_env%local_rho_set%rho_atom_set)
|
||||
rho_atom_set_external=admm_env%admm_gapw_env%local_rho_set%rho_atom_set, &
|
||||
calculate_forces=calculate_forces)
|
||||
|
||||
END IF
|
||||
|
||||
|
|
@ -647,22 +647,6 @@ CONTAINS
|
|||
IF (dft_control%use_gauxc) THEN
|
||||
IF (xc_section_uses_native_skala_grid(xc_section)) THEN
|
||||
CALL ensure_native_skala_grid_scope(xc_section)
|
||||
IF (gapw_xc) THEN
|
||||
CPABORT(native_skala_gapw_xc_msg)
|
||||
END IF
|
||||
IF (gapw) THEN
|
||||
DO ikind = 1, SIZE(qs_kind_set)
|
||||
IF (qs_kind_set(ikind)%paw_atom .AND. .NOT. &
|
||||
qs_kind_set(ikind)%gpw_type_forced .AND. &
|
||||
(ASSOCIATED(qs_kind_set(ikind)%gth_potential) .OR. &
|
||||
ASSOCIATED(qs_kind_set(ikind)%sgp_potential))) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA grid evaluation with METHOD GAPW and "// &
|
||||
"pseudopotentials requires KIND%GPW_TYPE. PAW/one-center "// &
|
||||
"GAPW+GTH/ECP is not implemented.")
|
||||
END IF
|
||||
END DO
|
||||
END IF
|
||||
IF ((.NOT. do_kpoints) .AND. nimages /= 1) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA grid evaluation supports multiple images only "// &
|
||||
|
|
@ -674,12 +658,13 @@ CONTAINS
|
|||
CPASSERT(ASSOCIATED(gauxc_section))
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_USE_CUDA", l_val=native_grid_use_cuda)
|
||||
IF (.NOT. native_grid_use_cuda) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA grid evaluation with k-points currently requires "// &
|
||||
"GAUXC%NATIVE_GRID_USE_CUDA T. The CPU TorchScript path can "// &
|
||||
"destabilize the k-point diagonalization through "// &
|
||||
"libtorch_cpu/OpenBLAS library interactions; use the CUDA SKALA model/path for "// &
|
||||
"k-point runs.")
|
||||
IF (para_env%mepos == 0 .AND. .NOT. native_grid_cpu_kpoints_warned) THEN
|
||||
CALL cp_warn(__LOCATION__, &
|
||||
"Native SKALA grid evaluation with k-points is using the CPU TorchScript "// &
|
||||
"path. For CPU runs, preload libtorch_cpu.so before OpenBLAS if the "// &
|
||||
"runtime library order is unstable; otherwise use NATIVE_GRID_USE_CUDA T.")
|
||||
native_grid_cpu_kpoints_warned = .TRUE.
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
IF (dft_control%roks) THEN
|
||||
|
|
@ -688,9 +673,10 @@ CONTAINS
|
|||
IF (dft_control%do_admm) THEN
|
||||
CPABORT("Native SKALA grid evaluation does not support ADMM.")
|
||||
END IF
|
||||
! Force/stress rebuilds re-enter this path for derivatives and VXC only;
|
||||
! keep the already evaluated SCF energy contribution.
|
||||
native_skala_restore_exc = calculate_forces
|
||||
! Force-only rebuilds re-enter this path for derivatives and VXC only.
|
||||
! For analytical stress the XC volume term must stay consistent with
|
||||
! the rebuilt SKALA energy used by the autograd virial.
|
||||
native_skala_restore_exc = calculate_forces .AND. .NOT. use_virial
|
||||
IF (native_skala_restore_exc) THEN
|
||||
native_skala_exc_scf = energy%exc
|
||||
native_skala_total_scf = energy%total
|
||||
|
|
@ -702,6 +688,21 @@ CONTAINS
|
|||
edisp=edisp, dispersion_env=qs_env%dispersion_env, &
|
||||
just_energy=just_energy_xc, &
|
||||
native_skala_atom_force=native_skala_atom_force)
|
||||
native_grid_diagnostics = .FALSE.
|
||||
gauxc_section => get_gauxc_section(xc_section)
|
||||
IF (ASSOCIATED(gauxc_section)) THEN
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_DIAGNOSTICS", &
|
||||
l_val=native_grid_diagnostics)
|
||||
END IF
|
||||
IF (native_grid_diagnostics .AND. para_env%mepos == 0) THEN
|
||||
output_unit = cp_logger_get_default_io_unit()
|
||||
IF (output_unit > 0) THEN
|
||||
DO iatom = 1, natom
|
||||
WRITE (UNIT=output_unit, FMT="(T2,A,1X,I0,3(1X,ES20.12))") &
|
||||
"SKALA_GPW| Native atom force", iatom, native_skala_atom_force(:, iatom)
|
||||
END DO
|
||||
END IF
|
||||
END IF
|
||||
CPASSERT(ASSOCIATED(force))
|
||||
CPASSERT(ASSOCIATED(atomic_kind_set))
|
||||
CALL get_atomic_kind_set(atomic_kind_set, atom_of_kind=atom_of_kind, kind_of=kind_of)
|
||||
|
|
@ -719,8 +720,10 @@ CONTAINS
|
|||
just_energy=just_energy_xc)
|
||||
END IF
|
||||
IF (native_skala_restore_exc) energy%exc = native_skala_exc_scf
|
||||
IF (gapw) THEN
|
||||
CALL calculate_vxc_atom(qs_env, just_energy_xc, energy%exc1, xc_section_external=xc_section)
|
||||
IF (gapw .OR. gapw_xc) THEN
|
||||
CALL calculate_vxc_atom(qs_env, just_energy_xc, energy%exc1, &
|
||||
xc_section_external=xc_section, &
|
||||
calculate_forces=calculate_forces)
|
||||
END IF
|
||||
IF (edisp /= 0.0_dp) energy%dispersion = edisp
|
||||
IF (qs_env%requires_matrix_vxc .AND. ASSOCIATED(v_rspace_new)) THEN
|
||||
|
|
@ -733,13 +736,13 @@ CONTAINS
|
|||
END IF
|
||||
END IF
|
||||
ELSE
|
||||
IF (gapw_xc) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"GauXC with METHOD GAPW_XC is unsupported. The "// &
|
||||
"GAPW_XC one-center XC correction needs a dedicated GauXC design.")
|
||||
END IF
|
||||
use_gauxc_matrix = .TRUE.
|
||||
CALL apply_gauxc(qs_env, xc_section, calculate_forces)
|
||||
IF (gapw_xc .OR. (gapw .AND. gauxc_gapw_has_paw_pseudopotentials(qs_kind_set))) THEN
|
||||
CALL calculate_vxc_atom(qs_env, just_energy_xc, energy%exc1, &
|
||||
xc_section_external=xc_section, &
|
||||
calculate_forces=calculate_forces)
|
||||
END IF
|
||||
END IF
|
||||
ELSE
|
||||
CALL qs_vxc_create(ks_env=ks_env, rho_struct=rho_struct, xc_section=xc_section, &
|
||||
|
|
@ -753,7 +756,9 @@ CONTAINS
|
|||
END IF
|
||||
|
||||
IF (gapw .OR. gapw_xc) THEN
|
||||
CALL calculate_vxc_atom(qs_env, just_energy_xc, energy%exc1, xc_section_external=xc_section)
|
||||
CALL calculate_vxc_atom(qs_env, just_energy_xc, energy%exc1, &
|
||||
xc_section_external=xc_section, &
|
||||
calculate_forces=calculate_forces)
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
|
@ -915,11 +920,13 @@ CONTAINS
|
|||
CALL get_qs_env(qs_env=qs_env, rho=rho_struct)
|
||||
END IF
|
||||
NULLIFY (rho1)
|
||||
IF (dft_control%use_gauxc .AND. gapw) THEN
|
||||
! GauXC evaluates GAPW XC directly on its molecular quadrature
|
||||
! grid. The native accurate-XCINT force correction applies to
|
||||
! CP2K's regular-grid XC density and would otherwise try to
|
||||
! evaluate the GAUXC section through xc_derivatives.
|
||||
IF (dft_control%use_gauxc .AND. (gapw .OR. gapw_xc) .AND. &
|
||||
.NOT. xc_section_uses_native_skala_grid(xc_section)) THEN
|
||||
! Molecular GauXC evaluates the XC term outside xc_derivatives.
|
||||
! The accurate-XCINT force correction would otherwise try to
|
||||
! evaluate the GAUXC section through CP2K's local functional path.
|
||||
! Native-grid SKALA can provide this correction through the
|
||||
! CP2K grid path and needs it for GAPW_XC force consistency.
|
||||
CONTINUE
|
||||
ELSE
|
||||
CALL accint_weight_force(qs_env, rho_struct, rho1, 0, xc_section)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ MODULE qs_vxc_atom
|
|||
USE paw_basis_types, ONLY: get_paw_basis_info
|
||||
USE qs_environment_types, ONLY: get_qs_env,&
|
||||
qs_environment_type
|
||||
USE qs_force_types, ONLY: qs_force_type
|
||||
USE qs_grid_atom, ONLY: grid_atom_type
|
||||
USE qs_harmonics_atom, ONLY: get_none0_cg_list,&
|
||||
harmonics_atom_type
|
||||
|
|
@ -38,9 +39,15 @@ MODULE qs_vxc_atom
|
|||
USE qs_rho_atom_types, ONLY: get_rho_atom,&
|
||||
rho_atom_coeff,&
|
||||
rho_atom_type
|
||||
USE skala_gpw_functional, ONLY: skala_gapw_atom_vxc_of_r,&
|
||||
xc_section_uses_native_skala_grid
|
||||
USE skala_gpw_functional, ONLY: native_skala_gapw_density_partition,&
|
||||
skala_gapw_atom_vxc_of_r,&
|
||||
skala_gapw_density_partition_hard_minus_soft,&
|
||||
skala_gapw_density_partition_hard_only,&
|
||||
skala_gapw_density_partition_none,&
|
||||
skala_gapw_density_partition_soft_only,&
|
||||
xc_section_uses_onedft_model
|
||||
USE util, ONLY: get_limit
|
||||
USE virial_types, ONLY: virial_type
|
||||
USE xc_atom, ONLY: fill_rho_set,&
|
||||
vxc_of_r_epr,&
|
||||
vxc_of_r_new,&
|
||||
|
|
@ -92,10 +99,11 @@ CONTAINS
|
|||
!> \param kind_set_external provides a non-default kind_set to use
|
||||
!> \param rho_atom_set_external provides a non-default atomic density set to use
|
||||
!> \param xc_section_external provides an external non-default XC
|
||||
!> \param calculate_forces ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE calculate_vxc_atom(qs_env, energy_only, exc1, &
|
||||
adiabatic_rescale_factor, kind_set_external, &
|
||||
rho_atom_set_external, xc_section_external)
|
||||
rho_atom_set_external, xc_section_external, calculate_forces)
|
||||
|
||||
TYPE(qs_environment_type), POINTER :: qs_env
|
||||
LOGICAL, INTENT(IN) :: energy_only
|
||||
|
|
@ -106,21 +114,25 @@ CONTAINS
|
|||
TYPE(rho_atom_type), DIMENSION(:), OPTIONAL, &
|
||||
POINTER :: rho_atom_set_external
|
||||
TYPE(section_vals_type), OPTIONAL, POINTER :: xc_section_external
|
||||
LOGICAL, INTENT(IN), OPTIONAL :: calculate_forces
|
||||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'calculate_vxc_atom'
|
||||
|
||||
INTEGER :: bo(2), handle, iat, iatom, ikind, ir, &
|
||||
INTEGER :: bo(2), gapw_density_partition, handle, &
|
||||
iat, iatom, idir, ikind, ir, jdir, &
|
||||
myfun, na, natom, nr, nspins, num_pe
|
||||
INTEGER, DIMENSION(2, 3) :: bounds
|
||||
INTEGER, DIMENSION(:), POINTER :: atom_list
|
||||
LOGICAL :: accint, donlcc, gradient_f, lsd, &
|
||||
native_skala_grid, nlcc, paw_atom, &
|
||||
tau_f
|
||||
LOGICAL :: accint, donlcc, evaluate_hard, evaluate_soft, gradient_f, lsd, &
|
||||
my_calculate_forces, nlcc, paw_atom, skala_atom_grid, tau_f, use_virial
|
||||
REAL(dp) :: agr, alpha, density_cut, exc_h, exc_s, &
|
||||
gradient_cut, &
|
||||
my_adiabatic_rescale_factor, tau_cut
|
||||
REAL(dp), DIMENSION(1, 1, 1) :: tau_d
|
||||
REAL(dp), DIMENSION(1, 1, 1, 1) :: rho_d
|
||||
REAL(dp), DIMENSION(3) :: skala_atom_force_h, skala_atom_force_s
|
||||
REAL(dp), DIMENSION(3, 3) :: skala_atom_virial, skala_atom_virial_h, &
|
||||
skala_atom_virial_s
|
||||
REAL(dp), DIMENSION(:, :), POINTER :: rho_nlcc, weight_h, weight_s
|
||||
REAL(dp), DIMENSION(:, :, :), POINTER :: rho_h, rho_s, tau_h, tau_s, vtau_h, &
|
||||
vtau_s, vxc_h, vxc_s
|
||||
|
|
@ -132,6 +144,7 @@ CONTAINS
|
|||
TYPE(harmonics_atom_type), POINTER :: harmonics
|
||||
TYPE(mp_para_env_type), POINTER :: para_env
|
||||
TYPE(particle_type), DIMENSION(:), POINTER :: particle_set
|
||||
TYPE(qs_force_type), DIMENSION(:), POINTER :: force
|
||||
TYPE(qs_kind_type), DIMENSION(:), POINTER :: my_kind_set
|
||||
TYPE(rho_atom_coeff), DIMENSION(:), POINTER :: dr_h, dr_s, int_hh, int_ss, r_h, r_s
|
||||
TYPE(rho_atom_coeff), DIMENSION(:, :), POINTER :: r_h_d, r_s_d
|
||||
|
|
@ -139,6 +152,7 @@ CONTAINS
|
|||
TYPE(rho_atom_type), POINTER :: rho_atom
|
||||
TYPE(section_vals_type), POINTER :: input, my_xc_section, xc_fun_section
|
||||
TYPE(tau_basis_cache_type) :: tau_basis_cache
|
||||
TYPE(virial_type), POINTER :: virial
|
||||
TYPE(xc_derivative_set_type) :: deriv_set
|
||||
TYPE(xc_rho_cflags_type) :: needs
|
||||
TYPE(xc_rho_set_type) :: rho_set_h, rho_set_s
|
||||
|
|
@ -151,6 +165,7 @@ CONTAINS
|
|||
NULLIFY (my_kind_set)
|
||||
NULLIFY (atomic_kind_set)
|
||||
NULLIFY (grid_atom)
|
||||
NULLIFY (force)
|
||||
NULLIFY (harmonics)
|
||||
NULLIFY (input)
|
||||
NULLIFY (para_env)
|
||||
|
|
@ -158,6 +173,9 @@ CONTAINS
|
|||
NULLIFY (rho_atom)
|
||||
NULLIFY (my_rho_atom_set)
|
||||
NULLIFY (rho_nlcc)
|
||||
NULLIFY (virial)
|
||||
my_calculate_forces = .FALSE.
|
||||
IF (PRESENT(calculate_forces)) my_calculate_forces = calculate_forces
|
||||
|
||||
IF (PRESENT(adiabatic_rescale_factor)) THEN
|
||||
my_adiabatic_rescale_factor = adiabatic_rescale_factor
|
||||
|
|
@ -172,7 +190,9 @@ CONTAINS
|
|||
qs_kind_set=my_kind_set, &
|
||||
input=input, &
|
||||
particle_set=particle_set, &
|
||||
rho_atom_set=my_rho_atom_set)
|
||||
virial=virial, &
|
||||
rho_atom_set=my_rho_atom_set, &
|
||||
force=force)
|
||||
|
||||
IF (PRESENT(kind_set_external)) my_kind_set => kind_set_external
|
||||
IF (PRESENT(rho_atom_set_external)) my_rho_atom_set => rho_atom_set_external
|
||||
|
|
@ -187,7 +207,14 @@ CONTAINS
|
|||
xc_fun_section => section_vals_get_subs_vals(my_xc_section, "XC_FUNCTIONAL")
|
||||
CALL section_vals_val_get(xc_fun_section, "_SECTION_PARAMETERS_", &
|
||||
i_val=myfun)
|
||||
native_skala_grid = xc_section_uses_native_skala_grid(my_xc_section)
|
||||
skala_atom_grid = xc_section_uses_onedft_model(my_xc_section)
|
||||
gapw_density_partition = skala_gapw_density_partition_hard_minus_soft
|
||||
IF (skala_atom_grid) THEN
|
||||
gapw_density_partition = native_skala_gapw_density_partition(my_xc_section)
|
||||
END IF
|
||||
use_virial = ASSOCIATED(virial)
|
||||
IF (use_virial) use_virial = my_calculate_forces .AND. &
|
||||
virial%pv_calculate .AND. (.NOT. virial%pv_numer)
|
||||
|
||||
IF (myfun == xc_none) THEN
|
||||
exc1 = 0.0_dp
|
||||
|
|
@ -207,8 +234,8 @@ CONTAINS
|
|||
lsd=lsd, &
|
||||
calc_potential=.TRUE.)
|
||||
|
||||
gradient_f = (needs%drho .OR. needs%drho_spin)
|
||||
tau_f = (needs%tau .OR. needs%tau_spin)
|
||||
gradient_f = (needs%drho .OR. needs%drho_spin) .OR. skala_atom_grid
|
||||
tau_f = (needs%tau .OR. needs%tau_spin) .OR. skala_atom_grid
|
||||
|
||||
! Initialize energy contribution from the one center XC terms to zero
|
||||
exc1 = 0.0_dp
|
||||
|
|
@ -359,15 +386,46 @@ CONTAINS
|
|||
END IF
|
||||
END DO
|
||||
|
||||
evaluate_hard = .TRUE.
|
||||
evaluate_soft = .TRUE.
|
||||
skala_atom_force_h = 0.0_dp
|
||||
skala_atom_force_s = 0.0_dp
|
||||
skala_atom_virial_h = 0.0_dp
|
||||
skala_atom_virial_s = 0.0_dp
|
||||
IF (skala_atom_grid) THEN
|
||||
SELECT CASE (gapw_density_partition)
|
||||
CASE (skala_gapw_density_partition_hard_minus_soft)
|
||||
CONTINUE
|
||||
CASE (skala_gapw_density_partition_hard_only)
|
||||
evaluate_soft = .FALSE.
|
||||
CASE (skala_gapw_density_partition_soft_only)
|
||||
evaluate_hard = .FALSE.
|
||||
CASE (skala_gapw_density_partition_none)
|
||||
evaluate_hard = .FALSE.
|
||||
evaluate_soft = .FALSE.
|
||||
CASE DEFAULT
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Unknown GAUXC%NATIVE_GRID_GAPW_DENSITY_PARTITION value.")
|
||||
END SELECT
|
||||
END IF
|
||||
|
||||
!-------------------!
|
||||
! hard atom density !
|
||||
!-------------------!
|
||||
CALL xc_dset_zero_all(deriv_set)
|
||||
IF (native_skala_grid) THEN
|
||||
IF (.NOT. evaluate_hard) THEN
|
||||
exc_h = 0.0_dp
|
||||
IF (.NOT. energy_only) THEN
|
||||
vxc_h = 0.0_dp
|
||||
IF (ASSOCIATED(vxg_h)) vxg_h = 0.0_dp
|
||||
IF (ASSOCIATED(vtau_h)) vtau_h = 0.0_dp
|
||||
END IF
|
||||
ELSE IF (skala_atom_grid) THEN
|
||||
CALL skala_gapw_atom_vxc_of_r( &
|
||||
my_xc_section, grid_atom, para_env, particle_set(iatom)%r, &
|
||||
rho_h, drho_h, tau_h, weight_h, lsd, nspins, na, nr, &
|
||||
exc_h, vxc_h, vxg_h, vtau_h, energy_only=energy_only)
|
||||
exc_h, vxc_h, vxg_h, vtau_h, energy_only=energy_only, &
|
||||
atom_force=skala_atom_force_h, atom_virial=skala_atom_virial_h)
|
||||
ELSE
|
||||
CALL vxc_of_r_new(xc_fun_section, rho_set_h, deriv_set, 1, needs, weight_h, &
|
||||
lsd, na, nr, exc_h, vxc_h, vxg_h, vtau_h, energy_only=energy_only, &
|
||||
|
|
@ -379,11 +437,19 @@ CONTAINS
|
|||
! soft atom density !
|
||||
!-------------------!
|
||||
CALL xc_dset_zero_all(deriv_set)
|
||||
IF (native_skala_grid) THEN
|
||||
IF (.NOT. evaluate_soft) THEN
|
||||
exc_s = 0.0_dp
|
||||
IF (.NOT. energy_only) THEN
|
||||
vxc_s = 0.0_dp
|
||||
IF (ASSOCIATED(vxg_s)) vxg_s = 0.0_dp
|
||||
IF (ASSOCIATED(vtau_s)) vtau_s = 0.0_dp
|
||||
END IF
|
||||
ELSE IF (skala_atom_grid) THEN
|
||||
CALL skala_gapw_atom_vxc_of_r( &
|
||||
my_xc_section, grid_atom, para_env, particle_set(iatom)%r, &
|
||||
rho_s, drho_s, tau_s, weight_s, lsd, nspins, na, nr, &
|
||||
exc_s, vxc_s, vxg_s, vtau_s, energy_only=energy_only)
|
||||
exc_s, vxc_s, vxg_s, vtau_s, energy_only=energy_only, &
|
||||
atom_force=skala_atom_force_s, atom_virial=skala_atom_virial_s)
|
||||
ELSE
|
||||
CALL vxc_of_r_new(xc_fun_section, rho_set_s, deriv_set, 1, needs, weight_s, &
|
||||
lsd, na, nr, exc_s, vxc_s, vxg_s, vtau_s, energy_only=energy_only, &
|
||||
|
|
@ -394,6 +460,21 @@ CONTAINS
|
|||
! Add contributions to the exc energy
|
||||
|
||||
exc1 = exc1 + rho_atom%exc_h - rho_atom%exc_s
|
||||
IF (skala_atom_grid .AND. my_calculate_forces .AND. ASSOCIATED(force)) THEN
|
||||
force(ikind)%rho_elec(:, iat) = force(ikind)%rho_elec(:, iat) + &
|
||||
skala_atom_force_h - skala_atom_force_s
|
||||
END IF
|
||||
IF (skala_atom_grid .AND. use_virial) THEN
|
||||
skala_atom_virial = skala_atom_virial_h - skala_atom_virial_s
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, 3
|
||||
virial%pv_gapw(idir, jdir) = virial%pv_gapw(idir, jdir) + &
|
||||
skala_atom_virial(idir, jdir)
|
||||
virial%pv_virial(idir, jdir) = virial%pv_virial(idir, jdir) + &
|
||||
skala_atom_virial(idir, jdir)
|
||||
END DO
|
||||
END DO
|
||||
END IF
|
||||
|
||||
! Integration to get the matrix elements relative to the vxc_atom
|
||||
! here the products with the primitives is done: gaVxcgb
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ MODULE skala_gpw_features
|
|||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'skala_gpw_features'
|
||||
REAL(KIND=dp), PARAMETER, PRIVATE :: layout_tol = 1.0E-12_dp
|
||||
INTEGER, PARAMETER, PRIVATE :: ndynamic_per_point = 10, nrks_dynamic_per_point = 5, &
|
||||
nstatic_per_point = 4, ngrad_per_point = 10
|
||||
nstatic_per_point = 5, ngrad_per_point = 10
|
||||
INTEGER, PARAMETER, PUBLIC :: skala_gpw_atom_partition_hard = 1, &
|
||||
skala_gpw_atom_partition_smooth = 2
|
||||
REAL(KIND=dp), PARAMETER, PRIVATE :: smooth_partition_eps = 1.0E-12_dp
|
||||
|
|
@ -256,11 +256,8 @@ CONTAINS
|
|||
CALL ensure_layout_cache(pw_grid, particle_set, cell, weights, my_atom_partition)
|
||||
CALL timestop(phase_handle)
|
||||
nflat = cached_layout%nflat
|
||||
can_use_atom_chunks = my_use_atom_chunks .AND. cached_layout%chunk_feature_count > 0
|
||||
IF (my_requires_stress_grad .AND. can_use_atom_chunks) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA analytical stress is not implemented with atom-chunk routing yet.")
|
||||
END IF
|
||||
can_use_atom_chunks = my_use_atom_chunks .AND. cached_layout%chunk_feature_count > 0 .AND. &
|
||||
.NOT. (my_requires_coordinate_grad .OR. my_requires_stress_grad)
|
||||
collapse_spin_dynamics = (nspins == 1 .AND. can_use_atom_chunks .AND. &
|
||||
my_route_atom_chunks)
|
||||
ndynamic_local_per_point = ndynamic_per_point
|
||||
|
|
@ -625,9 +622,9 @@ CONTAINS
|
|||
local_owner(nfeature_local) = owner
|
||||
local_source_points(nfeature_local) = local_row
|
||||
static_base = nstatic_per_point*(nfeature_local - 1)
|
||||
local_static(static_base + 1:static_base + 3) = &
|
||||
nearest_image_coordinate(owner_coord, grid_point, cell)
|
||||
local_static(static_base + 1:static_base + 3) = grid_point
|
||||
local_static(static_base + 4) = base_weight
|
||||
local_static(static_base + 5) = base_weight
|
||||
ELSE
|
||||
CALL smooth_atom_partition(grid_point, atom_coords_pbc, cell, &
|
||||
partition_weights, atom_image_coords, distances)
|
||||
|
|
@ -647,9 +644,9 @@ CONTAINS
|
|||
local_owner(nfeature_local) = iatom
|
||||
local_source_points(nfeature_local) = local_row
|
||||
static_base = nstatic_per_point*(nfeature_local - 1)
|
||||
local_static(static_base + 1:static_base + 3) = &
|
||||
atom_image_coords(:, iatom)
|
||||
local_static(static_base + 1:static_base + 3) = grid_point
|
||||
local_static(static_base + 4) = base_weight*partition_weight
|
||||
local_static(static_base + 5) = base_weight
|
||||
END DO
|
||||
END IF
|
||||
END DO
|
||||
|
|
@ -773,7 +770,7 @@ CONTAINS
|
|||
static_base = nstatic_per_point*(ipt - 1)
|
||||
cached_layout%grid_coords(:, row) = global_static(static_base + 1:static_base + 3)
|
||||
cached_layout%grid_weights(row) = global_static(static_base + 4)
|
||||
cached_layout%atomic_grid_weights(row) = cached_layout%grid_weights(row)
|
||||
cached_layout%atomic_grid_weights(row) = global_static(static_base + 5)
|
||||
source_local = source_global - point_displs(pe_index)
|
||||
IF (source_local >= 1 .AND. source_local <= nflat_local) THEN
|
||||
feature_local = cursor(source_local)
|
||||
|
|
@ -1911,11 +1908,9 @@ CONTAINS
|
|||
features%owns_dynamic_tensors = .FALSE.
|
||||
features%owns_inputs = .TRUE.
|
||||
IF (use_atom_chunks) THEN
|
||||
IF (requires_stress_grad .OR. my_requires_weight_grad) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA analytical stress/SMOOTH derivatives are not implemented "// &
|
||||
"with atom-chunk tensors yet.")
|
||||
END IF
|
||||
CPASSERT(.NOT. requires_coordinate_grad)
|
||||
CPASSERT(.NOT. requires_stress_grad)
|
||||
CPASSERT(.NOT. my_requires_weight_grad)
|
||||
CPASSERT(cached_layout%chunk_static_tensors_active)
|
||||
features%grid_coords_t = cached_layout%chunk_grid_coords_t
|
||||
features%grid_weights_t = cached_layout%chunk_grid_weights_t
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ MODULE skala_gpw_functional
|
|||
skala_gpw_feature_type,&
|
||||
skala_gpw_smooth_partition_derivatives
|
||||
USE skala_torch_api, ONLY: skala_torch_model_get_exc,&
|
||||
skala_torch_model_get_exc_density,&
|
||||
skala_torch_model_load,&
|
||||
skala_torch_model_release,&
|
||||
skala_torch_model_type
|
||||
|
|
@ -68,9 +69,14 @@ MODULE skala_gpw_functional
|
|||
atom_chunk_auto_min_rows = 100000, &
|
||||
atom_chunk_auto_row_quantum = 100000, &
|
||||
ncollapsed_grad_per_point = 5, ngrad_per_point = 10
|
||||
INTEGER, PARAMETER, PUBLIC :: skala_gapw_density_partition_hard_minus_soft = 1, &
|
||||
skala_gapw_density_partition_hard_only = 2, &
|
||||
skala_gapw_density_partition_soft_only = 3, &
|
||||
skala_gapw_density_partition_none = 4
|
||||
|
||||
PUBLIC :: ensure_native_skala_grid_scope, get_gauxc_section, skala_gapw_atom_vxc_of_r, &
|
||||
skala_gpw_eval, xc_section_uses_native_skala_grid
|
||||
native_skala_gapw_density_partition, skala_gpw_eval, skala_gpw_exc_density, &
|
||||
xc_section_uses_native_skala_grid, xc_section_uses_onedft_model
|
||||
|
||||
TYPE(skala_torch_model_type), SAVE :: cached_model
|
||||
CHARACTER(len=default_path_length), SAVE :: cached_model_path = ""
|
||||
|
|
@ -102,6 +108,60 @@ CONTAINS
|
|||
|
||||
END FUNCTION xc_section_uses_native_skala_grid
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Return true if the GAUXC subsection requests a OneDFT/SKALA-style model.
|
||||
!> \param xc_section ...
|
||||
!> \return ...
|
||||
! **************************************************************************************************
|
||||
FUNCTION xc_section_uses_onedft_model(xc_section) RESULT(uses_onedft_model)
|
||||
TYPE(section_vals_type), INTENT(IN), POINTER :: xc_section
|
||||
LOGICAL :: uses_onedft_model
|
||||
|
||||
CHARACTER(len=default_path_length) :: model_key, model_name
|
||||
TYPE(section_vals_type), POINTER :: gauxc_section
|
||||
|
||||
uses_onedft_model = .FALSE.
|
||||
gauxc_section => get_gauxc_section(xc_section)
|
||||
IF (ASSOCIATED(gauxc_section)) THEN
|
||||
CALL section_vals_val_get(gauxc_section, "MODEL", c_val=model_name)
|
||||
model_key = ADJUSTL(model_name)
|
||||
CALL uppercase(model_key)
|
||||
uses_onedft_model = (TRIM(model_key) /= "" .AND. TRIM(model_key) /= "NONE")
|
||||
END IF
|
||||
|
||||
END FUNCTION xc_section_uses_onedft_model
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Return the hard/soft GAPW one-center density partition for native SKALA.
|
||||
!> \param xc_section ...
|
||||
!> \return ...
|
||||
! **************************************************************************************************
|
||||
FUNCTION native_skala_gapw_density_partition(xc_section) RESULT(partition)
|
||||
TYPE(section_vals_type), INTENT(IN), POINTER :: xc_section
|
||||
INTEGER :: partition
|
||||
|
||||
TYPE(section_vals_type), POINTER :: gauxc_section
|
||||
|
||||
partition = skala_gapw_density_partition_hard_minus_soft
|
||||
gauxc_section => get_gauxc_section(xc_section)
|
||||
IF (ASSOCIATED(gauxc_section)) THEN
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_GAPW_DENSITY_PARTITION", &
|
||||
i_val=partition)
|
||||
END IF
|
||||
|
||||
SELECT CASE (partition)
|
||||
CASE (skala_gapw_density_partition_hard_minus_soft, &
|
||||
skala_gapw_density_partition_hard_only, &
|
||||
skala_gapw_density_partition_soft_only, &
|
||||
skala_gapw_density_partition_none)
|
||||
CONTINUE
|
||||
CASE DEFAULT
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Unknown GAUXC%NATIVE_GRID_GAPW_DENSITY_PARTITION value.")
|
||||
END SELECT
|
||||
|
||||
END FUNCTION native_skala_gapw_density_partition
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Enforce the currently implemented native SKALA GPW input scope.
|
||||
!> \param xc_section ...
|
||||
|
|
@ -259,9 +319,12 @@ CONTAINS
|
|||
CALL cp_abort(__LOCATION__, &
|
||||
"GAUXC%NATIVE_GRID_ATOM_CHUNK_MAX_ROWS must be -1, zero, or positive.")
|
||||
END IF
|
||||
IF (native_grid_atom_chunks .AND. needs_atom_force) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Native SKALA GPW atom chunks are not implemented for atom forces yet.")
|
||||
IF (needs_atom_force .OR. compute_virial) THEN
|
||||
IF (native_grid_atom_partition == skala_gpw_atom_partition_hard) THEN
|
||||
native_grid_atom_partition = skala_gpw_atom_partition_smooth
|
||||
END IF
|
||||
native_grid_atom_chunk_routing = .FALSE.
|
||||
native_grid_atom_chunks = .FALSE.
|
||||
END IF
|
||||
! The portable SKALA export used by the regtests builds ragged-index tensors on CPU.
|
||||
CALL torch_use_cuda(native_grid_use_cuda)
|
||||
|
|
@ -341,6 +404,18 @@ CONTAINS
|
|||
CALL torch_tensor_backward_scalar(exc_tensor)
|
||||
CALL timestop(phase_handle)
|
||||
|
||||
IF (compute_virial) THEN
|
||||
IF (native_grid_diagnostics) virial_before = virial_xc
|
||||
CALL build_weight_virial(virial_xc, features, exc, grid_weight_grad_t, &
|
||||
atomic_grid_weight_grad_t, &
|
||||
rho_r(1)%pw_grid%para%group%mepos == 0, &
|
||||
native_grid_diagnostics)
|
||||
IF (native_grid_diagnostics) THEN
|
||||
CALL print_virial_delta("weight-residual", virial_xc - virial_before, &
|
||||
rho_r(1)%pw_grid%para%group%mepos == 0)
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CALL timeset("skala_gpw_grad_fetch", phase_handle)
|
||||
IF (features%uses_atom_chunks) THEN
|
||||
CALL fetch_and_gather_atom_chunk_grads(features, rho_r(1)%pw_grid%para%group, &
|
||||
|
|
@ -391,14 +466,6 @@ CONTAINS
|
|||
virial_before = virial_xc
|
||||
END IF
|
||||
END IF
|
||||
CALL build_weight_virial(virial_xc, features, exc, grid_weight_grad_t, &
|
||||
atomic_grid_weight_grad_t, &
|
||||
rho_r(1)%pw_grid%para%group%mepos == 0, &
|
||||
native_grid_diagnostics)
|
||||
IF (native_grid_diagnostics) THEN
|
||||
CALL print_virial_delta("weight-residual", virial_xc - virial_before, &
|
||||
rho_r(1)%pw_grid%para%group%mepos == 0)
|
||||
END IF
|
||||
END IF
|
||||
CALL build_vxc_from_feature_grads(vxc_rho, vxc_tau, rho_r, pw_pool, &
|
||||
density_grad, grad_grad, kin_grad, &
|
||||
|
|
@ -420,6 +487,135 @@ CONTAINS
|
|||
|
||||
END SUBROUTINE skala_gpw_eval
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Evaluate the native SKALA XC energy density on the CP2K PW grid.
|
||||
!> \param exc_r ...
|
||||
!> \param rho_r ...
|
||||
!> \param rho_g ...
|
||||
!> \param tau ...
|
||||
!> \param xc_section ...
|
||||
!> \param weights ...
|
||||
!> \param pw_pool ...
|
||||
!> \param particle_set ...
|
||||
!> \param cell ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE skala_gpw_exc_density(exc_r, rho_r, rho_g, tau, xc_section, weights, pw_pool, &
|
||||
particle_set, cell)
|
||||
TYPE(pw_r3d_rs_type), INTENT(INOUT) :: exc_r
|
||||
TYPE(pw_r3d_rs_type), DIMENSION(:), POINTER :: rho_r
|
||||
TYPE(pw_c1d_gs_type), DIMENSION(:), POINTER :: rho_g
|
||||
TYPE(pw_r3d_rs_type), DIMENSION(:), POINTER :: tau
|
||||
TYPE(section_vals_type), POINTER :: xc_section
|
||||
TYPE(pw_r3d_rs_type), POINTER :: weights
|
||||
TYPE(pw_pool_type), POINTER :: pw_pool
|
||||
TYPE(particle_type), DIMENSION(:), POINTER :: particle_set
|
||||
TYPE(cell_type), POINTER :: cell
|
||||
|
||||
CHARACTER(len=default_path_length) :: model_path
|
||||
INTEGER :: feature_pos, i, j, k, local_row, native_grid_atom_partition, &
|
||||
native_grid_cuda_device, nspins, row, selected_cuda_device, xc_deriv_method_id, &
|
||||
xc_rho_smooth_id
|
||||
LOGICAL :: lsd, native_grid_atom_chunk_routing, &
|
||||
native_grid_atom_chunks, &
|
||||
native_grid_use_cuda
|
||||
REAL(KIND=dp) :: local_exc
|
||||
REAL(KIND=dp), DIMENSION(:), POINTER :: exc_density
|
||||
TYPE(section_vals_type), POINTER :: gauxc_section
|
||||
TYPE(skala_gpw_feature_type) :: features
|
||||
TYPE(torch_tensor_type) :: exc_density_t
|
||||
TYPE(xc_rho_cflags_type) :: needs
|
||||
TYPE(xc_rho_set_type) :: rho_set
|
||||
|
||||
CPASSERT(ASSOCIATED(rho_r))
|
||||
CPASSERT(ASSOCIATED(rho_g))
|
||||
CPASSERT(ASSOCIATED(tau))
|
||||
CALL pw_zero(exc_r)
|
||||
|
||||
nspins = SIZE(rho_r)
|
||||
lsd = (nspins /= 1)
|
||||
CALL get_skala_model_path(xc_section, model_path)
|
||||
gauxc_section => get_gauxc_section(xc_section)
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_USE_CUDA", l_val=native_grid_use_cuda)
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_CUDA_DEVICE", &
|
||||
i_val=native_grid_cuda_device)
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_ATOM_CHUNKS", &
|
||||
l_val=native_grid_atom_chunks)
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_ATOM_CHUNK_ROUTING", &
|
||||
l_val=native_grid_atom_chunk_routing)
|
||||
native_grid_atom_chunks = .FALSE.
|
||||
native_grid_atom_chunk_routing = .FALSE.
|
||||
CALL section_vals_val_get(gauxc_section, "NATIVE_GRID_ATOM_PARTITION", &
|
||||
i_val=native_grid_atom_partition)
|
||||
SELECT CASE (native_grid_atom_partition)
|
||||
CASE (1)
|
||||
native_grid_atom_partition = skala_gpw_atom_partition_hard
|
||||
CASE (2)
|
||||
native_grid_atom_partition = skala_gpw_atom_partition_smooth
|
||||
CASE DEFAULT
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"Unknown GAUXC%NATIVE_GRID_ATOM_PARTITION value.")
|
||||
END SELECT
|
||||
|
||||
CALL torch_use_cuda(native_grid_use_cuda)
|
||||
selected_cuda_device = configure_native_grid_cuda( &
|
||||
native_grid_use_cuda, native_grid_cuda_device, rho_r(1)%pw_grid%para%group)
|
||||
CALL ensure_model_loaded(model_path, selected_cuda_device)
|
||||
|
||||
IF (lsd) THEN
|
||||
needs%rho_spin = .TRUE.
|
||||
needs%drho_spin = .TRUE.
|
||||
needs%tau_spin = .TRUE.
|
||||
ELSE
|
||||
needs%rho = .TRUE.
|
||||
needs%drho = .TRUE.
|
||||
needs%tau = .TRUE.
|
||||
END IF
|
||||
|
||||
CALL section_vals_val_get(xc_section, "XC_GRID%XC_DERIV", i_val=xc_deriv_method_id)
|
||||
CALL section_vals_val_get(xc_section, "XC_GRID%XC_SMOOTH_RHO", i_val=xc_rho_smooth_id)
|
||||
|
||||
CALL xc_rho_set_create(rho_set, &
|
||||
rho_r(1)%pw_grid%bounds_local, &
|
||||
rho_cutoff=section_get_rval(xc_section, "density_cutoff"), &
|
||||
drho_cutoff=section_get_rval(xc_section, "gradient_cutoff"), &
|
||||
tau_cutoff=section_get_rval(xc_section, "tau_cutoff"))
|
||||
CALL xc_rho_set_update(rho_set, rho_r, rho_g, tau, needs, &
|
||||
xc_deriv_method_id, xc_rho_smooth_id, pw_pool)
|
||||
|
||||
CALL skala_gpw_feature_build(features, rho_set, rho_r, particle_set, cell, &
|
||||
requires_grad=.FALSE., weights=weights, &
|
||||
requires_coordinate_grad=.FALSE., &
|
||||
requires_stress_grad=.FALSE., &
|
||||
use_atom_chunks=.FALSE., route_atom_chunks=.FALSE., &
|
||||
atom_partition=native_grid_atom_partition)
|
||||
CALL skala_torch_model_get_exc_density(cached_model, features%inputs, exc_density_t)
|
||||
NULLIFY (exc_density)
|
||||
CALL torch_tensor_data_ptr(exc_density_t, exc_density)
|
||||
|
||||
local_row = 0
|
||||
DO k = LBOUND(features%feature_index, 3), UBOUND(features%feature_index, 3)
|
||||
DO j = LBOUND(features%feature_index, 2), UBOUND(features%feature_index, 2)
|
||||
DO i = LBOUND(features%feature_index, 1), UBOUND(features%feature_index, 1)
|
||||
local_row = local_row + 1
|
||||
local_exc = 0.0_dp
|
||||
DO feature_pos = features%local_feature_offsets(local_row), &
|
||||
features%local_feature_offsets(local_row + 1) - 1
|
||||
row = features%local_feature_rows(feature_pos)
|
||||
local_exc = local_exc + exc_density(row)*features%grid_weights(row)
|
||||
END DO
|
||||
exc_r%array(i, j, k) = local_exc/rho_r(1)%pw_grid%dvol
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
CPASSERT(local_row == features%nflat_local)
|
||||
|
||||
CALL torch_tensor_release(exc_density_t)
|
||||
CALL skala_gpw_feature_release(features)
|
||||
CALL xc_rho_set_release(rho_set, pw_pool=pw_pool)
|
||||
CALL torch_use_cuda(.TRUE.)
|
||||
|
||||
END SUBROUTINE skala_gpw_exc_density
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Evaluate SKALA on a GAPW one-center atomic grid.
|
||||
!> \param xc_section ...
|
||||
|
|
@ -439,10 +635,12 @@ CONTAINS
|
|||
!> \param vxg ...
|
||||
!> \param vtau ...
|
||||
!> \param energy_only ...
|
||||
!> \param atom_force ...
|
||||
!> \param atom_virial ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE skala_gapw_atom_vxc_of_r(xc_section, grid_atom, group, atom_coord, &
|
||||
rho, drho, tau, weights, lsd, nspins, na, nr, &
|
||||
exc, vxc, vxg, vtau, energy_only)
|
||||
exc, vxc, vxg, vtau, energy_only, atom_force, atom_virial)
|
||||
TYPE(section_vals_type), POINTER :: xc_section
|
||||
TYPE(grid_atom_type), POINTER :: grid_atom
|
||||
|
||||
|
|
@ -455,28 +653,36 @@ CONTAINS
|
|||
INTEGER, INTENT(IN) :: nspins, na, nr
|
||||
REAL(KIND=dp), INTENT(OUT) :: exc
|
||||
LOGICAL, INTENT(IN), OPTIONAL :: energy_only
|
||||
REAL(KIND=dp), DIMENSION(3), INTENT(OUT), &
|
||||
OPTIONAL :: atom_force
|
||||
REAL(KIND=dp), DIMENSION(3, 3), INTENT(OUT), &
|
||||
OPTIONAL :: atom_virial
|
||||
|
||||
CHARACTER(len=default_path_length) :: model_path
|
||||
INTEGER :: ia, idir, ir, native_grid_cuda_device, &
|
||||
nflat, row, selected_cuda_device
|
||||
jdir, nflat, row, selected_cuda_device
|
||||
INTEGER(KIND=int_8), ALLOCATABLE, DIMENSION(:) :: atomic_grid_sizes
|
||||
INTEGER(KIND=int_8), ALLOCATABLE, DIMENSION(:, :) :: atomic_grid_size_bound_shape
|
||||
LOGICAL :: my_energy_only, native_grid_use_cuda
|
||||
LOGICAL :: need_coord_grad, my_energy_only, native_grid_use_cuda
|
||||
REAL(KIND=dp) :: tmp
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: atomic_grid_weights, grid_weights
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: coarse_0_atomic_coords, density, &
|
||||
grid_coords, kin
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :, :) :: grad
|
||||
REAL(KIND=dp), DIMENSION(:, :), POINTER :: density_grad, kin_grad
|
||||
REAL(KIND=dp), DIMENSION(:, :), POINTER :: atom_coord_grad, density_grad, &
|
||||
grid_coord_grad, kin_grad
|
||||
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: grad_grad
|
||||
TYPE(section_vals_type), POINTER :: gauxc_section
|
||||
TYPE(torch_dict_type) :: inputs
|
||||
TYPE(torch_tensor_type) :: atomic_grid_size_bound_shape_t, &
|
||||
atomic_grid_sizes_t, &
|
||||
atomic_grid_weights_t, &
|
||||
atom_coord_grad_t, &
|
||||
coarse_0_atomic_coords_t, density_t, &
|
||||
density_grad_t, exc_tensor, grad_t, &
|
||||
grad_grad_t, grid_coords_t, &
|
||||
grid_weights_t, kin_t, kin_grad_t
|
||||
grad_grad_t, grid_coord_grad_t, &
|
||||
grid_coords_t, grid_weights_t, kin_t, &
|
||||
kin_grad_t
|
||||
|
||||
CPASSERT(ASSOCIATED(xc_section))
|
||||
CPASSERT(ASSOCIATED(grid_atom))
|
||||
|
|
@ -486,7 +692,10 @@ CONTAINS
|
|||
|
||||
my_energy_only = .FALSE.
|
||||
IF (PRESENT(energy_only)) my_energy_only = energy_only
|
||||
need_coord_grad = PRESENT(atom_force) .OR. PRESENT(atom_virial)
|
||||
exc = 0.0_dp
|
||||
IF (PRESENT(atom_force)) atom_force = 0.0_dp
|
||||
IF (PRESENT(atom_virial)) atom_virial = 0.0_dp
|
||||
IF (.NOT. my_energy_only) THEN
|
||||
vxc = 0.0_dp
|
||||
vxg = 0.0_dp
|
||||
|
|
@ -547,7 +756,7 @@ CONTAINS
|
|||
END DO
|
||||
|
||||
CALL torch_tensor_from_array(grid_coords_t, grid_coords)
|
||||
CALL torch_tensor_to_device_leaf(grid_coords_t, .FALSE.)
|
||||
CALL torch_tensor_to_device_leaf(grid_coords_t, need_coord_grad)
|
||||
CALL torch_tensor_from_array(grid_weights_t, grid_weights)
|
||||
CALL torch_tensor_to_device_leaf(grid_weights_t, .FALSE.)
|
||||
CALL torch_tensor_from_array(atomic_grid_weights_t, atomic_grid_weights)
|
||||
|
|
@ -558,7 +767,7 @@ CONTAINS
|
|||
atomic_grid_size_bound_shape)
|
||||
CALL torch_tensor_to_device_leaf(atomic_grid_size_bound_shape_t, .FALSE.)
|
||||
CALL torch_tensor_from_array(coarse_0_atomic_coords_t, coarse_0_atomic_coords)
|
||||
CALL torch_tensor_to_device_leaf(coarse_0_atomic_coords_t, .FALSE.)
|
||||
CALL torch_tensor_to_device_leaf(coarse_0_atomic_coords_t, need_coord_grad)
|
||||
CALL torch_tensor_from_array(density_t, density)
|
||||
CALL torch_tensor_to_device_leaf(density_t,.NOT. my_energy_only)
|
||||
CALL torch_tensor_from_array(grad_t, grad)
|
||||
|
|
@ -581,8 +790,36 @@ CONTAINS
|
|||
CALL skala_torch_model_get_exc(cached_model, inputs, grid_weights_t, exc_tensor, exc)
|
||||
|
||||
IF (.NOT. my_energy_only) THEN
|
||||
NULLIFY (density_grad, grad_grad, kin_grad)
|
||||
NULLIFY (atom_coord_grad, density_grad, grad_grad, grid_coord_grad, kin_grad)
|
||||
CALL torch_tensor_backward_scalar(exc_tensor)
|
||||
IF (need_coord_grad) THEN
|
||||
CALL torch_tensor_grad(grid_coords_t, grid_coord_grad_t)
|
||||
CALL torch_tensor_grad(coarse_0_atomic_coords_t, atom_coord_grad_t)
|
||||
CALL torch_tensor_data_ptr(grid_coord_grad_t, grid_coord_grad)
|
||||
CALL torch_tensor_data_ptr(atom_coord_grad_t, atom_coord_grad)
|
||||
IF (PRESENT(atom_force)) THEN
|
||||
atom_force(:) = atom_coord_grad(:, 1)
|
||||
DO row = 1, nflat
|
||||
atom_force(:) = atom_force(:) + grid_coord_grad(:, row)
|
||||
END DO
|
||||
END IF
|
||||
IF (PRESENT(atom_virial)) THEN
|
||||
DO row = 1, nflat
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, 3
|
||||
tmp = grid_coord_grad(idir, row)*coarse_0_atomic_coords(jdir, 1)
|
||||
atom_virial(idir, jdir) = atom_virial(idir, jdir) + tmp
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, 3
|
||||
tmp = atom_coord_grad(idir, 1)*coarse_0_atomic_coords(jdir, 1)
|
||||
atom_virial(idir, jdir) = atom_virial(idir, jdir) + tmp
|
||||
END DO
|
||||
END DO
|
||||
END IF
|
||||
END IF
|
||||
CALL torch_tensor_grad(density_t, density_grad_t)
|
||||
CALL torch_tensor_grad(grad_t, grad_grad_t)
|
||||
CALL torch_tensor_grad(kin_t, kin_grad_t)
|
||||
|
|
@ -614,6 +851,10 @@ CONTAINS
|
|||
CALL torch_tensor_release(density_grad_t)
|
||||
CALL torch_tensor_release(grad_grad_t)
|
||||
CALL torch_tensor_release(kin_grad_t)
|
||||
IF (need_coord_grad) THEN
|
||||
CALL torch_tensor_release(grid_coord_grad_t)
|
||||
CALL torch_tensor_release(atom_coord_grad_t)
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CALL torch_tensor_release(exc_tensor)
|
||||
|
|
@ -728,7 +969,7 @@ CONTAINS
|
|||
DO iatom = 1, natom
|
||||
IF (.NOT. included(iatom)) CYCLE
|
||||
row = features%local_feature_rows(feature_pos)
|
||||
weight_grad = grid_weight_grad(row) + atomic_grid_weight_grad(row)
|
||||
weight_grad = grid_weight_grad(row)
|
||||
DO jatom = 1, natom
|
||||
atom_force(:, jatom) = atom_force(:, jatom) + &
|
||||
weight_grad*base_weight* &
|
||||
|
|
@ -815,12 +1056,12 @@ CONTAINS
|
|||
DO iatom = 1, natom
|
||||
IF (.NOT. included(iatom)) CYCLE
|
||||
row = features%local_feature_rows(feature_pos)
|
||||
weight_grad = grid_weight_grad(row) + atomic_grid_weight_grad(row)
|
||||
weight_grad = grid_weight_grad(row)
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, idir
|
||||
tmp = weight_grad*base_weight*dweights_dstrain(idir, jdir, iatom)
|
||||
virial_xc(jdir, idir) = virial_xc(jdir, idir) + tmp
|
||||
virial_xc(idir, jdir) = virial_xc(jdir, idir)
|
||||
IF (idir /= jdir) virial_xc(idir, jdir) = virial_xc(idir, jdir) + tmp
|
||||
END DO
|
||||
END DO
|
||||
feature_pos = feature_pos + 1
|
||||
|
|
@ -1525,12 +1766,10 @@ CONTAINS
|
|||
features%local_feature_offsets(local_row + 1) - 1
|
||||
row = features%local_feature_rows(feature_pos)
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, idir
|
||||
DO jdir = 1, 3
|
||||
tmp = grid_coord_grad(idir, row)*features%grid_coords(jdir, row)
|
||||
grid_virial(jdir, idir) = grid_virial(jdir, idir) + tmp
|
||||
grid_virial(idir, jdir) = grid_virial(jdir, idir)
|
||||
virial_xc(jdir, idir) = virial_xc(jdir, idir) + tmp
|
||||
virial_xc(idir, jdir) = virial_xc(jdir, idir)
|
||||
grid_virial(idir, jdir) = grid_virial(idir, jdir) + tmp
|
||||
virial_xc(idir, jdir) = virial_xc(idir, jdir) + tmp
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
|
|
@ -1542,12 +1781,10 @@ CONTAINS
|
|||
IF (root_rank) THEN
|
||||
DO iatom = 1, SIZE(features%coarse_0_atomic_coords, 2)
|
||||
DO idir = 1, 3
|
||||
DO jdir = 1, idir
|
||||
DO jdir = 1, 3
|
||||
tmp = atom_coord_grad(idir, iatom)*features%coarse_0_atomic_coords(jdir, iatom)
|
||||
atom_virial(jdir, idir) = atom_virial(jdir, idir) + tmp
|
||||
atom_virial(idir, jdir) = atom_virial(jdir, idir)
|
||||
virial_xc(jdir, idir) = virial_xc(jdir, idir) + tmp
|
||||
virial_xc(idir, jdir) = virial_xc(jdir, idir)
|
||||
atom_virial(idir, jdir) = atom_virial(idir, jdir) + tmp
|
||||
virial_xc(idir, jdir) = virial_xc(idir, jdir) + tmp
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
#include <cassert>
|
||||
|
||||
#include <cfenv>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
|
|
@ -25,6 +26,21 @@ typedef torch::Tensor torch_c_tensor_t;
|
|||
typedef c10::Dict<std::string, torch::Tensor> torch_c_dict_t;
|
||||
typedef torch::jit::Module torch_c_model_t;
|
||||
|
||||
class TorchFloatingPointMaskGuard {
|
||||
public:
|
||||
TorchFloatingPointMaskGuard() : active_(std::feholdexcept(&env_) == 0) {}
|
||||
~TorchFloatingPointMaskGuard() {
|
||||
if (active_) {
|
||||
std::feclearexcept(FE_ALL_EXCEPT);
|
||||
std::fesetenv(&env_);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
std::fenv_t env_;
|
||||
bool active_;
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
* \brief Internal helper for selecting the CUDA device when available.
|
||||
* \author Ole Schuett
|
||||
|
|
@ -302,6 +318,7 @@ void torch_c_tensor_data_ptr_double(const torch_c_tensor_t *tensor,
|
|||
******************************************************************************/
|
||||
void torch_c_tensor_backward(const torch_c_tensor_t *tensor,
|
||||
const torch_c_tensor_t *outer_grad) {
|
||||
TorchFloatingPointMaskGuard fpe_guard;
|
||||
c10::OptionalDeviceGuard guard;
|
||||
get_device_with_guard(guard);
|
||||
tensor->backward(*outer_grad);
|
||||
|
|
@ -311,6 +328,7 @@ void torch_c_tensor_backward(const torch_c_tensor_t *tensor,
|
|||
* \brief Runs autograd on a scalar Torch tensor.
|
||||
******************************************************************************/
|
||||
void torch_c_tensor_backward_scalar(const torch_c_tensor_t *tensor) {
|
||||
TorchFloatingPointMaskGuard fpe_guard;
|
||||
c10::OptionalDeviceGuard guard;
|
||||
get_device_with_guard(guard);
|
||||
tensor->backward();
|
||||
|
|
@ -424,6 +442,7 @@ void torch_c_model_load(torch_c_model_t **model_out, const char *filename) {
|
|||
void torch_c_model_forward(torch_c_model_t *model, const torch_c_dict_t *inputs,
|
||||
torch_c_dict_t *outputs) {
|
||||
|
||||
TorchFloatingPointMaskGuard fpe_guard;
|
||||
c10::OptionalDeviceGuard guard;
|
||||
get_device_with_guard(guard);
|
||||
auto untyped_output = model->forward({*inputs}).toGenericDict();
|
||||
|
|
|
|||
|
|
@ -66,7 +66,8 @@ MODULE xc_gauxc_functional
|
|||
LOGICAL, PARAMETER :: debug_this_module = .TRUE.
|
||||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'xc_gauxc_functional'
|
||||
|
||||
PUBLIC :: apply_gauxc, skala_info, xc_section_uses_gauxc
|
||||
PUBLIC :: apply_gauxc, gauxc_gapw_has_paw_pseudopotentials, skala_info, &
|
||||
xc_section_uses_gauxc
|
||||
|
||||
INTERFACE
|
||||
INTEGER(c_int) FUNCTION c_setenv(name, value, overwrite) BIND(C, name="setenv")
|
||||
|
|
@ -954,10 +955,7 @@ CONTAINS
|
|||
TYPE(section_vals_type), INTENT(in), POINTER :: xc_section
|
||||
LOGICAL, INTENT(IN) :: calculate_forces
|
||||
|
||||
CHARACTER(len=*), PARAMETER :: gapw_xc_abort_message = &
|
||||
"GauXC with METHOD GAPW_XC is not supported yet. "// &
|
||||
"The GAPW_XC one-center XC correction needs a dedicated GauXC design.", &
|
||||
nonlocal_vdw_abort_message = &
|
||||
CHARACTER(len=*), PARAMETER :: nonlocal_vdw_abort_message = &
|
||||
"GauXC does not support non-local VDW_POTENTIAL corrections. "// &
|
||||
"Use an additive PAIR_POTENTIAL dispersion correction or disable GauXC."
|
||||
REAL(KIND=dp), PARAMETER :: gapw_fd_gradient_dx = 1.0E-4_dp
|
||||
|
|
@ -969,11 +967,11 @@ CONTAINS
|
|||
INTEGER :: batch_size, env_status, img, ispin, &
|
||||
natom, nimages, nspins, &
|
||||
onedft_atom_chunk_size
|
||||
LOGICAL :: do_kpoints, gapw_paw_pseudopotentials, gapw_pseudopotentials, grid_explicit, &
|
||||
hdf5_output, is_periodic, molecular_virial, molecular_virial_debug, &
|
||||
onedft_atom_chunk_size_explicit, periodic_reference, pruning_explicit, use_fd_gradient, &
|
||||
use_gradient_mpi_runtime, use_gradient_self_runtime, use_onedft, use_self_runtime, &
|
||||
use_skala_model, write_hdf5_output
|
||||
LOGICAL :: do_kpoints, gapw_method, gapw_paw_pseudopotentials, gapw_pseudopotentials, &
|
||||
grid_explicit, hdf5_output, is_periodic, molecular_virial, molecular_virial_debug, &
|
||||
need_xc_gradient, onedft_atom_chunk_size_explicit, periodic_reference, pruning_explicit, &
|
||||
use_fd_gradient, use_gradient_mpi_runtime, use_gradient_self_runtime, use_onedft, &
|
||||
use_self_runtime, use_skala_model, write_hdf5_output
|
||||
REAL(KIND=dp) :: device_runtime_fill_fraction, &
|
||||
molecular_virial_debug_dx
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: density_scalar, density_zeta
|
||||
|
|
@ -1036,15 +1034,18 @@ CONTAINS
|
|||
rho_xc=rho_xc, &
|
||||
scf_env=scf_env)
|
||||
|
||||
IF (dft_control%qs_control%gapw_xc) THEN
|
||||
CPABORT(gapw_xc_abort_message)
|
||||
END IF
|
||||
gapw_pseudopotentials = dft_control%qs_control%gapw .AND. &
|
||||
gapw_method = dft_control%qs_control%gapw .OR. dft_control%qs_control%gapw_xc
|
||||
gapw_pseudopotentials = gapw_method .AND. &
|
||||
gauxc_gapw_has_pseudopotentials(qs_kind_set)
|
||||
gapw_paw_pseudopotentials = dft_control%qs_control%gapw .AND. &
|
||||
gapw_paw_pseudopotentials = gapw_method .AND. &
|
||||
gauxc_gapw_has_paw_pseudopotentials(qs_kind_set)
|
||||
CPASSERT(ASSOCIATED(rho))
|
||||
rho_use => rho
|
||||
IF (dft_control%qs_control%gapw_xc) THEN
|
||||
CPASSERT(ASSOCIATED(rho_xc))
|
||||
rho_use => rho_xc
|
||||
ELSE
|
||||
CPASSERT(ASSOCIATED(rho))
|
||||
rho_use => rho
|
||||
END IF
|
||||
CALL qs_rho_get( &
|
||||
rho_use, &
|
||||
rho_ao_kp=rho_ao)
|
||||
|
|
@ -1148,26 +1149,19 @@ CONTAINS
|
|||
use_skala_model = (INDEX(TRIM(model_key), "SKALA") > 0)
|
||||
IF (gapw_pseudopotentials .AND. .NOT. use_onedft) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"GauXC with METHOD GAPW and pseudopotentials is supported only for "// &
|
||||
"GauXC with METHOD GAPW/GAPW_XC and pseudopotentials is supported only for "// &
|
||||
"OneDFT/SKALA-style models that replace the molecular XC term. "// &
|
||||
"Use POTENTIAL ALL for local/semi-local GauXC GAPW validation or METHOD GPW "// &
|
||||
"with pseudopotentials.")
|
||||
END IF
|
||||
IF (gapw_paw_pseudopotentials .AND. use_onedft) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"GauXC OneDFT/SKALA with METHOD GAPW and GTH/ECP pseudopotentials supports "// &
|
||||
"only non-PAW regular-grid kinds, for example kinds treated through GPW_TYPE. "// &
|
||||
"PAW/one-center GAPW pseudopotential kinds need a dedicated SKALA-consistent "// &
|
||||
"one-center density design.")
|
||||
END IF
|
||||
IF (gapw_pseudopotentials .AND. use_onedft .AND. para_env%mepos == 0 .AND. &
|
||||
ASSOCIATED(scf_env)) THEN
|
||||
IF (gapw_pseudopotentials .AND. use_onedft .AND. .NOT. dft_control%qs_control%gapw_xc .AND. &
|
||||
.NOT. gapw_paw_pseudopotentials .AND. para_env%mepos == 0 .AND. ASSOCIATED(scf_env)) THEN
|
||||
IF (scf_env%iter_count == 1) THEN
|
||||
CALL cp_warn( &
|
||||
__LOCATION__, &
|
||||
"GauXC OneDFT/SKALA with METHOD GAPW and pseudopotentials evaluates the XC term "// &
|
||||
"directly on the molecular AO/valence density. CP2K's GAPW one-center XC "// &
|
||||
"correction is not used; METHOD GAPW_XC with GauXC remains unsupported.")
|
||||
"GauXC OneDFT/SKALA with METHOD GAPW and GPW_TYPE pseudopotentials evaluates "// &
|
||||
"the XC term directly on the molecular AO/valence density; no GAPW one-center "// &
|
||||
"XC correction is used for those regular-grid kinds.")
|
||||
END IF
|
||||
END IF
|
||||
IF (device_runtime_fill_fraction <= 0.0_dp .OR. device_runtime_fill_fraction > 1.0_dp) THEN
|
||||
|
|
@ -1185,13 +1179,7 @@ CONTAINS
|
|||
END IF
|
||||
molecular_virial = .TRUE.
|
||||
END IF
|
||||
IF (gapw_pseudopotentials .AND. use_onedft .AND. &
|
||||
(calculate_forces .OR. molecular_virial)) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"GauXC OneDFT/SKALA with METHOD GAPW and pseudopotentials currently "// &
|
||||
"supports energies only. Nuclear gradients and molecular virials need a "// &
|
||||
"dedicated derivative of the molecular AO/valence-density XC path.")
|
||||
END IF
|
||||
need_xc_gradient = calculate_forces .OR. molecular_virial
|
||||
CALL ensure_gauxc_periodic_reference_scope( &
|
||||
dft_control, cell, qs_kind_set, do_kpoints, periodic_reference)
|
||||
IF (is_periodic .AND. periodic_reference .AND. para_env%mepos == 0) THEN
|
||||
|
|
@ -1204,11 +1192,6 @@ CONTAINS
|
|||
END IF
|
||||
END IF
|
||||
END IF
|
||||
IF (dft_control%qs_control%gapw_xc .AND. use_onedft) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
"GauXC OneDFT/SKALA with METHOD GAPW_XC is not implemented. "// &
|
||||
"The GAPW_XC one-center XC correction must be evaluated by the same GauXC model.")
|
||||
END IF
|
||||
IF (use_onedft) THEN
|
||||
IF (has_nlcc(qs_kind_set)) THEN
|
||||
CALL cp_abort(__LOCATION__, &
|
||||
|
|
@ -1226,7 +1209,7 @@ CONTAINS
|
|||
pruning_key = ADJUSTL(pruning_scheme)
|
||||
CALL uppercase(grid_key)
|
||||
CALL uppercase(pruning_key)
|
||||
IF (use_skala_model .AND. (calculate_forces .OR. molecular_virial) .AND. &
|
||||
IF (use_skala_model .AND. need_xc_gradient .AND. &
|
||||
(TRIM(grid_key) /= "SUPERFINE" .OR. TRIM(pruning_key) /= "UNPRUNED")) THEN
|
||||
CALL cp_warn( &
|
||||
__LOCATION__, &
|
||||
|
|
@ -1254,10 +1237,10 @@ CONTAINS
|
|||
SELECT CASE (TRIM(onedft_gradient_runtime_key))
|
||||
CASE ("AUTO", "SELF")
|
||||
use_gradient_mpi_runtime = .FALSE.
|
||||
use_gradient_self_runtime = calculate_forces .AND. use_onedft .AND. &
|
||||
use_gradient_self_runtime = need_xc_gradient .AND. use_onedft .AND. &
|
||||
para_env%num_pe > 1 .AND. .NOT. use_self_runtime
|
||||
CASE ("MPI")
|
||||
use_gradient_mpi_runtime = calculate_forces .AND. use_onedft .AND. para_env%num_pe > 1
|
||||
use_gradient_mpi_runtime = need_xc_gradient .AND. use_onedft .AND. para_env%num_pe > 1
|
||||
use_gradient_self_runtime = .FALSE.
|
||||
CASE DEFAULT
|
||||
CALL cp_abort(__LOCATION__, "Unknown GAUXC%ONEDFT_GRADIENT_RUNTIME value.")
|
||||
|
|
@ -1307,21 +1290,17 @@ CONTAINS
|
|||
gauxc_status)
|
||||
CALL gauxc_check_status(gauxc_status)
|
||||
END IF
|
||||
use_fd_gradient = dft_control%qs_control%gapw .AND. calculate_forces .AND. &
|
||||
(use_skala_model .OR. gauxc_basis%max_l > 3)
|
||||
use_fd_gradient = gapw_method .AND. need_xc_gradient .AND. (gauxc_basis%max_l > 3)
|
||||
IF (use_fd_gradient) use_gradient_mpi_runtime = .FALSE.
|
||||
IF (use_gradient_mpi_runtime .AND. use_self_runtime) THEN
|
||||
CALL cp_abort( &
|
||||
__LOCATION__, &
|
||||
"GAUXC%ONEDFT_GRADIENT_RUNTIME MPI requires a GauXC MPI runtime. "// &
|
||||
"Use GAUXC%SKALA_RUNTIME MPI or a closed-shell AUTO runtime.")
|
||||
IF (use_gradient_mpi_runtime) THEN
|
||||
use_gradient_self_runtime = .FALSE.
|
||||
END IF
|
||||
IF (use_fd_gradient .AND. para_env%mepos == 0) THEN
|
||||
CALL cp_warn( &
|
||||
__LOCATION__, &
|
||||
"Using finite-difference GauXC XC gradients for METHOD GAPW with SKALA or "// &
|
||||
"all-electron basis functions beyond f shells. The upstream analytical GauXC "// &
|
||||
"gradient path is not yet reliable for this case.")
|
||||
"Using finite-difference GauXC XC gradients for METHOD GAPW/GAPW_XC with "// &
|
||||
"basis functions beyond f shells. The upstream analytical GauXC gradient path is "// &
|
||||
"not yet reliable for this case.")
|
||||
END IF
|
||||
IF (use_self_runtime) THEN
|
||||
! SKALA currently needs a replicated molecular runtime for reproducible
|
||||
|
|
@ -1413,7 +1392,7 @@ CONTAINS
|
|||
status=gauxc_status, &
|
||||
model=TRIM(model_name))
|
||||
CALL gauxc_check_status(gauxc_status)
|
||||
IF (calculate_forces) THEN
|
||||
IF (need_xc_gradient) THEN
|
||||
IF (use_fd_gradient) THEN
|
||||
CALL gauxc_xc_gradient_fd( &
|
||||
particle_set, qs_kind_set, density_scalar, nspins, model_name, &
|
||||
|
|
@ -1439,11 +1418,13 @@ CONTAINS
|
|||
model=TRIM(model_name))
|
||||
END IF
|
||||
CALL gauxc_check_status(gauxc_status)
|
||||
CALL add_gauxc_gradient_to_force( &
|
||||
exc_grad%exc_grad, &
|
||||
force, &
|
||||
atomic_kind_set, &
|
||||
para_env)
|
||||
IF (calculate_forces) THEN
|
||||
CALL add_gauxc_gradient_to_force( &
|
||||
exc_grad%exc_grad, &
|
||||
force, &
|
||||
atomic_kind_set, &
|
||||
para_env)
|
||||
END IF
|
||||
IF (molecular_virial) THEN
|
||||
CALL print_gauxc_molecular_virial(exc_grad%exc_grad, particle_set, para_env)
|
||||
END IF
|
||||
|
|
@ -1478,7 +1459,7 @@ CONTAINS
|
|||
gauxc_status, &
|
||||
model=TRIM(model_name))
|
||||
CALL gauxc_check_status(gauxc_status)
|
||||
IF (calculate_forces) THEN
|
||||
IF (need_xc_gradient) THEN
|
||||
IF (use_fd_gradient) THEN
|
||||
CALL gauxc_xc_gradient_fd( &
|
||||
particle_set, qs_kind_set, density_scalar, nspins, model_name, &
|
||||
|
|
@ -1506,11 +1487,13 @@ CONTAINS
|
|||
model=TRIM(model_name))
|
||||
END IF
|
||||
CALL gauxc_check_status(gauxc_status)
|
||||
CALL add_gauxc_gradient_to_force( &
|
||||
exc_grad%exc_grad, &
|
||||
force, &
|
||||
atomic_kind_set, &
|
||||
para_env)
|
||||
IF (calculate_forces) THEN
|
||||
CALL add_gauxc_gradient_to_force( &
|
||||
exc_grad%exc_grad, &
|
||||
force, &
|
||||
atomic_kind_set, &
|
||||
para_env)
|
||||
END IF
|
||||
IF (molecular_virial) THEN
|
||||
CALL print_gauxc_molecular_virial(exc_grad%exc_grad, particle_set, para_env)
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_CHUNKS T
|
||||
NATIVE_GRID_ATOM_CHUNK_MAX_ROWS 1
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 150
|
||||
REL_CUTOFF 30
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 15
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
DEBUG_FORCES T
|
||||
DEBUG_STRESS_TENSOR F
|
||||
DX 1.0E-4
|
||||
EPS_NO_ERROR_CHECK 5.0E-5
|
||||
EPS_NO_ERROR_CHECK 1.0E-3
|
||||
STOP_ON_MISMATCH T
|
||||
&END DEBUG
|
||||
|
||||
|
|
@ -35,7 +35,8 @@
|
|||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
MAX_SCF 20
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 7
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
|
|
@ -45,6 +46,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -0,0 +1,74 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_AE_KP_INV_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME BASIS_SET
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
INVERSION_SYMMETRY_ONLY ON
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZV-ALL-PADE
|
||||
POTENTIAL ALL
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_AE_KP_SPGLIB_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME BASIS_SET
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND SPGLIB
|
||||
SYMMETRY_REDUCTION_METHOD SPGLIB
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZV-ALL-PADE
|
||||
POTENTIAL ALL
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_AE_KP_SYM_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME BASIS_SET
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZV-ALL-PADE
|
||||
POTENTIAL ALL
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_ECP_STRESS_DEBUG
|
||||
RUN_TYPE DEBUG
|
||||
&END GLOBAL
|
||||
|
||||
&DEBUG
|
||||
DEBUG_FORCES F
|
||||
DEBUG_STRESS_TENSOR T
|
||||
DX 1.0E-3
|
||||
EPS_NO_ERROR_CHECK 1.0E-2
|
||||
MAX_RELATIVE_ERROR 100.0
|
||||
STOP_ON_MISMATCH F
|
||||
&END DEBUG
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR DIAGONAL_ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 40
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_FORCE_DEBUG
|
||||
RUN_TYPE DEBUG
|
||||
&END GLOBAL
|
||||
|
||||
&DEBUG
|
||||
CHECK_ATOM_FORCE 2 z
|
||||
DEBUG_FORCES T
|
||||
DEBUG_STRESS_TENSOR F
|
||||
DX 1.0E-4
|
||||
EPS_NO_ERROR_CHECK 2.0E-4
|
||||
STOP_ON_MISMATCH F
|
||||
&END DEBUG
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 30
|
||||
REL_CUTOFF 8
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC NONE
|
||||
PSOLVER MT
|
||||
&END POISSON
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-7
|
||||
EPS_GVG 1.0E-5
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 4
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET SZV-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 6
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 12
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_KP_INV_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
INVERSION_SYMMETRY_ONLY ON
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_KP_SPGLIB_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND SPGLIB
|
||||
SYMMETRY_REDUCTION_METHOD SPGLIB
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_KP_SYM_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
80
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GAPW_GTH_STRESS.inp
Normal file
80
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GAPW_GTH_STRESS.inp
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_STRESS_CHUNK_REQUEST
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_CHUNKS T
|
||||
NATIVE_GRID_ATOM_CHUNK_MAX_ROWS 1
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_GTH_STRESS_DEBUG
|
||||
RUN_TYPE DEBUG
|
||||
&END GLOBAL
|
||||
|
||||
&DEBUG
|
||||
DEBUG_FORCES F
|
||||
DEBUG_STRESS_TENSOR T
|
||||
DX 1.0E-3
|
||||
EPS_NO_ERROR_CHECK 5.0E-3
|
||||
MAX_RELATIVE_ERROR 100.0
|
||||
STOP_ON_MISMATCH F
|
||||
&END DEBUG
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR DIAGONAL_ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 40
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 4
|
||||
METHOD GAPW
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET SZV-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GAPW_XC_GTH_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
ALPHA0_HARD 10
|
||||
EPSFIT 1.0E-4
|
||||
EPSISO 1.0E-12
|
||||
EPSRHO0 1.0E-8
|
||||
EPSSVD 0.0
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EPS_GVG 1.0E-6
|
||||
EPS_PGF_ORB 1.0E-6
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
LMAXN0 2
|
||||
LMAXN1 6
|
||||
METHOD GAPW_XC
|
||||
QUADRATURE GC_LOG
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
HARD_EXP_RADIUS 1.5117809071370015011
|
||||
LEBEDEV_GRID 50
|
||||
POTENTIAL GTH-PBE-q1
|
||||
RADIAL_GRID 50
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
74
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_KP_INV_STRESS.inp
Normal file
74
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_KP_INV_STRESS.inp
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GPW_KP_INV_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
INVERSION_SYMMETRY_ONLY ON
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 40
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GPW_KP_SPGLIB_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND SPGLIB
|
||||
SYMMETRY_REDUCTION_METHOD SPGLIB
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 40
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
73
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_KP_SYM_STRESS.inp
Normal file
73
tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_KP_SYM_STRESS.inp
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GPW_KP_SYM_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 40
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -9,7 +9,8 @@
|
|||
DEBUG_FORCES T
|
||||
DEBUG_STRESS_TENSOR F
|
||||
DX 1.0E-4
|
||||
EPS_NO_ERROR_CHECK 5.0E-5
|
||||
EPS_NO_ERROR_CHECK 5.0E-3
|
||||
MAX_RELATIVE_ERROR 0.5
|
||||
STOP_ON_MISMATCH T
|
||||
&END DEBUG
|
||||
|
||||
|
|
@ -34,7 +35,8 @@
|
|||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
MAX_SCF 20
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 7
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
|
|
@ -44,6 +46,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME H2_NATIVE_SKALA_GPW_STRESS_CHUNK_REQUEST
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 80
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_CHUNKS T
|
||||
NATIVE_GRID_ATOM_CHUNK_MAX_ROWS 1
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 2.0 2.0 1.6
|
||||
H 2.0 2.0 2.4
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_ECP_KP_INV_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
INVERSION_SYMMETRY_ONLY ON
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_ECP_KP_SPGLIB_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND SPGLIB
|
||||
SYMMETRY_REDUCTION_METHOD SPGLIB
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_ECP_KP_SYM_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&KPOINTS
|
||||
EPS_SYMMETRY 1.0E-8
|
||||
FULL_GRID OFF
|
||||
PARALLEL_GROUP_SIZE -1
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
SYMMETRY_BACKEND K290
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
&END KPOINTS
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&PRINT
|
||||
&KPOINTS ON
|
||||
&END KPOINTS
|
||||
&END PRINT
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
75
tests/QS/regtest-gauxc/HCl_NATIVE_SKALA_GAPW_ECP_STRESS.inp
Normal file
75
tests/QS/regtest-gauxc/HCl_NATIVE_SKALA_GAPW_ECP_STRESS.inp
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_ECP_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_GPWTYPE_ECP_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
GPW_TYPE
|
||||
POTENTIAL ECP ccECP
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
GPW_TYPE
|
||||
POTENTIAL ECP ccECP
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HCl_NATIVE_SKALA_GAPW_XC_ECP_STRESS
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
STRESS_TENSOR ANALYTICAL
|
||||
&DFT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 60
|
||||
NGRIDS 4
|
||||
REL_CUTOFF 10
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC XYZ
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GAPW_XC
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&STRESS_TENSOR
|
||||
COMPONENTS
|
||||
&END STRESS_TENSOR
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 4.0 4.0 4.0
|
||||
PERIODIC XYZ
|
||||
&END CELL
|
||||
&COORD
|
||||
Cl 2.00000 2.00000 1.35000
|
||||
H 2.00000 2.00000 2.65000
|
||||
&END COORD
|
||||
&KIND Cl
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
LEBEDEV_GRID 14
|
||||
POTENTIAL ECP ccECP
|
||||
RADIAL_GRID 20
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
68
tests/QS/regtest-gauxc/HF_NATIVE_SKALA_GPW_NLCC_FORCE.inp
Normal file
68
tests/QS/regtest-gauxc/HF_NATIVE_SKALA_GPW_NLCC_FORCE.inp
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL LOW
|
||||
PROJECT_NAME HF_NATIVE_SKALA_GPW_NLCC_FORCE
|
||||
RUN_TYPE ENERGY_FORCE
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME BASIS_MOLOPT
|
||||
MULTIPLICITY 1
|
||||
POTENTIAL_FILE_NAME NLCC_POTENTIALS
|
||||
UKS FALSE
|
||||
&MGRID
|
||||
CUTOFF 160
|
||||
REL_CUTOFF 30
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC NONE
|
||||
PSOLVER MT
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-8
|
||||
EXTRAPOLATION USE_PREV_WF
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE T
|
||||
MAX_SCF 1
|
||||
SCF_GUESS ATOMIC
|
||||
&DIAGONALIZATION
|
||||
&END DIAGONALIZATION
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION SMOOTH
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PRINT
|
||||
&FORCES ON
|
||||
&END FORCES
|
||||
&END PRINT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 6.0 6.0 6.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
H 3.000000 3.000000 3.470000
|
||||
F 3.000000 3.000000 2.490000
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET SZV-MOLOPT-SR-GTH
|
||||
POTENTIAL GTH-NLCC-PBE-q1
|
||||
&END KIND
|
||||
&KIND F
|
||||
BASIS_SET SZV-MOLOPT-SR-GTH
|
||||
POTENTIAL GTH-NLCC-PBE-q7
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
&GAUXC
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_PARTITION HARD
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
&END GAUXC
|
||||
&END XC_FUNCTIONAL
|
||||
|
|
|
|||
|
|
@ -3,73 +3,91 @@
|
|||
"1H2_ONEDFT_PBE.inp" = [{matcher="E_total", tol=1e-10, ref=-1.163121899608445}]
|
||||
"H2_SKALA_ENERGY.inp" = [{matcher="E_total", tol=1e-8, ref=-0.979366068078563}]
|
||||
"H2_SKALA_ENERGY_CHUNKED.inp" = [{matcher="E_total", tol=1e-8, ref=-0.979366068078563}]
|
||||
"H2_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=1e-8, ref=-0.976732566963415}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH.inp" = [{matcher="E_total", tol=1e-8, ref=-0.963651445065457},
|
||||
"H2_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-0.9767095946}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258919119},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=2.00000875882},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=431.893413318}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH_FORCE.inp" = [{matcher="E_total", tol=1e-8, ref=-0.963651445065457},
|
||||
{matcher="M072", tol=2e-5, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.963651445065457},
|
||||
{matcher="M072", tol=2e-5, ref=0.0},
|
||||
{matcher="M031", tol=1e-5, ref=-1.66335561541E+05}]
|
||||
"H2_NATIVE_SKALA_GPW_FORCE.inp" = [{matcher="M072", tol=2e-5, ref=3.03111884E-04}]
|
||||
"H2_NATIVE_SKALA_GPW_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.963819771363320},
|
||||
{matcher="M072", tol=4e-5, ref=3.03117751E-04},
|
||||
{matcher="M031", tol=1e-5, ref=-1.67988358588E+05}]
|
||||
"H2O_NATIVE_SKALA_GPW_NLCC_ENERGY.inp" = [{matcher="E_total", tol=1e-8, ref=-18.116097365992886}]
|
||||
"H2_NATIVE_SKALA_GAPW_AE_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.992567202964758},
|
||||
{matcher="M072", tol=3e-5, ref=6.26361016E-04},
|
||||
{matcher="M031", tol=1e-5, ref=-1.00263622292E+05}]
|
||||
"H2_NATIVE_SKALA_GAPW_GPWTYPE_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.963819771363320},
|
||||
{matcher="M072", tol=4e-5, ref=3.03117751E-04},
|
||||
{matcher="M031", tol=1e-5, ref=-1.67988358588E+05}]
|
||||
"H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=5e-5, ref=0.0}]
|
||||
"H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=5e-5, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH_FORCE.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258919119},
|
||||
{matcher="M072", tol=1e-4, ref=5.37252718E-05}]
|
||||
"H2_NATIVE_SKALA_GPW_SMOOTH_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258919119},
|
||||
{matcher="M072", tol=1e-4, ref=5.37252718E-05},
|
||||
{matcher="M031", tol=1e-5, ref=-8.58976831594E+04}]
|
||||
"H2_NATIVE_SKALA_GPW_FORCE.inp" = [{matcher="M072", tol=1e-4, ref=5.37282178E-05}]
|
||||
"H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=5e-3, ref=0.0}]
|
||||
"H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=1e-3, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GPW_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258894337}]
|
||||
"H2_NATIVE_SKALA_GAPW_AE_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.9938198742}]
|
||||
"H2_NATIVE_SKALA_GAPW_GPWTYPE_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258919119},
|
||||
{matcher="M072", tol=1e-4, ref=5.37252718E-05},
|
||||
{matcher="M031", tol=1e-5, ref=-8.58976831594E+04}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.9912833172}]
|
||||
"H2_NATIVE_SKALA_GPW_STRESS_CHUNK_REQUEST.inp" = [{matcher="E_total", tol=1e-8, ref=-0.96567258894337}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_STRESS_CHUNK_REQUEST.inp" = [{matcher="E_total", tol=5e-8, ref=-0.9912833169}]
|
||||
"H2_NATIVE_SKALA_GAPW_XC_GTH_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.9698629747}]
|
||||
"HCl_NATIVE_SKALA_GAPW_ECP_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.45263701}]
|
||||
"HCl_NATIVE_SKALA_GAPW_GPWTYPE_ECP_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.36078871}]
|
||||
"HCl_NATIVE_SKALA_GAPW_XC_ECP_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.36291913}]
|
||||
"H2O_NATIVE_SKALA_GPW_NLCC_ENERGY.inp" = [{matcher="E_total", tol=5e-4, ref=-18.01482954}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=2e-1, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_STRESS_DEBUG.inp" = [{matcher="DEBUG_stress_sum", tol=2e-1, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GAPW_ECP_STRESS_DEBUG.inp" = [{matcher="DEBUG_stress_sum", tol=6e-1, ref=0.0}]
|
||||
"H2_NATIVE_SKALA_GPW_KP_INV_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-1.60697601748110}]
|
||||
"H2_NATIVE_SKALA_GPW_KP_SYM_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-1.60697601748110}]
|
||||
"H2_NATIVE_SKALA_GPW_KP_SPGLIB_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-1.60697601748110}]
|
||||
"H2_NATIVE_SKALA_GAPW_AE_KP_INV_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.972376405}]
|
||||
"H2_NATIVE_SKALA_GAPW_AE_KP_SYM_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.972376405}]
|
||||
"H2_NATIVE_SKALA_GAPW_AE_KP_SPGLIB_STRESS.inp" = [{matcher="E_total", tol=5e-8, ref=-0.972376405}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_KP_INV_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.97063781133388}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_KP_SYM_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.97063781133388}]
|
||||
"H2_NATIVE_SKALA_GAPW_GTH_KP_SPGLIB_STRESS.inp" = [{matcher="E_total", tol=1e-8, ref=-0.97063781133388}]
|
||||
"HCl_NATIVE_SKALA_GAPW_ECP_KP_INV_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.44577629}]
|
||||
"HCl_NATIVE_SKALA_GAPW_ECP_KP_SYM_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.44577629}]
|
||||
"HCl_NATIVE_SKALA_GAPW_ECP_KP_SPGLIB_STRESS.inp" = [{matcher="E_total", tol=5e-6, ref=-15.44577629}]
|
||||
"H2O_NATIVE_GPW_PBE_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-17.200873708850686}]
|
||||
"H2O_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-17.067481570036010},
|
||||
"H2O_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-17.06733788},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=8.00008704097},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0}]
|
||||
"H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-17.067481570036010},
|
||||
"H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-17.06737256},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=8.00008704097},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0}]
|
||||
"OH_NATIVE_GPW_PBE_UKS_REFERENCE.inp" = [{matcher="E_total", tol=5e-6, ref=-16.524536848018680}]
|
||||
"OH_NATIVE_SKALA_GPW_UKS.inp" = [{matcher="E_total", tol=5e-6, ref=-16.408200534919416},
|
||||
"OH_NATIVE_SKALA_GPW_UKS.inp" = [{matcher="E_total", tol=5e-6, ref=-16.4080654},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=7.00008702590},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-8, ref=1.00001243227}]
|
||||
"OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-16.408200534919416},
|
||||
"OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-16.4080654},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=7.00008702590},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-8, ref=1.00001243227}]
|
||||
"AR4_NATIVE_GPW_PBE_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-84.254262954861559}]
|
||||
"AR4_NATIVE_GPW_PBE_WRAPPED_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-84.254262954861559}]
|
||||
"NE4_NATIVE_GPW_PBE_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-139.361323676360371}]
|
||||
"NE4_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-139.350241578103240},
|
||||
"NE4_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-139.3772191},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=31.9973083474},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=574.850133126}]
|
||||
"AR4_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-84.344781218197040},
|
||||
"AR4_NATIVE_SKALA_GPW.inp" = [{matcher="E_total", tol=5e-6, ref=-84.34351783},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=31.9999999584},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1004.67180773}]
|
||||
"AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-84.344774381927250},
|
||||
"AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp" = [{matcher="E_total", tol=5e-6, ref=-84.34353534},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=31.9999999584},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1004.67180773}]
|
||||
"AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp" = [{matcher="E_total", tol=5e-6, ref=-84.344781213609991},
|
||||
"AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp" = [{matcher="E_total", tol=5e-6, ref=-84.34351783},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=31.9999999584},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1004.67180773}]
|
||||
"AR4_NATIVE_SKALA_GPW_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-84.344779494109700},
|
||||
"AR4_NATIVE_SKALA_GPW_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-84.33964136},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=31.9999999584},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1004.67180773}]
|
||||
"H2O_NATIVE_SKALA_GPW_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-17.051945983463096},
|
||||
"H2O_NATIVE_SKALA_GPW_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-17.05945064},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=7.99991280288},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-12, ref=0.0},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1457.64026995}]
|
||||
"H2O_NATIVE_GPW_PBE_WRAPPED_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-17.190128057784435}]
|
||||
"OH_NATIVE_GPW_PBE_UKS_WRAPPED_REFERENCE.inp" = [{matcher="E_total", tol=5e-7, ref=-16.519258379915687}]
|
||||
"OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-16.397671695783725},
|
||||
"OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp" = [{matcher="E_total", tol=5e-6, ref=-16.40556672},
|
||||
{matcher="SKALA_GPW_feature_electrons", tol=1e-8, ref=7.00000009205},
|
||||
{matcher="SKALA_GPW_feature_spin_moment", tol=1e-8, ref=1.00000001315},
|
||||
{matcher="SKALA_GPW_feature_weight_sum", tol=1e-8, ref=1457.64026995}]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue