Author Topic: Optical Spectrum calculation completes without output in X-2025.06, works in X-2  (Read 47559 times)

0 Members and 1 Guest are viewing this topic.

Offline cileten

  • New QuantumATK user
  • *
  • Posts: 2
  • Country: tr
  • Reputation: 0
    • View Profile
Hello,

I have encountered an issue when running the same Optical Spectrum script in QuantumATK X-2025.06 compared to X-2023.12. Both the X-2023.12 and X-2025.06 versions are running with valid licenses under the latest SCL.

Behavior:
- In X-2023.12: The script runs normally and produces the expected Optical Spectrum output.
- In X-2025.06: The script completes without any errors, but no Optical Spectrum dataset is produced. The log file does not show any explicit errors or warnings.

Important note: For the same workflow and parameters, the calculation works for a bulk supercell monolayer in X-2025.06, but when applied to a ring/nested structure, the calculation finishes without producing results.

System and setup:
* OS: Linux (workstation)
* GPU: NVIDIA RTX 3080 (driver 550.xx, CUDA 12.4)
* Calculator: LCAO (GGA-PBE, Norm-Conserving pseudopotentials)
* Basis: DZP
* k-point sampling: KpointDensity (default from the working 2023.12 script)
* Geometry: large supercell (ring/nested structure)

What I tried:
* Verified the calculator is bound to the configuration.
* Reduced bands_above_fermi_level to as low as 8.
* Used MonkhorstPackGrid(1,1,1) instead of KpointDensity to simplify k-points.
* Changed transition matrix operator to VelocityOperator().
* Ran in headless mode to avoid GUI/OpenGL interference.
*Checked that no memory or disk issues occurred during the run.

Result:
Even with reduced parameters, X-2025.06 finishes the run without producing the Optical Spectrum results, whereas X-2023.12 works without any modifications to the same script. The only consistent difference in behaviour within X-2025.06 is that monolayer supercells produce results, but ring/nested configurations do not.

Question:
Has the behaviour of OpticalSpectrum changed in X-2025.06 such that an explicit method call (e.g., .dielectricConstant()) is now required before saving, or are there new mandatory parameters that differ from X-2023.12? Could this be related to changes in k-point sampling defaults, geometry type handling, or the way results are written to HDF5?

I can provide the minimal reproducing script and the log output from both versions if needed.

P.S. the script is as attached.

Thank you for your assistance.

Offline Troels-Markussen

  • QuantumATK Staff
  • Heavy QuantumATK user
  • *****
  • Posts: 45
  • Country: dk
  • Reputation: 4
  • QuantumATK staff
    • View Profile
Hi,
We recently introduced a new "transition_matrix_operator" method keyword in OpticalSpectrum. The default for LCAO calculatios is "transition_matrix_operator=VelocityOperator", which should include the non-local contribution from the Hamiltonian (pseudo-potential term or exact exchange contribution) more accurately than in the old 'transition_matrix_operator=MomentumOperator' approach, which assumes that the Hamiltonian is local. However, I can reproduce a hanging (or very slow) process, so I suggest that you switch back to the old method by modifying your script as:

optical_spectrum = OpticalSpectrum(
    configuration=mose2_ar10cif,
    transition_matrix_operator=MomentumOperator,
)

You can also choose the transition matrix operator in the GUI workflow builder when editing the OpticalSpectrum.