repeating_multilayer
DEFAULTS = {'repetitions': {'description': 'Number of repetitions of the given series of layers', 'value': 1, 'min': 1, 'max': 9999, 'fixed': True}}
module-attribute
LayerCollection
Bases: BaseCollection
Source code in src/easyreflectometry/sample/collections/layer_collection.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
__init__(*layers, name='EasyLayerCollection', interface=None, unique_name=None, populate_if_none=True, **kwargs)
Init function.
Source code in src/easyreflectometry/sample/collections/layer_collection.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
add_layer(layer=None)
Add a layer to the collection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer
|
Optional[Layer]
|
Layer to add. By default, None. |
None
|
Source code in src/easyreflectometry/sample/collections/layer_collection.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
duplicate_layer(index)
Duplicate a layer in the collection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
index
|
int
|
|
required |
layer
|
Assembly to add. |
required |
Source code in src/easyreflectometry/sample/collections/layer_collection.py
49 50 51 52 53 54 55 56 57 58 59 60 61 | |
Layer
Bases: BaseCore
Source code in src/easyreflectometry/sample/elements/layers/layer.py
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | |
__init__(material=None, thickness=None, roughness=None, name='EasyLayer', unique_name=None, interface=None)
Constructor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
unique_name
|
Optional[str]
|
By default, None. |
None
|
material
|
Union[Material, None]
|
The material for the layer. By default, None. |
None
|
thickness
|
Union[Parameter, float, None]
|
Layer thickness in Angstrom. By default, None. |
None
|
roughness
|
Union[Parameter, float, None]
|
Upper roughness on the layer in Angstrom. By default, None. |
None
|
name
|
str
|
Name of the layer. By default, 'EasyLayer'. |
'EasyLayer'
|
interface
|
Interface object. By default, None. |
None
|
Source code in src/easyreflectometry/sample/elements/layers/layer.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | |
assign_material(material)
Assign a material to the layer interface.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
material
|
Material
|
The material to assign to the layer. |
required |
Source code in src/easyreflectometry/sample/elements/layers/layer.py
122 123 124 125 126 127 128 129 130 131 132 | |
Multilayer
Bases: BaseAssembly
A multi layer is build from a single or a list of Layer or LayerCollection.
The multi layer will arrange the layers as slabs, allowing the reflectometry to be determined from them. The front layer is where the neutron beam starts in, it has an index of 0.
More information about the usage of this assembly is available in the
multilayer documentation_
.. _multilayer documentation: ../sample/assemblies_library.html#multilayer
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | |
__init__(layers=None, name='EasyMultilayer', unique_name=None, interface=None, type='Multi-layer', populate_if_none=True)
Constructor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
populate_if_none
|
Optional[bool]
|
By default, True. |
True
|
unique_name
|
Optional[str]
|
By default, None. |
None
|
layers
|
Union[Layer, list[Layer], LayerCollection, None]
|
The layers that make up the multi-layer. By default, None. |
None
|
name
|
str
|
Name for multi layer. By default, 'EasyMultilayer'. |
'EasyMultilayer'
|
interface
|
Calculator interface. By default, None. |
None
|
|
type
|
str
|
Type of the constructed instance. By default, 'Multi-layer'. |
'Multi-layer'
|
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
add_layer(*layers)
Add a layer to the multi layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*layers
|
tuple[Layer]
|
Layers to add to the multi layer. |
()
|
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
73 74 75 76 77 78 79 80 81 82 83 84 85 | |
duplicate_layer(idx)
Duplicate a given layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
idx
|
int
|
Index of layer to duplicate. |
required |
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | |
remove_layer(idx)
Remove a layer from the item.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
idx
|
int
|
Index of layer to remove. |
required |
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
104 105 106 107 108 109 110 111 112 113 114 | |
from_dict(data)
classmethod
Create a Multilayer from a dictionary.
Source code in src/easyreflectometry/sample/assemblies/multilayer.py
122 123 124 125 126 | |
RepeatingMultilayer
Bases: Multilayer
A repeating multi layer is build from a Multilayer and which it repeats
for a given number of times. This enables a computational efficiency in many
reflectometry engines as the operation can be performed for a single
Multilayer and cheaply combined for the appropriate number of
repetitions.
More information about the usage of this assembly is available in the
repeating multilayer documentation_
.. _repeating multilayer documentation: ../sample/assemblies_library.html#repeatingmultilayer
Source code in src/easyreflectometry/sample/assemblies/repeating_multilayer.py
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | |
__init__(layers=None, repetitions=None, name='EasyRepeatingMultilayer', unique_name=None, interface=None, populate_if_none=True)
Constructor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
populate_if_none
|
bool
|
By default, True. |
True
|
unique_name
|
Optional[str]
|
By default, None. |
None
|
layers
|
Union[LayerCollection, Layer, list[Layer], None]
|
The layers that make up the multi-layer that will be repeated. By default, None. |
None
|
repetitions
|
Union[Parameter, int, None]
|
Number of repetitions of the given series of layers. By default, None. |
None
|
name
|
str
|
Name for the repeating multi layer. By default, 'EasyRepeatingMultilayer'. |
'EasyRepeatingMultilayer'
|
interface
|
Calculator interface. By default, None. |
None
|
Source code in src/easyreflectometry/sample/assemblies/repeating_multilayer.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | |
get_as_parameter(name, value, default_dict, unique_name_prefix=None)
This function creates a parameter for the variable name.
A parameter has a value and metadata.
If the value already is a parameter, it is returned. If the value is a number, a parameter is created with this value and metadata from the dictionary. If the value is None, a parameter is created with the default value and metadata from the dictionary.
param value: The value to use for the parameter. If None, the default value in the dictionary is used.
param name: The name of the parameter
param default_dict: Dictionary with entry for `name` containing the default value and metadata for the parameter
Source code in src/easyreflectometry/utils.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |