probe.abeles - Pure python reflectivity calculator¶
Reflectometry as a function of kz for a set of slabs. |
|
Optical matrix form of the reflectivity calculation.
O.S. Heavens, Optical Properties of Thin Solid Films
This is a pure python implementation of reflectometry provided for convenience when a compiler is not available. The refl1d application uses reflmodule to compute reflectivity.
- refl1d.probe.abeles.refl(kz, depth, rho, irho=0, sigma=0, rho_index=None)[source]¶
Reflectometry as a function of kz for a set of slabs.
- Parameters:
- kzfloat[n] | Å-1
Scattering vector \(2\pi\sin(\theta)/\lambda\). This is \(\tfrac12 Q_z\).
- depthfloat[m] | Å
thickness of each layer. The thickness of the incident medium and substrate are ignored.
- rho, irhofloat[n, k] | 10-6Å-2
real and imaginary scattering length density for each layer for each kz Note: absorption cross section mu = 2 irho/lambda
- sigmafloat[m-1] | Å
interfacial roughness. This is the roughness between a layer and the subsequent layer. There is no interface associated with the substrate. The sigma array should have at least m-1 entries, though it may have m with the last entry ignored.
- rho_indexint[m]
index into rho vector for each kz
Slabs are ordered with the surface SLD at index 0 and substrate at index -1, or reversed if kz < 0.