[Wien] Constrained DFT+U on Fe-doped BaTiO3: Large discrepancies between setup density matrix, IPDOS, and output in .scfdm

Li, Zhiyuan zhiyuan.li at tmm.tu-darmstadt.de
Fri Feb 20 12:25:45 CET 2026


(Apologies to the list for the previous email sent without a subject due to a misclick. Please refer to this message for the complete details.)

Dear WIEN2k community and Prof. Blaha,


I am currently performing constrained DFT+U calculations on a 2x2x2 BaTiO3 supercell with an Fe dopant and an oxygen vacancy using WIEN2k 24.1. My ultimate goal is to systematically investigate all possible d-orbital electronic multiplets (following the methodology in Dorado et al., PRB 79, 235125 (2009) and previous discussions on this mailing list by Bin Shao in 2015 http://zeus.theochem.tuwien.ac.at/pipermail/wien/2015-July/023196.html and Jayangani in 2019 http://zeus.theochem.tuwien.ac.at/pipermail/wien/2019-July/029531.html).

The Core Issue:


I am observing a significant deviation (> 0.3 e-) between my explicitly constructed initial density matrix (.dmatup/dn), the IPDOS up to EF(Fe), and the final output density matrix obtained via lapwdm, even though the calculation converges successfully and i haven't released the constraint.

To test the constraint, I intentionally chose a non-standard configuration to ensure I can apply constraints beyond estimated egt2g spliting:

Target UP: Only dyz occupied (1.0)

Target DN: dxy, dz2, dxz, dx2-y2 occupied (1.0 each)

Here is a figure of the summary table of the discrepancies I observed:(with all smaller than 0.1 components ignored)
[cid:2e4884ef-579d-40be-b70a-73bf3fd3063f]
PS: I can only set d,dxy,dz2,dx2-y2,dxz+yz for this system in the qtl.

(I also considered the local rotation matrix, but since they share the same rotation and the tetragonal Ti site is not severely distorted, I believe it cannot fully explain this large deviation.)

My Questions:
large deviation while still constrained: I observe this huge discrepancy even before releasing the constraint. For example, my single dyz target was split into two ~0.85 occupations in .scfdmup. Does this imply that the system's symmetry is still actively forcing a degeneracy between xz and yz?

Normal behavior vs. Setup error: Is it normal to see such a large deviation between the setup .dmat and the output .scfdm while the orbital potential is still being actively applied, or does this indicate an error in my initialization/setup?

Physical/Algorithmic interpretation: If my setup is perfectly fine, how should I understand what is happening here? Is the imposed U potential simply not strong enough to overcome the hybridization and SCF mixing, thereby "washing out" my imposed constraint during the cycles?

Alternative methods for a "hard lock": Are there other techniques to more rigidly lock the desired electronic multiplet? For instance, should I artificially increase the $U$ value during the initial SCF cycles?

ALL Technical Details:

1. setup:
init_lapw -b -sp
prepare .indm &  .inorb & .dmatup/dn
x orb -up -p
x orb -dn -p
runsp_lapw -p -orbc -i 500 -ec 0.0001 -cc 0.001

2. .indm:

-12.                      Emin cutoff energy
 1                        number of atoms for which density matrix is calculated
 8  1  2      index of 1st atom, number of L's, L1
 0 0            r-index, (l,s)index

3. .inorb
1  1  0                      nmod, natorb, ipr
PRATT  1.0                     BROYD/PRATT, mixing
  8 1 2                          iatom nlorb, lorb
  1                              nsic 0..AMF, 1..SIC, 2..HFM
   0.37 0.07        U J (Ry)

4. initial .dmatup(target dyz)

   8 atom density matrix
    2  0.000000  0.000000  0.000000 L, Lx,Ly,Lz in global orthogonal system

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   1.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

5. initial .dmatdn(target dxy, dz2, dxz, dx2-y2)
   8 atom density matrix
    2  0.000000  0.000000  0.000000 L, Lx,Ly,Lz in global orthogonal system

   1.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   1.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   1.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00   0.0000000000000E+00

   1.0000000000000E+00   0.0000000000000E+00

6. Post-processing for IPDOS up to EF:
x lapw2 -qtl -up -p
x lapw2 -qtl -dn -p
configure_int_lapw -b total 8 d,dz2,dxy,dx2y2,dxz+dyz
x tetra -up -p
x tetra -dn -p

UP (Target was only dyz = 1.0): d: 1.49108, dz2: 0.03198, dxy: 0.04066, dx2y2: 0.09713, dxz+dyz: 1.32129

DN (Target was dxy, dz2, dxz, dx2-y2 = 1.0 each): d: 3.70166, dz2: 0.72795, dxy: 0.82023, dx2y2: 1.30642, dxz+dyz: 0.84706

7. Post-processing for Output Density Matrix (lapwdm):
I used a .indmc file same to my .indm and ran:
x lapwdm -up -p
x lapwdm -dn -p

case.scfdmup (Target was dyz):
irtest           1           8   2.07000000000000
 Density matrix UPUP block, real part.  L= 2
         0.08807  0.00000  0.00000  0.00000  0.04017
         0.00000  0.85159  0.00000  0.00000  0.00000
         0.00000  0.00000  0.04101  0.00000  0.00000
         0.00000  0.00000  0.00000  0.85159  0.00000
         0.04017  0.00000  0.00000  0.00000  0.08807
...
:TRA008:  TRACE of UPUP MATRIX=   1.92035   0.00000

case.scfdmdn (Target was dxy, dz2, dxz, dx2-y2):
irtest           1           8   2.07000000000000
 Density matrix UPUP block, real part.  L= 2
         0.94475  0.00000  0.00000  0.00000  0.01576
         0.00000  0.48222  0.00000  0.00000  0.00000
         0.00000  0.00000  0.90325  0.00000  0.00000
         0.00000  0.00000  0.00000  0.48222  0.00000
         0.01576  0.00000  0.00000  0.00000  0.94475
...
:TRA008:  TRACE of UPUP MATRIX=   3.75719   0.00000

Thank you very much for your attention and time!

Best regards,
Zhiyuan Li

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20260220/9518170b/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 4227 bytes
Desc: pastedImage.png
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20260220/9518170b/attachment.png>


More information about the Wien mailing list