Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/advanced/input_files/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -2310,7 +2310,7 @@ Warning: this function is not robust enough for the current version. Please try
- 0: Don't include bandgap label
- 1: Include target bandgap label (see [deepks\_band\_range](#deepks_band_range) for more details)
- 2: Include multiple bandgap label (see [deepks\_band\_range](#deepks_band_range) for more details)
- 3: For systems containing H atoms only, HOMO is defined as the max occupation expect H atoms and the bandgap label is the energy between HOMO and (HOMO + 1)
- 3: Used for systems containing H atoms. Here HOMO is defined as the max occupation except H atoms and the bandgap label is the energy between HOMO and (HOMO + 1)
- **Default**: 0

### deepks_band_range
Expand Down
4 changes: 4 additions & 0 deletions source/source_lcao/module_deepks/LCAO_deepks_interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,10 @@ void LCAO_Deepks_Interface<TK, TR>::out_deepks_labels(const double& etot,

// Calculate the bandgap for each k point
ModuleBase::matrix o_tot(nks, range);
if (nocc + PARAM.inp.deepks_band_range[0] < 0 || nocc + PARAM.inp.deepks_band_range[1] >= ekb.nc)
{
ModuleBase::WARNING_QUIT("out_deepks_labels", "DeePKS band index out of range! Please check if `deepks_band_range` is reasonable!");
}
for (int iks = 0; iks < nks; ++iks)
{
int ib = 0;
Expand Down
6 changes: 3 additions & 3 deletions tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/result.ref
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ deepks_desc 2.297551
deepks_dm_eig 10.742704784158393
deepks_e_label 17.152853550955058
deepks_edelta 0.09792547271228358
deepks_o_label 0.29172556580830844
deepks_odelta 9.932412417318348e-05
deepks_oprec -0.45169372175959677
deepks_o_label 0.08594440507271628
deepks_odelta 0.0013346191380371325
deepks_oprec 0.01788986161267927
totaltimeref 1.22
28 changes: 14 additions & 14 deletions tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/STRU
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
ATOMIC_SPECIES
Si 1.00 Si_ONCV_PBE-1.2.upf
O 1.00 O_ONCV_PBE-1.2.upf
H 1.00 H_ONCV_PBE-1.0.upf
O 1.00 O_ONCV_PBE-1.0.upf


LATTICE_CONSTANT
1

LATTICE_VECTORS
15 0 0
0 15 0
0 0 9
15 0 0
0 15 0
0 0 15

ATOMIC_POSITIONS
Direct # Cartesian(Unit is LATTICE_CONSTANT)
Cartesian # Cartesian(Unit is LATTICE_CONSTANT)

Si
H
0.0
1
0.5 0.5 0 0 0 0
2
2.451268787740 18.304568063522 29.094778093001 0 0 0
0.634768813069 17.692018052980 31.090158495369 0 0 0
O
0.0
2
0.5 0.5 0.25 0 0 0
0.5 0.5 0.75 0 0 0
1
0.953925982272 17.270156608314 29.386199785767 0 0 0

NUMERICAL_ORBITAL
Si_gga_8au_60Ry_2s2p1d.orb
O_gga_7au_60Ry_2s2p1d.orb
H_gga_6au_60Ry_1s.orb
O_gga_6au_60Ry_1s1p.orb

NUMERICAL_DESCRIPTOR
../Model_ProjOrb/2au_20Ry_jle.orb
20 changes: 10 additions & 10 deletions tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/result.ref
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
etotref -959.2783700856231
etotperatomref -319.7594566952
deepks_desc 2.456992
deepks_dm_eig 15.506898379534249
deepks_e_label 35.25281724192405
deepks_edelta 0.09772974729136052
deepks_o_label 0.3368945080257191
deepks_odelta 0.0014646771995326935
deepks_oprec -1.2637665734018695
totaltimeref 1.53
etotref -463.0496320856034
etotperatomref -154.3498773619
deepks_desc 2.195131
deepks_dm_eig 10.54665348088368
deepks_e_label 17.016754013120217
deepks_edelta 0.09796908127552584
deepks_o_label 0.14114716003295213
deepks_odelta 0.0031174723761221435
deepks_oprec 0.16883858360329146
totaltimeref 2.96
6 changes: 3 additions & 3 deletions tests/integrate/tools/catch_deepks_properties.sh
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ process_many_npys() {
# energy
process_npy "$mode" "abs" "etot" "" "deepks_e_label$suffix" "$output_file"
process_npy "$mode" "delta" "etot" "ebase" "deepks_edelta$suffix" "$output_file"
# For deepks_bandgap = 1
if ! test -z "$deepks_bandgap" && [ $deepks_bandgap == 1 ]; then

# For deepks_bandgap > 0
if ! test -z "$deepks_bandgap" && [ $deepks_bandgap -gt 0 ]; then
process_npy "$mode" "abs" "otot" "" "deepks_o_label$suffix" "$output_file"
process_npy "$mode" "delta" "otot" "obase" "deepks_odelta$suffix" "$output_file"
process_npy "$mode" "numpy" "orbpre" "" "deepks_oprec$suffix" "$output_file"
Expand Down
Loading