Skip to content

Add local orbital rotation in CONQUEST for projecting pDOS along any axes - #474

Merged
chpxu merged 3 commits into
developfrom
f-rotate-pDOS-fixed
Sep 7, 2026
Merged

chpxu merged 3 commits into
developfrom
f-rotate-pDOS-fixed

Conversation

@chpxu

@chpxu chpxu commented Aug 28, 2026

Copy link
Copy Markdown

This PR adds support for constructing rotation matrices for the orbital basis of CONQUEST that are directly applied to the wavefunction arrays scaled_evec_coeff and evec_coeff inside PostProcessing.

These rotation matrices allow the pDOS to be projected along any arbitrary set of Cartesian axes and can be defined in multiple ways:

  1. Euler angles, in the active, extrinsic zyz order
    • see Quantum Theory of Angular Momentum by Varshalovich, Moskalev and Khersonskii
  2. Romanowski's axis-angle parameterisation, with support for inputting nearest neighbours, axis-angle or a set of axes

Both methods correctly recover the $p$ and $d$ orbital pDOS of a distorted iron(II) (CO)_6 complex under any general rotation of the molecule. Testing was also performed on $Pbnm$ LaMnO3, showing clear 3z^2 - r^2 orbital order when the longest direction is set to an Mn atom's local z axis. $I4/mcm$ KCuF3 also shows 3z^2 - r^2 orbital order, consistent with the literature of both these materials.

Note: the original branch f-rotate-pDOS can be ignored

chpxu and others added 3 commits August 28, 2026 14:40
The previous branch f-rotate-pDOS became broken. This commit readds the
necessary code.
@chpxu
chpxu requested a review from davidbowler August 28, 2026 15:38
@chpxu chpxu added area: utilities Relating to the utilities improves: functionality Adding functionality to code labels Aug 28, 2026
@chpxu chpxu added this to the Release v1.6 milestone Aug 28, 2026
@chpxu
chpxu merged commit 8d380c4 into develop Sep 7, 2026
8 checks passed
@davidbowler
davidbowler deleted the f-rotate-pDOS-fixed branch September 8, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: utilities Relating to the utilities improves: functionality Adding functionality to code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants