Skip to content

rt-TDDFT with NVE ensemble: total energy drifts upward and diverges for 2D material #7332

@lwei755

Description

@lwei755

Describe the bug

When running real-time TDDFT (rt-TDDFT) for 2D hexagonal boron nitride (h-BN) with NVE ensemble, the total energy keeps increasing and eventually diverges. Since NVE ensemble should strictly conserve total energy, this indicates a potential numerical instability or parameter issue.
Important note: The simulation was performed after a complete structural relaxation (geometry optimization) of the 2D h-BN system. The relaxed structure was used as the starting point for rt-TDDFT/NVE simulation.
Control test – H2 molecule (from official example)

As a benchmark, I tested the official H2 molecule example provided by ABACUS under the same NVE + rt-TDDFT settings. The results show good total energy conservation with no divergence.

INPUT_PARAMETERS
#Parameters (1.General)
suffix hBN
calculation md
esolver_type tddft
nbands 432
nspin 1
pseudo_dir .
orbital_dir .
#Parameters (2.Iteration)
ecutwfc 60
scf_thr 1e-7
scf_nmax 100
#Parameters (3.Basis)
basis_type lcao
gamma_only 0
#Parameters (4.Smearing)
smearing_method gauss
smearing_sigma 0.0001
vdw_method d3_bj
dft_functional pbe
#Parameters (5.MD Parameters)
td_propagator 0
md_type nve
md_nstep 10000
md_dt 0.001
md_tfirst 0

#KPT file
K_POINTS
0
Gamma
4 4 1 0 0 0

#STRU file:
ATOMIC_SPECIES
B 10.81 B_ONCV_PBE-1.0.upf
N 14.007 N_ONCV_PBE-1.0.upf

NUMERICAL_ORBITAL
B_gga_7au_100Ry_2s2p1d.orb
N_gga_7au_100Ry_2s2p1d.orb

LATTICE_CONSTANT
1.8897261258369282

LATTICE_VECTORS
7.53728468436000 0.00000000000000 0.00000000000000
-3.7686423421800 6.52748001221100 0.00000000000000
0.00000000000000 0.00000000000000 27.7072650000000

ATOMIC_POSITIONS
Direct

B
0.00000000000000
18
0.11111111111100 0.22222222222200 0.43045808563200 1 1 1 mag 0.0
0.11111111111100 0.55555555555600 0.43045808563200 1 1 1 mag 0.0
0.11111111111100 0.88888888888900 0.43045808563200 1 1 1 mag 0.0
0.44444444444400 0.22222222222200 0.43045808563200 1 1 1 mag 0.0
0.44444444444400 0.55555555555600 0.43045808563200 1 1 1 mag 0.0
0.44444444444400 0.88888888888900 0.43045808563200 1 1 1 mag 0.0
0.77777777777800 0.22222222222200 0.43045808563200 1 1 1 mag 0.0
0.77777777777800 0.55555555555600 0.43045808563200 1 1 1 mag 0.0
0.77777777777800 0.88888888888900 0.43045808563200 1 1 1 mag 0.0
0.00000000000000 0.00000000000000 0.56954191436800 1 1 1 mag 0.0
0.00000000000000 0.33333333333300 0.56954191436800 1 1 1 mag 0.0
0.00000000000000 0.66666666666700 0.56954191436800 1 1 1 mag 0.0
0.33333333333300 0.00000000000000 0.56954191436800 1 1 1 mag 0.0
0.33333333333300 0.33333333333300 0.56954191436800 1 1 1 mag 0.0
0.33333333333300 0.66666666666700 0.56954191436800 1 1 1 mag 0.0
0.66666666666700 0.00000000000000 0.56954191436800 1 1 1 mag 0.0
0.66666666666700 0.33333333333300 0.56954191436800 1 1 1 mag 0.0
0.66666666666700 0.66666666666700 0.56954191436800 1 1 1 mag 0.0

N
0.00000000000000
18
0.11111111111100 0.22222222222200 0.56954191436800 1 1 1 mag 0.0
0.11111111111100 0.55555555555600 0.56954191436800 1 1 1 mag 0.0
0.11111111111100 0.88888888888900 0.56954191436800 1 1 1 mag 0.0
0.44444444444400 0.22222222222200 0.56954191436800 1 1 1 mag 0.0
0.44444444444400 0.55555555555600 0.56954191436800 1 1 1 mag 0.0
0.44444444444400 0.88888888888900 0.56954191436800 1 1 1 mag 0.0
0.77777777777800 0.22222222222200 0.56954191436800 1 1 1 mag 0.0
0.77777777777800 0.55555555555600 0.56954191436800 1 1 1 mag 0.0
0.77777777777800 0.88888888888900 0.56954191436800 1 1 1 mag 0.0
0.22222222222200 0.11111111111100 0.43045808563200 1 1 1 mag 0.0
0.22222222222200 0.44444444444400 0.43045808563200 1 1 1 mag 0.0
0.22222222222200 0.77777777777800 0.43045808563200 1 1 1 mag 0.0
0.55555555555600 0.11111111111100 0.43045808563200 1 1 1 mag 0.0
0.55555555555600 0.44444444444400 0.43045808563200 1 1 1 mag 0.0
0.55555555555600 0.77777777777800 0.43045808563200 1 1 1 mag 0.0
0.88888888888900 0.11111111111100 0.43045808563200 1 1 1 mag 0.0
0.88888888888900 0.44444444444400 0.43045808563200 1 1 1 mag 0.0
0.88888888888900 0.77777777777800 0.43045808563200 1 1 1 mag 0.0

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Verify the issue is not a duplicate.
  • Describe the bug.
  • Steps to reproduce.
  • Expected behavior.
  • Error message.
  • Environment details.
  • Additional context.
  • Assign a priority level (low, medium, high, urgent).
  • Assign the issue to a team member.
  • Label the issue with relevant tags.
  • Identify possible related issues.
  • Create a unit test or automated test to reproduce the bug (if applicable).
  • Fix the bug.
  • Test the fix.
  • Update documentation (if necessary).
  • Close the issue and inform the reporter (if applicable).

Metadata

Metadata

Assignees

Labels

QuestionsRaise your quesiton! We will answer it.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions