Question on Slater TP (half-core-hole) setup for C 1s / O 1s binding energies in CP2K (GAPW)

25 views
Skip to first unread message

Harry Lim

unread,
Feb 20, 2026, 3:53:11 AM (yesterday) Feb 20
to cp2k

Dear CP2K developers and users,

I am trying to reproduce C 1s and O 1s binding energies (from XPS simulation) using CP2K, following the methodology described in the Supporting Information of the following paper:

“Reaction Intermediates Involved in the Epoxidation of Ethylene Over Silver Revealed by In Situ Photoelectron Spectroscopy”
Man Guo, Nanchen Dongfang, Qiang Liu, Marcella Iannuzzi, Jeroen Anton van Bokhoven, Luca Artiglia,
Small 2024, DOI: 10.1002/smll.202408432. https://onlinelibrary.wiley.com/doi/10.1002/smll.202408432?af=R

“Slater transition potential method with half-core hole approximation using GAPW and all-electron basis sets.”

According to the SI, they:

Performed geometry optimization with GPW + GTH pseudopotentials
Switched to GAPW
Treated C and O as all-electron (no pseudopotentials)
Used 6-311G all-electron basis sets
Applied the Slater transition potential method (half-core-hole)
Extracted binding energies from core-level eigenvalues after removing half an electron

I have added the following in the input file of my final states (with core-hole).

&XAS
  RESTART .FALSE.
  METHOD TP_HH        
  STATE_TYPE 1S    
  ATOMS_LIST 37       ! target atom index
  ADDED_MOS 200

  &SCF
    MAX_SCF 300
    EPS_SCF 1.0E-6

    &MIXING
      METHOD BROYDEN_MIXING
      ALPHA 0.2
      NBROYDEN 10
    &END MIXING

    &SMEAR
      METHOD FERMI_DIRAC
      ELECTRONIC_TEMPERATURE 500
    &END SMEAR
  &END SCF

  &LOCALIZE
  &END LOCALIZE
&END XAS

But the calculation keeps give me the same total energy as the initial state (without core-hole). I'd appreciate if someone can point out the mistake? 

Thank you in advance for any advice or examples you can share.

With best regards,

Marcella Iannuzzi

unread,
Feb 20, 2026, 3:58:41 AM (yesterday) Feb 20
to cp2k
Hello,

Activating the XAS section you should get a first GS SCF and one additional SCF for each excited atom from ATOMS_LIST . 
Is this the case?
Sharing the output would help to understand what the problem is.
Regards
Marcella

Harry Lim

unread,
Feb 20, 2026, 4:08:56 AM (yesterday) Feb 20
to cp2k
Dear Professor Iannuzzi, 

I attach the following outputs from my calculations.
Is there a special keyword that I can search?
Currently I just grep "Total energy" from the main output file.

I'm sorry that I'm a new user of CP2K.
Please let me know if you need more information .

Input_Output.zip

Harry Lim

unread,
Feb 20, 2026, 7:02:35 AM (yesterday) Feb 20
to cp2k

For reference, the Supporting Information of Small 2024 (DOI: 10.1002/smll.202408432) states:

“The calculation of the C and O K-edge, used to reproduce the binding energies of 1s electrons, was achieved by applying the Gaussian augmented plane wave method (GAPW). For the C and O elements, all electrons were explicitly considered (no pseudopotentials) and 6-311G** all-electron basis sets were employed to expand the molecular orbitals. The calculations of the energies of the core states were based on the Slater transition potential method with half-core hole approximation, where initial and final state effects were accounted for by electronic energy eigenvalue calculations after removing half an electron from the core state.”

In my case, I am using CP2K version 2025.1, and I am planning to calculate the C 1s and O 1s binding energies for adsorbates on a metallic surface slab model.

Conventionally, core-level binding energies are often computed using a pseudopotential containing an explicit core hole (for example, ΔSCF with a core-hole pseudopotential). However, in this work the authors instead employ an all-electron GAPW treatment with a half-core-hole Slater transition potential and extract the binding energy from the core eigenvalue.

I would greatly appreciate any guidance on the recommended way to implement this approach correctly in CP2K.

Thank you very much in advance..

Marcella Iannuzzi

unread,
Feb 20, 2026, 10:04:06 AM (yesterday) Feb 20
to cp2k
Hello

The output that you posted shows that the calculation stops soon after the GS optimisation. 
No XAS calculation has been performed. 
Try to remove the PRINT_LEVEL HIGH. It is possible that this automatically triggers the calculation of other properties that are not compatible with the computational settings in use.

Regards
Marcella

Harry Lim

unread,
Feb 20, 2026, 10:40:32 AM (yesterday) Feb 20
to cp2k
Thank you for kind reply.

I have removed the PRINT_LEVEL HIGH and indeed the XAS calculation can start.
However, the job soon stops with the following error.
Is it due to the memory problem?
I will try to change the number of processor/increase the number of node..
Thank you again for your kind attention..

With best regards, 

Harry

Sat Feb 21 00:07:31 JST 2026
[c15u07n4:652783:0:652783] Caught signal 11 (Segmentation fault: address not mapped to object at address (nil))
[c15u07n4:652786:0:652786] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
[c15u07n4:652790:0:652790] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x31)
==== backtrace (tid: 652783) ====
 0 0x0000000000012ce0 __funlockfile()  :0
 1 0x0000000001e5a7ab __xas_methods_MOD_cls_assign_core_states()  /home/k0739/k073900/program/cp2k-2025.1/build/src/xas_methods.F:1595
 2 0x0000000001e62e94 __xas_methods_MOD_xas()  /home/k0739/k073900/program/cp2k-2025.1/build/src/xas_methods.F:397
 3 0x0000000001510d3b __qs_energy_utils_MOD_qs_energies_properties()  /home/k0739/k073900/program/cp2k-2025.1/build/src/qs_energy_utils.F:184
 4 0x0000000001509f0b __qs_energy_MOD_qs_energies()  /home/k0739/k073900/program/cp2k-2025.1/build/src/qs_energy.F:162
 5 0x00000000009c0591 __force_env_methods_MOD_force_env_calc_energy_force()  /home/k0739/k073900/program/cp2k-2025.1/build/src/force_env_methods.F:260
 6 0x0000000002916b8d __cp2k_runs_MOD_cp2k_run.constprop.0()  /home/k0739/k073900/program/cp2k-2025.1/build/src/start/cp2k_runs.F:327
 7 0x00000000029196eb __cp2k_runs_MOD_run_input()  /home/k0739/k073900/program/cp2k-2025.1/build/src/start/cp2k_runs.F:935
 8 0x0000000000403bf7 MAIN__()  /home/k0739/k073900/program/cp2k-2025.1/src/start/cp2k.F:379
 9 0x000000000040159f main()  /home/k0739/k073900/program/cp2k-2025.1/src/start/cp2k.F:44
10 0x000000000003acf3 __libc_start_main()  ???:0
11 0x00000000004015de _start()  ???:0
=================================

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Reply all
Reply to author
Forward
0 new messages