triqs_dftkit.wien2k.parproj
Pure-Python generation of the dmftproj partial-projector file (case.parproj), replacing the parproj path of the dmftproj Fortran executable (outputqmc.f).
This is the sibling of ctqmcout.py. Where ctqmcout covers the correlated shells (crorb, l_inc==2) and runs them through the Loewdin orthonormalization, parproj covers ALL included shells (orb, l_inc in {1,2}) and writes the RAW radial-normalized Theta projector. The three structural differences from ctqmcout are:
No Loewdin orthonormalization. pr_orb%matn_rep is never touched by orthogonal_wannier; the only normalization is the per-orbital radial transform s12 = O_radial^{+1/2} (orthogonal_r with inv=.FALSE.) applied as coeff.s12 per (m, ib) in set_projections.f:273-332.
The Theta projector keeps the full radial vector coeff = [Alm, Blm, Clm…] of length n = nLO+2; s12 is built from u_dot_norm, ovl_LO_u and the second LO-overlap token ovl_LO_udot (set_projections.f:163-197). All n radial channels are written separately (the ir loop).
Three extra per-orbital blocks: the BZ-symmetrized, point-integrated (per-k weight), Rloc-rotated density matrix densmat (density.f + symmetrize_mat + rotdens_mat), the per-orbital Rloc spinor rotrep (set_rotloc.f), and a time-reversal flag.
The reference case CaOs2 is SP+SO (ifSP=ifSO=1, ns=2), so every per-orbital matrix is the full 2*(2l+1)=10 spin+orbital block. The exact cubic transmat and the rot_projectmat local rotation are applied to matn_rep before writing, exactly as in ctqmcout.
outputqmc.f parproj writer: 897-1183. set_projections.f s12/projector: 163-197/273-622. density.f Theta path: 588-915. symmetrize_mat.f / rot_dens.f / setsym.f / set_rotloc.f for the symmetrization and Rloc rotation.
Functions
|
Read <case>.almblm{up,dn}, <case>.indmftpr, <case>.struct, <case>.dmftsym and write <case>.parproj in the dmftproj format. |