High resolution X-ray Diffraction#
This module contains methods to create functors, which allow to simulate dynamical x-ray diffraction from strained crystals, multilayers, and superlattices.
The formalism is based on Stepanov et al publication [1]
The module allows to estimate the following profiles of structure parameters in multilayers:
Normal lattice strains
Crystal susceptibility \(\chi_0\), \(\chi_h\)
Interface roughness
The Debay-Waller factors can be easily added to the model as dependent parameters.
The effects of lateral strains (relaxed multilayers, misfit dislocations, etc) are not simulated by this functor.
- escape.scattering.spechrxrd.multiphase_hrxrd(phases: list, weights: list, name: str = '', notes: str = '') functor_obj#
Create a multi-phase HRXRD functor with incoherent intensity summation.
Sums diffraction intensities from multiple independent phase contributions:
\[I_{total}(p_0) = \sum_i w_i \cdot I_i(p_0)\]Each phase is a fully independent HRXRD functor (e.g., from
spechrxrd()). Volume fraction weights are fittable parameters that should sum to 1.Parameters#
- phaseslist of functor_obj
List of HRXRD functors, one per phase. Each should be created by
spechrxrd()with its own multilayer.- weightslist of ParameterLike
Volume fraction weights for each phase.
- namestr, optional
Name of the multiphase functor.
- notesstr, optional
User notes.
Returns#
- functor_obj
Functor computing weighted incoherent intensity sum.
Notes#
Use for highly relaxed layers, phase-separated alloys, or coexisting crystal phases where coherent coupling is physically inappropriate.
See Also#
spechrxrd : Create individual phase HRXRD functors.
- escape.scattering.spechrxrd.spechrxrd(p0: FunctorLike, ml: multilayer_obj, h: int, k: int, l: int, beta: float = 1.0, formalism: str = '2x2', source: source_obj = None, name: str = '', notes: str = '') functor_obj#
Returns functor object for calculation of high resolution X-Ray diffraction.
Parameters#
- p0FunctorLike
Variable, which represents z-component of wave-vector of incoming wave.
- mlmultilayer_obj
Sample description object.
- hint
Miller index of Bragg reflection.
- kint
Miller index of Bragg reflection.
- lint
Miller index of Bragg reflection.
- betafloat, optional
Asymmetry factor \(\beta=g_0/g_h\) (default is 1.0).
- formalismstr, optional
‘2x2’ matrix formalism works correctly far away from grazing incidence mode. ‘4x4’ matrix formalism is valid for the whole range.
- sourcesource_obj, optional
Source description object.
- namestr, optional
Name of the functor.
- notesstr, optional
User notes for the object.
Returns#
- functor_obj
Functor instance.