This is the user forum of the DFT FLAPW code FLEUR.
It is meant to be used as a place to asks questions to other users and the developers, to provide feedback and suggestions.
The documentation of the code can be found at the FLEUR homepage.
[b][/b]
[i][/i]
[u][/u]
[code][/code]
[quote][/quote]
[spoiler][/spoiler]
[url][/url]
[img][/img]
[video][/video]
Smileys
smile
smile2
spook
alien
zunge
rose
shy
clown
devil
death
sick
heart
idee
frage
blush
mad
sad
wink
frown
crazy
grin
hmm
laugh
mund
oh
rolling_eyes
oh2
shocked
cool
[pre][/pre]
Farben
[rot][/rot]
[blau][/blau]
[gruen][/gruen]
[orange][/orange]
[lila][/lila]
[weiss][/weiss]
[schwarz][/schwarz]
Venkateswara
Posts: 10 | Last online: 01.18.2025
Date registered
02.07.2024
Sex
not specified
    • Venkateswara has written a new post "Band unfolding from hexagonal supercell to primitive cell." 12.25.2024

      Dear Sir,

      In the unfoldBandKPTS.f90 file, if one replaces the do i=1,3 p_cell%amat(:,i) = matmul(inv_unfold, cell%amat(:,i)) enddo with p_cell%amat = matmul(cell%amat, inv_unfold) then the primitive cell matrix comes to be correct. There is one more bug in inv3(unfold,inv_unfold,inv_unfold_det), inv_unfold_det value is actually the det of unfold, not the det of inv_unfold.
      Hence, I am hoping the bugs in the unfoldBandKPTS.f90 will be fixed in the next development version.

      Thank you sir,
      With best regards,
      Dr. Venkateswara

    • Venkateswara has written a new post "Band unfolding from hexagonal supercell to primitive cell." 12.24.2024

      Dear Sir,

      I forgot to mention one point. The primitive vectors for hexagonal cell a1, a2, a3 are valid if a1 and a2 magnitudes are equal, when we convert from supercell vectors A1, A2 and A3. That is not satisfying the above case.

      Thank you sir,
      With best regards,
      Dr. Venkateswara

    • Venkateswara has written a new post "Band unfolding from hexagonal supercell to primitive cell." 12.24.2024

      Dear Sir,

      I tried to debug the error in unfoldBandsKPTS.f90 file. banddos%unfoldTransMat, unfold, inv_unfold, inv_unfold_det, cell%amat(:, i) are fine. This one matmul(inv_unfold, cell%amat(:, i)) seems different as compared to python np.matmul. So, the tranformation matrix should be transpose due to different way of reading arrays in python and fortran.
      So, I corrected the transMat by its transpose in xml.

      The problem, I figured out is that pcell%amat is not correct. The reason seems that the fluer is making hexagonal lattice vectors as (x,y,0), (x,-y,0) and (0,0,z), by some transformation. So, simply pcell%amat(:,i) = matmul(inv_unfold,cell%amat(:,i)) yielding error values. So, if one can correct here, I think the problem will be solved.

      Thank you very much sir,

      With best regards,
      Dr. Venkateswara

    • Venkateswara has written a new post "Band unfolding from hexagonal supercell to primitive cell." 12.24.2024

      Dear Gregor,
      I followed the tutorial link that you shared. I am not getting the unfolded band structure. In the file bands_sc.1 the third column contains negative numbers as well. If you simply plot using gnuplot script, the one bands_sc.gnu, the band structure seems exactly same as the folded band structure.

      In the second approach, I tried to generate supercell kpoints by reading the kpts.xml type='path' and saving back to kpts.xml by kPointList name differently. Then the calculated band structure seems gapped in xCoords or k, x-axis. This band structure also does not appear properly to me. I have used the following python script for conversion of primitive cell kpoints to supercell KPONTS,
      def find_K_from_k(k, M):
      '''
      Get the K vector of the supercell onto which the k vector of the primitive
      cell folds. The unfolding vector G, which satisfies the following equation,
      is also returned:

      k = K + G

      where G is a reciprocal space vector of the supercell.
      '''
      M = np.array(M)
      Kc = np.dot(k, M.T)
      G = np.array(np.round(Kc), dtype=int)
      KG = Kc - np.round(Kc)

      return KG, G

      Ofcouse one can use np.floor() to remove the G vectors (m1, m2, m3) from the estimated supercell Kpoint to bring it into the first Brillouin zone in the supercell.
      Here the transMat or M is M = np.array([[2,1,0],[-1,1,0],[0,0,1]],dtype=np.int32)

      I highly appreciate your help in this regard.

      Thank you very much.

      With best regards,
      Dr. Venkateswara

    • Venkateswara has written a new post "Band unfolding from hexagonal supercell to primitive cell." 11.30.2024

      Dear Sir,
      I am sorry for the typo in the previous text/problem. The matrix is a non-diagonal integer elements and is invertible. Is there a way to feed this matrix into the inp.xml file in Fleur file for the band unfolding?

      Thank you sir,

      With best regards,
      Dr. Venkateswara

Recipient
Venkateswara
Subject:


text:

Sign up, to leave a comment


Xobor Einfach ein eigenes Xobor Forum erstellen
Datenschutz