XAS calculation of an open-shell system

32 views
Skip to first unread message

qing zhou

unread,
Nov 13, 2025, 12:19:15 AM (yesterday) Nov 13
to cp2k
Dear CP2K users and developers,

I am using CP2K to calculate the XAS of an open-shell system with a spin multiplicity of 2. The OT method was enabled for the SCF calculation to aid convergence, and I have set EXCITATIONS OS_SPIN_CONS in the &XAS_TDP section. For the functional, I am using a PBE-based functional with 45% Hartree-Fock exchange. The def2-TZVP basis set was used for the Fe atom, while the DZVP-MOLOPT basis set was used for all other atoms.

As shown in the output file, the calculation finished without any errors, and the SCF converged successfully. However, the excitation energies in the resulting spectrum file are obviously incorrect. I recall that the energy for the Fe K-edge should be around 7000 eV. Furthermore, the spectrum file contains only a single data point.

I would like to ask what potential issues might exist in my calculation setup. How can I adjust my settings to correctly obtain the XAS spectrum for this open-shell system?

I have attached my input (.inp), output (.out), and spectrum files for your reference. Thank you for your help!

Fe-N3S-2-1.spectrum
Fe-N3S-2-1.out
Fe-N3S-2-1.inp
Message has been deleted

Nan Dong

unread,
Nov 13, 2025, 4:32:34 AM (yesterday) Nov 13
to cp2k
Hi qing zhou, 

I checked your input and the output, and the spectrum. 
In spectrum, there is only one state at 6167.202695 eV, which I would say it bad but not so bad. 
but the only one state should be noticed, which it is due to you set ENERGY_RANGE 30. The expected Fe 1s around 7000, is out of this range tooo far. 
and I would suggest: 
1. increase the Grid size.  GRID Fex 500 1000 
2. decrease the number for searching, N_SEARCH 5  
Because you only have one Fe here, and calculate its 1s excitations. The MOs order should be Fe_1s, at the lowest. 
3. increase RI_REGION (you can test, ending up to contain all atoms in the structure) 
4. maybe increase the ENERGY_RANGE, I would suggest 1000 or 2000. since now your first excitation state is 6167, the range should include the expected states (for Fe 1s 7000 eV approximately). After you improve the first excitation energy, it can be reduced. 

another option, decrease HF portion. PBE0(25%) or B3LYP(25%) might give a better spectrum, which I preferred for Fe 2p spectrum. 

Best, 
Nanchen 

Augustin Bussy

unread,
Nov 13, 2025, 4:40:54 AM (yesterday) Nov 13
to cp2k
Dear Qing Zhou,

Note that TDDFT XAS energies are rarely a close match to experiment, and the whole spectrum generally needs to be blue shifted to match. The difference with respect to experiments increases with heavier elements, as relativistic effects start to have an impact (they are neglected in XAS_TDP, as it is assumed that they only result in a rigid shift of the spectrum). That being said, I do not know what kind of shift to expect for Fe.

All options suggested by Nanchen are relevant and worth testing. Additionally, you can also try using a pre-optimized RI basis such as def2-TZVP-RIFIT (available on the Basis Set Exchange website). The automatically generated RI basis sets are sometimes very large, and that does not help if the system is already numerically brittle.

Best,
Augustin

qing zhou

unread,
Nov 13, 2025, 11:39:41 PM (14 hours ago) Nov 13
to cp2k
Dear Nanchen,

Based on your advice, I've successfully finished the calculation. Thanks so much for your help!

Have a nice day!

Best,
Qing_Zhou

Reply all
Reply to author
Forward
0 new messages