Dear Rajesh,
Just as an extra warning. Just that the code works for your orthorhombic
system on top of the cubic does not mean it does the correct thing. It
should also be rather clear that the code can not know how the two
materials are stacked on top of each other. (In your case you likely have
some 45degree rotation between the substrate and layer.) So it can only
work if you match it manually. I would be curious what the code does in
your case. can you still share the code you used to build the stack? Maybe
I will add some extra warning when the code is very likely to misbehave.
ad. 1) Regarding the diffraction models: In fact only the kinematical
multibeam and the dynamical model (only full dynamic) are recommended to
use. The substrate can only be really correct with the dynamical model. But
something is wrong with your measurement of the substrate anyways. The
other models are there only for testing the theory I would say. And it's
true that the dynamic one can always only calculate one peak. Since version
1.7.8 you can actually specify a list of hkl, but this list is interpreted
in a way to allow for different hkl values of the film and the substrate.
If you need to simulate multiple peaks of film and substrate you have to
write a small wrapper to do that.
ad 2) I am afraid the relaxation parameter might not be well defined in
your case. this parameter works for cubic on cubic, but likely not for
anything else. At least I never tested it! In your case you will have to
input inplane stress into the stack you build. Unless you do a lot of
testing of the PseudomorphicStack I would recommend to use a LayerStack and
apply the stress/strain manually with the GetStrain/ApplyStrain method of
the material. In this way you can also check the resulting deformation of
the material before you run the simulation. The problem you then have is
that a direct automatic fitting using built in tools in xrayutilities is
currently not possible. You will maybe need some coding for some automatic
fitting, but judging from your experimental data you anyway will never
numerically be able to fit them since in the experiment no thickness
fringes are visible, there is some extra peak, and the substrate seems also
wrong. I would play a bit with manually adjusting the simulation to your
data and stick to that.
kind regards
Dominik
On Fri, Aug 23, 2024 at 12:34 AM Dutta,Rajesh <rd...@dr...> wrote:
> Dear Dominik,
>
>
>
> Many thanks for the fruitful hints. It is doable somehow even though it is
> orthorhombic system on top of cubic. Luckily, our SrFeO2.5 (5.6, 5.65,
> 15.7A) can be treated as pseudocubic system (rotating 45 deg around
> c-axis). With this setting a,b axes of SrFeO2.5 become like cubic
> SrTiO3(3.905A). However, I had to manually build both the SrTiO3 and
> SrFeO2.5 to match the c-axis and to incorporate elastic constants as well.
> Please have a look at the attached figure (simulation and experimental
> data). Let me know your thoughts.
>
>
>
> Besides that, I have questions: (1) Only multibeam kinematical model takes
> all the reflections using “surface_hkl=(0,0,1)” where others take only one
> given (H, K, L). Is there any way to make a list for (H,K,L) so that other
> model can calculate the XRD for several (H,K,L). I tried to give a list but
> did not work. (2) Is the relaxation parameter treated as strain/stress
> here? If not, how can I input in-plane stress or strain? I will try to fit
> the data and let you know the outcomes.
>
>
>
> Thanks again,
>
> Bye,
>
> Rajesh
>
>
>
> *From:* Dominik Kriegner <dom...@gm...>
> *Sent:* Thursday, August 22, 2024 5:46 AM
> *To:* Dutta,Rajesh <rd...@dr...>
> *Cc:* xra...@li...
> *Subject:* Re: [Xrayutilities-users] XRD-Simulation needs elastic
> parameters
>
>
>
> *External.*
>
> Dear Rajesh,
>
>
>
> Is there a standardized way the elastic parameters are provided in the cif
> files? If so one could update the parser to allow to read it properly.
>
>
>
> But likely it's better you define the materials manually. I recommend you
> to look at
>
> https://xrayutilities
> .sourceforge.io/examples.html#using-the-materials-subpackage
>
> I am however afraid I did not include some documentation on how to add the
> elastic parameters. For this maybe best look at how it is done for the
> predefined materials in the code
>
> https://github.com/dkriegner/xrayutilities/blob/main/lib/xrayutilities
> /materials/predefined_materials.py
>
>
>
> Finally I must warn you that I do believe that the pseudomorphic stack was
> never tested for orthorhombic materials on top of a cubic material. I am
> almost certain it won't exactly do what you expect.
>
> You might be able to help yourself and distort the material as you see
> fit, but I would not rely on the pseudomorphicstack code to work without
> changes!
>
>
>
> cheers
>
> Dominik
>
>
>
> On Thu, Aug 22, 2024 at 2:21 AM Dutta, Rajesh via xrayutilities-users <
> xra...@li...> wrote:
>
> Dear xrayutilities users,
>
>
>
> I am very new to this tool. I am trying to build a layer stack of Sr2Fe2O5
> (ortho) on top of SrTiO3 substrate (cubic). I managed to construct the
> model using cif files. However, in the cif file seemingly it is not
> possible to incorporate cij (elastic parameters). Therefore, the fitting
> XRD gives an error saying “layer’ argument needs elastic parameters.
>
>
>
> How to solve this issue while importing cif files. I attach few parts of
> the code below:
>
>
>
> # global parameters
>
> wavelength = xu.wavelength('CuKa1')
>
> offset = -0.00 # angular offset of the zero position of the data
>
>
>
> # set up LayerStack for simulation: SrTiO3/SrFeO2.5
>
> Sr = xu.materials.elements.Sr <http://xu.materials.elements.sr/>
>
> Ti = xu.materials.elements.Ti
>
> O = xu.materials.elements.O
>
> Fe = xu.materials.elements.Fe
>
> STO = xu.materials.Crystal.fromCIF(os.path.join("data", "STO.cif"))
>
> SFO = xu.materials.Crystal.fromCIF(os.path.join("data",
> "Sr2Fe2O5-along.cif"))
>
>
>
> lSTO = xu.simpack.Layer(STO, inf)
>
> lSFO = xu.simpack.Layer(SFO, 800, relaxation=0)
>
>
>
> pstack = xu.simpack.PseudomorphicStack001('list', lSTO, lSFO)
>
>
>
> # set up simulation object
>
> thetaMono = arcsin(wavelength/(2 * xu.materials.Ge.planeDistance(2, 2, 0)))
>
> Cmono = cos(2 * thetaMono)
>
> dyn = xu.simpack.DynamicalModel(pstack, I0=1.5e5, background=0,
>
> resolution_width=2e-3, polarization='both',
>
> Cmono=Cmono)
>
> fitmdyn = xu.simpack.FitModel(dyn)
>
> fitmdyn.set_param_hint('SFO_a', vary=True, min=15.7, max=15.8)
>
> fitmdyn.set_param_hint('STO_a', vary=True, min=3.90, max=3.91)
>
> fitmdyn.set_param_hint('resolution_width', vary=True)
>
> params = fitmdyn.make_params()
>
>
>
> I tried to build the materials using Crystal class and SGLattice, there I
> can define elastic tensors but it does not account proper Wyckoff
> positions, this is why I used cif files.
>
>
>
> Any help, please let me know if you need more info.
>
>
>
> Thanks,
>
> Rajesh
>
>
>
> *-------------------------------------*
>
> *Dr. Rajesh Dutta*
>
>
> *Research Staff Scientist Drexel University College of Engineering
> Pronouns: he/his/him*
>
> Drexel University
> 3100 Market Street
> Philadelphia, PA 19104
> drexel.edu
>
> --------------------------------------------
>
>
>
> _______________________________________________
> xrayutilities-users mailing list
> xra...@li...
> https://lists.sourceforge.net/lists/listinfo/xrayutilities-users
>
>
|