General
Geometry¶
description: Geometrical shape attributes of a system. Sections derived from Geometry
represent concrete geometrical shapes.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
volume | float |
The measure of the amount of space occupied in 3D space.unit=meter ** 3 |
Parallelepiped¶
description: Six-faced polyhedron with each pair of opposite faces parallel and equal in size, characterized by rectangular sides and parallelogram faces.
inherits from: Geometry
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the parallelepiped.unit=meter |
width | float |
The x dimension of the parallelepiped.unit=meter |
length | float |
The y dimension of the parallelepiped.unit=meter |
alpha | float |
The angle between y and z sides.unit=degree |
beta | float |
The angle between x and z sides.unit=degree |
gamma | float |
The angle between x and y sides.unit=degree |
surface_area | float |
The product of length and width, representing the total exposed area of the primary surface.unit=meter ** 2 |
SquareCuboid¶
description: A cuboid with all sides equal in length.
inherits from: Parallelepiped
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the parallelepiped.unit=meter |
width | float |
The x dimension of the parallelepiped.unit=meter |
alpha | float |
The angle between y and z sides.unit=degree , default=90.0 |
beta | float |
The angle between x and z sides.unit=degree , default=90.0 |
gamma | float |
The angle between x and y sides.unit=degree , default=90.0 |
surface_area | float |
The product of length and width, representing the total exposed area of the primary surface.unit=meter ** 2 |
RectangleCuboid¶
description: A rectangular cuboid is a specific type of parallelepiped where all angles between adjacent faces are right angles, and all faces are rectangles.
inherits from: Parallelepiped
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the parallelepiped.unit=meter |
width | float |
The x dimension of the parallelepiped.unit=meter |
length | float |
The y dimension of the parallelepiped.unit=meter |
alpha | float |
The angle between y and z sides.unit=degree , default=90.0 |
beta | float |
The angle between x and z sides.unit=degree , default=90.0 |
gamma | float |
The angle between x and y sides.unit=degree , default=90.0 |
surface_area | float |
The product of length and width, representing the total exposed area of the primary surface.unit=meter ** 2 |
TruncatedCone¶
description: A cone with the top cut off parallel to the cone bottom.
inherits from: Geometry
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the parallelepiped.unit=meter |
lower_cap_radius | float |
Radius of the lower cap.unit=meter |
upper_cap_radius | float |
Radius of the upper cap.unit=meter |
lower_cap_surface_area | float |
Area of the lower cap.unit=meter ** 2 |
upper_cap_surface_area | float |
Area of the upper cap.unit=meter ** 2 |
lateral_surface_area | float |
Area of the lateral surface.unit=meter ** 2 |
Cylinder¶
description: A cylinder, i.e. a prism with a circular base.
inherits from: Geometry
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the parallelepiped.unit=meter |
radius | float |
Radius of the cylinder.unit=meter |
lower_cap_surface_area | float |
Area of the lower cap.unit=meter ** 2 |
cap_surface_area | float |
Area of the cap.unit=meter ** 2 |
lateral_surface_area | float |
Area of the lateral surface.unit=meter ** 2 |
CylinderSector¶
inherits from: Cylinder
properties:
name | type | |
---|---|---|
central_angle | float |
The angle that defines the portion of the cylinder. This angle is taken at the center of the base circle and extends to the arc that defines the cylindrical sector.unit=degree |
IrregularParallelSurfaces¶
description: A shape that does not fit into any of the other geometry classes.
inherits from: Geometry
properties:
name | type | |
---|---|---|
height | float |
The z dimension of the irregular shape.unit=meter |
MillerIndices¶
description: The Miller indices are a notation system in crystallography for planes in crystal (Bravais) lattices. In particular, a family of lattice planes is determined by three integers h, k, and l, the Miller indices.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
h_index | float |
The Miller index h. |
k_index | float |
The Miller index k. |
l_index | float |
The Miller index l. |
BravaisMillerIndices¶
description: A component added to the solution.
inherits from: MillerIndices
properties:
name | type | |
---|---|---|
i | float |
The Miller index i. |
CrystallographicDirection¶
description: A specific crystallographic plane or direction within a crystal structure. The same property can be described in the direct (or real) space or in the reciprocal space.
The (hkl) indices in direct space and [hkl] indices in reciprocal space describe the same set of crystallographic planes, but their interpretation differs between the two spaces. In direct space, (hkl) indices describe the orientation of a plane within the crystal. In reciprocal space, [hkl] indices describe a point in the reciprocal lattice that is perpendicular to the corresponding (hkl) plane in direct space.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
hkl_reciprocal | MillerIndices |
The reciprocal lattice vector associated with the family of lattice planes is OH = h a* + k b* + l c, where a, b, c are the reciprocal lattice basis vectors. OH is perpendicular to the family of lattice planes and OH = 1/d where d is the lattice spacing of the family. Ref. https://dictionary.iucr.org/Miller_indicessub-section |
hkl_direct | MillerIndices |
In three-dimensional space, the direction passing through the origin and the lattice nodes nh,nk,nl, where n is an integer, has direction indices [hkl]. This corresponds to taking the coordinates of the first lattice node on that direction after the origin as direction indices. When a primitive unit cell is used, the direction indices are all integer; they may instead be rational when a centred unit cell is adopted. Ref. https://dictionary.iucr.org/Direction_indicessub-section |
ProjectedMiscutOrientation¶
description: The overall miscut angle is the total angular deviation from the primary plane of the substrate. However, this overall miscut can be described as having components projected onto two perpendicular crystallographic directions that lie in the primary surface plane. The angular miscut is defined as a tilt (in degree) along these two directions.
The projected miscut orientation specifies the tilt angle along one crystallographic direction.
inherits from: CrystallographicDirection
properties:
name | type | |
---|---|---|
angle | float |
The miscut angle (or offcut angle, or angular displacement offset) toward the specified crystallographic direction.unit=degree |
angle_deviation | float |
The ± deviation of the angular displacement offset.unit=degree |
CartesianMiscut¶
description: The miscut might be directed in a non-pure crystallographic direction. In this case two components must be specified, in Cartesian coordinates.
If the miscut is directed in a pure crystallographic direction, only one component can be filled in.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
reference_orientation | ProjectedMiscutOrientation |
The reference direction of the miscut.sub-section |
perpendicular_orientation | ProjectedMiscutOrientation |
A direction perpendicular to the reference direction.sub-section |
PolarMiscut¶
description: This direction can be described by a crystallographic direction [hkl], which indicates the direction of the tilt relative to the crystal axes.
The miscut might be directed in a non-pure crystallographic direction. In this case two components must be specified, either in Cartesian or polar coordinates.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
rho | float |
Out-of-plane tilt angle, defined in polar coordinates as a module in the out-of-plane axis.unit=degree |
theta | float |
In-plane angle of the miscut toward the reference orientation.unit=degree |
reference_orientation | CrystallographicDirection |
The reference direction of the miscut.sub-section |
Miscut¶
description: The miscut in a crystalline substrate refers to the intentional deviation from a specific crystallographic orientation, commonly expressed as the angular displacement of a crystal plane.
The overall miscut angle is the total angular deviation from the primary plane of the substrate. However, this overall miscut can be described as having components projected onto two perpendicular crystallographic directions that lie in the primary surface plane. The angular miscut is defined as a tilt (in degree) along these two directions.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
directions_image | str |
A schematic representation of the miscut directions. |
cartesian_miscut | CartesianMiscut |
The orientation of the miscut (or offcut) in Cartesian coordinates.sub-section |
polar_miscut | PolarMiscut |
The orientation of the miscut (or offcut) in polar coordinates.sub-section |
Dopant¶
description: A dopant element in a crystalline structure is a foreign atom intentionally introduced into the crystal lattice.
inherits from: nomad.datamodel.metainfo.basesections.v1.ElementalComposition
properties:
name | type | |
---|---|---|
doping_level | float |
The chemical doping level.unit=1 / meter ** 3 |
doping_deviation | float |
The ± deviation in the doping level.unit=1 / meter ** 3 |
normalization:
Will add a results.material subsection if none exists. Will append the element to the elements property of that subsection and a nomad.datamodel.results.ElementalComposition instances to the elemental_composition property using the element and atomic fraction from this section.
CrystalProperties¶
description: Characteristics arising from the ordered arrangement of atoms in a crystalline structure. These properties are defined by factors such as crystal symmetry, lattice parameters, and the specific arrangement of atoms within the crystal lattice.
inherits from: nomad.datamodel.data.ArchiveSection
SubstrateCrystalProperties¶
description: Crystallographic parameters such as orientation, miscut, and surface structure.
inherits from: CrystalProperties
properties:
name | type | |
---|---|---|
bravais_lattices | ['Cubic Body Centered', 'Cubic Face Centered', 'Cubic Simple', 'Hexagonal', 'Monoclinic Base Centered', 'Monoclinic Simple', 'Orthorhombic Base Centered', 'Orthorhombic Body Centered', 'Orthorhombic Face Centered', 'Orthorhombic Simple', 'Tetragonal Body Centered', 'Tetragonal Simple', 'Triclinic', 'Trigonal'] |
The crystal system of the substrate. |
surface_orientation | CrystallographicDirection |
The orientation of the substrate surface.sub-section |
miscut | Miscut |
Miscut of the substrate.sub-section |
ElectronicProperties¶
description: The electronic properties of a material.
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
conductivity_type | ['Insulating', 'N-type', 'P-type', 'Semi-insulating'] |
The type of semiconductor, N-type being electrons the majority carriers and P-type being holes the majority carriers. |
carrier_density | float |
Concentration of free charge carriers, electrons in the conduction band and holes in the valence band.unit=1 / centimeter ** 3 |
carrier_density_deviation | float |
Deviation in the concentration of free charge carriers, electrons in the conduction band and holes in the valence band.unit=1 / meter ** 3 |
electrical_resistivity | float |
Resistance of the charges to move in the presence of an electric current.unit=meter * ohm |
Substrate¶
description: A thin free standing sheet of material. Not to be confused with the substrate role during a deposition, which can be a Substrate
with ThinFilm
(s) on it.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystem
properties:
name | type | |
---|---|---|
supplier | str |
The supplier of the current substrate specimen. |
supplier_id | str |
An ID string that is unique from the supplier. |
lab_id | str |
An ID string that is unique at least for the lab that produced this data. |
image | str |
A photograph or image of the substrate. |
information_sheet | str |
Pdf files containing certificate and other documentation. |
normalization:
If the elemental composition list is
empty, the normalizer will iterate over the components and extract all the
elements for populating the elemental composition list. If masses are provided for
all components and the elemental composition of all components contain atomic
fractions the normalizer will also calculate the atomic fractions for the
composite system. The populated elemental composition list is added to the results
by the normalizer in the System
super class.
CrystallineSubstrate¶
description: The substrate defined in this class is composed of periodic arrangement of atoms and shows typical features of a crystal structure.
inherits from: Substrate
properties:
name | type | |
---|---|---|
geometry | Geometry |
Section containing the geometry of the substrate.sub-section |
crystal_properties | SubstrateCrystalProperties |
Section containing the crystal properties of the substrate.sub-section |
electronic_properties | ElectronicProperties |
Section containing the electronic properties of the substrate.sub-section |
dopants | Dopant |
Repeating section containing information on any dopants in the substrate.sub-section, repeats |
normalization:
If the elemental composition list is
empty, the normalizer will iterate over the components and extract all the
elements for populating the elemental composition list. If masses are provided for
all components and the elemental composition of all components contain atomic
fractions the normalizer will also calculate the atomic fractions for the
composite system. The populated elemental composition list is added to the results
by the normalizer in the System
super class.
ThinFilm¶
description: A thin film of material which exists as part of a stack.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystem
properties:
name | type | |
---|---|---|
geometry | Geometry |
Section containing the geometry of the thin film.sub-section |
normalization:
If the elemental composition list is
empty, the normalizer will iterate over the components and extract all the
elements for populating the elemental composition list. If masses are provided for
all components and the elemental composition of all components contain atomic
fractions the normalizer will also calculate the atomic fractions for the
composite system. The populated elemental composition list is added to the results
by the normalizer in the System
super class.
ThinFilmReference¶
description: Class autogenerated from yaml schema.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystemReference
properties:
name | type | |
---|---|---|
lab_id | str |
The readable identifier for the entity. |
reference | ThinFilm |
A reference to a NOMAD CompositeSystem entry. |
normalization:
Will attempt to fill the reference
from the lab_id
or vice versa.
SubstrateReference¶
description: A section for describing a system component and its role in a composite system.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystemReference
properties:
name | type | |
---|---|---|
lab_id | str |
The readable identifier for the entity. |
reference | Substrate |
A reference to a NOMAD CompositeSystem entry. |
normalization:
Will attempt to fill the reference
from the lab_id
or vice versa.
ThinFilmStack¶
description: A stack of ThinFilm
(s). Typically deposited on a Substrate
.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystem
properties:
name | type | |
---|---|---|
layers | ThinFilmReference |
An ordered list (starting at the substrate) of the thin films making up the thin film stacks.sub-section, repeats |
substrate | SubstrateReference |
The substrate which the thin film layers of the thin film stack are deposited on.sub-section |
normalization:
The normalizer for the ThinFilmStack
class.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.
ThinFilmStackReference¶
description: Class autogenerated from yaml schema.
inherits from: nomad.datamodel.metainfo.basesections.v1.CompositeSystemReference
properties:
name | type | |
---|---|---|
lab_id | str |
The readable identifier for the entity. |
reference | ThinFilmStack |
A reference to a NOMAD CompositeSystem entry. |
normalization:
Will attempt to fill the reference
from the lab_id
or vice versa.
SampleDeposition¶
description: The process of the settling of particles (atoms or molecules) from a solution, suspension or vapour onto a pre-existing surface, resulting in the growth of a new phase. [database_cross_reference: https://orcid.org/0000-0002-0640-0422]
Synonyms: - deposition
inherits from: nomad.datamodel.metainfo.basesections.v1.SynthesisMethod
links: http://purl.obolibrary.org/obo/CHMO_0001310
normalization:
The normalizer for the SampleDeposition
class.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.
TimeSeries¶
description: A time series of data during a process step. This is an abstract class and should not be used directly.
Instead, it should be derived and the the units of the value
and set_value
should be specified.
For example, a derived class could be Temperature
with value
in Kelvin:
class Temperature(TimeSeries):
value = TimeSeries.value.m_copy()
value.unit = "kelvin"
set_value = TimeSeries.set_value.m_copy()
set_value.unit = "kelvin"
set_value.a_eln.defaultDisplayUnit = "celsius"
inherits from: nomad.datamodel.data.ArchiveSection
properties:
name | type | |
---|---|---|
set_value | float |
The set value(s) (i.e. the intended values) set.shape=['*'] |
set_time | float |
The process time when each of the set values were set. If this is empty and only one set value is present, it is assumed that the value was set at the start of the process step. If two set values are present, it is assumed that a linear ramp between the two values was set.shape=['*'] , unit=second |
value | float |
The observed value as a function of time.shape=['*'] |
time | float |
The process time when each of the values were recorded.shape=['*'] , unit=second |
Recipe¶
description: A Recipe for a material processing experiment. This class will be subclassed for each process that needs a recipe.
The subclass will inherit Recipe and a specific Process class.
The only difference between the Recipe and the actual Process is that the datetime and the input samples Entities are hidden in the Recipe.
inherits from: nomad.datamodel.data.ArchiveSection
EtchingStep¶
description: A step of etching process.
inherits from: nomad.datamodel.metainfo.basesections.v1.ProcessStep
properties:
name | type | |
---|---|---|
duration | float |
The elapsed time since the annealing process started.unit=second |
temperature | float |
The temperature of the etching process.unit=degree_Celsius |
agitation | ['Magnetic Stirring', 'Sonication'] |
The agitation method used during the etching process. |
etching_reagents | nomad.datamodel.metainfo.basesections.v1.CompositeSystem |
sub-section, repeats |
Etching¶
description: Selectively remove material from a surface using chemical or physical processes to create specific patterns or structures.
inherits from: nomad.datamodel.metainfo.basesections.v1.Process
, nomad.datamodel.data.EntryData
links: http://purl.obolibrary.org/obo/CHMO_0001558
properties:
name | type | |
---|---|---|
tags | str |
Searchable tags for this entry. Use Explore tab for searching.shape=['*'] |
recipe | EtchingRecipe |
The recipe used for the process. If a recipe is found, all the data is copied from the Recipe within the Process. |
steps | EtchingStep |
The steps of the etching process.sub-section, repeats |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.
EtchingRecipe¶
description: A Recipe for an etching process.
inherits from: Etching
, Recipe
, nomad.datamodel.data.EntryData
properties:
name | type | |
---|---|---|
lab_id | str |
A unique human readable ID for the recipe. |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.
AnnealingStep¶
description: A step of annealing process.
inherits from: nomad.datamodel.metainfo.basesections.v1.ProcessStep
properties:
name | type | |
---|---|---|
duration | float |
The elapsed time since the annealing process started.unit=second |
starting_temperature | float |
The starting T in the annealing ramp.unit=degree_Celsius |
ending_temperature | float |
The starting T in the annealing ramp.unit=degree_Celsius |
Annealing¶
description: Heat treatment process used to alter the material's properties, such as reducing defects, improving crystallinity, or relieving internal stresses.
inherits from: nomad.datamodel.metainfo.basesections.v1.Process
, nomad.datamodel.data.EntryData
links: http://purl.obolibrary.org/obo/CHMO_0001465
properties:
name | type | |
---|---|---|
tags | str |
Searchable tags for this entry. Use Explore tab for searching.shape=['*'] |
recipe | AnnealingRecipe |
The recipe used for the process. If a recipe is found, all the data is copied from the Recipe within the Process. |
duration | float |
The elapsed time since the annealing process started.unit=second |
steps | AnnealingStep |
The steps of the annealing process.sub-section, repeats |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.
AnnealingRecipe¶
description: A Recipe for an annealing process.
inherits from: Annealing
, Recipe
, nomad.datamodel.data.EntryData
properties:
name | type | |
---|---|---|
lab_id | str |
A unique human readable ID for the recipe. |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.
CleaningStep¶
description: A step of cleaning process.
inherits from: nomad.datamodel.metainfo.basesections.v1.ProcessStep
properties:
name | type | |
---|---|---|
duration | float |
The elapsed time since the cleaning process started.unit=second |
temperature | float |
The temperature of the cleaning process.unit=degree_Celsius |
agitation | ['Magnetic Stirring', 'Sonication'] |
The agitation method used during the cleaning process. |
cleaning_reagents | nomad.datamodel.metainfo.basesections.v1.CompositeSystemReference |
sub-section |
Cleaning¶
description: Surface cleaning in thin film material science involves removing contaminants and residues from a substrate's surface to ensure proper adhesion and uniformity of the thin film deposition.
inherits from: nomad.datamodel.metainfo.basesections.v1.Process
, nomad.datamodel.data.EntryData
properties:
name | type | |
---|---|---|
tags | str |
Searchable tags for this entry. Use Explore tab for searching.shape=['*'] |
recipe | CleaningRecipe |
The recipe used for the process. If a recipe is found, all the data is copied from the Recipe within the Process. |
duration | float |
The elapsed time since the annealing process started.unit=second |
steps | CleaningStep |
The steps of the cleaning process.sub-section, repeats |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.
CleaningRecipe¶
description: A Recipe for an cleaning process.
inherits from: Cleaning
, Recipe
, nomad.datamodel.data.EntryData
properties:
name | type | |
---|---|---|
lab_id | str |
A unique human readable ID for the recipe. |
normalization:
- Sets the start time for each step in
self.steps
if not already set, based on thedatetime
andduration
fields. - Sets the
end_time
field to the calculated end time if it is not already set. - Updates the
archive.workflow2.outputs
list with links to the samples processed.