Specular reflectivity

This module contains methods to create functor_obj instances for calculation of X-ray or neutron specular reflectivity.

escape.scattering.specrefl.pnrspec(name, qz, multilayer_obj ml, b_ext, poleff_i, poleff_f, source=None)

Returns functor object for calculation of polarized neutron specular reflectivity.

Changed in version 0.9.1.

Added support for qz functor_obj type.

Changed in version 0.9.3.

Added external magnetic field as the input parameter

Parameters:
qz: variable_obj or functor_obj

Variable or functor, which represents z-component of scattering vector

ml: multilayer_obj

Sample description object

b_ext: list or tuple

External magnetic field components in Tesla. The components are in the sample coordinate system.

poleff_i: parameter_obj or double

Efficiency of the incident beam polarization. Sign of this parameter defines polarization direction, i.e. up or down.

poleff_f: parameter_obj or double

Efficiency of the forthcoming beam polarization. Sign of this parameter defines polarization direction, i.e. up or down.

source: source_obj

Source description object

Returns:

functor_obj instance

escape.scattering.specrefl.specrefl(name, qz, multilayer_obj ml, formalism='parratt', source=None)

Returns functor object for calculation of specular reflectivity.

Changed in version 0.9.1.

Added support for qz functor_obj type.

Parameters:
qz: variable_obj or functor_obj

Variable or functor, which represents z-component of scattering vector

ml: multilayer_obj

Sample description object

‘formalism’: string

‘parratt’ - recursive parratt formalism (dynamic scattering) ‘kinematic’ - kinematic formalism (kinematic scattering, i.e. Born approximation) ‘matrix’ - matrix formalism (dynamic scattering) ‘dynsr’ - dynamical single reflection algorithm

source: source_obj

Source description object

Returns:

functor_obj instance