[CP2K-user] [CP2K:22387] Re: Unable to print virtual MO energies
tkuehne
tkuehne at gmail.com
Tue Aug 11 18:11:46 UTC 2026
Dear Xing,
you were correct that ADDED_MOS was required by the CP2K development
version used for the output attached to your message.
This behavior has since changed. Starting with commit
https://github.com/cp2k/cp2k/commit/983a8784de08474e9a2886adc0c8e52bba168087
which is included in CP2K 2026.2, an explicit positive MO_INDEX_RANGE
automatically makes the requested orbitals available. Using -1 as the
last index requests all orbitals available in the AO basis.
I reran your attached input unchanged with a current CP2K 2026.2
development build. With
MO_INDEX_RANGE 0 -1
and without ADDED_MOS, CP2K reported 4 occupied and 18 total molecular
orbitals at each of the 8 k-points.
If you need to use the older executable from your original calculation,
you can instead add
ADDED_MOS -1
to request all available orbitals, or specify a positive number if only
that many additional virtual orbitals are required.
Regarding your question about ALGORITHM STANDARD: for this k-point
calculation, it does not diagonalize the Hamiltonian only in the
occupied-MO subspace. CP2K constructs the Kohn-Sham matrix H(k) and
overlap matrix S(k) in the atomic-orbital basis and solves
H(k) C(k) = S(k) C(k) epsilon(k)
separately for every k-point and spin channel.
ADDED_MOS controls how many of the lowest eigenpairs are requested and
stored in addition to those needed for the occupied states. Depending on
the selected eigensolver backend, it may calculate only this requested
part of the spectrum, or calculate the full spectrum and retain the
requested part. At zero electronic temperature, the unoccupied orbitals
do not contribute to the density matrix.
DIAG_SUB_SCF is a separate optional inner SCF loop. It keeps the molecular
orbitals fixed while refining occupations and is not available with
k-points. For Gamma-point calculations, STANDARD can also switch to a
block-Jacobi pseudo-diagonalization sweep close to convergence.
The documentation clarification is available here:
https://github.com/cp2k/cp2k/pull/5712
Best regards,
Thomas
On Friday, March 20, 2026 at 6:41:05 AM UTC+1 Xing Zhang wrote:
> I figured out that I need to set ADDED_MOS. Then I'm curious about how the
> standard diagonalization algorithm works in CP2K. Does it only diagonalize
> in a subspace?
>
> On Wednesday, March 18, 2026 at 9:25:14 PM UTC-7 Xing Zhang wrote:
>
>> I was trying to print both occupied and unoccupied MO energies for an XTB
>> calculation.
>> However, the output always only shows the occupied orbitals. I wonder if
>> my input is incorrect. Please help. Thank you in advance.
>>
>> I have attached the input and output files.
>>
>
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/92829175-84a7-441b-bf90-b3ec43a5dfadn%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20260811/997cb552/attachment-0001.htm>
More information about the CP2K-user
mailing list