-
Notifications
You must be signed in to change notification settings - Fork 0
/
automate-solar_schema.archive.yaml
309 lines (282 loc) · 10 KB
/
automate-solar_schema.archive.yaml
1
2
3
4
5
6
7
8
9
10
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
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
definitions:
#impinging flux: amount of a specific material from the PVD source that impinges on the substrate per unit time
#normalise function can do e.g. applying QCM model to calc fluxes form sources
name: Automate-Solar Schema
sections:
Position: #reusable for all objects that have a position in the sputtering (or other) process
description: In BERTHA's coordinate system, x is the axis via which the substrate is loaded (increasing in the same direction), and z is vertical. x = y = z = 0 is the centre of the substrate holder upon loading in the chamber
quantities:
center_xyz:
type: float
unit: meter
shape: [3]
description:
center_normal:
type: float
shape: [3]
description: (unit) vector describing the direction of the source
rotation:
type: float
description: angle of rotation of object around its centre_normal
TimeSeriesData: #reusable for all time series data
quantities:
times:
type: float
shape: ['*']
unit: second
values:
type: float
shape: ['*']
unit: volt
mean:
type: float
unit: volt
error:
type: float
unit: volt
slope:
desciption: the slope of a simple linear regression line fitted to the time series
type: float
unit: volt / second
Sensor:
description: a general sensor that is placed in the PVD chamber
sub_sections:
position:
section: "#/Position"
sensor_data:
section: "#/TimeSeriesData"
QCMSensor:
description: a qcm sensor as a specific type of Sensor
base_section: "#/Sensor"
sub_sections:
crystal_info:
section:
quantities:
info: # NA
description: e.g. contact materials, part number etc
type: str
resonant_frequency: # NA
type: float
unit: hertz
sensor_data:
section:
base_section: "#/TimeSeriesData"
quantities:
values: #[from MongoDB]: qcm_i_frequency_[Hz], repeat for each sensor 1-3
shape: ['*']
type: float
unit: hertz
mean: # qcm_i frequency hz mean
type: float
unit: hertz
error: # NA
type: float
unit: hertz
slope: # qcm_i frequency_rate_[/s2]
type: float
unit: hertz / second
slope_error: # qcm_i frequency_rate_[/s2]_error
type: float
unit: hertz / second
remaining_lifetime:
section:
quantities:
value: # qcm_i lifetime %
type: float
mass_deposition_rate:
section:
quantities:
value: # qcm_i mass rate gm/cm2
type: float
unit: gram / meter**2
error: # qcm_i mass rate gm/cm2 error
type: float
unit: gram / meter**2
ChamberEnvironment:
base_sections:
- nomad_material_processing.vapor_deposition.ChamberEnvironment #includes gas type and flow, pressure
sub_sections:
gas_flow:
section:
base_section: "#/TimeSeriesData"
quantities:
values: #[from MongoDB]: gas_flow_[sccm]
shape: ['*']
type: float
unit: meter**3 / second
mean: #[from MongoDB]: gas_flow_[sccm]_mean
type: float
unit: meter**3
error: #[from MongoDB]: gas_flow_[sccm]_std
type: float
unit: meter**3
sub_sections:
gas:
section: nomad.datamodel.metainfo.basesections.PureSubstanceSection
# pubchem thing, ask Hampus again
setpoints:
section:
quantities:
pressure: # set_pressure_[mTorr]
type: float
unit: pascal
flow: # NA
type: float
unit: meter**3 / second
pressure:
section:
base_section: "#/TimeSeriesData"
quantities:
values: #[from MongoDB]: act_pressure_[mTorr]
shape: ['*']
type: float
unit: pascal
mean: #[from MongoDB]: act_pressure_[mTorr]_mean
type: float
unit: pascal
error: #[from MongoDB]: act_pressure_[mTorr]_std
type: float
unit: pascal
sensors:
section: "#/QCMSensor"
repeats: true
SputterTarget: # these will be created in NOMAD as separate entities. So we would address them with a reference of some kind
base_sections:
- nomad.datamodel.metainfo.basesections.CompositeSystem
- nomad.datamodel.data.EntryData
quantities:
area:
type: float
unit: meter**2
thickness:
type: int
unit: meter
other_information:
description: e.g. manufacturer, backing plate and bonding etc.
type: str
a_eln:
component: RichTextEditQuantity
Magnetron:
base_sections:
- nomad_material_processing.physical_vapor_deposition.EvaporationSource
sub_sections:
setpoints:
section:
quantities:
set_power: # source i set power
type: float
unit: watt
set_voltage: # NA
type: float
unit: volt
set_current: # NA
type: float
unit: ampere
power:
section:
base_section: "#/TimeSeriesData"
quantities:
values: # source i act power
shape: ['*']
type: float
unit: watt
mean: # source i act power mean
type: float
unit: watt
error: # source i act power std
type: float
unit: watt
voltage:
section:
base_section: "#/TimeSeriesData"
power_supply:
section:
quantities:
instrument_id: # source i power supply
type: str
description: identifier for a specific instrument # could become a reference to an actual object (later)
supply_type: # source i mode
type: str
description: e.g. RF or pulsed DC
ramp_rate: # source i ramp rate
type: float
unit: watt / second
description: pulse frequency of source
SputterSource:
base_sections:
- nomad_material_processing.physical_vapor_deposition.PVDSource
sub_sections:
material: # source i material, converting from str to the NOMAD material object
section: "#/SputterTargetReference"
vapor_source:
section: "#Magnetron"
vapor_distribution:
section:
description: information on the geometrical origin, direction and spread of the vapor plume
quantities:
shape: # NA
type: str
description: info on e.g. what model is used
a_eln:
component: RichTextEditQuantity
n_parameter: # NA
type: float
description: in the Knudsen model, the exponent defining the spread of the plume
A_parameter: # NA
type: float
description: in the Knudsen model, the coefficient defining the flux intensity
sub_sections:
origin:
section: "#/Position" # NA
description: the location of origin and the direction of the vapour plume
AutomateSolarSputterDeposition:
base_sections:
- nomad_material_processing.physical_vapor_deposition.SputterDeposition
- nomad.datamodel.data.EntryData
# SputterDeposition has the following quantities:
# quantity <-- NA
# name <-- series ID
# datetime
# lab_id <-- "Uppsala University Åutomate-Solar"
# description <-- Campaign description + campaign code + Series description
sub_sections:
preparation:
section:
quantities:
base_pressure: # set_pressure_[mTorr]
type: float
unit: pascal
description: the base pressure of the vacuum chamber prior to initating an experiment
presputtering: # f'{dic["campaign_description"]}, {dic["campaign_id"]}, {dic["series_description"]}'
type: str
steps:
section: "#/SputterDepositionStep"
repeats: true
# Previously nested definitions:
SputterTargetReference:
base_sections:
- nomad.datamodel.metainfo.basesections.CompositeSystemReference
quantities:
reference:
type: "#/SputterTarget"
m_annotations:
eln:
component: ReferenceEditQuantity
SputterDepositionStep:
base_sections:
- nomad_material_processing.physical_vapor_deposition.VaporDepositionStep
# SputterDeposition has the following quantities:
# quantity <-- NA
# name <-- Run_ID + Step_number
# start_time
# comment <-- NA
# creates_new_thin_film <-- Sample_produced
# duration <-- Dwell_time[s]
sub_sections:
environment:
section: "#/ChamberEnvironment"
sources:
section: "#/SputterSource"
repeats: true
# #samples
# #instrument info