-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
create substrate and characterization modules in IKZ_plugin
- Loading branch information
Showing
8 changed files
with
809 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Copyright The NOMAD Authors. | ||
# | ||
# This file is part of NOMAD. See https://nomad-lab.eu for further info. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
from .schema import * |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
plugin_type: schema | ||
name: NOMAD's example schema plugin | ||
description: | | ||
This is a simple hello world schema. This is meant as a template. | ||
Fork the github project to create your own schemas. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
import numpy as np | ||
import plotly.express as px | ||
from plotly.subplots import make_subplots | ||
from ase.data import chemical_symbols | ||
from nomad.datamodel.metainfo.basesections import ( | ||
ElementalComposition, | ||
Activity, | ||
PureSubstance, | ||
ProcessStep, | ||
CompositeSystem, | ||
Measurement, | ||
MeasurementResult, | ||
Process, | ||
PureSubstanceComponent, | ||
PureSubstanceSection, | ||
EntityReference, | ||
CompositeSystemReference, | ||
PubChemPureSubstanceSection, | ||
SectionReference, | ||
Experiment, | ||
) | ||
from nomad.datamodel.metainfo.annotations import ( | ||
ELNAnnotation, | ||
SectionProperties, | ||
) | ||
from nomad.parsing.tabular import TableData | ||
from structlog.stdlib import ( | ||
BoundLogger, | ||
) | ||
from nomad.datamodel.metainfo.annotations import ( | ||
ELNAnnotation, | ||
ELNComponentEnum, | ||
) | ||
from nomad.metainfo import Package, Quantity, SubSection, MEnum, Datetime, Section | ||
from nomad.datamodel.data import EntryData, ArchiveSection, Author | ||
from nomad.search import search, MetadataPagination | ||
|
||
from nomad.datamodel.metainfo.plot import PlotSection, PlotlyFigure | ||
|
||
from laytec_epitt import LayTecEpiTTMeasurement | ||
from hall import HallMeasurement | ||
from basesections import IKZCategory | ||
from nomad_material_processing import ( | ||
SubstrateReference, | ||
CrystallineSubstrate, | ||
Miscut, | ||
SubstrateCrystalProperties, | ||
Dopant, | ||
Geometry, | ||
Parallelepiped, | ||
ThinFilm, | ||
ThinFilmStack, | ||
ThinFilmStackReference, | ||
) | ||
|
||
from nomad.datamodel.metainfo.workflow import ( | ||
Link, | ||
Task, | ||
) | ||
from nomad_material_processing.chemical_vapor_deposition import ( | ||
CVDBubbler, | ||
CVDVaporRate, | ||
CVDSource, | ||
) | ||
|
||
from nomad_measurements import ( | ||
ActivityReference, | ||
) | ||
|
||
m_package = Package(name="characterization_IKZ") | ||
|
||
|
||
class AFMresults(MeasurementResult): | ||
""" | ||
The results of an AFM measurement | ||
""" | ||
|
||
roughness = Quantity( | ||
type=np.float64, | ||
description="RMS roughness value obtained by AFM", | ||
a_eln={"component": "NumberEditQuantity", "defaultDisplayUnit": "picometer"}, | ||
unit="picometer", | ||
) | ||
surface_features = Quantity( | ||
type=MEnum(["Step Flow", "Step Bunching", "2D Island"]), | ||
a_eln={"component": "EnumEditQuantity"}, | ||
) | ||
scale = Quantity( | ||
type=np.float64, | ||
description="scale of the image, to be multiplied by 5 to know the image size", | ||
a_eln={"component": "NumberEditQuantity", "defaultDisplayUnit": "nanometer"}, | ||
unit="nanometer", | ||
) | ||
image = Quantity( | ||
type=str, | ||
description="image showing the thickness measurement points", | ||
a_browser={"adaptor": "RawFileAdaptor"}, | ||
a_eln={"component": "FileEditQuantity"}, | ||
) | ||
crop_image = Quantity( | ||
type=str, | ||
description="crop image ready to be used for AI-based analysis", | ||
a_browser={"adaptor": "RawFileAdaptor"}, | ||
a_eln={"component": "FileEditQuantity"}, | ||
) | ||
|
||
|
||
class AFMmeasurement(Measurement, EntryData): | ||
""" | ||
Class autogenerated from yaml schema. | ||
""" | ||
|
||
m_def = Section( | ||
a_eln={"hide": ["steps"]}, | ||
categories=[IKZCategory], | ||
label="AFM", | ||
) | ||
|
||
method = Quantity( | ||
type=str, | ||
default="AFM (IKZ MOVPE)", | ||
) | ||
description = Quantity( | ||
type=str, | ||
a_eln={"component": "StringEditQuantity"}, | ||
) | ||
datetime = Quantity( | ||
type=Datetime, | ||
a_eln={"component": "DateTimeEditQuantity"}, | ||
) | ||
results = SubSection( | ||
section_def=AFMresults, | ||
repeats=True, | ||
) | ||
|
||
|
||
class LiMiresults(MeasurementResult): | ||
""" | ||
The results of a Light Microscope measurement | ||
""" | ||
|
||
image = Quantity( | ||
type=str, | ||
description="image showing the thickness measurement points", | ||
a_browser={"adaptor": "RawFileAdaptor"}, | ||
a_eln={"component": "FileEditQuantity"}, | ||
) | ||
crop_image = Quantity( | ||
type=str, | ||
description="crop image ready to be used for AI-based analysis", | ||
a_browser={"adaptor": "RawFileAdaptor"}, | ||
a_eln={"component": "FileEditQuantity"}, | ||
) | ||
scale = Quantity( | ||
type=np.float64, | ||
description="scale of the image", | ||
a_eln={"component": "NumberEditQuantity", "defaultDisplayUnit": "micrometer"}, | ||
unit="micrometer", | ||
) | ||
|
||
|
||
class LightMicroscope(Measurement, EntryData): | ||
""" | ||
Class autogenerated from yaml schema. | ||
""" | ||
|
||
m_def = Section( | ||
a_eln={"hide": ["steps"]}, | ||
categories=[IKZCategory], | ||
label="Light Microscope", | ||
) | ||
method = Quantity( | ||
type=str, | ||
default="Light Microscope (MOVPE IKZ)", | ||
) | ||
datetime = Quantity( | ||
type=Datetime, | ||
a_eln={"component": "DateTimeEditQuantity"}, | ||
) | ||
results = SubSection( | ||
section_def=LiMiresults, | ||
repeats=True, | ||
) |
Oops, something went wrong.