Specular reflectivity

This module contains factory functions for creating of functor_obj instances for calculation of X-ray or neutron specular reflectivity.

escape.scattering.specrefl.pnrspec(name, qz, multilayer_obj ml, poleff_i, poleff_f)

Factory function for creating functor object for calculation of polarized neutron 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

‘poleff_i’: parameter_obj or double

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

‘poleff_f’: parameter_obj or double

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

Returns

functor_obj instance

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

Factory function for creating 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

Returns

functor_obj instance