abacus-develop
abacus-develop copied to clipboard
More daily tests needed: various methods for Fe2 bulk
Describe the Testing Issue
Our latest daily test only includes:
- PBE for PW and LCAO
- EXX test
- Interfaces
few spin-polarized tests are included, and other functionalities like meta-GGA, SOC, etc. are not included.
One idea is to use Fe2 bulk system to include all these tests, a STRU example is below:
ATOMIC_SPECIES
Fe 55.845 Fe_ONCV_PBE-1.0.upf upf201
NUMERICAL_ORBITAL
Fe_gga_8au_100Ry_4s2p2d1f.orb
LATTICE_CONSTANT
1.889726
LATTICE_VECTORS
2.8301511117 0.0000000000 0.0000000000 #latvec1
0.0000000000 2.8301511117 -0.0000000000 #latvec2
0.0000000000 -0.0000000000 2.8301511117 #latvec3
ATOMIC_POSITIONS
Direct
Fe #label
2 #magnetism
2 #number of atoms
0.0000000000 0.0000000000 0.0000000000 m 1 1 1
0.5000000000 0.5000000000 0.5000000000 m 1 1 1
test it with PBE-LCAO cell-relax, using nspin=2 as an INPUT example
INPUT_PARAMETERS RUNNING ABACUS-DFT
#Parameters (1.General)
suffix ABACUS
nspin 2 # 1/2/4 4 for SOC
esolver_type ksdft
dft_functional pbe
ks_solver genelpa # default for ksdft-lcao
vdw_method none # none, d3, d3_bj
#Parameters (2.Iteration)
calculation cell-relax # scf relax cell-relax md
ecutwfc 100
scf_thr 1e-7
scf_nmax 100
relax_nmax 100
relax_method bfgs
force_thr_ev 0.05
stress_thr 1
#Parameters (3.Basis)
basis_type lcao
kspacing 0.14
#Parameters (4.Smearing)
smearing_method mp # mp/gaussian/fixed
smearing_sigma 0.002 # Rydberg
#Parameters (5.Mixing)
mixing_type broyden
mixing_beta 0.4
mixing_gg0 1.0
#Parameters (6.Calculation)
cal_force 1
cal_stress 1
out_mul 1 # print Mulliken charge and mag of atom in mulliken.txt
and other tests can be done by just change INPUT:
- tasks: scf/relax/cell-relax/md
- basis: LCAO/PW
- dft_functional: pbe, scan, MGGA_X_R2SCAN+MGGA_C_R2SCAN, hse (use hse by
mixing_gg0=0
) - nspin: 2/4
- other calculation method related to magnetic system. e.g. deltaspin
So, one Fe2 system can be used in various daily tests for corresponding spin-polarized calculation methods.
Additional Context
No response
Task list for Issue attackers (only for developers)
- [ ] Understand the testing issue described by the developer.
- [ ] Review the specific test case, expected and actual results, and any error messages.
- [ ] Identify the root cause of the test failure or issue.
- [ ] If a possible solution is suggested, evaluate its feasibility and effectiveness.
- [ ] Implement a fix for the test failure or issue, or create a new test case if needed.
- [ ] Verify that the fix resolves the testing issue and the test case passes.
- [ ] Review and update any relevant documentation, such as test plans or user guides.
- [ ] Ensure the testing issue is resolved and close the ticket.
- [ ] Share any lessons learned or best practices with the team to prevent similar issues in the future.