mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-28 22:25:32 -04:00
Enable SKALA GAPW pseudopotential energy calculations (#5350)
Co-authored-by: Thomas D. Kuehne <tkuehne@cp2k.org>
This commit is contained in:
parent
5b4bf874c7
commit
39800b25ec
42 changed files with 246 additions and 73 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
&END GAUXC
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_ATOM_CHUNKS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL SKALA
|
||||
PRUNING_SCHEME ROBUST
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL SKALA
|
||||
PRUNING_SCHEME ROBUST
|
||||
|
|
|
|||
59
tests/QS/regtest-gauxc/H2_GAPW_SKALA_GTH_ENERGY.inp
Normal file
59
tests/QS/regtest-gauxc/H2_GAPW_SKALA_GTH_ENERGY.inp
Normal file
|
|
@ -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
|
||||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
&END GAUXC
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS F
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL SKALA
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL SKALA
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL SKALA
|
||||
ONEDFT_ATOM_CHUNK_SIZE 1
|
||||
|
|
|
|||
66
tests/QS/regtest-gauxc/HCl_GAPW_SKALA_ECP_ENERGY.inp
Normal file
66
tests/QS/regtest-gauxc/HCl_GAPW_SKALA_ECP_ENERGY.inp
Normal file
|
|
@ -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
|
||||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
GRID FINE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL SKALA
|
||||
NATIVE_GRID T
|
||||
NATIVE_GRID_DIAGNOSTICS T
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
&XC
|
||||
&XC_FUNCTIONAL
|
||||
&GAUXC
|
||||
FUNCTIONAL PBE
|
||||
MODEL PBE
|
||||
PERIODIC_REFERENCE T
|
||||
&END GAUXC
|
||||
|
|
|
|||
|
|
@ -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}]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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},
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue