Periodic boundary condition when generating .inp file and scattering paths in GeSn_Larch
Dear All, While generating the .inp file (attached) of a GeSn DFT structure from a .cif file (attached), I noticed some anomalies in the feff path calculation. In this specific case, we should expect Sn to have 4 nearest neighbors in the first shell. However, when the absorbing (Sn) atom is located on the edge of the supercell, the number of nearest neighbors is reduced to 2, which is non-physical. The DFT structure was generated with periodic boundary conditions (PBC). My question is the following: Is it possible to incorporate the PBC in the feff calculation process to generate the right scattering paths, especially for atoms absorbers located on the edge of the supercell? I wanted to know if there are any option in larch to deal with this specific case. I am attaching the .cif and the current .inp files that I obtained of GeSn structure. Thank you so much for your help. Best regards, Dr. Anis Attiaoui, Stanford University, GLAM Dept. Material Science and Engineering, McCullough Building, 476 Lomita Mall, Stanford California, USA, 94305 Office/shipping: McC-203 Tel: +1(650)485-0501 Web: https://urldefense.us/v3/__https://mcintyre.stanford.edu__;!!G_uCfscf7eWS!eD... <https://urldefense.us/v3/__https://mcintyre.stanford.edu/__;!!G_uCfscf7eWS!e... >
Hi Anis, Sorry for the trouble. First: no, Feff does not support periodic boundary conditions or any crystallinity. It uses a cluster of atoms. One way of looking at XAS is that it is not only independent of periodicity, but that it breaks periodicity. Exactly one atom is the absorber. But a crystalline structure or P1 structure from some calculation imposing boundary conditions should be readily converted to a cluster of atoms for Feff. This is what all of the "structure to Feff.inp" codes do. But, I'm not sure how you created that "feff.inp" file. When I try to read that CIF file, pymatgen says there are no structures found:
from pymatgen.io.cif import CifParser xcif = CifParser('CIF-00485-T300K.cif') xcif.parse_structures(primitive=True) .... ValueError: Invalid CIF file with no structures!
I cannot get CifFile to read it either:
import CifFile xcif = CifFile.ReadCif('CIF-00485-T300K.cif') .... CifFile.StarFile.StarError: Star Format error: Syntax error in input file: last value parsed was Parser status:
For sure, CIF is a complex format. But your CIF file is invalid and cannot be read. I'm not sure why that is, but it means Feff.inp cannot be created. --Matt On Fri, Jul 26, 2024 at 11:03 PM Anis Attiaoui via Ifeffit < ifeffit@millenia.cars.aps.anl.gov> wrote:
Dear All, While generating the .inp file (attached) of a GeSn DFT structure from a .cif file (attached), I noticed some anomalies in the feff path calculation. In this specific case, we should expect Sn to have 4 nearest neighbors in the first ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
Dear All,
While generating the .inp file (attached) of a GeSn DFT structure from a .cif file (attached), I noticed some anomalies in the feff path calculation.
In this specific case, we should expect Sn to have 4 nearest neighbors in the first shell. However, when the absorbing (Sn) atom is located on the edge of the supercell, the number of nearest neighbors is reduced to 2, which is non-physical.
The DFT structure was generated with periodic boundary conditions (PBC). My question is the following:
Is it possible to incorporate the PBC in the feff calculation process to generate the right scattering paths, especially for atoms absorbers located on the edge of the supercell?
I wanted to know if there are any option in larch to deal with this specific case.
I am attaching the .cif and the current .inp files that I obtained of GeSn structure.
Thank you so much for your help.
Best regards,
Dr. Anis Attiaoui,
*Stanford University, GLAM*
Dept. Material Science and Engineering,
McCullough Building,
476 Lomita Mall, Stanford
California, USA, 94305
Office/shipping: McC-203
Tel: *+1(6**50)485-0501*
Web: https://urldefense.us/v3/__https://mcintyre.stanford.edu__;!!G_uCfscf7eWS!ey... https://urldefense.us/v3/__https://mcintyre.stanford.edu/__;!!G_uCfscf7eWS!e...
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov https://urldefense.us/v3/__http://millenia.cars.aps.anl.gov/mailman/listinfo... Unsubscribe: https://urldefense.us/v3/__http://millenia.cars.aps.anl.gov/mailman/options/...
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
Hi Matt,
Thank you so much for your reply. I also had the same issue with the original .cif file for a reason I ignore (the DFT structures were generated by a collaborator). What I had to do is I convert the .cif file to .xyz format and that seemed to fix the issue (.xyz attached).
Next, I generate the .inp file using the Struct2XAS module from Larch (from larch.xrd.struct2xas import Struct2XAS).
Struct2XAS permits to sample all the Sn or Ge as absorber atoms in the supercell. Having an absorber atom located on the edge of the supercell seems to be the source of the issue as it induces missing paths.
Best regards,
A.
From: Matt Newville
from pymatgen.io.cif import CifParser xcif = CifParser('CIF-00485-T300K.cif') xcif.parse_structures(primitive=True) .... ValueError: Invalid CIF file with no structures!
I cannot get CifFile to read it either:
import CifFile xcif = CifFile.ReadCif('CIF-00485-T300K.cif') .... CifFile.StarFile.StarError: Star Format error: Syntax error in input file: last value parsed was Parser status:
For sure, CIF is a complex format. But your CIF file is invalid and cannot be read. I'm not sure why that is, but it means Feff.inp cannot be created.
--Matt
On Fri, Jul 26, 2024 at 11:03 PM Anis Attiaoui via Ifeffit
participants (2)
-
Anis Attiaoui
-
Matt Newville