class easyreflectometry.sample.assemblies.gradient_layer.GradientLayer[source]#

Bases: BaseAssembly

A set of discrete gradient layers changing from the front to the back material. The front layer is where the neutron beam starts in, it has an index of 0.

__init__(front_material=None, back_material=None, thickness=2.0, roughness=0.2, discretisation_elements=10, name='EasyGradienLayer', interface=None)[source]#

Constructor.

Parameters:
  • front_material (Optional[Material]) – Material of front of the layer

  • back_material (Optional[Material]) – Material of back of the layer

  • thickness (Optional[float]) – Thicknkess of the layer

  • roughness (Optional[float]) – Roughness of the layer

  • discretisation_elements (int) – Number of discrete layers

  • name (str) – Name for gradient layer, defaults to ‘EasyGradienLayer’.

  • interface – Calculator interface, defaults to None.

property thickness: float#

Get the thickness of the gradient layer in Angstrom.

property roughness: float#

Get the Roughness of the gradient layer in Angstrom.

user_data: dict#
as_dict(skip=None)[source]#

Produces a cleaned dict using a custom as_dict method to skip necessary things. The resulting dict matches the parameters in __init__

Parameters:

skip (Optional[list[str]]) – List of keys to skip, defaults to None.

Return type:

dict