Dear Xing,<br /><br />you were correct that ADDED_MOS was required by the CP2K development<br />version used for the output attached to your message.<br /><br />This behavior has since changed. Starting with commit<br /><br />https://github.com/cp2k/cp2k/commit/983a8784de08474e9a2886adc0c8e52bba168087<br /><br />which is included in CP2K 2026.2, an explicit positive MO_INDEX_RANGE<br />automatically makes the requested orbitals available. Using -1 as the<br />last index requests all orbitals available in the AO basis.<br /><br />I reran your attached input unchanged with a current CP2K 2026.2<br />development build. With<br /><br /> MO_INDEX_RANGE 0 -1<br /><br />and without ADDED_MOS, CP2K reported 4 occupied and 18 total molecular<br />orbitals at each of the 8 k-points.<br /><br />If you need to use the older executable from your original calculation,<br />you can instead add<br /><br /> ADDED_MOS -1<br /><br />to request all available orbitals, or specify a positive number if only<br />that many additional virtual orbitals are required.<br /><br />Regarding your question about ALGORITHM STANDARD: for this k-point<br />calculation, it does not diagonalize the Hamiltonian only in the<br />occupied-MO subspace. CP2K constructs the Kohn-Sham matrix H(k) and<br />overlap matrix S(k) in the atomic-orbital basis and solves<br /><br /> H(k) C(k) = S(k) C(k) epsilon(k)<br /><br />separately for every k-point and spin channel.<br /><br />ADDED_MOS controls how many of the lowest eigenpairs are requested and<br />stored in addition to those needed for the occupied states. Depending on<br />the selected eigensolver backend, it may calculate only this requested<br />part of the spectrum, or calculate the full spectrum and retain the<br />requested part. At zero electronic temperature, the unoccupied orbitals<br />do not contribute to the density matrix.<br /><br />DIAG_SUB_SCF is a separate optional inner SCF loop. It keeps the molecular<br />orbitals fixed while refining occupations and is not available with<br />k-points. For Gamma-point calculations, STANDARD can also switch to a<br />block-Jacobi pseudo-diagonalization sweep close to convergence.<br /><br />The documentation clarification is available here:<br /><br />https://github.com/cp2k/cp2k/pull/5712<br /><br />Best regards,<br />Thomas<div class="gmail_quote"><div dir="auto" class="gmail_attr">On Friday, March 20, 2026 at 6:41:05 AM UTC+1 Xing Zhang wrote:<br/></div><blockquote class="gmail_quote" style="margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">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?<br><br><div class="gmail_quote"><div dir="auto" class="gmail_attr">On Wednesday, March 18, 2026 at 9:25:14 PM UTC-7 Xing Zhang wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I was trying to print both occupied and unoccupied MO energies for an XTB calculation.<div>However, the output always only shows the occupied orbitals. I wonder if my input is incorrect. Please help. Thank you in advance.</div><div><br></div><div>I have attached the input and output files.</div></blockquote></div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups "cp2k" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:cp2k+unsubscribe@googlegroups.com">cp2k+unsubscribe@googlegroups.com</a>.<br />
To view this discussion visit <a href="https://groups.google.com/d/msgid/cp2k/92829175-84a7-441b-bf90-b3ec43a5dfadn%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/cp2k/92829175-84a7-441b-bf90-b3ec43a5dfadn%40googlegroups.com</a>.<br />