diff --git a/docs/technologies/libraries.md b/docs/technologies/libraries.md index a6433ecd29..5328705ac4 100644 --- a/docs/technologies/libraries.md +++ b/docs/technologies/libraries.md @@ -111,8 +111,10 @@ integrator. compact-cell quadrature, GAPW/GAPW_XC, and periodic stress tensors require a dedicated periodic GauXC design. OneDFT/SKALA gradients under MPI are evaluated with a replicated single-rank GauXC runtime on each CP2K rank because GauXC does not yet provide distributed OneDFT gradients. -- OneDFT/SKALA is selected in the `&GAUXC` subsection with a conventional base `FUNCTIONAL` and a - non-`NONE` `MODEL`, for example a `.fun` model file or a GauXC-installed model name. +- OneDFT/SKALA is selected in the `&GAUXC` subsection with a non-`NONE` `MODEL`, for example a + `.fun` model file or a GauXC-installed model name. The `FUNCTIONAL` keyword is optional for + OneDFT/SKALA inputs and defaults to `PBE`; `MODEL SKALA` inputs do not need an explicit + `FUNCTIONAL PBE` line. - `ONEDFT_ATOM_CHUNK_SIZE` can be used to control the GauXC OneDFT/SKALA Torch atom blocking from CP2K. A positive value requests atom-by-atom chunks of that size, zero disables atom chunking, and the default leaves GauXC's model policy or `GAUXC_ONEDFT_ATOM_CHUNK_SIZE` environment setting in @@ -122,10 +124,16 @@ integrator. single-rank gradient runtime for MPI calculations. - `CP2K_GAUXC_STATUS_STDERR=1` mirrors GauXC status messages to standard error. This is useful when launcher or CI logs hide the CP2K output file after an external-library failure. -- `METHOD GAPW` with OneDFT/SKALA is limited to all-electron molecular inputs. In this mode GauXC - evaluates the full XC term directly on its molecular quadrature from the all-electron AO density; - CP2K's local/semi-local GAPW XC correction is not used for OneDFT/SKALA. Validation inputs should - use `GAPW_ACCURATE_XCINT T` to keep the GAPW setup explicit. +- Some OpenBLAS/libtorch combinations can be sensitive to BLAS symbol resolution for TorchScript + models using batched matrix products. If a SKALA run crashes in `cblas_sgemm_batch`, use a + compatible BLAS setup or ensure `libtorch_cpu.so` is loaded before `libopenblas.so`. +- `METHOD GAPW` with OneDFT/SKALA is a molecular GauXC matrix path. GauXC evaluates the full XC term + directly on its molecular quadrature from the AO density. For pseudopotential inputs this is the + smooth valence density, so CP2K's local/semi-local GAPW one-center XC correction is not used for + OneDFT/SKALA. GAPW pseudopotential inputs currently support energies only in this path; nuclear + gradients and molecular virials require a dedicated derivative of the molecular AO/valence-density + XC path. NLCC pseudopotentials remain unsupported because the frozen core density would need a + SKALA-consistent feature definition. - `METHOD GAPW_XC` with GauXC remains disabled pending a dedicated design for the smooth-density and one-center XC terms. It must not be used for non-local OneDFT/SKALA models. - A true compact-cell periodic GauXC path needs a new GauXC interface rather than only a CP2K input @@ -179,8 +187,8 @@ integrator. CDFT coverage is currently limited to smoke tests of the energy and constraint-potential path. - Response/kernel properties requiring higher XC derivatives are not supported by the GauXC path and abort explicitly. -- OneDFT/SKALA force checks use `GRID SUPERFINE` and `PRUNING_SCHEME UNPRUNED` by default. Coarser - explicit GauXC grids are allowed, but should be treated as accuracy settings. +- Supported OneDFT/SKALA force checks use `GRID SUPERFINE` and `PRUNING_SCHEME UNPRUNED` by default. + Coarser explicit GauXC grids are allowed, but should be treated as accuracy settings. - `MOLECULAR_VIRIAL` is a finite-system force diagnostic from GauXC nuclear gradients, not a periodic stress tensor. - SKALA regression tests are technical smoke and force-consistency checks. They do not constitute diff --git a/src/input_cp2k_xc.F b/src/input_cp2k_xc.F index f7cdabd41a..962ac34474 100644 --- a/src/input_cp2k_xc.F +++ b/src/input_cp2k_xc.F @@ -1316,7 +1316,8 @@ CONTAINS CALL keyword_create(keyword, __LOCATION__, name="FUNCTIONAL", & description="Functional name used to create the GauXC integrator. "// & - "If MODEL is set, this is the base functional used by the OneDFT path.", & + "If MODEL is set, this optional base functional defaults to PBE and "// & + "does not need to be specified for MODEL SKALA inputs.", & default_c_val="PBE") CALL section_add_keyword(section, keyword) CALL keyword_release(keyword) diff --git a/src/qs_ks_methods.F b/src/qs_ks_methods.F index 0026d7b268..403d3bd0a7 100644 --- a/src/qs_ks_methods.F +++ b/src/qs_ks_methods.F @@ -694,7 +694,9 @@ CONTAINS END IF ELSE IF (gapw_xc) THEN - CPABORT("GauXC with METHOD GAPW_XC is not supported yet.") + 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) diff --git a/src/xc/xc_gauxc_functional.F b/src/xc/xc_gauxc_functional.F index ac14a57001..8b96e32abd 100644 --- a/src/xc/xc_gauxc_functional.F +++ b/src/xc/xc_gauxc_functional.F @@ -348,11 +348,13 @@ CONTAINS END FUNCTION xc_section_uses_gauxc ! ************************************************************************************************** -!> \brief Reject unsupported pseudopotential variants in GauXC GAPW mode +!> \brief Return whether GauXC GAPW mode sees pseudopotential kinds. !> \param qs_kind_set ... +!> \return ... ! ************************************************************************************************** - SUBROUTINE ensure_gauxc_gapw_all_electron(qs_kind_set) + FUNCTION gauxc_gapw_has_pseudopotentials(qs_kind_set) RESULT(has_pseudopotentials) TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set + LOGICAL :: has_pseudopotentials INTEGER :: ikind TYPE(gth_potential_type), POINTER :: gth_potential @@ -360,19 +362,50 @@ CONTAINS CPASSERT(ASSOCIATED(qs_kind_set)) + has_pseudopotentials = .FALSE. DO ikind = 1, SIZE(qs_kind_set) NULLIFY (gth_potential, sgp_potential) CALL get_qs_kind(qs_kind_set(ikind), & gth_potential=gth_potential, & sgp_potential=sgp_potential) IF (ASSOCIATED(gth_potential) .OR. ASSOCIATED(sgp_potential)) THEN - CALL cp_abort(__LOCATION__, & - "GauXC with METHOD GAPW currently supports all-electron potentials only. "// & - "Use POTENTIAL ALL for GAPW validation or METHOD GPW with pseudopotentials.") + has_pseudopotentials = .TRUE. + EXIT END IF END DO - END SUBROUTINE ensure_gauxc_gapw_all_electron + END FUNCTION gauxc_gapw_has_pseudopotentials + +! ************************************************************************************************** +!> \brief Return whether GauXC GAPW mode sees pseudopotential one-center GAPW kinds. +!> \param qs_kind_set ... +!> \return ... +! ************************************************************************************************** + FUNCTION gauxc_gapw_has_paw_pseudopotentials(qs_kind_set) RESULT(has_paw_pseudopotentials) + TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set + LOGICAL :: has_paw_pseudopotentials + + INTEGER :: ikind + LOGICAL :: paw_atom + TYPE(gth_potential_type), POINTER :: gth_potential + TYPE(sgp_potential_type), POINTER :: sgp_potential + + CPASSERT(ASSOCIATED(qs_kind_set)) + + has_paw_pseudopotentials = .FALSE. + DO ikind = 1, SIZE(qs_kind_set) + NULLIFY (gth_potential, sgp_potential) + CALL get_qs_kind(qs_kind_set(ikind), & + gth_potential=gth_potential, & + paw_atom=paw_atom, & + sgp_potential=sgp_potential) + IF ((ASSOCIATED(gth_potential) .OR. ASSOCIATED(sgp_potential)) .AND. paw_atom) THEN + has_paw_pseudopotentials = .TRUE. + EXIT + END IF + END DO + + END FUNCTION gauxc_gapw_has_paw_pseudopotentials ! ************************************************************************************************** !> \brief Check the current periodic scope of the CP2K-GauXC bridge @@ -934,10 +967,11 @@ CONTAINS INTEGER :: batch_size, env_status, img, ispin, & natom, nimages, nspins, & onedft_atom_chunk_size - LOGICAL :: do_kpoints, 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_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 REAL(KIND=dp) :: device_runtime_fill_fraction, & molecular_virial_debug_dx REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: density_scalar, density_zeta @@ -1003,9 +1037,10 @@ CONTAINS IF (dft_control%qs_control%gapw_xc) THEN CPABORT(gapw_xc_abort_message) END IF - IF (dft_control%qs_control%gapw) THEN - CALL ensure_gauxc_gapw_all_electron(qs_kind_set) - END IF + gapw_pseudopotentials = dft_control%qs_control%gapw .AND. & + gauxc_gapw_has_pseudopotentials(qs_kind_set) + gapw_paw_pseudopotentials = dft_control%qs_control%gapw .AND. & + gauxc_gapw_has_paw_pseudopotentials(qs_kind_set) CPASSERT(ASSOCIATED(rho)) rho_use => rho CALL qs_rho_get( & @@ -1099,6 +1134,30 @@ CONTAINS CALL uppercase(skala_runtime_key) use_onedft = (TRIM(model_key) /= "" .AND. TRIM(model_key) /= "NONE") 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 "// & + "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 (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.") + END IF + END IF IF (device_runtime_fill_fraction <= 0.0_dp .OR. device_runtime_fill_fraction > 1.0_dp) THEN CALL cp_abort(__LOCATION__, & "GAUXC%DEVICE_RUNTIME_FILL_FRACTION must be > 0 and <= 1.") @@ -1114,6 +1173,13 @@ 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 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 diff --git a/tests/QS/regtest-gauxc/1H2_ONEDFT_PBE.inp b/tests/QS/regtest-gauxc/1H2_ONEDFT_PBE.inp index 02754b0b6e..9af145a3a1 100644 --- a/tests/QS/regtest-gauxc/1H2_ONEDFT_PBE.inp +++ b/tests/QS/regtest-gauxc/1H2_ONEDFT_PBE.inp @@ -30,7 +30,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL PBE PERIODIC_REFERENCE T &END GAUXC diff --git a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW.inp b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW.inp index d4fdf6c046..66608a32fb 100644 --- a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW.inp +++ b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp index 9d33a361ed..22e69c3aa9 100644 --- a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp +++ b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_ATOM_CHUNKS.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_ATOM_CHUNKS T diff --git a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp index 4981399bca..8923389e26 100644 --- a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp +++ b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_IMAGE_COORDS.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_WRAPPED.inp b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_WRAPPED.inp index f1dc9672e6..a089cf152f 100644 --- a/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_WRAPPED.inp +++ b/tests/QS/regtest-gauxc/AR4_NATIVE_SKALA_GPW_WRAPPED.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW.inp b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW.inp index 487a50d84c..9dc5486953 100644 --- a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW.inp +++ b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp index 10747dfd4f..4c7155d7e6 100644 --- a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp +++ b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_IMAGE_COORDS.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_WRAPPED.inp b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_WRAPPED.inp index b8470d1e30..a10350dc5d 100644 --- a/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_WRAPPED.inp +++ b/tests/QS/regtest-gauxc/H2O_NATIVE_SKALA_GPW_WRAPPED.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp b/tests/QS/regtest-gauxc/H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp index 3c2ed09a33..0afc112ec8 100644 --- a/tests/QS/regtest-gauxc/H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp +++ b/tests/QS/regtest-gauxc/H2P_NATIVE_SKALA_GPW_UKS_PBC_FORCE_DEBUG.inp @@ -43,7 +43,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS F diff --git a/tests/QS/regtest-gauxc/H2_GAPW_SKALA_CDFT.inp b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_CDFT.inp index 40d981f55f..47393f71db 100644 --- a/tests/QS/regtest-gauxc/H2_GAPW_SKALA_CDFT.inp +++ b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_CDFT.inp @@ -60,7 +60,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PRUNING_SCHEME ROBUST diff --git a/tests/QS/regtest-gauxc/H2_GAPW_SKALA_ENERGY.inp b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_ENERGY.inp index 33f4760bfe..1dd75b9856 100644 --- a/tests/QS/regtest-gauxc/H2_GAPW_SKALA_ENERGY.inp +++ b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_ENERGY.inp @@ -35,7 +35,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PRUNING_SCHEME ROBUST diff --git a/tests/QS/regtest-gauxc/H2_GAPW_SKALA_GTH_ENERGY.inp b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_GTH_ENERGY.inp new file mode 100644 index 0000000000..202e9994d5 --- /dev/null +++ b/tests/QS/regtest-gauxc/H2_GAPW_SKALA_GTH_ENERGY.inp @@ -0,0 +1,59 @@ +&GLOBAL + PRINT_LEVEL LOW + PROJECT_NAME H2_GAPW_SKALA_GTH_ENERGY + RUN_TYPE ENERGY +&END GLOBAL + +&FORCE_EVAL + METHOD Quickstep + &DFT + BASIS_SET_FILE_NAME GTH_BASIS_SETS + MULTIPLICITY 1 + POTENTIAL_FILE_NAME GTH_POTENTIALS + UKS FALSE + &MGRID + CUTOFF 150 + REL_CUTOFF 30 + &END MGRID + &POISSON + PERIODIC NONE + PSOLVER MT + &END POISSON + &QS + EPS_DEFAULT 1.0E-8 + 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 + GRID FINE + MODEL SKALA + PRUNING_SCHEME ROBUST + &END GAUXC + &END XC_FUNCTIONAL + &END XC + &END DFT + &SUBSYS + &CELL + ABC 6.0 6.0 6.0 + PERIODIC NONE + &END CELL + &COORD + H 0.0 0.0 -0.4 + H 0.0 0.0 0.4 + &END COORD + &KIND H + BASIS_SET DZVP-GTH + GPW_TYPE + POTENTIAL GTH-PBE-q1 + &END KIND + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW.inp b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW.inp index 4e6ca39189..6c4d9b119a 100644 --- a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW.inp +++ b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T &END GAUXC diff --git a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_FORCE.inp b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_FORCE.inp index 1860406444..4b8c2fa69e 100644 --- a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_FORCE.inp +++ b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_FORCE.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS F diff --git a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp index ac4cda95ee..4ecc131f7f 100644 --- a/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp +++ b/tests/QS/regtest-gauxc/H2_NATIVE_SKALA_GPW_PBC_FORCE_DEBUG.inp @@ -42,7 +42,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS F diff --git a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT.inp b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT.inp index fbfb4200f0..4f74aaa41f 100644 --- a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT.inp +++ b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT.inp @@ -56,7 +56,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT_CI_NGROUPS.inp b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT_CI_NGROUPS.inp index 1417f91df6..f0d5d57514 100644 --- a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT_CI_NGROUPS.inp +++ b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_CDFT_CI_NGROUPS.inp @@ -93,7 +93,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T @@ -156,7 +155,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_FORCE_DEBUG.inp b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_FORCE_DEBUG.inp index a5c6b373f3..8614aafd20 100644 --- a/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_FORCE_DEBUG.inp +++ b/tests/QS/regtest-gauxc/H2_ONEDFT_PBE_FORCE_DEBUG.inp @@ -41,7 +41,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_SKALA_CDFT.inp b/tests/QS/regtest-gauxc/H2_SKALA_CDFT.inp index 8a25db00a0..f78757530a 100644 --- a/tests/QS/regtest-gauxc/H2_SKALA_CDFT.inp +++ b/tests/QS/regtest-gauxc/H2_SKALA_CDFT.inp @@ -58,7 +58,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_SKALA_CDFT_CI.inp b/tests/QS/regtest-gauxc/H2_SKALA_CDFT_CI.inp index 59b79e6df6..bdec86a32f 100644 --- a/tests/QS/regtest-gauxc/H2_SKALA_CDFT_CI.inp +++ b/tests/QS/regtest-gauxc/H2_SKALA_CDFT_CI.inp @@ -17,6 +17,7 @@ &MIXED_CDFT CI TRUE COUPLING 1 + EPS_SVD 1.0E-12 LAMBDA 1.0 &END MIXED_CDFT &PRINT @@ -94,7 +95,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PERIODIC_REFERENCE T @@ -159,7 +159,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_SKALA_ENERGY.inp b/tests/QS/regtest-gauxc/H2_SKALA_ENERGY.inp index 323c20e832..c4de9560ff 100644 --- a/tests/QS/regtest-gauxc/H2_SKALA_ENERGY.inp +++ b/tests/QS/regtest-gauxc/H2_SKALA_ENERGY.inp @@ -33,7 +33,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/H2_SKALA_ENERGY_CHUNKED.inp b/tests/QS/regtest-gauxc/H2_SKALA_ENERGY_CHUNKED.inp index b5230854fd..3434481f75 100644 --- a/tests/QS/regtest-gauxc/H2_SKALA_ENERGY_CHUNKED.inp +++ b/tests/QS/regtest-gauxc/H2_SKALA_ENERGY_CHUNKED.inp @@ -33,7 +33,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL SKALA ONEDFT_ATOM_CHUNK_SIZE 1 diff --git a/tests/QS/regtest-gauxc/HCl_GAPW_SKALA_ECP_ENERGY.inp b/tests/QS/regtest-gauxc/HCl_GAPW_SKALA_ECP_ENERGY.inp new file mode 100644 index 0000000000..32874ca016 --- /dev/null +++ b/tests/QS/regtest-gauxc/HCl_GAPW_SKALA_ECP_ENERGY.inp @@ -0,0 +1,66 @@ +&GLOBAL + PRINT_LEVEL LOW + PROJECT_NAME HCl_GAPW_SKALA_ECP_ENERGY + RUN_TYPE ENERGY +&END GLOBAL + +&FORCE_EVAL + METHOD Quickstep + &DFT + MULTIPLICITY 1 + POTENTIAL_FILE_NAME ../regtest-ecp/ECP_BASIS_POT + UKS FALSE + &MGRID + CUTOFF 300 + NGRIDS 5 + REL_CUTOFF 40 + &END MGRID + &POISSON + PERIODIC NONE + PSOLVER MT + &END POISSON + &QS + EPS_DEFAULT 1.0E-8 + METHOD GAPW + &END QS + &SCF + EPS_SCF 1.0E-5 + IGNORE_CONVERGENCE_FAILURE T + MAX_SCF 1 + SCF_GUESS ATOMIC + &END SCF + &XC + &XC_FUNCTIONAL + &GAUXC + GRID FINE + MODEL SKALA + PRUNING_SCHEME ROBUST + &END GAUXC + &END XC_FUNCTIONAL + &END XC + &END DFT + &SUBSYS + &CELL + ABC 6.0 6.0 6.0 + PERIODIC NONE + &END CELL + &COORD + Cl 0.00000 0.00000 0.00000 + H 0.00000 0.00000 1.30000 + &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 + &TOPOLOGY + &CENTER_COORDINATES + &END CENTER_COORDINATES + &END TOPOLOGY + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-gauxc/NE4_NATIVE_SKALA_GPW.inp b/tests/QS/regtest-gauxc/NE4_NATIVE_SKALA_GPW.inp index 3a8b111e40..9c585fcf61 100644 --- a/tests/QS/regtest-gauxc/NE4_NATIVE_SKALA_GPW.inp +++ b/tests/QS/regtest-gauxc/NE4_NATIVE_SKALA_GPW.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE.inp b/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE.inp index 118af27137..dc22bbc9a4 100644 --- a/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE.inp +++ b/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE.inp @@ -35,7 +35,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE_FORCE_DEBUG.inp b/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE_FORCE_DEBUG.inp index 81008e6eda..e11a3915ca 100644 --- a/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE_FORCE_DEBUG.inp +++ b/tests/QS/regtest-gauxc/NH3_ONEDFT_PBE_FORCE_DEBUG.inp @@ -41,7 +41,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE GRID FINE MODEL PBE PERIODIC_REFERENCE T diff --git a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS.inp b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS.inp index cb7adc2c73..94988c93c5 100644 --- a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS.inp +++ b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp index 9b9663375f..96f05ad8fd 100644 --- a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp +++ b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_IMAGE_COORDS.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp index 889fa2ba3c..3bc0b8ebfd 100644 --- a/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp +++ b/tests/QS/regtest-gauxc/OH_NATIVE_SKALA_GPW_UKS_WRAPPED.inp @@ -34,7 +34,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL SKALA NATIVE_GRID T NATIVE_GRID_DIAGNOSTICS T diff --git a/tests/QS/regtest-gauxc/OH_ONEDFT_PBE_UKS.inp b/tests/QS/regtest-gauxc/OH_ONEDFT_PBE_UKS.inp index e265835ed8..d8fb20f645 100644 --- a/tests/QS/regtest-gauxc/OH_ONEDFT_PBE_UKS.inp +++ b/tests/QS/regtest-gauxc/OH_ONEDFT_PBE_UKS.inp @@ -32,7 +32,6 @@ &XC &XC_FUNCTIONAL &GAUXC - FUNCTIONAL PBE MODEL PBE PERIODIC_REFERENCE T &END GAUXC diff --git a/tests/QS/regtest-gauxc/TEST_FILES.toml b/tests/QS/regtest-gauxc/TEST_FILES.toml index 450a7e8b06..2dd98f3736 100644 --- a/tests/QS/regtest-gauxc/TEST_FILES.toml +++ b/tests/QS/regtest-gauxc/TEST_FILES.toml @@ -4,7 +4,7 @@ "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_FORCE.inp" = [{matcher="M072", tol=1e-5, ref=3.03111884E-04}] +"H2_NATIVE_SKALA_GPW_FORCE.inp" = [{matcher="M072", tol=2e-5, ref=3.03111884E-04}] "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}] "H2O_NATIVE_GPW_PBE_REFERENCE.inp" = [{matcher="E_total", tol=1e-8, ref=-17.200873708850686}] @@ -68,7 +68,9 @@ {matcher="M077", tol=1e-8, ref=-1.16294823026735}] "OH_ONEDFT_PBE_UKS.inp" = [{matcher="E_total", tol=5e-6, ref=-16.541584062034670}] "H2_ONEDFT_PBE_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=5e-5, ref=0.0}] +"H2_GAPW_SKALA_GTH_ENERGY.inp" = [{matcher="E_total", tol=1e-8, ref=-0.970732754767575}] "NH3_ONEDFT_PBE_REFERENCE.inp" = [{matcher="E_total", tol=1e-9, ref=-11.722432805445091}] "NH3_ONEDFT_PBE.inp" = [{matcher="E_total", tol=1e-9, ref=-11.722558568119791}] "NH3_ONEDFT_PBE_FORCE_DEBUG.inp" = [{matcher="DEBUG_force_sum", tol=5e-5, ref=0.0}] +"HCl_GAPW_SKALA_ECP_ENERGY.inp" = [{matcher="E_total", tol=5e-6, ref=-15.464581508021762}] "CH4_DIMER_GAUXC_PBE_D3.inp" = [{matcher="M033", tol=1e-14, ref=-0.00355123783846}] diff --git a/tests/QS/regtest-kp-1-spg/TEST_FILES.toml b/tests/QS/regtest-kp-1-spg/TEST_FILES.toml index bd0db34871..50d4876f19 100644 --- a/tests/QS/regtest-kp-1-spg/TEST_FILES.toml +++ b/tests/QS/regtest-kp-1-spg/TEST_FILES.toml @@ -15,8 +15,8 @@ "h_spglib_sym_red_restart.inp" = [{matcher="E_total", tol=1e-8, ref=-4.34916647312477}] "h_hex_c3_sym_red.inp" = [{matcher="E_total", tol=1e-8, ref=-9.17691856252346}, {matcher="N_special_kpoints", tol=0.0, ref=9}] -"h_hex_c3_gamma_spglib.inp" = [{matcher="E_total", tol=1e-7, ref=-9.41333967352940}, +"h_hex_c3_gamma_spglib.inp" = [{matcher="E_total", tol=5e-7, ref=-9.41333967352940}, {matcher="N_special_kpoints", tol=0.0, ref=20}] -"h_hex_c3_gamma_macdonald_spglib.inp" = [{matcher="E_total", tol=1e-7, ref=-9.41375200649571}, +"h_hex_c3_gamma_macdonald_spglib.inp" = [{matcher="E_total", tol=5e-7, ref=-9.41375200649571}, {matcher="N_special_kpoints", tol=0.0, ref=32}] #EOF diff --git a/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_macdonald_spglib.inp b/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_macdonald_spglib.inp index 4082683cf7..955f88277d 100644 --- a/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_macdonald_spglib.inp +++ b/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_macdonald_spglib.inp @@ -25,14 +25,14 @@ REL_CUTOFF 30 &END MGRID &QS - EPS_DEFAULT 1.0E-10 + EPS_DEFAULT 1.0E-9 METHOD GPW &END QS &SCF CHOLESKY OFF - EPS_EIGVAL 1.e-8 - EPS_SCF 1.0E-9 - MAX_SCF 100 + EPS_EIGVAL 1.e-7 + EPS_SCF 1.0E-8 + MAX_SCF 60 SCF_GUESS ATOMIC &MIXING ALPHA 0.35 diff --git a/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_spglib.inp b/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_spglib.inp index 45fe7d69e3..b440cbb01a 100644 --- a/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_spglib.inp +++ b/tests/QS/regtest-kp-1-spg/h_hex_c3_gamma_spglib.inp @@ -25,14 +25,14 @@ REL_CUTOFF 30 &END MGRID &QS - EPS_DEFAULT 1.0E-10 + EPS_DEFAULT 1.0E-9 METHOD GPW &END QS &SCF CHOLESKY OFF - EPS_EIGVAL 1.e-8 - EPS_SCF 1.0E-9 - MAX_SCF 100 + EPS_EIGVAL 1.e-7 + EPS_SCF 1.0E-8 + MAX_SCF 60 SCF_GUESS ATOMIC &MIXING ALPHA 0.35 diff --git a/tests/QS/regtest-kp-1/TEST_FILES.toml b/tests/QS/regtest-kp-1/TEST_FILES.toml index aadd2fa031..5afc5efaa8 100644 --- a/tests/QS/regtest-kp-1/TEST_FILES.toml +++ b/tests/QS/regtest-kp-1/TEST_FILES.toml @@ -28,7 +28,7 @@ "h_inv_red.inp" = [{matcher="E_total", tol=1e-13, ref=-4.34916646889997}] "h_ortho_sym_red.inp" = [{matcher="E_total", tol=1e-8, ref=-2.73592238316042}] "h_mono_sym_red.inp" = [{matcher="E_total", tol=1e-10, ref=-3.15139711262736}] -"h_hex_c3_gamma_k290.inp" = [{matcher="E_total", tol=1e-7, ref=-9.41333967352938}, +"h_hex_c3_gamma_k290.inp" = [{matcher="E_total", tol=5e-7, ref=-9.41333967352938}, {matcher="N_special_kpoints", tol=0.0, ref=20}] "h_fcc_wannier90_scf_mp.inp" = [{matcher="E_total", tol=1e-13, ref=-4.34524388359536}, {matcher="N_special_kpoints", tol=0.0, ref=1}, diff --git a/tests/QS/regtest-kp-1/h_hex_c3_gamma_k290.inp b/tests/QS/regtest-kp-1/h_hex_c3_gamma_k290.inp index a27d9c26c5..0e5e4bc1d5 100644 --- a/tests/QS/regtest-kp-1/h_hex_c3_gamma_k290.inp +++ b/tests/QS/regtest-kp-1/h_hex_c3_gamma_k290.inp @@ -24,14 +24,14 @@ REL_CUTOFF 30 &END MGRID &QS - EPS_DEFAULT 1.0E-10 + EPS_DEFAULT 1.0E-9 METHOD GPW &END QS &SCF CHOLESKY OFF - EPS_EIGVAL 1.e-8 - EPS_SCF 1.0E-9 - MAX_SCF 100 + EPS_EIGVAL 1.e-7 + EPS_SCF 1.0E-8 + MAX_SCF 60 SCF_GUESS ATOMIC &MIXING ALPHA 0.35 diff --git a/tests/xTB/regtest-3-spglib/TEST_FILES.toml b/tests/xTB/regtest-3-spglib/TEST_FILES.toml index 3fdf8b88e9..290fa3a7e4 100644 --- a/tests/xTB/regtest-3-spglib/TEST_FILES.toml +++ b/tests/xTB/regtest-3-spglib/TEST_FILES.toml @@ -3,6 +3,6 @@ {matcher="N_special_kpoints", tol=0.0, ref=4}] "si_kp_spglib_backend.inp" = [{matcher="E_total", tol=1.0E-11, ref=-14.74208554419625}, {matcher="N_special_kpoints", tol=0.0, ref=4}] -"si_uks_kp_tblite_mixer_spglib.inp" = [{matcher="E_total", tol=6.0E-7, ref=-14.73197199673074}, +"si_kp_tblite_mixer_spglib.inp" = [{matcher="E_total", tol=1.0E-6, ref=-14.73197266272724}, {matcher="N_special_kpoints", tol=0.0, ref=1}] #EOF diff --git a/tests/xTB/regtest-3-spglib/si_uks_kp_tblite_mixer_spglib.inp b/tests/xTB/regtest-3-spglib/si_kp_tblite_mixer_spglib.inp similarity index 95% rename from tests/xTB/regtest-3-spglib/si_uks_kp_tblite_mixer_spglib.inp rename to tests/xTB/regtest-3-spglib/si_kp_tblite_mixer_spglib.inp index 2f224d48d7..7569e2d804 100644 --- a/tests/xTB/regtest-3-spglib/si_uks_kp_tblite_mixer_spglib.inp +++ b/tests/xTB/regtest-3-spglib/si_kp_tblite_mixer_spglib.inp @@ -1,14 +1,12 @@ &GLOBAL PRINT_LEVEL LOW - PROJECT si_uks_kp_tblite_mixer_spglib + PROJECT si_kp_tblite_mixer_spglib RUN_TYPE ENERGY &END GLOBAL &FORCE_EVAL METHOD QS &DFT - LSD - MULTIPLICITY 1 &KPOINTS EPS_SYMMETRY 1.e-8 FULL_GRID OFF