ViennaPS 3.7.0__cp312-cp312-win_amd64.whl → 3.7.2__cp312-cp312-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ViennaPS might be problematic. Click here for more details.
- {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/METADATA +31 -17
- viennaps-3.7.2.dist-info/RECORD +65 -0
- viennaps.libs/embree4.dll +0 -0
- viennaps.libs/embree_avx.lib +0 -0
- viennaps.libs/embree_avx2.lib +0 -0
- viennaps.libs/embree_sse42.lib +0 -0
- viennaps.libs/lexers.lib +0 -0
- viennaps.libs/math.lib +0 -0
- viennaps.libs/simd.lib +0 -0
- viennaps.libs/sys.lib +0 -0
- viennaps.libs/tasking.lib +0 -0
- viennaps.libs/tbb12.dll +0 -0
- viennaps.libs/vtkCommonComputationalGeometry-9.3.dll +0 -0
- viennaps.libs/vtkCommonCore-9.3.dll +0 -0
- viennaps.libs/vtkCommonDataModel-9.3.dll +0 -0
- viennaps.libs/vtkCommonExecutionModel-9.3.dll +0 -0
- viennaps.libs/vtkCommonMath-9.3.dll +0 -0
- viennaps.libs/vtkCommonMisc-9.3.dll +0 -0
- viennaps.libs/vtkCommonSystem-9.3.dll +0 -0
- viennaps.libs/vtkCommonTransforms-9.3.dll +0 -0
- viennaps.libs/vtkFiltersCore-9.3.dll +0 -0
- viennaps.libs/vtkFiltersGeneral-9.3.dll +0 -0
- viennaps.libs/vtkFiltersGeometry-9.3.dll +0 -0
- viennaps.libs/vtkFiltersVerdict-9.3.dll +0 -0
- viennaps.libs/vtkIOCore-9.3.dll +0 -0
- viennaps.libs/vtkIOXML-9.3.dll +0 -0
- viennaps.libs/vtkIOXMLParser-9.3.dll +0 -0
- viennaps.libs/vtkdoubleconversion-9.3.dll +0 -0
- viennaps.libs/vtkexpat-9.3.dll +0 -0
- viennaps.libs/vtkfmt-9.3.dll +0 -0
- viennaps.libs/vtkkissfft-9.3.dll +0 -0
- viennaps.libs/vtkloguru-9.3.dll +0 -0
- viennaps.libs/vtklz4-9.3.dll +0 -0
- viennaps.libs/vtklzma-9.3.dll +0 -0
- viennaps.libs/vtkpugixml-9.3.dll +0 -0
- viennaps.libs/vtksys-9.3.dll +0 -0
- viennaps.libs/vtkverdict-9.3.dll +0 -0
- viennaps.libs/vtkzlib-9.3.dll +0 -0
- viennaps2d/Release/viennaps2d.cp310-win_amd64.pyd +0 -0
- viennaps2d/Release/viennaps2d.cp311-win_amd64.pyd +0 -0
- viennaps2d/Release/viennaps2d.cp312-win_amd64.pyd +0 -0
- viennaps2d/__init__.pyi +216 -4
- viennaps2d/viennaps2d/__init__.pyi +2656 -0
- viennaps2d/viennaps2d/constants.pyi +26 -0
- viennaps2d/viennaps2d/ray.pyi +34 -0
- viennaps2d/viennaps2d/util.pyi +10 -0
- viennaps2d/viennaps2d.cp312-win_amd64.pyd +0 -0
- viennaps3d/Release/viennaps3d.cp310-win_amd64.pyd +0 -0
- viennaps3d/Release/viennaps3d.cp311-win_amd64.pyd +0 -0
- viennaps3d/Release/viennaps3d.cp312-win_amd64.pyd +0 -0
- viennaps3d/__init__.pyi +216 -4
- viennaps3d/viennaps3d/__init__.pyi +2518 -0
- viennaps3d/viennaps3d/constants.pyi +26 -0
- viennaps3d/viennaps3d/gpu.pyi +164 -0
- viennaps3d/viennaps3d/ray.pyi +34 -0
- viennaps3d/viennaps3d/util.pyi +10 -0
- viennaps3d/viennaps3d.cp312-win_amd64.pyd +0 -0
- viennaps-3.7.0.dist-info/RECORD +0 -59
- viennaps2d/viennaps2d.pyi +0 -1423
- viennaps3d/gpu.pyi +0 -147
- viennaps3d/viennaps3d.pyi +0 -1348
- {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/WHEEL +0 -0
- {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,2656 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ViennaPS is a header-only C++ process simulation library which includes surface and volume representations, a ray tracer, and physical models for the simulation of microelectronic fabrication processes. The main design goals are simplicity and efficiency, tailored towards scientific simulations.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
import collections.abc
|
|
7
|
+
import enum
|
|
8
|
+
import typing
|
|
9
|
+
import viennals2d.viennals2d
|
|
10
|
+
from . import constants
|
|
11
|
+
from . import ray
|
|
12
|
+
from . import util
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"AdvectionCallback",
|
|
16
|
+
"AdvectionParameters",
|
|
17
|
+
"AtomicLayerProcess",
|
|
18
|
+
"BoxDistribution",
|
|
19
|
+
"CF4O2Etching",
|
|
20
|
+
"CF4O2Parameters",
|
|
21
|
+
"CF4O2ParametersIons",
|
|
22
|
+
"CF4O2ParametersMask",
|
|
23
|
+
"CF4O2ParametersPassivation",
|
|
24
|
+
"CF4O2ParametersSi",
|
|
25
|
+
"CF4O2ParametersSiGe",
|
|
26
|
+
"CSVFileProcess",
|
|
27
|
+
"D",
|
|
28
|
+
"DenseCellSet",
|
|
29
|
+
"DirectionalProcess",
|
|
30
|
+
"Domain",
|
|
31
|
+
"Domain3D",
|
|
32
|
+
"DomainSetup",
|
|
33
|
+
"Extrude",
|
|
34
|
+
"FaradayCageEtching",
|
|
35
|
+
"FaradayCageParameters",
|
|
36
|
+
"FluorocarbonEtching",
|
|
37
|
+
"FluorocarbonParameters",
|
|
38
|
+
"FluorocarbonParametersIons",
|
|
39
|
+
"FluorocarbonParametersMask",
|
|
40
|
+
"FluorocarbonParametersPolymer",
|
|
41
|
+
"FluorocarbonParametersSi",
|
|
42
|
+
"FluorocarbonParametersSi3N4",
|
|
43
|
+
"FluorocarbonParametersSiO2",
|
|
44
|
+
"GDSGeometry",
|
|
45
|
+
"GDSReader",
|
|
46
|
+
"GeometryFactory",
|
|
47
|
+
"HBrO2Etching",
|
|
48
|
+
"HoleShape",
|
|
49
|
+
"IBEParameters",
|
|
50
|
+
"Interpolation",
|
|
51
|
+
"IonBeamEtching",
|
|
52
|
+
"IsotropicProcess",
|
|
53
|
+
"Length",
|
|
54
|
+
"LengthUnit",
|
|
55
|
+
"LogLevel",
|
|
56
|
+
"Logger",
|
|
57
|
+
"MakeFin",
|
|
58
|
+
"MakeHole",
|
|
59
|
+
"MakePlane",
|
|
60
|
+
"MakeStack",
|
|
61
|
+
"MakeTrench",
|
|
62
|
+
"Material",
|
|
63
|
+
"MaterialMap",
|
|
64
|
+
"MetaDataLevel",
|
|
65
|
+
"MultiParticleProcess",
|
|
66
|
+
"NormalizationType",
|
|
67
|
+
"OxideRegrowth",
|
|
68
|
+
"Planarize",
|
|
69
|
+
"PlasmaEtchingParameters",
|
|
70
|
+
"PlasmaEtchingParametersIons",
|
|
71
|
+
"PlasmaEtchingParametersMask",
|
|
72
|
+
"PlasmaEtchingParametersPassivation",
|
|
73
|
+
"PlasmaEtchingParametersPolymer",
|
|
74
|
+
"PlasmaEtchingParametersSubstrate",
|
|
75
|
+
"Process",
|
|
76
|
+
"ProcessModel",
|
|
77
|
+
"ProcessParams",
|
|
78
|
+
"RateGrid",
|
|
79
|
+
"RateSet",
|
|
80
|
+
"RayTracingParameters",
|
|
81
|
+
"Reader",
|
|
82
|
+
"SF6C4F8Etching",
|
|
83
|
+
"SF6O2Etching",
|
|
84
|
+
"SelectiveEpitaxy",
|
|
85
|
+
"SingleParticleALD",
|
|
86
|
+
"SingleParticleProcess",
|
|
87
|
+
"SphereDistribution",
|
|
88
|
+
"StencilLocalLaxFriedrichsScalar",
|
|
89
|
+
"TEOSDeposition",
|
|
90
|
+
"TEOSPECVD",
|
|
91
|
+
"Time",
|
|
92
|
+
"TimeUnit",
|
|
93
|
+
"ToDiskMesh",
|
|
94
|
+
"WetEtching",
|
|
95
|
+
"Writer",
|
|
96
|
+
"constants",
|
|
97
|
+
"ray",
|
|
98
|
+
"setNumThreads",
|
|
99
|
+
"util",
|
|
100
|
+
"version",
|
|
101
|
+
]
|
|
102
|
+
|
|
103
|
+
class AdvectionCallback:
|
|
104
|
+
domain: Domain
|
|
105
|
+
def __init__(self) -> None: ...
|
|
106
|
+
def applyPostAdvect(self, arg0: typing.SupportsFloat) -> bool: ...
|
|
107
|
+
def applyPreAdvect(self, arg0: typing.SupportsFloat) -> bool: ...
|
|
108
|
+
|
|
109
|
+
class AdvectionParameters:
|
|
110
|
+
checkDissipation: bool
|
|
111
|
+
ignoreVoids: bool
|
|
112
|
+
integrationScheme: viennals2d.viennals2d.IntegrationSchemeEnum
|
|
113
|
+
velocityOutput: bool
|
|
114
|
+
def __init__(self) -> None: ...
|
|
115
|
+
def toMetaData(self) -> dict[str, list[float]]:
|
|
116
|
+
"""
|
|
117
|
+
Convert the advection parameters to a metadata dict.
|
|
118
|
+
"""
|
|
119
|
+
|
|
120
|
+
def toMetaDataString(self) -> str:
|
|
121
|
+
"""
|
|
122
|
+
Convert the advection parameters to a metadata string.
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
@property
|
|
126
|
+
def dissipationAlpha(self) -> float: ...
|
|
127
|
+
@dissipationAlpha.setter
|
|
128
|
+
def dissipationAlpha(self, arg0: typing.SupportsFloat) -> None: ...
|
|
129
|
+
@property
|
|
130
|
+
def timeStepRatio(self) -> float: ...
|
|
131
|
+
@timeStepRatio.setter
|
|
132
|
+
def timeStepRatio(self, arg0: typing.SupportsFloat) -> None: ...
|
|
133
|
+
|
|
134
|
+
class AtomicLayerProcess:
|
|
135
|
+
@typing.overload
|
|
136
|
+
def __init__(self) -> None: ...
|
|
137
|
+
@typing.overload
|
|
138
|
+
def __init__(self, domain: Domain) -> None: ...
|
|
139
|
+
@typing.overload
|
|
140
|
+
def __init__(self, domain: Domain, model: ProcessModel) -> None: ...
|
|
141
|
+
def apply(self) -> None:
|
|
142
|
+
"""
|
|
143
|
+
Run the process.
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
def disableRandomSeeds(self) -> None:
|
|
147
|
+
"""
|
|
148
|
+
Disable random seeds for the ray tracer. This will make the process results deterministic.
|
|
149
|
+
"""
|
|
150
|
+
|
|
151
|
+
def enableRandomSeeds(self) -> None:
|
|
152
|
+
"""
|
|
153
|
+
Enable random seeds for the ray tracer. This will make the process results non-deterministic.
|
|
154
|
+
"""
|
|
155
|
+
|
|
156
|
+
def setCoverageTimeStep(self, arg0: typing.SupportsFloat) -> None:
|
|
157
|
+
"""
|
|
158
|
+
Set the time step for the coverage calculation.
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
def setDesorptionRates(
|
|
162
|
+
self, arg0: collections.abc.Sequence[typing.SupportsFloat]
|
|
163
|
+
) -> None:
|
|
164
|
+
"""
|
|
165
|
+
Set the desorption rate for each surface point.
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
def setDomain(self, arg0: Domain) -> None:
|
|
169
|
+
"""
|
|
170
|
+
Set the process domain.
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
def setIntegrationScheme(
|
|
174
|
+
self, arg0: viennals2d.viennals2d.IntegrationSchemeEnum
|
|
175
|
+
) -> None:
|
|
176
|
+
"""
|
|
177
|
+
Set the integration scheme for solving the level-set equation. Possible integration schemes are specified in lsIntegrationSchemeEnum.
|
|
178
|
+
"""
|
|
179
|
+
|
|
180
|
+
def setNumCycles(self, arg0: typing.SupportsInt) -> None:
|
|
181
|
+
"""
|
|
182
|
+
Set the number of cycles for the process.
|
|
183
|
+
"""
|
|
184
|
+
|
|
185
|
+
def setNumberOfRaysPerPoint(self, arg0: typing.SupportsInt) -> None:
|
|
186
|
+
"""
|
|
187
|
+
Set the number of rays to traced for each particle in the process. The number is per point in the process geometry.
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
def setProcessModel(self, arg0: ProcessModel) -> None:
|
|
191
|
+
"""
|
|
192
|
+
Set the process model. This has to be a pre-configured process model.
|
|
193
|
+
"""
|
|
194
|
+
|
|
195
|
+
def setPulseTime(self, arg0: typing.SupportsFloat) -> None:
|
|
196
|
+
"""
|
|
197
|
+
Set the pulse time.
|
|
198
|
+
"""
|
|
199
|
+
|
|
200
|
+
def setSourceDirection(self, arg0: ...) -> None:
|
|
201
|
+
"""
|
|
202
|
+
Set source direction of the process.
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
class BoxDistribution(ProcessModel):
|
|
206
|
+
@typing.overload
|
|
207
|
+
def __init__(
|
|
208
|
+
self,
|
|
209
|
+
halfAxes: typing.Annotated[
|
|
210
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
211
|
+
],
|
|
212
|
+
gridDelta: typing.SupportsFloat,
|
|
213
|
+
mask: viennals2d.viennals2d.Domain,
|
|
214
|
+
) -> None: ...
|
|
215
|
+
@typing.overload
|
|
216
|
+
def __init__(
|
|
217
|
+
self,
|
|
218
|
+
halfAxes: typing.Annotated[
|
|
219
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
220
|
+
],
|
|
221
|
+
gridDelta: typing.SupportsFloat,
|
|
222
|
+
) -> None: ...
|
|
223
|
+
|
|
224
|
+
class CF4O2Etching(ProcessModel):
|
|
225
|
+
@typing.overload
|
|
226
|
+
def __init__(self) -> None: ...
|
|
227
|
+
@typing.overload
|
|
228
|
+
def __init__(
|
|
229
|
+
self,
|
|
230
|
+
ionFlux: typing.SupportsFloat,
|
|
231
|
+
etchantFlux: typing.SupportsFloat,
|
|
232
|
+
oxygenFlux: typing.SupportsFloat,
|
|
233
|
+
polymerFlux: typing.SupportsFloat,
|
|
234
|
+
meanIonEnergy: typing.SupportsFloat = 100.0,
|
|
235
|
+
sigmaIonEnergy: typing.SupportsFloat = 10.0,
|
|
236
|
+
ionExponent: typing.SupportsFloat = 100.0,
|
|
237
|
+
oxySputterYield: typing.SupportsFloat = 3.0,
|
|
238
|
+
polySputterYield: typing.SupportsFloat = 3.0,
|
|
239
|
+
etchStopDepth: typing.SupportsFloat = -1.7976931348623157e308,
|
|
240
|
+
) -> None: ...
|
|
241
|
+
@typing.overload
|
|
242
|
+
def __init__(self, parameters: CF4O2Parameters) -> None: ...
|
|
243
|
+
def getParameters(self) -> CF4O2Parameters: ...
|
|
244
|
+
def setParameters(self, arg0: CF4O2Parameters) -> None: ...
|
|
245
|
+
|
|
246
|
+
class CF4O2Parameters:
|
|
247
|
+
Ions: CF4O2ParametersIons
|
|
248
|
+
Mask: CF4O2ParametersMask
|
|
249
|
+
Passivation: CF4O2ParametersPassivation
|
|
250
|
+
Si: CF4O2ParametersSi
|
|
251
|
+
SiGe: CF4O2ParametersSiGe
|
|
252
|
+
fluxIncludeSticking: bool
|
|
253
|
+
def __init__(self) -> None: ...
|
|
254
|
+
@property
|
|
255
|
+
def etchStopDepth(self) -> float: ...
|
|
256
|
+
@etchStopDepth.setter
|
|
257
|
+
def etchStopDepth(self, arg0: typing.SupportsFloat) -> None: ...
|
|
258
|
+
@property
|
|
259
|
+
def etchantFlux(self) -> float: ...
|
|
260
|
+
@etchantFlux.setter
|
|
261
|
+
def etchantFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
262
|
+
@property
|
|
263
|
+
def gamma_C(self) -> dict[Material, float]: ...
|
|
264
|
+
@gamma_C.setter
|
|
265
|
+
def gamma_C(
|
|
266
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
267
|
+
) -> None: ...
|
|
268
|
+
@property
|
|
269
|
+
def gamma_C_oxidized(self) -> dict[Material, float]: ...
|
|
270
|
+
@gamma_C_oxidized.setter
|
|
271
|
+
def gamma_C_oxidized(
|
|
272
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
273
|
+
) -> None: ...
|
|
274
|
+
@property
|
|
275
|
+
def gamma_F(self) -> dict[Material, float]: ...
|
|
276
|
+
@gamma_F.setter
|
|
277
|
+
def gamma_F(
|
|
278
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
279
|
+
) -> None: ...
|
|
280
|
+
@property
|
|
281
|
+
def gamma_F_oxidized(self) -> dict[Material, float]: ...
|
|
282
|
+
@gamma_F_oxidized.setter
|
|
283
|
+
def gamma_F_oxidized(
|
|
284
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
285
|
+
) -> None: ...
|
|
286
|
+
@property
|
|
287
|
+
def gamma_O(self) -> dict[Material, float]: ...
|
|
288
|
+
@gamma_O.setter
|
|
289
|
+
def gamma_O(
|
|
290
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
291
|
+
) -> None: ...
|
|
292
|
+
@property
|
|
293
|
+
def gamma_O_passivated(self) -> dict[Material, float]: ...
|
|
294
|
+
@gamma_O_passivated.setter
|
|
295
|
+
def gamma_O_passivated(
|
|
296
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
297
|
+
) -> None: ...
|
|
298
|
+
@property
|
|
299
|
+
def ionFlux(self) -> float: ...
|
|
300
|
+
@ionFlux.setter
|
|
301
|
+
def ionFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
302
|
+
@property
|
|
303
|
+
def oxygenFlux(self) -> float: ...
|
|
304
|
+
@oxygenFlux.setter
|
|
305
|
+
def oxygenFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
306
|
+
@property
|
|
307
|
+
def polymerFlux(self) -> float: ...
|
|
308
|
+
@polymerFlux.setter
|
|
309
|
+
def polymerFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
310
|
+
|
|
311
|
+
class CF4O2ParametersIons:
|
|
312
|
+
def __init__(self) -> None: ...
|
|
313
|
+
@property
|
|
314
|
+
def exponent(self) -> float: ...
|
|
315
|
+
@exponent.setter
|
|
316
|
+
def exponent(self, arg0: typing.SupportsFloat) -> None: ...
|
|
317
|
+
@property
|
|
318
|
+
def inflectAngle(self) -> float: ...
|
|
319
|
+
@inflectAngle.setter
|
|
320
|
+
def inflectAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
321
|
+
@property
|
|
322
|
+
def meanEnergy(self) -> float: ...
|
|
323
|
+
@meanEnergy.setter
|
|
324
|
+
def meanEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
325
|
+
@property
|
|
326
|
+
def minAngle(self) -> float: ...
|
|
327
|
+
@minAngle.setter
|
|
328
|
+
def minAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
329
|
+
@property
|
|
330
|
+
def n_l(self) -> float: ...
|
|
331
|
+
@n_l.setter
|
|
332
|
+
def n_l(self, arg0: typing.SupportsFloat) -> None: ...
|
|
333
|
+
@property
|
|
334
|
+
def sigmaEnergy(self) -> float: ...
|
|
335
|
+
@sigmaEnergy.setter
|
|
336
|
+
def sigmaEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
337
|
+
|
|
338
|
+
class CF4O2ParametersMask:
|
|
339
|
+
def __init__(self) -> None: ...
|
|
340
|
+
@property
|
|
341
|
+
def A_sp(self) -> float: ...
|
|
342
|
+
@A_sp.setter
|
|
343
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
344
|
+
@property
|
|
345
|
+
def Eth_sp(self) -> float: ...
|
|
346
|
+
@Eth_sp.setter
|
|
347
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
348
|
+
@property
|
|
349
|
+
def rho(self) -> float: ...
|
|
350
|
+
@rho.setter
|
|
351
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
352
|
+
|
|
353
|
+
class CF4O2ParametersPassivation:
|
|
354
|
+
def __init__(self) -> None: ...
|
|
355
|
+
@property
|
|
356
|
+
def A_C_ie(self) -> float: ...
|
|
357
|
+
@A_C_ie.setter
|
|
358
|
+
def A_C_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
359
|
+
@property
|
|
360
|
+
def A_O_ie(self) -> float: ...
|
|
361
|
+
@A_O_ie.setter
|
|
362
|
+
def A_O_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
363
|
+
@property
|
|
364
|
+
def Eth_C_ie(self) -> float: ...
|
|
365
|
+
@Eth_C_ie.setter
|
|
366
|
+
def Eth_C_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
367
|
+
@property
|
|
368
|
+
def Eth_O_ie(self) -> float: ...
|
|
369
|
+
@Eth_O_ie.setter
|
|
370
|
+
def Eth_O_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
371
|
+
|
|
372
|
+
class CF4O2ParametersSi:
|
|
373
|
+
def __init__(self) -> None: ...
|
|
374
|
+
@property
|
|
375
|
+
def A_ie(self) -> float: ...
|
|
376
|
+
@A_ie.setter
|
|
377
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
378
|
+
@property
|
|
379
|
+
def A_sp(self) -> float: ...
|
|
380
|
+
@A_sp.setter
|
|
381
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
382
|
+
@property
|
|
383
|
+
def Eth_ie(self) -> float: ...
|
|
384
|
+
@Eth_ie.setter
|
|
385
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
386
|
+
@property
|
|
387
|
+
def Eth_sp(self) -> float: ...
|
|
388
|
+
@Eth_sp.setter
|
|
389
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
390
|
+
@property
|
|
391
|
+
def beta_sigma(self) -> float: ...
|
|
392
|
+
@beta_sigma.setter
|
|
393
|
+
def beta_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
394
|
+
@property
|
|
395
|
+
def k_sigma(self) -> float: ...
|
|
396
|
+
@k_sigma.setter
|
|
397
|
+
def k_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
398
|
+
@property
|
|
399
|
+
def rho(self) -> float: ...
|
|
400
|
+
@rho.setter
|
|
401
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
402
|
+
|
|
403
|
+
class CF4O2ParametersSiGe:
|
|
404
|
+
def __init__(self) -> None: ...
|
|
405
|
+
def k_sigma_SiGe(self, arg0: typing.SupportsFloat) -> float: ...
|
|
406
|
+
@property
|
|
407
|
+
def A_ie(self) -> float: ...
|
|
408
|
+
@A_ie.setter
|
|
409
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
410
|
+
@property
|
|
411
|
+
def A_sp(self) -> float: ...
|
|
412
|
+
@A_sp.setter
|
|
413
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
414
|
+
@property
|
|
415
|
+
def Eth_ie(self) -> float: ...
|
|
416
|
+
@Eth_ie.setter
|
|
417
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
418
|
+
@property
|
|
419
|
+
def Eth_sp(self) -> float: ...
|
|
420
|
+
@Eth_sp.setter
|
|
421
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
422
|
+
@property
|
|
423
|
+
def beta_sigma(self) -> float: ...
|
|
424
|
+
@beta_sigma.setter
|
|
425
|
+
def beta_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
426
|
+
@property
|
|
427
|
+
def k_sigma(self) -> float: ...
|
|
428
|
+
@k_sigma.setter
|
|
429
|
+
def k_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
430
|
+
@property
|
|
431
|
+
def rho(self) -> float: ...
|
|
432
|
+
@rho.setter
|
|
433
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
434
|
+
@property
|
|
435
|
+
def x(self) -> float: ...
|
|
436
|
+
@x.setter
|
|
437
|
+
def x(self, arg0: typing.SupportsFloat) -> None: ...
|
|
438
|
+
|
|
439
|
+
class CSVFileProcess(ProcessModel):
|
|
440
|
+
def __init__(
|
|
441
|
+
self,
|
|
442
|
+
ratesFile: str,
|
|
443
|
+
direction: typing.Annotated[
|
|
444
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
445
|
+
],
|
|
446
|
+
offset: typing.Annotated[
|
|
447
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
448
|
+
],
|
|
449
|
+
isotropicComponent: typing.SupportsFloat = 0.0,
|
|
450
|
+
directionalComponent: typing.SupportsFloat = 1.0,
|
|
451
|
+
maskMaterials: collections.abc.Sequence[Material] = ...,
|
|
452
|
+
calculateVisibility: bool = True,
|
|
453
|
+
) -> None: ...
|
|
454
|
+
def setCustomInterpolator(self, function: collections.abc.Callable) -> None: ...
|
|
455
|
+
def setIDWNeighbors(self, k: typing.SupportsInt = 4) -> None: ...
|
|
456
|
+
@typing.overload
|
|
457
|
+
def setInterpolationMode(self, mode: Interpolation) -> None: ...
|
|
458
|
+
@typing.overload
|
|
459
|
+
def setInterpolationMode(self, mode: str) -> None: ...
|
|
460
|
+
def setOffset(
|
|
461
|
+
self,
|
|
462
|
+
offset: typing.Annotated[
|
|
463
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
464
|
+
],
|
|
465
|
+
) -> None: ...
|
|
466
|
+
|
|
467
|
+
class DenseCellSet:
|
|
468
|
+
def __init__(self) -> None: ...
|
|
469
|
+
@typing.overload
|
|
470
|
+
def addFillingFraction(
|
|
471
|
+
self, arg0: typing.SupportsInt, arg1: typing.SupportsFloat
|
|
472
|
+
) -> bool:
|
|
473
|
+
"""
|
|
474
|
+
Add to the filling fraction at given cell index.
|
|
475
|
+
"""
|
|
476
|
+
|
|
477
|
+
@typing.overload
|
|
478
|
+
def addFillingFraction(
|
|
479
|
+
self,
|
|
480
|
+
arg0: typing.Annotated[
|
|
481
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
482
|
+
],
|
|
483
|
+
arg1: typing.SupportsFloat,
|
|
484
|
+
) -> bool:
|
|
485
|
+
"""
|
|
486
|
+
Add to the filling fraction for cell which contains given point.
|
|
487
|
+
"""
|
|
488
|
+
|
|
489
|
+
def addFillingFractionInMaterial(
|
|
490
|
+
self,
|
|
491
|
+
arg0: typing.Annotated[
|
|
492
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
493
|
+
],
|
|
494
|
+
arg1: typing.SupportsFloat,
|
|
495
|
+
arg2: typing.SupportsInt,
|
|
496
|
+
) -> bool:
|
|
497
|
+
"""
|
|
498
|
+
Add to the filling fraction for cell which contains given point only if the cell has the specified material ID.
|
|
499
|
+
"""
|
|
500
|
+
|
|
501
|
+
def addScalarData(self, arg0: str, arg1: typing.SupportsFloat) -> None:
|
|
502
|
+
"""
|
|
503
|
+
Add a scalar value to be stored and modified in each cell.
|
|
504
|
+
"""
|
|
505
|
+
|
|
506
|
+
def buildNeighborhood(self, forceRebuild: bool = False) -> None:
|
|
507
|
+
"""
|
|
508
|
+
Generate fast neighbor access for each cell.
|
|
509
|
+
"""
|
|
510
|
+
|
|
511
|
+
def clear(self) -> None:
|
|
512
|
+
"""
|
|
513
|
+
Clear the filling fractions.
|
|
514
|
+
"""
|
|
515
|
+
|
|
516
|
+
def fromLevelSets(
|
|
517
|
+
self,
|
|
518
|
+
levelSets: collections.abc.Sequence[viennals2d.viennals2d.Domain],
|
|
519
|
+
materialMap: viennals2d.viennals2d.MaterialMap = None,
|
|
520
|
+
depth: typing.SupportsFloat = 0.0,
|
|
521
|
+
) -> None: ...
|
|
522
|
+
def getAverageFillingFraction(
|
|
523
|
+
self,
|
|
524
|
+
arg0: typing.Annotated[
|
|
525
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
526
|
+
],
|
|
527
|
+
arg1: typing.SupportsFloat,
|
|
528
|
+
) -> float:
|
|
529
|
+
"""
|
|
530
|
+
Get the average filling at a point in some radius.
|
|
531
|
+
"""
|
|
532
|
+
|
|
533
|
+
def getBoundingBox(
|
|
534
|
+
self,
|
|
535
|
+
) -> typing.Annotated[
|
|
536
|
+
list[typing.Annotated[list[float], "FixedSize(2)"]], "FixedSize(2)"
|
|
537
|
+
]: ...
|
|
538
|
+
def getCellCenter(
|
|
539
|
+
self, arg0: typing.SupportsInt
|
|
540
|
+
) -> typing.Annotated[list[float], "FixedSize(3)"]:
|
|
541
|
+
"""
|
|
542
|
+
Get the center of a cell with given index
|
|
543
|
+
"""
|
|
544
|
+
|
|
545
|
+
def getCellGrid(self) -> viennals2d.viennals2d.Mesh:
|
|
546
|
+
"""
|
|
547
|
+
Get the underlying mesh of the cell set.
|
|
548
|
+
"""
|
|
549
|
+
|
|
550
|
+
def getDepth(self) -> float:
|
|
551
|
+
"""
|
|
552
|
+
Get the depth of the cell set.
|
|
553
|
+
"""
|
|
554
|
+
|
|
555
|
+
def getElement(
|
|
556
|
+
self, arg0: typing.SupportsInt
|
|
557
|
+
) -> typing.Annotated[list[int], "FixedSize(4)"]:
|
|
558
|
+
"""
|
|
559
|
+
Get the element at the given index.
|
|
560
|
+
"""
|
|
561
|
+
|
|
562
|
+
def getElements(self) -> list[typing.Annotated[list[int], "FixedSize(4)"]]:
|
|
563
|
+
"""
|
|
564
|
+
Get elements (cells). The indicies in the elements correspond to the corner nodes.
|
|
565
|
+
"""
|
|
566
|
+
|
|
567
|
+
def getFillingFraction(
|
|
568
|
+
self,
|
|
569
|
+
arg0: typing.Annotated[
|
|
570
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
571
|
+
],
|
|
572
|
+
) -> float:
|
|
573
|
+
"""
|
|
574
|
+
Get the filling fraction of the cell containing the point.
|
|
575
|
+
"""
|
|
576
|
+
|
|
577
|
+
def getFillingFractions(self) -> list[float]:
|
|
578
|
+
"""
|
|
579
|
+
Get the filling fractions of all cells.
|
|
580
|
+
"""
|
|
581
|
+
|
|
582
|
+
def getGridDelta(self) -> float:
|
|
583
|
+
"""
|
|
584
|
+
Get the cell size.
|
|
585
|
+
"""
|
|
586
|
+
|
|
587
|
+
def getIndex(
|
|
588
|
+
self,
|
|
589
|
+
arg0: typing.Annotated[
|
|
590
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
591
|
+
],
|
|
592
|
+
) -> int:
|
|
593
|
+
"""
|
|
594
|
+
Get the index of the cell containing the given point.
|
|
595
|
+
"""
|
|
596
|
+
|
|
597
|
+
def getNeighbors(
|
|
598
|
+
self, arg0: typing.SupportsInt
|
|
599
|
+
) -> typing.Annotated[list[int], "FixedSize(4)"]:
|
|
600
|
+
"""
|
|
601
|
+
Get the neighbor indices for a cell.
|
|
602
|
+
"""
|
|
603
|
+
|
|
604
|
+
def getNode(
|
|
605
|
+
self, arg0: typing.SupportsInt
|
|
606
|
+
) -> typing.Annotated[list[float], "FixedSize(3)"]:
|
|
607
|
+
"""
|
|
608
|
+
Get the node at the given index.
|
|
609
|
+
"""
|
|
610
|
+
|
|
611
|
+
def getNodes(self) -> list[typing.Annotated[list[float], "FixedSize(3)"]]:
|
|
612
|
+
"""
|
|
613
|
+
Get the nodes of the cell set which correspond to the corner points of the cells.
|
|
614
|
+
"""
|
|
615
|
+
|
|
616
|
+
def getNumberOfCells(self) -> int:
|
|
617
|
+
"""
|
|
618
|
+
Get the number of cells.
|
|
619
|
+
"""
|
|
620
|
+
|
|
621
|
+
def getScalarData(self, arg0: str) -> list[float]:
|
|
622
|
+
"""
|
|
623
|
+
Get the data stored at each cell. WARNING: This function only returns a copy of the data
|
|
624
|
+
"""
|
|
625
|
+
|
|
626
|
+
def getScalarDataLabels(self) -> list[str]:
|
|
627
|
+
"""
|
|
628
|
+
Get the labels of the scalar data stored in the cell set.
|
|
629
|
+
"""
|
|
630
|
+
|
|
631
|
+
def getSurface(self) -> viennals2d.viennals2d.Domain:
|
|
632
|
+
"""
|
|
633
|
+
Get the surface level-set.
|
|
634
|
+
"""
|
|
635
|
+
|
|
636
|
+
def readCellSetData(self, arg0: str) -> None:
|
|
637
|
+
"""
|
|
638
|
+
Read cell set data from text.
|
|
639
|
+
"""
|
|
640
|
+
|
|
641
|
+
def setCellSetPosition(self, arg0: bool) -> None:
|
|
642
|
+
"""
|
|
643
|
+
Set whether the cell set should be created below (false) or above (true) the surface.
|
|
644
|
+
"""
|
|
645
|
+
|
|
646
|
+
def setCoverMaterial(self, arg0: typing.SupportsInt) -> None:
|
|
647
|
+
"""
|
|
648
|
+
Set the material of the cells which are above or below the surface.
|
|
649
|
+
"""
|
|
650
|
+
|
|
651
|
+
@typing.overload
|
|
652
|
+
def setFillingFraction(
|
|
653
|
+
self, arg0: typing.SupportsInt, arg1: typing.SupportsFloat
|
|
654
|
+
) -> bool:
|
|
655
|
+
"""
|
|
656
|
+
Sets the filling fraction at given cell index.
|
|
657
|
+
"""
|
|
658
|
+
|
|
659
|
+
@typing.overload
|
|
660
|
+
def setFillingFraction(
|
|
661
|
+
self,
|
|
662
|
+
arg0: typing.Annotated[
|
|
663
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
664
|
+
],
|
|
665
|
+
arg1: typing.SupportsFloat,
|
|
666
|
+
) -> bool:
|
|
667
|
+
"""
|
|
668
|
+
Sets the filling fraction for cell which contains given point.
|
|
669
|
+
"""
|
|
670
|
+
|
|
671
|
+
def setPeriodicBoundary(
|
|
672
|
+
self, arg0: typing.Annotated[collections.abc.Sequence[bool], "FixedSize(2)"]
|
|
673
|
+
) -> None:
|
|
674
|
+
"""
|
|
675
|
+
Enable periodic boundary conditions in specified dimensions.
|
|
676
|
+
"""
|
|
677
|
+
|
|
678
|
+
def updateMaterials(self) -> None:
|
|
679
|
+
"""
|
|
680
|
+
Update the material IDs of the cell set. This function should be called if the level sets, the cell set is made out of, have changed. This does not work if the surface of the volume has changed. In this case, call the function 'updateSurface' first.
|
|
681
|
+
"""
|
|
682
|
+
|
|
683
|
+
def updateSurface(self) -> None:
|
|
684
|
+
"""
|
|
685
|
+
Updates the surface of the cell set. The new surface should be below the old surface as this function can only remove cells from the cell set.
|
|
686
|
+
"""
|
|
687
|
+
|
|
688
|
+
def writeCellSetData(self, arg0: str) -> None:
|
|
689
|
+
"""
|
|
690
|
+
Save cell set data in simple text format.
|
|
691
|
+
"""
|
|
692
|
+
|
|
693
|
+
def writeVTU(self, arg0: str) -> None:
|
|
694
|
+
"""
|
|
695
|
+
Write the cell set as .vtu file
|
|
696
|
+
"""
|
|
697
|
+
|
|
698
|
+
class DirectionalProcess(ProcessModel):
|
|
699
|
+
@typing.overload
|
|
700
|
+
def __init__(
|
|
701
|
+
self,
|
|
702
|
+
direction: typing.Annotated[
|
|
703
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
704
|
+
],
|
|
705
|
+
directionalVelocity: typing.SupportsFloat,
|
|
706
|
+
isotropicVelocity: typing.SupportsFloat = 0.0,
|
|
707
|
+
maskMaterial: Material = ...,
|
|
708
|
+
calculateVisibility: bool = True,
|
|
709
|
+
) -> None: ...
|
|
710
|
+
@typing.overload
|
|
711
|
+
def __init__(
|
|
712
|
+
self,
|
|
713
|
+
direction: typing.Annotated[
|
|
714
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
715
|
+
],
|
|
716
|
+
directionalVelocity: typing.SupportsFloat,
|
|
717
|
+
isotropicVelocity: typing.SupportsFloat,
|
|
718
|
+
maskMaterial: collections.abc.Sequence[Material],
|
|
719
|
+
calculateVisibility: bool = True,
|
|
720
|
+
) -> None: ...
|
|
721
|
+
@typing.overload
|
|
722
|
+
def __init__(self, rateSets: collections.abc.Sequence[RateSet]) -> None: ...
|
|
723
|
+
@typing.overload
|
|
724
|
+
def __init__(self, rateSet: RateSet) -> None: ...
|
|
725
|
+
|
|
726
|
+
class Domain:
|
|
727
|
+
@staticmethod
|
|
728
|
+
def disableMetaData() -> None:
|
|
729
|
+
"""
|
|
730
|
+
Disable adding meta data to domain.
|
|
731
|
+
"""
|
|
732
|
+
|
|
733
|
+
@staticmethod
|
|
734
|
+
def enableMetaData(level: MetaDataLevel = ...) -> None:
|
|
735
|
+
"""
|
|
736
|
+
Enable adding meta data from processes to domain.
|
|
737
|
+
"""
|
|
738
|
+
|
|
739
|
+
@typing.overload
|
|
740
|
+
def __init__(self) -> None: ...
|
|
741
|
+
@typing.overload
|
|
742
|
+
def __init__(self, domain: Domain) -> None:
|
|
743
|
+
"""
|
|
744
|
+
Deep copy constructor.
|
|
745
|
+
"""
|
|
746
|
+
|
|
747
|
+
@typing.overload
|
|
748
|
+
def __init__(
|
|
749
|
+
self,
|
|
750
|
+
gridDelta: typing.SupportsFloat,
|
|
751
|
+
xExtent: typing.SupportsFloat,
|
|
752
|
+
yExtent: typing.SupportsFloat,
|
|
753
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
754
|
+
) -> None: ...
|
|
755
|
+
@typing.overload
|
|
756
|
+
def __init__(
|
|
757
|
+
self,
|
|
758
|
+
gridDelta: typing.SupportsFloat,
|
|
759
|
+
xExtent: typing.SupportsFloat,
|
|
760
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
761
|
+
) -> None: ...
|
|
762
|
+
@typing.overload
|
|
763
|
+
def __init__(
|
|
764
|
+
self,
|
|
765
|
+
bounds: typing.Annotated[
|
|
766
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(4)"
|
|
767
|
+
],
|
|
768
|
+
boundaryConditions: typing.Annotated[
|
|
769
|
+
collections.abc.Sequence[viennals2d.viennals2d.BoundaryConditionEnum],
|
|
770
|
+
"FixedSize(2)",
|
|
771
|
+
],
|
|
772
|
+
gridDelta: typing.SupportsFloat = 1.0,
|
|
773
|
+
) -> None: ...
|
|
774
|
+
@typing.overload
|
|
775
|
+
def __init__(self, setup: DomainSetup) -> None: ...
|
|
776
|
+
@typing.overload
|
|
777
|
+
def addMetaData(self, arg0: str, arg1: typing.SupportsFloat) -> None:
|
|
778
|
+
"""
|
|
779
|
+
Add a single metadata entry to the domain.
|
|
780
|
+
"""
|
|
781
|
+
|
|
782
|
+
@typing.overload
|
|
783
|
+
def addMetaData(
|
|
784
|
+
self, arg0: str, arg1: collections.abc.Sequence[typing.SupportsFloat]
|
|
785
|
+
) -> None:
|
|
786
|
+
"""
|
|
787
|
+
Add a single metadata entry to the domain.
|
|
788
|
+
"""
|
|
789
|
+
|
|
790
|
+
@typing.overload
|
|
791
|
+
def addMetaData(
|
|
792
|
+
self,
|
|
793
|
+
arg0: collections.abc.Mapping[
|
|
794
|
+
str, collections.abc.Sequence[typing.SupportsFloat]
|
|
795
|
+
],
|
|
796
|
+
) -> None:
|
|
797
|
+
"""
|
|
798
|
+
Add metadata to the domain.
|
|
799
|
+
"""
|
|
800
|
+
|
|
801
|
+
def applyBooleanOperation(
|
|
802
|
+
self, arg0: viennals2d.viennals2d.Domain, arg1: ...
|
|
803
|
+
) -> None: ...
|
|
804
|
+
def clear(self) -> None: ...
|
|
805
|
+
def clearMetaData(self, clearDomainData: bool = False) -> None:
|
|
806
|
+
"""
|
|
807
|
+
Clear meta data from domain.
|
|
808
|
+
"""
|
|
809
|
+
|
|
810
|
+
def deepCopy(self, arg0: Domain) -> None: ...
|
|
811
|
+
def duplicateTopLevelSet(self, arg0: Material) -> None:
|
|
812
|
+
"""
|
|
813
|
+
Duplicate the top level set. Should be used before a deposition process.
|
|
814
|
+
"""
|
|
815
|
+
|
|
816
|
+
def generateCellSet(
|
|
817
|
+
self, arg0: typing.SupportsFloat, arg1: Material, arg2: bool
|
|
818
|
+
) -> None:
|
|
819
|
+
"""
|
|
820
|
+
Generate the cell set.
|
|
821
|
+
"""
|
|
822
|
+
|
|
823
|
+
def getBoundaryConditions(
|
|
824
|
+
self,
|
|
825
|
+
) -> typing.Annotated[
|
|
826
|
+
list[viennals2d.viennals2d.BoundaryConditionEnum], "FixedSize(2)"
|
|
827
|
+
]:
|
|
828
|
+
"""
|
|
829
|
+
Get the boundary conditions of the domain.
|
|
830
|
+
"""
|
|
831
|
+
|
|
832
|
+
def getBoundingBox(
|
|
833
|
+
self,
|
|
834
|
+
) -> typing.Annotated[
|
|
835
|
+
list[typing.Annotated[list[float], "FixedSize(3)"]], "FixedSize(2)"
|
|
836
|
+
]:
|
|
837
|
+
"""
|
|
838
|
+
Get the bounding box of the domain.
|
|
839
|
+
"""
|
|
840
|
+
|
|
841
|
+
def getCellSet(self) -> ...:
|
|
842
|
+
"""
|
|
843
|
+
Get the cell set.
|
|
844
|
+
"""
|
|
845
|
+
|
|
846
|
+
def getGrid(self) -> viennals2d.viennals2d.hrleGrid:
|
|
847
|
+
"""
|
|
848
|
+
Get the grid
|
|
849
|
+
"""
|
|
850
|
+
|
|
851
|
+
def getGridDelta(self) -> float:
|
|
852
|
+
"""
|
|
853
|
+
Get the grid delta.
|
|
854
|
+
"""
|
|
855
|
+
|
|
856
|
+
def getLevelSets(self) -> list[viennals2d.viennals2d.Domain]: ...
|
|
857
|
+
def getMaterialMap(self) -> MaterialMap: ...
|
|
858
|
+
def getMetaData(self) -> dict[str, list[float]]:
|
|
859
|
+
"""
|
|
860
|
+
Get meta data (e.g. process data) stored in the domain
|
|
861
|
+
"""
|
|
862
|
+
|
|
863
|
+
def getSetup(self) -> DomainSetup:
|
|
864
|
+
"""
|
|
865
|
+
Get the domain setup.
|
|
866
|
+
"""
|
|
867
|
+
|
|
868
|
+
def insertNextLevelSet(
|
|
869
|
+
self, levelset: viennals2d.viennals2d.Domain, wrapLowerLevelSet: bool = True
|
|
870
|
+
) -> None:
|
|
871
|
+
"""
|
|
872
|
+
Insert a level set to domain.
|
|
873
|
+
"""
|
|
874
|
+
|
|
875
|
+
def insertNextLevelSetAsMaterial(
|
|
876
|
+
self,
|
|
877
|
+
levelSet: viennals2d.viennals2d.Domain,
|
|
878
|
+
material: Material,
|
|
879
|
+
wrapLowerLevelSet: bool = True,
|
|
880
|
+
) -> None:
|
|
881
|
+
"""
|
|
882
|
+
Insert a level set to domain as a material.
|
|
883
|
+
"""
|
|
884
|
+
|
|
885
|
+
def print(self, hrleInfo: bool = False) -> None:
|
|
886
|
+
"""
|
|
887
|
+
Print the domain information.
|
|
888
|
+
"""
|
|
889
|
+
|
|
890
|
+
def removeLevelSet(self, arg0: typing.SupportsInt, arg1: bool) -> None: ...
|
|
891
|
+
def removeMaterial(self, arg0: Material) -> None: ...
|
|
892
|
+
def removeTopLevelSet(self) -> None: ...
|
|
893
|
+
def saveHullMesh(
|
|
894
|
+
self, filename: str, wrappingLayerEpsilon: typing.SupportsFloat = 0.01
|
|
895
|
+
) -> None:
|
|
896
|
+
"""
|
|
897
|
+
Save the hull of the domain.
|
|
898
|
+
"""
|
|
899
|
+
|
|
900
|
+
def saveLevelSetMesh(self, filename: str, width: typing.SupportsInt = 1) -> None:
|
|
901
|
+
"""
|
|
902
|
+
Save the level set grids of layers in the domain.
|
|
903
|
+
"""
|
|
904
|
+
|
|
905
|
+
def saveLevelSets(self, filename: str) -> None: ...
|
|
906
|
+
def saveSurfaceMesh(self, filename: str, addMaterialIds: bool = False) -> None:
|
|
907
|
+
"""
|
|
908
|
+
Save the surface of the domain.
|
|
909
|
+
"""
|
|
910
|
+
|
|
911
|
+
def saveVolumeMesh(
|
|
912
|
+
self, filename: str, wrappingLayerEpsilon: typing.SupportsFloat = 0.01
|
|
913
|
+
) -> None:
|
|
914
|
+
"""
|
|
915
|
+
Save the volume representation of the domain.
|
|
916
|
+
"""
|
|
917
|
+
|
|
918
|
+
def setMaterialMap(self, arg0: MaterialMap) -> None: ...
|
|
919
|
+
@typing.overload
|
|
920
|
+
def setup(self, arg0: DomainSetup) -> None:
|
|
921
|
+
"""
|
|
922
|
+
Setup the domain.
|
|
923
|
+
"""
|
|
924
|
+
|
|
925
|
+
@typing.overload
|
|
926
|
+
def setup(
|
|
927
|
+
self,
|
|
928
|
+
gridDelta: typing.SupportsFloat,
|
|
929
|
+
xExtent: typing.SupportsFloat,
|
|
930
|
+
yExtent: typing.SupportsFloat = 0.0,
|
|
931
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
932
|
+
) -> None:
|
|
933
|
+
"""
|
|
934
|
+
Setup the domain.
|
|
935
|
+
"""
|
|
936
|
+
|
|
937
|
+
class Domain3D:
|
|
938
|
+
@typing.overload
|
|
939
|
+
def __init__(self) -> None: ...
|
|
940
|
+
@typing.overload
|
|
941
|
+
def __init__(self, domain: Domain3D) -> None:
|
|
942
|
+
"""
|
|
943
|
+
Deep copy constructor.
|
|
944
|
+
"""
|
|
945
|
+
|
|
946
|
+
@typing.overload
|
|
947
|
+
def __init__(
|
|
948
|
+
self,
|
|
949
|
+
gridDelta: typing.SupportsFloat,
|
|
950
|
+
xExtent: typing.SupportsFloat,
|
|
951
|
+
yExtent: typing.SupportsFloat,
|
|
952
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
953
|
+
) -> None: ...
|
|
954
|
+
def clear(self) -> None: ...
|
|
955
|
+
def deepCopy(self, arg0: Domain3D) -> None: ...
|
|
956
|
+
def getBoundaryConditions(
|
|
957
|
+
self,
|
|
958
|
+
) -> typing.Annotated[
|
|
959
|
+
list[viennals2d.viennals2d.BoundaryConditionEnum], "FixedSize(3)"
|
|
960
|
+
]:
|
|
961
|
+
"""
|
|
962
|
+
Get the boundary conditions of the domain.
|
|
963
|
+
"""
|
|
964
|
+
|
|
965
|
+
def getBoundingBox(
|
|
966
|
+
self,
|
|
967
|
+
) -> typing.Annotated[
|
|
968
|
+
list[typing.Annotated[list[float], "FixedSize(3)"]], "FixedSize(2)"
|
|
969
|
+
]:
|
|
970
|
+
"""
|
|
971
|
+
Get the bounding box of the domain.
|
|
972
|
+
"""
|
|
973
|
+
|
|
974
|
+
def getGridDelta(self) -> float:
|
|
975
|
+
"""
|
|
976
|
+
Get the grid delta.
|
|
977
|
+
"""
|
|
978
|
+
|
|
979
|
+
def getMaterialMap(self) -> MaterialMap: ...
|
|
980
|
+
def print(self, hrleInfo: bool = False) -> None:
|
|
981
|
+
"""
|
|
982
|
+
Print the domain information.
|
|
983
|
+
"""
|
|
984
|
+
|
|
985
|
+
def removeLevelSet(self, arg0: typing.SupportsInt, arg1: bool) -> None: ...
|
|
986
|
+
def removeMaterial(self, arg0: Material) -> None: ...
|
|
987
|
+
def removeTopLevelSet(self) -> None: ...
|
|
988
|
+
def saveHullMesh(
|
|
989
|
+
self, filename: str, wrappingLayerEpsilon: typing.SupportsFloat = 0.01
|
|
990
|
+
) -> None:
|
|
991
|
+
"""
|
|
992
|
+
Save the hull of the domain.
|
|
993
|
+
"""
|
|
994
|
+
|
|
995
|
+
def saveLevelSetMesh(self, filename: str, width: typing.SupportsInt = 1) -> None:
|
|
996
|
+
"""
|
|
997
|
+
Save the level set grids of layers in the domain.
|
|
998
|
+
"""
|
|
999
|
+
|
|
1000
|
+
def saveLevelSets(self, arg0: str) -> None: ...
|
|
1001
|
+
def saveSurfaceMesh(self, filename: str, addMaterialIds: bool = False) -> None:
|
|
1002
|
+
"""
|
|
1003
|
+
Save the surface of the domain.
|
|
1004
|
+
"""
|
|
1005
|
+
|
|
1006
|
+
def saveVolumeMesh(
|
|
1007
|
+
self, filename: str, wrappingLayerEpsilon: typing.SupportsFloat = 0.01
|
|
1008
|
+
) -> None:
|
|
1009
|
+
"""
|
|
1010
|
+
Save the volume representation of the domain.
|
|
1011
|
+
"""
|
|
1012
|
+
|
|
1013
|
+
def setMaterialMap(self, arg0: MaterialMap) -> None: ...
|
|
1014
|
+
|
|
1015
|
+
class DomainSetup:
|
|
1016
|
+
@typing.overload
|
|
1017
|
+
def __init__(self) -> None: ...
|
|
1018
|
+
@typing.overload
|
|
1019
|
+
def __init__(
|
|
1020
|
+
self,
|
|
1021
|
+
gridDelta: typing.SupportsFloat,
|
|
1022
|
+
xExtent: typing.SupportsFloat,
|
|
1023
|
+
yExtent: typing.SupportsFloat,
|
|
1024
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
1025
|
+
) -> None: ...
|
|
1026
|
+
def boundaryCons(
|
|
1027
|
+
self,
|
|
1028
|
+
) -> typing.Annotated[
|
|
1029
|
+
list[viennals2d.viennals2d.BoundaryConditionEnum], "FixedSize(2)"
|
|
1030
|
+
]: ...
|
|
1031
|
+
def bounds(self) -> typing.Annotated[list[float], "FixedSize(4)"]: ...
|
|
1032
|
+
def check(self) -> None: ...
|
|
1033
|
+
def grid(self) -> viennals2d.viennals2d.hrleGrid: ...
|
|
1034
|
+
def gridDelta(self) -> float: ...
|
|
1035
|
+
def halveXAxis(self) -> None: ...
|
|
1036
|
+
def halveYAxis(self) -> None: ...
|
|
1037
|
+
def hasPeriodicBoundary(self) -> bool: ...
|
|
1038
|
+
def isValid(self) -> bool: ...
|
|
1039
|
+
def print(self) -> None: ...
|
|
1040
|
+
def xExtent(self) -> float: ...
|
|
1041
|
+
def yExtent(self) -> float: ...
|
|
1042
|
+
|
|
1043
|
+
class Extrude:
|
|
1044
|
+
@typing.overload
|
|
1045
|
+
def __init__(self) -> None: ...
|
|
1046
|
+
@typing.overload
|
|
1047
|
+
def __init__(
|
|
1048
|
+
self,
|
|
1049
|
+
inputDomain: Domain,
|
|
1050
|
+
outputDomain: Domain3D,
|
|
1051
|
+
extent: typing.Annotated[
|
|
1052
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
1053
|
+
],
|
|
1054
|
+
extrudeDimension: typing.SupportsInt,
|
|
1055
|
+
boundaryConditions: typing.Annotated[
|
|
1056
|
+
collections.abc.Sequence[viennals2d.viennals2d.BoundaryConditionEnum],
|
|
1057
|
+
"FixedSize(3)",
|
|
1058
|
+
],
|
|
1059
|
+
) -> None: ...
|
|
1060
|
+
def apply(self) -> None:
|
|
1061
|
+
"""
|
|
1062
|
+
Run the extrusion.
|
|
1063
|
+
"""
|
|
1064
|
+
|
|
1065
|
+
def setBoundaryConditions(
|
|
1066
|
+
self,
|
|
1067
|
+
arg0: typing.Annotated[
|
|
1068
|
+
collections.abc.Sequence[viennals2d.viennals2d.BoundaryConditionEnum],
|
|
1069
|
+
"FixedSize(3)",
|
|
1070
|
+
],
|
|
1071
|
+
) -> None:
|
|
1072
|
+
"""
|
|
1073
|
+
Set the boundary conditions in the extruded domain.
|
|
1074
|
+
"""
|
|
1075
|
+
|
|
1076
|
+
def setExtent(
|
|
1077
|
+
self,
|
|
1078
|
+
arg0: typing.Annotated[
|
|
1079
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
1080
|
+
],
|
|
1081
|
+
) -> None:
|
|
1082
|
+
"""
|
|
1083
|
+
Set the min and max extent in the extruded dimension.
|
|
1084
|
+
"""
|
|
1085
|
+
|
|
1086
|
+
def setExtrudeDimension(self, arg0: typing.SupportsInt) -> None:
|
|
1087
|
+
"""
|
|
1088
|
+
Set which index of the added dimension (x: 0, y: 1, z: 2).
|
|
1089
|
+
"""
|
|
1090
|
+
|
|
1091
|
+
def setInputDomain(self, arg0: Domain) -> None:
|
|
1092
|
+
"""
|
|
1093
|
+
Set the input domain to be extruded.
|
|
1094
|
+
"""
|
|
1095
|
+
|
|
1096
|
+
def setOutputDomain(self, arg0: Domain3D) -> None:
|
|
1097
|
+
"""
|
|
1098
|
+
Set the output domain. The 3D output domain will be overwritten by the extruded domain.
|
|
1099
|
+
"""
|
|
1100
|
+
|
|
1101
|
+
class FaradayCageEtching(ProcessModel):
|
|
1102
|
+
@typing.overload
|
|
1103
|
+
def __init__(self) -> None: ...
|
|
1104
|
+
@typing.overload
|
|
1105
|
+
def __init__(self, maskMaterials: collections.abc.Sequence[Material]) -> None: ...
|
|
1106
|
+
@typing.overload
|
|
1107
|
+
def __init__(
|
|
1108
|
+
self,
|
|
1109
|
+
maskMaterials: collections.abc.Sequence[Material],
|
|
1110
|
+
parameters: FaradayCageParameters,
|
|
1111
|
+
) -> None: ...
|
|
1112
|
+
def getParameters(self) -> FaradayCageParameters: ...
|
|
1113
|
+
def setParameters(self, arg0: FaradayCageParameters) -> None: ...
|
|
1114
|
+
|
|
1115
|
+
class FaradayCageParameters:
|
|
1116
|
+
ibeParams: IBEParameters
|
|
1117
|
+
def __init__(self) -> None: ...
|
|
1118
|
+
@property
|
|
1119
|
+
def cageAngle(self) -> float: ...
|
|
1120
|
+
@cageAngle.setter
|
|
1121
|
+
def cageAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1122
|
+
|
|
1123
|
+
class FluorocarbonEtching(ProcessModel):
|
|
1124
|
+
@typing.overload
|
|
1125
|
+
def __init__(self) -> None: ...
|
|
1126
|
+
@typing.overload
|
|
1127
|
+
def __init__(
|
|
1128
|
+
self,
|
|
1129
|
+
ionFlux: typing.SupportsFloat,
|
|
1130
|
+
etchantFlux: typing.SupportsFloat,
|
|
1131
|
+
polyFlux: typing.SupportsFloat,
|
|
1132
|
+
meanIonEnergy: typing.SupportsFloat = 100.0,
|
|
1133
|
+
sigmaIonEnergy: typing.SupportsFloat = 10.0,
|
|
1134
|
+
ionExponent: typing.SupportsFloat = 100.0,
|
|
1135
|
+
deltaP: typing.SupportsFloat = 0.0,
|
|
1136
|
+
etchStopDepth: typing.SupportsFloat = -1.7976931348623157e308,
|
|
1137
|
+
) -> None: ...
|
|
1138
|
+
@typing.overload
|
|
1139
|
+
def __init__(self, parameters: FluorocarbonParameters) -> None: ...
|
|
1140
|
+
def getParameters(self) -> FluorocarbonParameters: ...
|
|
1141
|
+
def setParameters(self, arg0: FluorocarbonParameters) -> None: ...
|
|
1142
|
+
|
|
1143
|
+
class FluorocarbonParameters:
|
|
1144
|
+
Ions: FluorocarbonParametersIons
|
|
1145
|
+
Mask: FluorocarbonParametersMask
|
|
1146
|
+
Polymer: FluorocarbonParametersPolymer
|
|
1147
|
+
Si: FluorocarbonParametersSi
|
|
1148
|
+
Si3N4: FluorocarbonParametersSi3N4
|
|
1149
|
+
SiO2: FluorocarbonParametersSiO2
|
|
1150
|
+
def __init__(self) -> None: ...
|
|
1151
|
+
@property
|
|
1152
|
+
def delta_p(self) -> float: ...
|
|
1153
|
+
@delta_p.setter
|
|
1154
|
+
def delta_p(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1155
|
+
@property
|
|
1156
|
+
def etchStopDepth(self) -> float: ...
|
|
1157
|
+
@etchStopDepth.setter
|
|
1158
|
+
def etchStopDepth(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1159
|
+
@property
|
|
1160
|
+
def etchantFlux(self) -> float: ...
|
|
1161
|
+
@etchantFlux.setter
|
|
1162
|
+
def etchantFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1163
|
+
@property
|
|
1164
|
+
def ionFlux(self) -> float: ...
|
|
1165
|
+
@ionFlux.setter
|
|
1166
|
+
def ionFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1167
|
+
@property
|
|
1168
|
+
def polyFlux(self) -> float: ...
|
|
1169
|
+
@polyFlux.setter
|
|
1170
|
+
def polyFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1171
|
+
|
|
1172
|
+
class FluorocarbonParametersIons:
|
|
1173
|
+
def __init__(self) -> None: ...
|
|
1174
|
+
@property
|
|
1175
|
+
def exponent(self) -> float: ...
|
|
1176
|
+
@exponent.setter
|
|
1177
|
+
def exponent(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1178
|
+
@property
|
|
1179
|
+
def inflectAngle(self) -> float: ...
|
|
1180
|
+
@inflectAngle.setter
|
|
1181
|
+
def inflectAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1182
|
+
@property
|
|
1183
|
+
def meanEnergy(self) -> float: ...
|
|
1184
|
+
@meanEnergy.setter
|
|
1185
|
+
def meanEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1186
|
+
@property
|
|
1187
|
+
def minAngle(self) -> float: ...
|
|
1188
|
+
@minAngle.setter
|
|
1189
|
+
def minAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1190
|
+
@property
|
|
1191
|
+
def n_l(self) -> float: ...
|
|
1192
|
+
@n_l.setter
|
|
1193
|
+
def n_l(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1194
|
+
@property
|
|
1195
|
+
def sigmaEnergy(self) -> float: ...
|
|
1196
|
+
@sigmaEnergy.setter
|
|
1197
|
+
def sigmaEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1198
|
+
|
|
1199
|
+
class FluorocarbonParametersMask:
|
|
1200
|
+
def __init__(self) -> None: ...
|
|
1201
|
+
@property
|
|
1202
|
+
def A_sp(self) -> float: ...
|
|
1203
|
+
@A_sp.setter
|
|
1204
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1205
|
+
@property
|
|
1206
|
+
def B_sp(self) -> float: ...
|
|
1207
|
+
@B_sp.setter
|
|
1208
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1209
|
+
@property
|
|
1210
|
+
def Eth_sp(self) -> float: ...
|
|
1211
|
+
@Eth_sp.setter
|
|
1212
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1213
|
+
@property
|
|
1214
|
+
def beta_e(self) -> float: ...
|
|
1215
|
+
@beta_e.setter
|
|
1216
|
+
def beta_e(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1217
|
+
@property
|
|
1218
|
+
def beta_p(self) -> float: ...
|
|
1219
|
+
@beta_p.setter
|
|
1220
|
+
def beta_p(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1221
|
+
@property
|
|
1222
|
+
def rho(self) -> float: ...
|
|
1223
|
+
@rho.setter
|
|
1224
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1225
|
+
|
|
1226
|
+
class FluorocarbonParametersPolymer:
|
|
1227
|
+
def __init__(self) -> None: ...
|
|
1228
|
+
@property
|
|
1229
|
+
def A_ie(self) -> float: ...
|
|
1230
|
+
@A_ie.setter
|
|
1231
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1232
|
+
@property
|
|
1233
|
+
def Eth_ie(self) -> float: ...
|
|
1234
|
+
@Eth_ie.setter
|
|
1235
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1236
|
+
@property
|
|
1237
|
+
def rho(self) -> float: ...
|
|
1238
|
+
@rho.setter
|
|
1239
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1240
|
+
|
|
1241
|
+
class FluorocarbonParametersSi:
|
|
1242
|
+
def __init__(self) -> None: ...
|
|
1243
|
+
@property
|
|
1244
|
+
def A_ie(self) -> float: ...
|
|
1245
|
+
@A_ie.setter
|
|
1246
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1247
|
+
@property
|
|
1248
|
+
def A_sp(self) -> float: ...
|
|
1249
|
+
@A_sp.setter
|
|
1250
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1251
|
+
@property
|
|
1252
|
+
def B_sp(self) -> float: ...
|
|
1253
|
+
@B_sp.setter
|
|
1254
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1255
|
+
@property
|
|
1256
|
+
def E_a(self) -> float: ...
|
|
1257
|
+
@E_a.setter
|
|
1258
|
+
def E_a(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1259
|
+
@property
|
|
1260
|
+
def Eth_ie(self) -> float: ...
|
|
1261
|
+
@Eth_ie.setter
|
|
1262
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1263
|
+
@property
|
|
1264
|
+
def Eth_sp(self) -> float: ...
|
|
1265
|
+
@Eth_sp.setter
|
|
1266
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1267
|
+
@property
|
|
1268
|
+
def K(self) -> float: ...
|
|
1269
|
+
@K.setter
|
|
1270
|
+
def K(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1271
|
+
@property
|
|
1272
|
+
def rho(self) -> float: ...
|
|
1273
|
+
@rho.setter
|
|
1274
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1275
|
+
|
|
1276
|
+
class FluorocarbonParametersSi3N4:
|
|
1277
|
+
def __init__(self) -> None: ...
|
|
1278
|
+
@property
|
|
1279
|
+
def A_ie(self) -> float: ...
|
|
1280
|
+
@A_ie.setter
|
|
1281
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1282
|
+
@property
|
|
1283
|
+
def A_sp(self) -> float: ...
|
|
1284
|
+
@A_sp.setter
|
|
1285
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1286
|
+
@property
|
|
1287
|
+
def B_sp(self) -> float: ...
|
|
1288
|
+
@B_sp.setter
|
|
1289
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1290
|
+
@property
|
|
1291
|
+
def E_a(self) -> float: ...
|
|
1292
|
+
@E_a.setter
|
|
1293
|
+
def E_a(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1294
|
+
@property
|
|
1295
|
+
def Eth_ie(self) -> float: ...
|
|
1296
|
+
@Eth_ie.setter
|
|
1297
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1298
|
+
@property
|
|
1299
|
+
def Eth_sp(self) -> float: ...
|
|
1300
|
+
@Eth_sp.setter
|
|
1301
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1302
|
+
@property
|
|
1303
|
+
def K(self) -> float: ...
|
|
1304
|
+
@K.setter
|
|
1305
|
+
def K(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1306
|
+
@property
|
|
1307
|
+
def rho(self) -> float: ...
|
|
1308
|
+
@rho.setter
|
|
1309
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1310
|
+
|
|
1311
|
+
class FluorocarbonParametersSiO2:
|
|
1312
|
+
def __init__(self) -> None: ...
|
|
1313
|
+
@property
|
|
1314
|
+
def A_ie(self) -> float: ...
|
|
1315
|
+
@A_ie.setter
|
|
1316
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1317
|
+
@property
|
|
1318
|
+
def A_sp(self) -> float: ...
|
|
1319
|
+
@A_sp.setter
|
|
1320
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1321
|
+
@property
|
|
1322
|
+
def B_sp(self) -> float: ...
|
|
1323
|
+
@B_sp.setter
|
|
1324
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1325
|
+
@property
|
|
1326
|
+
def E_a(self) -> float: ...
|
|
1327
|
+
@E_a.setter
|
|
1328
|
+
def E_a(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1329
|
+
@property
|
|
1330
|
+
def Eth_ie(self) -> float: ...
|
|
1331
|
+
@Eth_ie.setter
|
|
1332
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1333
|
+
@property
|
|
1334
|
+
def Eth_sp(self) -> float: ...
|
|
1335
|
+
@Eth_sp.setter
|
|
1336
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1337
|
+
@property
|
|
1338
|
+
def K(self) -> float: ...
|
|
1339
|
+
@K.setter
|
|
1340
|
+
def K(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1341
|
+
@property
|
|
1342
|
+
def rho(self) -> float: ...
|
|
1343
|
+
@rho.setter
|
|
1344
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1345
|
+
|
|
1346
|
+
class GDSGeometry:
|
|
1347
|
+
@typing.overload
|
|
1348
|
+
def __init__(self) -> None: ...
|
|
1349
|
+
@typing.overload
|
|
1350
|
+
def __init__(self, gridDelta: typing.SupportsFloat) -> None: ...
|
|
1351
|
+
@typing.overload
|
|
1352
|
+
def __init__(
|
|
1353
|
+
self,
|
|
1354
|
+
gridDelta: typing.SupportsFloat,
|
|
1355
|
+
boundaryConditions: typing.Annotated[
|
|
1356
|
+
collections.abc.Sequence[viennals2d.viennals2d.BoundaryConditionEnum],
|
|
1357
|
+
"FixedSize(2)",
|
|
1358
|
+
],
|
|
1359
|
+
) -> None: ...
|
|
1360
|
+
def addBlur(
|
|
1361
|
+
self,
|
|
1362
|
+
sigmas: collections.abc.Sequence[typing.SupportsFloat],
|
|
1363
|
+
weights: collections.abc.Sequence[typing.SupportsFloat],
|
|
1364
|
+
threshold: typing.SupportsFloat = 0.5,
|
|
1365
|
+
delta: typing.SupportsFloat = 0.0,
|
|
1366
|
+
gridRefinement: typing.SupportsInt = 4,
|
|
1367
|
+
) -> None:
|
|
1368
|
+
"""
|
|
1369
|
+
Set parameters for applying mask blurring.
|
|
1370
|
+
"""
|
|
1371
|
+
|
|
1372
|
+
def getAllLayers(self) -> set[int]:
|
|
1373
|
+
"""
|
|
1374
|
+
Return a set of all layers found in the GDS file.
|
|
1375
|
+
"""
|
|
1376
|
+
|
|
1377
|
+
def getBounds(self) -> typing.Annotated[list[float], "FixedSize(6)"]:
|
|
1378
|
+
"""
|
|
1379
|
+
Get the bounds of the geometry.
|
|
1380
|
+
"""
|
|
1381
|
+
|
|
1382
|
+
def getNumberOfStructures(self) -> int:
|
|
1383
|
+
"""
|
|
1384
|
+
Return number of structure definitions.
|
|
1385
|
+
"""
|
|
1386
|
+
|
|
1387
|
+
def layerToLevelSet(
|
|
1388
|
+
self, layer: typing.SupportsInt, blurLayer: bool = True
|
|
1389
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
1390
|
+
def print(self) -> None:
|
|
1391
|
+
"""
|
|
1392
|
+
Print the geometry contents.
|
|
1393
|
+
"""
|
|
1394
|
+
|
|
1395
|
+
def setBoundaryConditions(
|
|
1396
|
+
self,
|
|
1397
|
+
arg0: collections.abc.Sequence[viennals2d.viennals2d.BoundaryConditionEnum],
|
|
1398
|
+
) -> None:
|
|
1399
|
+
"""
|
|
1400
|
+
Set the boundary conditions
|
|
1401
|
+
"""
|
|
1402
|
+
|
|
1403
|
+
def setBoundaryPadding(
|
|
1404
|
+
self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat
|
|
1405
|
+
) -> None:
|
|
1406
|
+
"""
|
|
1407
|
+
Set padding between the largest point of the geometry and the boundary of the domain.
|
|
1408
|
+
"""
|
|
1409
|
+
|
|
1410
|
+
def setGridDelta(self, arg0: typing.SupportsFloat) -> None:
|
|
1411
|
+
"""
|
|
1412
|
+
Set the grid spacing.
|
|
1413
|
+
"""
|
|
1414
|
+
|
|
1415
|
+
class GDSReader:
|
|
1416
|
+
@typing.overload
|
|
1417
|
+
def __init__(self) -> None: ...
|
|
1418
|
+
@typing.overload
|
|
1419
|
+
def __init__(self, arg0: GDSGeometry, arg1: str) -> None: ...
|
|
1420
|
+
def apply(self) -> None:
|
|
1421
|
+
"""
|
|
1422
|
+
Parse the GDS file.
|
|
1423
|
+
"""
|
|
1424
|
+
|
|
1425
|
+
def setFileName(self, arg0: str) -> None:
|
|
1426
|
+
"""
|
|
1427
|
+
Set name of the GDS file.
|
|
1428
|
+
"""
|
|
1429
|
+
|
|
1430
|
+
def setGeometry(self, arg0: GDSGeometry) -> None:
|
|
1431
|
+
"""
|
|
1432
|
+
Set the domain to be parsed in.
|
|
1433
|
+
"""
|
|
1434
|
+
|
|
1435
|
+
class GeometryFactory:
|
|
1436
|
+
def __init__(
|
|
1437
|
+
self, domainSetup: DomainSetup, name: str = "GeometryFactory"
|
|
1438
|
+
) -> None: ...
|
|
1439
|
+
def makeBoxStencil(
|
|
1440
|
+
self,
|
|
1441
|
+
position: typing.Annotated[
|
|
1442
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
1443
|
+
],
|
|
1444
|
+
width: typing.SupportsFloat,
|
|
1445
|
+
height: typing.SupportsFloat,
|
|
1446
|
+
angle: typing.SupportsFloat = 0.0,
|
|
1447
|
+
length: typing.SupportsFloat = -1.0,
|
|
1448
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
1449
|
+
def makeCylinderStencil(
|
|
1450
|
+
self,
|
|
1451
|
+
position: typing.Annotated[
|
|
1452
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
1453
|
+
],
|
|
1454
|
+
radius: typing.SupportsFloat,
|
|
1455
|
+
height: typing.SupportsFloat,
|
|
1456
|
+
angle: typing.SupportsFloat = 0.0,
|
|
1457
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
1458
|
+
def makeMask(
|
|
1459
|
+
self, base: typing.SupportsFloat, height: typing.SupportsFloat
|
|
1460
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
1461
|
+
def makeSubstrate(
|
|
1462
|
+
self, base: typing.SupportsFloat
|
|
1463
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
1464
|
+
|
|
1465
|
+
class HBrO2Etching(ProcessModel):
|
|
1466
|
+
@staticmethod
|
|
1467
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
1468
|
+
@typing.overload
|
|
1469
|
+
def __init__(self) -> None: ...
|
|
1470
|
+
@typing.overload
|
|
1471
|
+
def __init__(
|
|
1472
|
+
self,
|
|
1473
|
+
ionFlux: typing.SupportsFloat,
|
|
1474
|
+
etchantFlux: typing.SupportsFloat,
|
|
1475
|
+
oxygenFlux: typing.SupportsFloat,
|
|
1476
|
+
meanIonEnergy: typing.SupportsFloat = 100.0,
|
|
1477
|
+
sigmaIonEnergy: typing.SupportsFloat = 10.0,
|
|
1478
|
+
ionExponent: typing.SupportsFloat = 100.0,
|
|
1479
|
+
oxySputterYield: typing.SupportsFloat = 3.0,
|
|
1480
|
+
etchStopDepth: typing.SupportsFloat = -1.7976931348623157e308,
|
|
1481
|
+
) -> None: ...
|
|
1482
|
+
@typing.overload
|
|
1483
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
1484
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
1485
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
1486
|
+
|
|
1487
|
+
class HoleShape(enum.IntEnum):
|
|
1488
|
+
FULL: typing.ClassVar[HoleShape] # value = <HoleShape.FULL: 0>
|
|
1489
|
+
HALF: typing.ClassVar[HoleShape] # value = <HoleShape.HALF: 1>
|
|
1490
|
+
QUARTER: typing.ClassVar[HoleShape] # value = <HoleShape.QUARTER: 2>
|
|
1491
|
+
@classmethod
|
|
1492
|
+
def __new__(cls, value): ...
|
|
1493
|
+
def __format__(self, format_spec):
|
|
1494
|
+
"""
|
|
1495
|
+
Convert to a string according to format_spec.
|
|
1496
|
+
"""
|
|
1497
|
+
|
|
1498
|
+
class IBEParameters:
|
|
1499
|
+
yieldFunction: collections.abc.Callable[[typing.SupportsFloat], float]
|
|
1500
|
+
def __init__(self) -> None: ...
|
|
1501
|
+
@property
|
|
1502
|
+
def exponent(self) -> float: ...
|
|
1503
|
+
@exponent.setter
|
|
1504
|
+
def exponent(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1505
|
+
@property
|
|
1506
|
+
def inflectAngle(self) -> float: ...
|
|
1507
|
+
@inflectAngle.setter
|
|
1508
|
+
def inflectAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1509
|
+
@property
|
|
1510
|
+
def materialPlaneWaferRate(self) -> dict[Material, float]: ...
|
|
1511
|
+
@materialPlaneWaferRate.setter
|
|
1512
|
+
def materialPlaneWaferRate(
|
|
1513
|
+
self, arg0: collections.abc.Mapping[Material, typing.SupportsFloat]
|
|
1514
|
+
) -> None: ...
|
|
1515
|
+
@property
|
|
1516
|
+
def meanEnergy(self) -> float: ...
|
|
1517
|
+
@meanEnergy.setter
|
|
1518
|
+
def meanEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1519
|
+
@property
|
|
1520
|
+
def minAngle(self) -> float: ...
|
|
1521
|
+
@minAngle.setter
|
|
1522
|
+
def minAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1523
|
+
@property
|
|
1524
|
+
def n_l(self) -> float: ...
|
|
1525
|
+
@n_l.setter
|
|
1526
|
+
def n_l(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1527
|
+
@property
|
|
1528
|
+
def planeWaferRate(self) -> float: ...
|
|
1529
|
+
@planeWaferRate.setter
|
|
1530
|
+
def planeWaferRate(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1531
|
+
@property
|
|
1532
|
+
def redepositionRate(self) -> float: ...
|
|
1533
|
+
@redepositionRate.setter
|
|
1534
|
+
def redepositionRate(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1535
|
+
@property
|
|
1536
|
+
def redepositionThreshold(self) -> float: ...
|
|
1537
|
+
@redepositionThreshold.setter
|
|
1538
|
+
def redepositionThreshold(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1539
|
+
@property
|
|
1540
|
+
def sigmaEnergy(self) -> float: ...
|
|
1541
|
+
@sigmaEnergy.setter
|
|
1542
|
+
def sigmaEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1543
|
+
@property
|
|
1544
|
+
def thresholdEnergy(self) -> float: ...
|
|
1545
|
+
@thresholdEnergy.setter
|
|
1546
|
+
def thresholdEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1547
|
+
@property
|
|
1548
|
+
def tiltAngle(self) -> float: ...
|
|
1549
|
+
@tiltAngle.setter
|
|
1550
|
+
def tiltAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
1551
|
+
|
|
1552
|
+
class Interpolation(enum.IntEnum):
|
|
1553
|
+
CUSTOM: typing.ClassVar[Interpolation] # value = <Interpolation.CUSTOM: 2>
|
|
1554
|
+
IDW: typing.ClassVar[Interpolation] # value = <Interpolation.IDW: 1>
|
|
1555
|
+
LINEAR: typing.ClassVar[Interpolation] # value = <Interpolation.LINEAR: 0>
|
|
1556
|
+
@classmethod
|
|
1557
|
+
def __new__(cls, value): ...
|
|
1558
|
+
def __format__(self, format_spec):
|
|
1559
|
+
"""
|
|
1560
|
+
Convert to a string according to format_spec.
|
|
1561
|
+
"""
|
|
1562
|
+
|
|
1563
|
+
class IonBeamEtching(ProcessModel):
|
|
1564
|
+
@typing.overload
|
|
1565
|
+
def __init__(self) -> None: ...
|
|
1566
|
+
@typing.overload
|
|
1567
|
+
def __init__(self, maskMaterials: collections.abc.Sequence[Material]) -> None: ...
|
|
1568
|
+
@typing.overload
|
|
1569
|
+
def __init__(
|
|
1570
|
+
self,
|
|
1571
|
+
maskMaterials: collections.abc.Sequence[Material],
|
|
1572
|
+
parameters: IBEParameters,
|
|
1573
|
+
) -> None: ...
|
|
1574
|
+
def getParameters(self) -> IBEParameters: ...
|
|
1575
|
+
def setParameters(self, arg0: IBEParameters) -> None: ...
|
|
1576
|
+
|
|
1577
|
+
class IsotropicProcess(ProcessModel):
|
|
1578
|
+
@typing.overload
|
|
1579
|
+
def __init__(
|
|
1580
|
+
self, rate: typing.SupportsFloat = 1.0, maskMaterial: Material = ...
|
|
1581
|
+
) -> None: ...
|
|
1582
|
+
@typing.overload
|
|
1583
|
+
def __init__(
|
|
1584
|
+
self,
|
|
1585
|
+
rate: typing.SupportsFloat,
|
|
1586
|
+
maskMaterial: collections.abc.Sequence[Material],
|
|
1587
|
+
) -> None: ...
|
|
1588
|
+
@typing.overload
|
|
1589
|
+
def __init__(
|
|
1590
|
+
self,
|
|
1591
|
+
materialRates: collections.abc.Mapping[Material, typing.SupportsFloat],
|
|
1592
|
+
defaultRate: typing.SupportsFloat = 0.0,
|
|
1593
|
+
) -> None: ...
|
|
1594
|
+
|
|
1595
|
+
class Length:
|
|
1596
|
+
@staticmethod
|
|
1597
|
+
def convertAngstrom() -> float: ...
|
|
1598
|
+
@staticmethod
|
|
1599
|
+
def convertCentimeter() -> float: ...
|
|
1600
|
+
@staticmethod
|
|
1601
|
+
def convertMeter() -> float: ...
|
|
1602
|
+
@staticmethod
|
|
1603
|
+
def convertMicrometer() -> float: ...
|
|
1604
|
+
@staticmethod
|
|
1605
|
+
def convertMillimeter() -> float: ...
|
|
1606
|
+
@staticmethod
|
|
1607
|
+
def convertNanometer() -> float: ...
|
|
1608
|
+
@staticmethod
|
|
1609
|
+
def getInstance() -> Length: ...
|
|
1610
|
+
@staticmethod
|
|
1611
|
+
def setUnit(arg0: str) -> None: ...
|
|
1612
|
+
@staticmethod
|
|
1613
|
+
def toShortString() -> str: ...
|
|
1614
|
+
@staticmethod
|
|
1615
|
+
def toString() -> str: ...
|
|
1616
|
+
|
|
1617
|
+
class LengthUnit(enum.IntEnum):
|
|
1618
|
+
ANGSTROM: typing.ClassVar[LengthUnit] # value = <LengthUnit.ANGSTROM: 5>
|
|
1619
|
+
CENTIMETER: typing.ClassVar[LengthUnit] # value = <LengthUnit.CENTIMETER: 1>
|
|
1620
|
+
METER: typing.ClassVar[LengthUnit] # value = <LengthUnit.METER: 0>
|
|
1621
|
+
MICROMETER: typing.ClassVar[LengthUnit] # value = <LengthUnit.MICROMETER: 3>
|
|
1622
|
+
MILLIMETER: typing.ClassVar[LengthUnit] # value = <LengthUnit.MILLIMETER: 2>
|
|
1623
|
+
NANOMETER: typing.ClassVar[LengthUnit] # value = <LengthUnit.NANOMETER: 4>
|
|
1624
|
+
UNDEFINED: typing.ClassVar[LengthUnit] # value = <LengthUnit.UNDEFINED: 6>
|
|
1625
|
+
@classmethod
|
|
1626
|
+
def __new__(cls, value): ...
|
|
1627
|
+
def __format__(self, format_spec):
|
|
1628
|
+
"""
|
|
1629
|
+
Convert to a string according to format_spec.
|
|
1630
|
+
"""
|
|
1631
|
+
|
|
1632
|
+
class LogLevel:
|
|
1633
|
+
"""
|
|
1634
|
+
Members:
|
|
1635
|
+
|
|
1636
|
+
ERROR
|
|
1637
|
+
|
|
1638
|
+
WARNING
|
|
1639
|
+
|
|
1640
|
+
INFO
|
|
1641
|
+
|
|
1642
|
+
INTERMEDIATE
|
|
1643
|
+
|
|
1644
|
+
TIMING
|
|
1645
|
+
|
|
1646
|
+
DEBUG
|
|
1647
|
+
"""
|
|
1648
|
+
|
|
1649
|
+
DEBUG: typing.ClassVar[LogLevel] # value = <LogLevel.DEBUG: 5>
|
|
1650
|
+
ERROR: typing.ClassVar[LogLevel] # value = <LogLevel.ERROR: 0>
|
|
1651
|
+
INFO: typing.ClassVar[LogLevel] # value = <LogLevel.INFO: 2>
|
|
1652
|
+
INTERMEDIATE: typing.ClassVar[LogLevel] # value = <LogLevel.INTERMEDIATE: 3>
|
|
1653
|
+
TIMING: typing.ClassVar[LogLevel] # value = <LogLevel.TIMING: 4>
|
|
1654
|
+
WARNING: typing.ClassVar[LogLevel] # value = <LogLevel.WARNING: 1>
|
|
1655
|
+
__members__: typing.ClassVar[
|
|
1656
|
+
dict[str, LogLevel]
|
|
1657
|
+
] # value = {'ERROR': <LogLevel.ERROR: 0>, 'WARNING': <LogLevel.WARNING: 1>, 'INFO': <LogLevel.INFO: 2>, 'INTERMEDIATE': <LogLevel.INTERMEDIATE: 3>, 'TIMING': <LogLevel.TIMING: 4>, 'DEBUG': <LogLevel.DEBUG: 5>}
|
|
1658
|
+
def __eq__(self, other: typing.Any) -> bool: ...
|
|
1659
|
+
def __getstate__(self) -> int: ...
|
|
1660
|
+
def __hash__(self) -> int: ...
|
|
1661
|
+
def __index__(self) -> int: ...
|
|
1662
|
+
def __init__(self, value: typing.SupportsInt) -> None: ...
|
|
1663
|
+
def __int__(self) -> int: ...
|
|
1664
|
+
def __ne__(self, other: typing.Any) -> bool: ...
|
|
1665
|
+
def __repr__(self) -> str: ...
|
|
1666
|
+
def __setstate__(self, state: typing.SupportsInt) -> None: ...
|
|
1667
|
+
def __str__(self) -> str: ...
|
|
1668
|
+
@property
|
|
1669
|
+
def name(self) -> str: ...
|
|
1670
|
+
@property
|
|
1671
|
+
def value(self) -> int: ...
|
|
1672
|
+
|
|
1673
|
+
class Logger:
|
|
1674
|
+
@staticmethod
|
|
1675
|
+
def appendToLogFile(arg0: str) -> bool: ...
|
|
1676
|
+
@staticmethod
|
|
1677
|
+
def closeLogFile() -> None: ...
|
|
1678
|
+
@staticmethod
|
|
1679
|
+
def getInstance() -> Logger: ...
|
|
1680
|
+
@staticmethod
|
|
1681
|
+
def getLogLevel() -> int: ...
|
|
1682
|
+
@staticmethod
|
|
1683
|
+
def setLogFile(arg0: str) -> bool: ...
|
|
1684
|
+
@staticmethod
|
|
1685
|
+
def setLogLevel(arg0: LogLevel) -> None: ...
|
|
1686
|
+
def addDebug(self, arg0: str) -> Logger: ...
|
|
1687
|
+
def addError(self, s: str, shouldAbort: bool = True) -> Logger: ...
|
|
1688
|
+
def addInfo(self, arg0: str) -> Logger: ...
|
|
1689
|
+
@typing.overload
|
|
1690
|
+
def addTiming(self, arg0: str, arg1: typing.SupportsFloat) -> Logger: ...
|
|
1691
|
+
@typing.overload
|
|
1692
|
+
def addTiming(
|
|
1693
|
+
self, arg0: str, arg1: typing.SupportsFloat, arg2: typing.SupportsFloat
|
|
1694
|
+
) -> Logger: ...
|
|
1695
|
+
def addWarning(self, arg0: str) -> Logger: ...
|
|
1696
|
+
def print(self) -> None: ...
|
|
1697
|
+
|
|
1698
|
+
class MakeFin:
|
|
1699
|
+
@typing.overload
|
|
1700
|
+
def __init__(
|
|
1701
|
+
self,
|
|
1702
|
+
domain: Domain,
|
|
1703
|
+
finWidth: typing.SupportsFloat,
|
|
1704
|
+
finHeight: typing.SupportsFloat,
|
|
1705
|
+
finTaperAngle: typing.SupportsFloat = 0.0,
|
|
1706
|
+
maskHeight: typing.SupportsFloat = 0,
|
|
1707
|
+
maskTaperAngle: typing.SupportsFloat = 0,
|
|
1708
|
+
halfFin: bool = False,
|
|
1709
|
+
material: Material = ...,
|
|
1710
|
+
maskMaterial: Material = ...,
|
|
1711
|
+
) -> None: ...
|
|
1712
|
+
@typing.overload
|
|
1713
|
+
def __init__(
|
|
1714
|
+
self,
|
|
1715
|
+
domain: Domain,
|
|
1716
|
+
gridDelta: typing.SupportsFloat,
|
|
1717
|
+
xExtent: typing.SupportsFloat,
|
|
1718
|
+
yExtent: typing.SupportsFloat,
|
|
1719
|
+
finWidth: typing.SupportsFloat,
|
|
1720
|
+
finHeight: typing.SupportsFloat,
|
|
1721
|
+
taperAngle: typing.SupportsFloat = 0.0,
|
|
1722
|
+
baseHeight: typing.SupportsFloat = 0.0,
|
|
1723
|
+
periodicBoundary: bool = False,
|
|
1724
|
+
makeMask: bool = False,
|
|
1725
|
+
material: Material = ...,
|
|
1726
|
+
) -> None: ...
|
|
1727
|
+
def apply(self) -> None:
|
|
1728
|
+
"""
|
|
1729
|
+
Create a fin geometry.
|
|
1730
|
+
"""
|
|
1731
|
+
|
|
1732
|
+
class MakeHole:
|
|
1733
|
+
@typing.overload
|
|
1734
|
+
def __init__(
|
|
1735
|
+
self,
|
|
1736
|
+
domain: Domain,
|
|
1737
|
+
holeRadius: typing.SupportsFloat,
|
|
1738
|
+
holeDepth: typing.SupportsFloat,
|
|
1739
|
+
holeTaperAngle: typing.SupportsFloat = 0.0,
|
|
1740
|
+
maskHeight: typing.SupportsFloat = 0.0,
|
|
1741
|
+
maskTaperAngle: typing.SupportsFloat = 0.0,
|
|
1742
|
+
holeShape: HoleShape = ...,
|
|
1743
|
+
material: Material = ...,
|
|
1744
|
+
maskMaterial: Material = ...,
|
|
1745
|
+
) -> None: ...
|
|
1746
|
+
@typing.overload
|
|
1747
|
+
def __init__(
|
|
1748
|
+
self,
|
|
1749
|
+
domain: Domain,
|
|
1750
|
+
gridDelta: typing.SupportsFloat,
|
|
1751
|
+
xExtent: typing.SupportsFloat,
|
|
1752
|
+
yExtent: typing.SupportsFloat,
|
|
1753
|
+
holeRadius: typing.SupportsFloat,
|
|
1754
|
+
holeDepth: typing.SupportsFloat,
|
|
1755
|
+
taperingAngle: typing.SupportsFloat = 0.0,
|
|
1756
|
+
baseHeight: typing.SupportsFloat = 0.0,
|
|
1757
|
+
periodicBoundary: bool = False,
|
|
1758
|
+
makeMask: bool = False,
|
|
1759
|
+
material: Material = ...,
|
|
1760
|
+
holeShape: HoleShape = ...,
|
|
1761
|
+
) -> None: ...
|
|
1762
|
+
def apply(self) -> None:
|
|
1763
|
+
"""
|
|
1764
|
+
Create a hole geometry.
|
|
1765
|
+
"""
|
|
1766
|
+
|
|
1767
|
+
class MakePlane:
|
|
1768
|
+
@typing.overload
|
|
1769
|
+
def __init__(
|
|
1770
|
+
self,
|
|
1771
|
+
domain: Domain,
|
|
1772
|
+
height: typing.SupportsFloat = 0.0,
|
|
1773
|
+
material: Material = ...,
|
|
1774
|
+
addToExisting: bool = False,
|
|
1775
|
+
) -> None: ...
|
|
1776
|
+
@typing.overload
|
|
1777
|
+
def __init__(
|
|
1778
|
+
self,
|
|
1779
|
+
domain: Domain,
|
|
1780
|
+
gridDelta: typing.SupportsFloat,
|
|
1781
|
+
xExtent: typing.SupportsFloat,
|
|
1782
|
+
yExtent: typing.SupportsFloat,
|
|
1783
|
+
height: typing.SupportsFloat = 0.0,
|
|
1784
|
+
periodicBoundary: bool = False,
|
|
1785
|
+
material: Material = ...,
|
|
1786
|
+
) -> None: ...
|
|
1787
|
+
def apply(self) -> None:
|
|
1788
|
+
"""
|
|
1789
|
+
Create a plane geometry or add plane to existing geometry.
|
|
1790
|
+
"""
|
|
1791
|
+
|
|
1792
|
+
class MakeStack:
|
|
1793
|
+
@typing.overload
|
|
1794
|
+
def __init__(
|
|
1795
|
+
self,
|
|
1796
|
+
domain: Domain,
|
|
1797
|
+
numLayers: typing.SupportsInt,
|
|
1798
|
+
layerHeight: typing.SupportsFloat,
|
|
1799
|
+
substrateHeight: typing.SupportsFloat = 0,
|
|
1800
|
+
holeRadius: typing.SupportsFloat = 0,
|
|
1801
|
+
trenchWidth: typing.SupportsFloat = 0,
|
|
1802
|
+
maskHeight: typing.SupportsFloat = 0,
|
|
1803
|
+
taperAngle: typing.SupportsFloat = 0,
|
|
1804
|
+
halfStack: bool = False,
|
|
1805
|
+
maskMaterial: Material = ...,
|
|
1806
|
+
) -> None: ...
|
|
1807
|
+
@typing.overload
|
|
1808
|
+
def __init__(
|
|
1809
|
+
self,
|
|
1810
|
+
domain: Domain,
|
|
1811
|
+
gridDelta: typing.SupportsFloat,
|
|
1812
|
+
xExtent: typing.SupportsFloat,
|
|
1813
|
+
yExtent: typing.SupportsFloat,
|
|
1814
|
+
numLayers: typing.SupportsInt,
|
|
1815
|
+
layerHeight: typing.SupportsFloat,
|
|
1816
|
+
substrateHeight: typing.SupportsFloat,
|
|
1817
|
+
holeRadius: typing.SupportsFloat,
|
|
1818
|
+
trenchWidth: typing.SupportsFloat,
|
|
1819
|
+
maskHeight: typing.SupportsFloat,
|
|
1820
|
+
periodicBoundary: bool = False,
|
|
1821
|
+
) -> None: ...
|
|
1822
|
+
def apply(self) -> None:
|
|
1823
|
+
"""
|
|
1824
|
+
Create a stack of alternating SiO2 and Si3N4 layers.
|
|
1825
|
+
"""
|
|
1826
|
+
|
|
1827
|
+
def getHeight(self) -> float:
|
|
1828
|
+
"""
|
|
1829
|
+
Returns the total height of the stack.
|
|
1830
|
+
"""
|
|
1831
|
+
|
|
1832
|
+
def getTopLayer(self) -> int:
|
|
1833
|
+
"""
|
|
1834
|
+
Returns the number of layers included in the stack
|
|
1835
|
+
"""
|
|
1836
|
+
|
|
1837
|
+
class MakeTrench:
|
|
1838
|
+
@typing.overload
|
|
1839
|
+
def __init__(
|
|
1840
|
+
self,
|
|
1841
|
+
domain: Domain,
|
|
1842
|
+
trenchWidth: typing.SupportsFloat,
|
|
1843
|
+
trenchDepth: typing.SupportsFloat,
|
|
1844
|
+
trenchTaperAngle: typing.SupportsFloat = 0,
|
|
1845
|
+
maskHeight: typing.SupportsFloat = 0,
|
|
1846
|
+
maskTaperAngle: typing.SupportsFloat = 0,
|
|
1847
|
+
halfTrench: bool = False,
|
|
1848
|
+
material: Material = ...,
|
|
1849
|
+
maskMaterial: Material = ...,
|
|
1850
|
+
) -> None: ...
|
|
1851
|
+
@typing.overload
|
|
1852
|
+
def __init__(
|
|
1853
|
+
self,
|
|
1854
|
+
domain: Domain,
|
|
1855
|
+
gridDelta: typing.SupportsFloat,
|
|
1856
|
+
xExtent: typing.SupportsFloat,
|
|
1857
|
+
yExtent: typing.SupportsFloat,
|
|
1858
|
+
trenchWidth: typing.SupportsFloat,
|
|
1859
|
+
trenchDepth: typing.SupportsFloat,
|
|
1860
|
+
taperingAngle: typing.SupportsFloat = 0.0,
|
|
1861
|
+
baseHeight: typing.SupportsFloat = 0.0,
|
|
1862
|
+
periodicBoundary: bool = False,
|
|
1863
|
+
makeMask: bool = False,
|
|
1864
|
+
material: Material = ...,
|
|
1865
|
+
) -> None: ...
|
|
1866
|
+
def apply(self) -> None:
|
|
1867
|
+
"""
|
|
1868
|
+
Create a trench geometry.
|
|
1869
|
+
"""
|
|
1870
|
+
|
|
1871
|
+
class Material(enum.IntEnum):
|
|
1872
|
+
"""
|
|
1873
|
+
Material types for domain and level sets.
|
|
1874
|
+
"""
|
|
1875
|
+
|
|
1876
|
+
Air: typing.ClassVar[Material] # value = <Material.Air: 18>
|
|
1877
|
+
Al2O3: typing.ClassVar[Material] # value = <Material.Al2O3: 11>
|
|
1878
|
+
Cu: typing.ClassVar[Material] # value = <Material.Cu: 14>
|
|
1879
|
+
Dielectric: typing.ClassVar[Material] # value = <Material.Dielectric: 16>
|
|
1880
|
+
GAS: typing.ClassVar[Material] # value = <Material.GAS: 19>
|
|
1881
|
+
GaN: typing.ClassVar[Material] # value = <Material.GaN: 9>
|
|
1882
|
+
HfO2: typing.ClassVar[Material] # value = <Material.HfO2: 12>
|
|
1883
|
+
Mask: typing.ClassVar[Material] # value = <Material.Mask: 0>
|
|
1884
|
+
Metal: typing.ClassVar[Material] # value = <Material.Metal: 17>
|
|
1885
|
+
PolySi: typing.ClassVar[Material] # value = <Material.PolySi: 8>
|
|
1886
|
+
Polymer: typing.ClassVar[Material] # value = <Material.Polymer: 15>
|
|
1887
|
+
Si: typing.ClassVar[Material] # value = <Material.Si: 1>
|
|
1888
|
+
Si3N4: typing.ClassVar[Material] # value = <Material.Si3N4: 3>
|
|
1889
|
+
SiC: typing.ClassVar[Material] # value = <Material.SiC: 6>
|
|
1890
|
+
SiGe: typing.ClassVar[Material] # value = <Material.SiGe: 7>
|
|
1891
|
+
SiN: typing.ClassVar[Material] # value = <Material.SiN: 4>
|
|
1892
|
+
SiO2: typing.ClassVar[Material] # value = <Material.SiO2: 2>
|
|
1893
|
+
SiON: typing.ClassVar[Material] # value = <Material.SiON: 5>
|
|
1894
|
+
TiN: typing.ClassVar[Material] # value = <Material.TiN: 13>
|
|
1895
|
+
Undefined: typing.ClassVar[Material] # value = <Material.Undefined: -1>
|
|
1896
|
+
W: typing.ClassVar[Material] # value = <Material.W: 10>
|
|
1897
|
+
@classmethod
|
|
1898
|
+
def __new__(cls, value): ...
|
|
1899
|
+
def __format__(self, format_spec):
|
|
1900
|
+
"""
|
|
1901
|
+
Convert to a string according to format_spec.
|
|
1902
|
+
"""
|
|
1903
|
+
|
|
1904
|
+
class MaterialMap:
|
|
1905
|
+
@staticmethod
|
|
1906
|
+
def getMaterialName(arg0: Material) -> str:
|
|
1907
|
+
"""
|
|
1908
|
+
Get the name of a material.
|
|
1909
|
+
"""
|
|
1910
|
+
|
|
1911
|
+
@staticmethod
|
|
1912
|
+
def isMaterial(arg0: typing.SupportsFloat, arg1: Material) -> bool: ...
|
|
1913
|
+
@staticmethod
|
|
1914
|
+
def mapToMaterial(arg0: typing.SupportsFloat) -> Material:
|
|
1915
|
+
"""
|
|
1916
|
+
Map a float to a material.
|
|
1917
|
+
"""
|
|
1918
|
+
|
|
1919
|
+
def __init__(self) -> None: ...
|
|
1920
|
+
def getMaterialAtIdx(self, arg0: typing.SupportsInt) -> Material: ...
|
|
1921
|
+
def getMaterialMap(self) -> viennals2d.viennals2d.MaterialMap: ...
|
|
1922
|
+
def insertNextMaterial(self, material: Material = ...) -> None: ...
|
|
1923
|
+
def size(self) -> int: ...
|
|
1924
|
+
|
|
1925
|
+
class MetaDataLevel(enum.IntEnum):
|
|
1926
|
+
FULL: typing.ClassVar[MetaDataLevel] # value = <MetaDataLevel.FULL: 3>
|
|
1927
|
+
GRID: typing.ClassVar[MetaDataLevel] # value = <MetaDataLevel.GRID: 1>
|
|
1928
|
+
NONE: typing.ClassVar[MetaDataLevel] # value = <MetaDataLevel.NONE: 0>
|
|
1929
|
+
PROCESS: typing.ClassVar[MetaDataLevel] # value = <MetaDataLevel.PROCESS: 2>
|
|
1930
|
+
@classmethod
|
|
1931
|
+
def __new__(cls, value): ...
|
|
1932
|
+
def __format__(self, format_spec):
|
|
1933
|
+
"""
|
|
1934
|
+
Convert to a string according to format_spec.
|
|
1935
|
+
"""
|
|
1936
|
+
|
|
1937
|
+
class MultiParticleProcess(ProcessModel):
|
|
1938
|
+
def __init__(self) -> None: ...
|
|
1939
|
+
def addIonParticle(
|
|
1940
|
+
self,
|
|
1941
|
+
sourcePower: typing.SupportsFloat,
|
|
1942
|
+
thetaRMin: typing.SupportsFloat = 0.0,
|
|
1943
|
+
thetaRMax: typing.SupportsFloat = 90.0,
|
|
1944
|
+
minAngle: typing.SupportsFloat = 0.0,
|
|
1945
|
+
B_sp: typing.SupportsFloat = -1.0,
|
|
1946
|
+
meanEnergy: typing.SupportsFloat = 0.0,
|
|
1947
|
+
sigmaEnergy: typing.SupportsFloat = 0.0,
|
|
1948
|
+
thresholdEnergy: typing.SupportsFloat = 0.0,
|
|
1949
|
+
inflectAngle: typing.SupportsFloat = 0.0,
|
|
1950
|
+
n: typing.SupportsFloat = 1,
|
|
1951
|
+
label: str = "ionFlux",
|
|
1952
|
+
) -> None: ...
|
|
1953
|
+
@typing.overload
|
|
1954
|
+
def addNeutralParticle(
|
|
1955
|
+
self, stickingProbability: typing.SupportsFloat, label: str = "neutralFlux"
|
|
1956
|
+
) -> None: ...
|
|
1957
|
+
@typing.overload
|
|
1958
|
+
def addNeutralParticle(
|
|
1959
|
+
self,
|
|
1960
|
+
materialSticking: collections.abc.Mapping[Material, typing.SupportsFloat],
|
|
1961
|
+
defaultStickingProbability: typing.SupportsFloat = 1.0,
|
|
1962
|
+
label: str = "neutralFlux",
|
|
1963
|
+
) -> None: ...
|
|
1964
|
+
def setRateFunction(
|
|
1965
|
+
self,
|
|
1966
|
+
arg0: collections.abc.Callable[
|
|
1967
|
+
[collections.abc.Sequence[typing.SupportsFloat], Material], float
|
|
1968
|
+
],
|
|
1969
|
+
) -> None: ...
|
|
1970
|
+
|
|
1971
|
+
class NormalizationType(enum.IntEnum):
|
|
1972
|
+
MAX: typing.ClassVar[NormalizationType] # value = <NormalizationType.MAX: 1>
|
|
1973
|
+
SOURCE: typing.ClassVar[NormalizationType] # value = <NormalizationType.SOURCE: 0>
|
|
1974
|
+
@classmethod
|
|
1975
|
+
def __new__(cls, value): ...
|
|
1976
|
+
def __format__(self, format_spec):
|
|
1977
|
+
"""
|
|
1978
|
+
Convert to a string according to format_spec.
|
|
1979
|
+
"""
|
|
1980
|
+
|
|
1981
|
+
class OxideRegrowth(ProcessModel):
|
|
1982
|
+
def __init__(
|
|
1983
|
+
self,
|
|
1984
|
+
nitrideEtchRate: typing.SupportsFloat,
|
|
1985
|
+
oxideEtchRate: typing.SupportsFloat,
|
|
1986
|
+
redepositionRate: typing.SupportsFloat,
|
|
1987
|
+
redepositionThreshold: typing.SupportsFloat,
|
|
1988
|
+
redepositionTimeInt: typing.SupportsFloat,
|
|
1989
|
+
diffusionCoefficient: typing.SupportsFloat,
|
|
1990
|
+
sinkStrength: typing.SupportsFloat,
|
|
1991
|
+
scallopVelocity: typing.SupportsFloat,
|
|
1992
|
+
centerVelocity: typing.SupportsFloat,
|
|
1993
|
+
topHeight: typing.SupportsFloat,
|
|
1994
|
+
centerWidth: typing.SupportsFloat,
|
|
1995
|
+
stabilityFactor: typing.SupportsFloat,
|
|
1996
|
+
) -> None: ...
|
|
1997
|
+
|
|
1998
|
+
class Planarize:
|
|
1999
|
+
@typing.overload
|
|
2000
|
+
def __init__(self) -> None: ...
|
|
2001
|
+
@typing.overload
|
|
2002
|
+
def __init__(
|
|
2003
|
+
self, geometry: Domain, cutoffHeight: typing.SupportsFloat = 0.0
|
|
2004
|
+
) -> None: ...
|
|
2005
|
+
def apply(self) -> None:
|
|
2006
|
+
"""
|
|
2007
|
+
Apply the planarization.
|
|
2008
|
+
"""
|
|
2009
|
+
|
|
2010
|
+
def setCutoffPosition(self, arg0: typing.SupportsFloat) -> None:
|
|
2011
|
+
"""
|
|
2012
|
+
Set the cutoff height for the planarization.
|
|
2013
|
+
"""
|
|
2014
|
+
|
|
2015
|
+
def setDomain(self, arg0: Domain) -> None:
|
|
2016
|
+
"""
|
|
2017
|
+
Set the domain in the planarization.
|
|
2018
|
+
"""
|
|
2019
|
+
|
|
2020
|
+
class PlasmaEtchingParameters:
|
|
2021
|
+
Ions: PlasmaEtchingParametersIons
|
|
2022
|
+
Mask: PlasmaEtchingParametersMask
|
|
2023
|
+
Passivation: PlasmaEtchingParametersPassivation
|
|
2024
|
+
Substrate: PlasmaEtchingParametersSubstrate
|
|
2025
|
+
def __init__(self) -> None: ...
|
|
2026
|
+
@property
|
|
2027
|
+
def beta_E(self) -> dict[int, float]: ...
|
|
2028
|
+
@beta_E.setter
|
|
2029
|
+
def beta_E(
|
|
2030
|
+
self, arg0: collections.abc.Mapping[typing.SupportsInt, typing.SupportsFloat]
|
|
2031
|
+
) -> None: ...
|
|
2032
|
+
@property
|
|
2033
|
+
def beta_P(self) -> dict[int, float]: ...
|
|
2034
|
+
@beta_P.setter
|
|
2035
|
+
def beta_P(
|
|
2036
|
+
self, arg0: collections.abc.Mapping[typing.SupportsInt, typing.SupportsFloat]
|
|
2037
|
+
) -> None: ...
|
|
2038
|
+
@property
|
|
2039
|
+
def etchStopDepth(self) -> float: ...
|
|
2040
|
+
@etchStopDepth.setter
|
|
2041
|
+
def etchStopDepth(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2042
|
+
@property
|
|
2043
|
+
def etchantFlux(self) -> float: ...
|
|
2044
|
+
@etchantFlux.setter
|
|
2045
|
+
def etchantFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2046
|
+
@property
|
|
2047
|
+
def ionFlux(self) -> float: ...
|
|
2048
|
+
@ionFlux.setter
|
|
2049
|
+
def ionFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2050
|
+
@property
|
|
2051
|
+
def passivationFlux(self) -> float: ...
|
|
2052
|
+
@passivationFlux.setter
|
|
2053
|
+
def passivationFlux(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2054
|
+
|
|
2055
|
+
class PlasmaEtchingParametersIons:
|
|
2056
|
+
def __init__(self) -> None: ...
|
|
2057
|
+
@property
|
|
2058
|
+
def exponent(self) -> float: ...
|
|
2059
|
+
@exponent.setter
|
|
2060
|
+
def exponent(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2061
|
+
@property
|
|
2062
|
+
def inflectAngle(self) -> float: ...
|
|
2063
|
+
@inflectAngle.setter
|
|
2064
|
+
def inflectAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2065
|
+
@property
|
|
2066
|
+
def meanEnergy(self) -> float: ...
|
|
2067
|
+
@meanEnergy.setter
|
|
2068
|
+
def meanEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2069
|
+
@property
|
|
2070
|
+
def minAngle(self) -> float: ...
|
|
2071
|
+
@minAngle.setter
|
|
2072
|
+
def minAngle(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2073
|
+
@property
|
|
2074
|
+
def n_l(self) -> float: ...
|
|
2075
|
+
@n_l.setter
|
|
2076
|
+
def n_l(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2077
|
+
@property
|
|
2078
|
+
def sigmaEnergy(self) -> float: ...
|
|
2079
|
+
@sigmaEnergy.setter
|
|
2080
|
+
def sigmaEnergy(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2081
|
+
@property
|
|
2082
|
+
def thetaRMax(self) -> float: ...
|
|
2083
|
+
@thetaRMax.setter
|
|
2084
|
+
def thetaRMax(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2085
|
+
@property
|
|
2086
|
+
def thetaRMin(self) -> float: ...
|
|
2087
|
+
@thetaRMin.setter
|
|
2088
|
+
def thetaRMin(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2089
|
+
|
|
2090
|
+
class PlasmaEtchingParametersMask:
|
|
2091
|
+
def __init__(self) -> None: ...
|
|
2092
|
+
@property
|
|
2093
|
+
def A_sp(self) -> float: ...
|
|
2094
|
+
@A_sp.setter
|
|
2095
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2096
|
+
@property
|
|
2097
|
+
def B_sp(self) -> float: ...
|
|
2098
|
+
@B_sp.setter
|
|
2099
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2100
|
+
@property
|
|
2101
|
+
def Eth_sp(self) -> float: ...
|
|
2102
|
+
@Eth_sp.setter
|
|
2103
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2104
|
+
@property
|
|
2105
|
+
def rho(self) -> float: ...
|
|
2106
|
+
@rho.setter
|
|
2107
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2108
|
+
|
|
2109
|
+
class PlasmaEtchingParametersPassivation:
|
|
2110
|
+
def __init__(self) -> None: ...
|
|
2111
|
+
@property
|
|
2112
|
+
def A_ie(self) -> float: ...
|
|
2113
|
+
@A_ie.setter
|
|
2114
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2115
|
+
@property
|
|
2116
|
+
def Eth_ie(self) -> float: ...
|
|
2117
|
+
@Eth_ie.setter
|
|
2118
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2119
|
+
|
|
2120
|
+
class PlasmaEtchingParametersPolymer:
|
|
2121
|
+
def __init__(self) -> None: ...
|
|
2122
|
+
@property
|
|
2123
|
+
def A_sp(self) -> float: ...
|
|
2124
|
+
@A_sp.setter
|
|
2125
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2126
|
+
@property
|
|
2127
|
+
def B_sp(self) -> float: ...
|
|
2128
|
+
@B_sp.setter
|
|
2129
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2130
|
+
@property
|
|
2131
|
+
def Eth_sp(self) -> float: ...
|
|
2132
|
+
@Eth_sp.setter
|
|
2133
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2134
|
+
@property
|
|
2135
|
+
def rho(self) -> float: ...
|
|
2136
|
+
@rho.setter
|
|
2137
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2138
|
+
|
|
2139
|
+
class PlasmaEtchingParametersSubstrate:
|
|
2140
|
+
def __init__(self) -> None: ...
|
|
2141
|
+
@property
|
|
2142
|
+
def A_ie(self) -> float: ...
|
|
2143
|
+
@A_ie.setter
|
|
2144
|
+
def A_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2145
|
+
@property
|
|
2146
|
+
def A_sp(self) -> float: ...
|
|
2147
|
+
@A_sp.setter
|
|
2148
|
+
def A_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2149
|
+
@property
|
|
2150
|
+
def B_ie(self) -> float: ...
|
|
2151
|
+
@B_ie.setter
|
|
2152
|
+
def B_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2153
|
+
@property
|
|
2154
|
+
def B_sp(self) -> float: ...
|
|
2155
|
+
@B_sp.setter
|
|
2156
|
+
def B_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2157
|
+
@property
|
|
2158
|
+
def Eth_ie(self) -> float: ...
|
|
2159
|
+
@Eth_ie.setter
|
|
2160
|
+
def Eth_ie(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2161
|
+
@property
|
|
2162
|
+
def Eth_sp(self) -> float: ...
|
|
2163
|
+
@Eth_sp.setter
|
|
2164
|
+
def Eth_sp(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2165
|
+
@property
|
|
2166
|
+
def beta_sigma(self) -> float: ...
|
|
2167
|
+
@beta_sigma.setter
|
|
2168
|
+
def beta_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2169
|
+
@property
|
|
2170
|
+
def k_sigma(self) -> float: ...
|
|
2171
|
+
@k_sigma.setter
|
|
2172
|
+
def k_sigma(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2173
|
+
@property
|
|
2174
|
+
def rho(self) -> float: ...
|
|
2175
|
+
@rho.setter
|
|
2176
|
+
def rho(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2177
|
+
|
|
2178
|
+
class Process:
|
|
2179
|
+
@typing.overload
|
|
2180
|
+
def __init__(self) -> None: ...
|
|
2181
|
+
@typing.overload
|
|
2182
|
+
def __init__(self, domain: Domain) -> None: ...
|
|
2183
|
+
@typing.overload
|
|
2184
|
+
def __init__(
|
|
2185
|
+
self, domain: Domain, model: ProcessModel, duration: typing.SupportsFloat
|
|
2186
|
+
) -> None: ...
|
|
2187
|
+
def apply(self) -> None:
|
|
2188
|
+
"""
|
|
2189
|
+
Run the process.
|
|
2190
|
+
"""
|
|
2191
|
+
|
|
2192
|
+
def calculateFlux(self) -> viennals2d.viennals2d.Mesh:
|
|
2193
|
+
"""
|
|
2194
|
+
Perform a single-pass flux calculation.
|
|
2195
|
+
"""
|
|
2196
|
+
|
|
2197
|
+
def disableAdvectionVelocityOutput(self) -> None:
|
|
2198
|
+
"""
|
|
2199
|
+
Disable the output of the advection velocity field on the ls-mesh.
|
|
2200
|
+
"""
|
|
2201
|
+
|
|
2202
|
+
def disableFluxSmoothing(self) -> None:
|
|
2203
|
+
"""
|
|
2204
|
+
Disable flux smoothing
|
|
2205
|
+
"""
|
|
2206
|
+
|
|
2207
|
+
def disableRandomSeeds(self) -> None:
|
|
2208
|
+
"""
|
|
2209
|
+
Disable random seeds for the ray tracer. This will make the process results deterministic.
|
|
2210
|
+
"""
|
|
2211
|
+
|
|
2212
|
+
def enableAdvectionVelocityOutput(self) -> None:
|
|
2213
|
+
"""
|
|
2214
|
+
Enable the output of the advection velocity field on the ls-mesh.
|
|
2215
|
+
"""
|
|
2216
|
+
|
|
2217
|
+
def enableFluxSmoothing(self) -> None:
|
|
2218
|
+
"""
|
|
2219
|
+
Enable flux smoothing. The flux at each surface point, calculated by the ray tracer, is averaged over the surface point neighbors.
|
|
2220
|
+
"""
|
|
2221
|
+
|
|
2222
|
+
def enableRandomSeeds(self) -> None:
|
|
2223
|
+
"""
|
|
2224
|
+
Enable random seeds for the ray tracer. This will make the process results non-deterministic.
|
|
2225
|
+
"""
|
|
2226
|
+
|
|
2227
|
+
def getAdvectionParameters(self) -> AdvectionParameters:
|
|
2228
|
+
"""
|
|
2229
|
+
Get the advection parameters for the process.
|
|
2230
|
+
"""
|
|
2231
|
+
|
|
2232
|
+
def getProcessDuration(self) -> float:
|
|
2233
|
+
"""
|
|
2234
|
+
Returns the duration of the recently run process. This duration can sometimes slightly vary from the set process duration, due to the maximum time step according to the CFL condition.
|
|
2235
|
+
"""
|
|
2236
|
+
|
|
2237
|
+
def getRayTracingParameters(self) -> RayTracingParameters:
|
|
2238
|
+
"""
|
|
2239
|
+
Get the ray tracing parameters for the process.
|
|
2240
|
+
"""
|
|
2241
|
+
|
|
2242
|
+
def setAdvectionParameters(self, arg0: AdvectionParameters) -> None:
|
|
2243
|
+
"""
|
|
2244
|
+
Set the advection parameters for the process.
|
|
2245
|
+
"""
|
|
2246
|
+
|
|
2247
|
+
def setCoverageDeltaThreshold(self, arg0: typing.SupportsFloat) -> None:
|
|
2248
|
+
"""
|
|
2249
|
+
Set the threshold for the coverage delta metric to reach convergence.
|
|
2250
|
+
"""
|
|
2251
|
+
|
|
2252
|
+
def setDomain(self, arg0: Domain) -> None:
|
|
2253
|
+
"""
|
|
2254
|
+
Set the process domain.
|
|
2255
|
+
"""
|
|
2256
|
+
|
|
2257
|
+
def setIntegrationScheme(
|
|
2258
|
+
self, arg0: viennals2d.viennals2d.IntegrationSchemeEnum
|
|
2259
|
+
) -> None:
|
|
2260
|
+
"""
|
|
2261
|
+
Set the integration scheme for solving the level-set equation. Possible integration schemes are specified in viennals::IntegrationSchemeEnum.
|
|
2262
|
+
"""
|
|
2263
|
+
|
|
2264
|
+
def setMaxCoverageInitIterations(self, arg0: typing.SupportsInt) -> None:
|
|
2265
|
+
"""
|
|
2266
|
+
Set the number of iterations to initialize the coverages.
|
|
2267
|
+
"""
|
|
2268
|
+
|
|
2269
|
+
def setNumberOfRaysPerPoint(self, arg0: typing.SupportsInt) -> None:
|
|
2270
|
+
"""
|
|
2271
|
+
Set the number of rays to traced for each particle in the process. The number is per point in the process geometry.
|
|
2272
|
+
"""
|
|
2273
|
+
|
|
2274
|
+
def setProcessDuration(self, arg0: typing.SupportsFloat) -> None:
|
|
2275
|
+
"""
|
|
2276
|
+
Set the process duration.
|
|
2277
|
+
"""
|
|
2278
|
+
|
|
2279
|
+
def setProcessModel(self, arg0: ProcessModel) -> None:
|
|
2280
|
+
"""
|
|
2281
|
+
Set the process model. This has to be a pre-configured process model.
|
|
2282
|
+
"""
|
|
2283
|
+
|
|
2284
|
+
def setRayTracingDiskRadius(self, arg0: typing.SupportsFloat) -> None:
|
|
2285
|
+
"""
|
|
2286
|
+
Set the radius of the disk used for ray tracing. This disk is used for the intersection calculations at each surface point.
|
|
2287
|
+
"""
|
|
2288
|
+
|
|
2289
|
+
def setRayTracingParameters(self, arg0: RayTracingParameters) -> None:
|
|
2290
|
+
"""
|
|
2291
|
+
Set the ray tracing parameters for the process.
|
|
2292
|
+
"""
|
|
2293
|
+
|
|
2294
|
+
def setSourceDirection(self, arg0: ...) -> None:
|
|
2295
|
+
"""
|
|
2296
|
+
Set source direction of the process.
|
|
2297
|
+
"""
|
|
2298
|
+
|
|
2299
|
+
def setTimeStepRatio(self, arg0: typing.SupportsFloat) -> None:
|
|
2300
|
+
"""
|
|
2301
|
+
Set the CFL condition to use during advection. The CFL condition sets the maximum distance a surface can be moved during one advection step. It MUST be below 0.5 to guarantee numerical stability. Defaults to 0.4999.
|
|
2302
|
+
"""
|
|
2303
|
+
|
|
2304
|
+
class ProcessModel:
|
|
2305
|
+
def __init__(self) -> None: ...
|
|
2306
|
+
def getPrimaryDirection(
|
|
2307
|
+
self,
|
|
2308
|
+
) -> typing.Annotated[list[float], "FixedSize(3)"] | None: ...
|
|
2309
|
+
def getProcessName(self) -> str | None: ...
|
|
2310
|
+
def setPrimaryDirection(
|
|
2311
|
+
self,
|
|
2312
|
+
arg0: typing.Annotated[
|
|
2313
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2314
|
+
],
|
|
2315
|
+
) -> None: ...
|
|
2316
|
+
def setProcessName(self, arg0: str) -> None: ...
|
|
2317
|
+
|
|
2318
|
+
class ProcessParams:
|
|
2319
|
+
def __init__(self) -> None: ...
|
|
2320
|
+
@typing.overload
|
|
2321
|
+
def getScalarData(self, arg0: typing.SupportsInt) -> float: ...
|
|
2322
|
+
@typing.overload
|
|
2323
|
+
def getScalarData(self, arg0: typing.SupportsInt) -> float: ...
|
|
2324
|
+
@typing.overload
|
|
2325
|
+
def getScalarData(self, arg0: str) -> float: ...
|
|
2326
|
+
@typing.overload
|
|
2327
|
+
def getScalarData(self) -> list[float]: ...
|
|
2328
|
+
@typing.overload
|
|
2329
|
+
def getScalarData(self) -> list[float]: ...
|
|
2330
|
+
def getScalarDataIndex(self, arg0: str) -> int: ...
|
|
2331
|
+
def getScalarDataLabel(self, arg0: typing.SupportsInt) -> str: ...
|
|
2332
|
+
def insertNextScalar(self, arg0: typing.SupportsFloat, arg1: str) -> None: ...
|
|
2333
|
+
|
|
2334
|
+
class RateGrid:
|
|
2335
|
+
def __init__(self) -> None: ...
|
|
2336
|
+
def interpolate(
|
|
2337
|
+
self,
|
|
2338
|
+
coord: typing.Annotated[
|
|
2339
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2340
|
+
],
|
|
2341
|
+
) -> float: ...
|
|
2342
|
+
def loadFromCSV(self, filename: str) -> bool: ...
|
|
2343
|
+
def setCustomInterpolator(self, function: collections.abc.Callable) -> None: ...
|
|
2344
|
+
def setIDWNeighbors(self, k: typing.SupportsInt) -> None: ...
|
|
2345
|
+
@typing.overload
|
|
2346
|
+
def setInterpolationMode(self, mode: Interpolation) -> None: ...
|
|
2347
|
+
@typing.overload
|
|
2348
|
+
def setInterpolationMode(self, mode: str) -> None: ...
|
|
2349
|
+
def setOffset(
|
|
2350
|
+
self,
|
|
2351
|
+
offset: typing.Annotated[
|
|
2352
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(2)"
|
|
2353
|
+
],
|
|
2354
|
+
) -> None: ...
|
|
2355
|
+
|
|
2356
|
+
class RateSet:
|
|
2357
|
+
calculateVisibility: bool
|
|
2358
|
+
def __init__(
|
|
2359
|
+
self,
|
|
2360
|
+
direction: typing.Annotated[
|
|
2361
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2362
|
+
] = [0.0, 0.0, 0.0],
|
|
2363
|
+
directionalVelocity: typing.SupportsFloat = 0.0,
|
|
2364
|
+
isotropicVelocity: typing.SupportsFloat = 0.0,
|
|
2365
|
+
maskMaterials: collections.abc.Sequence[Material] = ...,
|
|
2366
|
+
calculateVisibility: bool = True,
|
|
2367
|
+
) -> None: ...
|
|
2368
|
+
def print(self) -> None: ...
|
|
2369
|
+
@property
|
|
2370
|
+
def direction(self) -> typing.Annotated[list[float], "FixedSize(3)"]: ...
|
|
2371
|
+
@direction.setter
|
|
2372
|
+
def direction(
|
|
2373
|
+
self,
|
|
2374
|
+
arg0: typing.Annotated[
|
|
2375
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2376
|
+
],
|
|
2377
|
+
) -> None: ...
|
|
2378
|
+
@property
|
|
2379
|
+
def directionalVelocity(self) -> float: ...
|
|
2380
|
+
@directionalVelocity.setter
|
|
2381
|
+
def directionalVelocity(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2382
|
+
@property
|
|
2383
|
+
def isotropicVelocity(self) -> float: ...
|
|
2384
|
+
@isotropicVelocity.setter
|
|
2385
|
+
def isotropicVelocity(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2386
|
+
@property
|
|
2387
|
+
def maskMaterials(self) -> list[Material]: ...
|
|
2388
|
+
@maskMaterials.setter
|
|
2389
|
+
def maskMaterials(self, arg0: collections.abc.Sequence[Material]) -> None: ...
|
|
2390
|
+
|
|
2391
|
+
class RayTracingParameters:
|
|
2392
|
+
ignoreFluxBoundaries: bool
|
|
2393
|
+
normalizationType: NormalizationType
|
|
2394
|
+
sourceDirection: ...
|
|
2395
|
+
useRandomSeeds: bool
|
|
2396
|
+
def __init__(self) -> None: ...
|
|
2397
|
+
def toMetaData(self) -> dict[str, list[float]]:
|
|
2398
|
+
"""
|
|
2399
|
+
Convert the ray tracing parameters to a metadata dict.
|
|
2400
|
+
"""
|
|
2401
|
+
|
|
2402
|
+
def toMetaDataString(self) -> str:
|
|
2403
|
+
"""
|
|
2404
|
+
Convert the ray tracing parameters to a metadata string.
|
|
2405
|
+
"""
|
|
2406
|
+
|
|
2407
|
+
@property
|
|
2408
|
+
def diskRadius(self) -> float: ...
|
|
2409
|
+
@diskRadius.setter
|
|
2410
|
+
def diskRadius(self, arg0: typing.SupportsFloat) -> None: ...
|
|
2411
|
+
@property
|
|
2412
|
+
def raysPerPoint(self) -> int: ...
|
|
2413
|
+
@raysPerPoint.setter
|
|
2414
|
+
def raysPerPoint(self, arg0: typing.SupportsInt) -> None: ...
|
|
2415
|
+
@property
|
|
2416
|
+
def smoothingNeighbors(self) -> int: ...
|
|
2417
|
+
@smoothingNeighbors.setter
|
|
2418
|
+
def smoothingNeighbors(self, arg0: typing.SupportsInt) -> None: ...
|
|
2419
|
+
|
|
2420
|
+
class Reader:
|
|
2421
|
+
@typing.overload
|
|
2422
|
+
def __init__(self) -> None: ...
|
|
2423
|
+
@typing.overload
|
|
2424
|
+
def __init__(self, fileName: str) -> None: ...
|
|
2425
|
+
def apply(self) -> None:
|
|
2426
|
+
"""
|
|
2427
|
+
Read the domain from the specified file.
|
|
2428
|
+
"""
|
|
2429
|
+
|
|
2430
|
+
def setFileName(self, arg0: str) -> None:
|
|
2431
|
+
"""
|
|
2432
|
+
Set the input file name to read (should end with .vpsd).
|
|
2433
|
+
"""
|
|
2434
|
+
|
|
2435
|
+
class SF6C4F8Etching(ProcessModel):
|
|
2436
|
+
@staticmethod
|
|
2437
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
2438
|
+
@typing.overload
|
|
2439
|
+
def __init__(self) -> None: ...
|
|
2440
|
+
@typing.overload
|
|
2441
|
+
def __init__(
|
|
2442
|
+
self,
|
|
2443
|
+
ionFlux: typing.SupportsFloat,
|
|
2444
|
+
etchantFlux: typing.SupportsFloat,
|
|
2445
|
+
meanEnergy: typing.SupportsFloat,
|
|
2446
|
+
sigmaEnergy: typing.SupportsFloat,
|
|
2447
|
+
ionExponent: typing.SupportsFloat = 300.0,
|
|
2448
|
+
etchStopDepth: typing.SupportsFloat = -1.7976931348623157e308,
|
|
2449
|
+
) -> None: ...
|
|
2450
|
+
@typing.overload
|
|
2451
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
2452
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
2453
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
2454
|
+
|
|
2455
|
+
class SF6O2Etching(ProcessModel):
|
|
2456
|
+
@staticmethod
|
|
2457
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
2458
|
+
@typing.overload
|
|
2459
|
+
def __init__(self) -> None: ...
|
|
2460
|
+
@typing.overload
|
|
2461
|
+
def __init__(
|
|
2462
|
+
self,
|
|
2463
|
+
ionFlux: typing.SupportsFloat,
|
|
2464
|
+
etchantFlux: typing.SupportsFloat,
|
|
2465
|
+
oxygenFlux: typing.SupportsFloat,
|
|
2466
|
+
meanIonEnergy: typing.SupportsFloat = 100.0,
|
|
2467
|
+
sigmaIonEnergy: typing.SupportsFloat = 10.0,
|
|
2468
|
+
ionExponent: typing.SupportsFloat = 100.0,
|
|
2469
|
+
oxySputterYield: typing.SupportsFloat = 3.0,
|
|
2470
|
+
etchStopDepth: typing.SupportsFloat = -1.7976931348623157e308,
|
|
2471
|
+
) -> None: ...
|
|
2472
|
+
@typing.overload
|
|
2473
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
2474
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
2475
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
2476
|
+
|
|
2477
|
+
class SelectiveEpitaxy(ProcessModel):
|
|
2478
|
+
def __init__(
|
|
2479
|
+
self,
|
|
2480
|
+
materialRates: collections.abc.Sequence[tuple[Material, typing.SupportsFloat]],
|
|
2481
|
+
rate111: typing.SupportsFloat = 0.5,
|
|
2482
|
+
rate100: typing.SupportsFloat = 1.0,
|
|
2483
|
+
) -> None: ...
|
|
2484
|
+
|
|
2485
|
+
class SingleParticleALD(ProcessModel):
|
|
2486
|
+
def __init__(
|
|
2487
|
+
self,
|
|
2488
|
+
stickingProbability: typing.SupportsFloat,
|
|
2489
|
+
numCycles: typing.SupportsFloat,
|
|
2490
|
+
growthPerCycle: typing.SupportsFloat,
|
|
2491
|
+
totalCycles: typing.SupportsFloat,
|
|
2492
|
+
coverageTimeStep: typing.SupportsFloat,
|
|
2493
|
+
evFlux: typing.SupportsFloat,
|
|
2494
|
+
inFlux: typing.SupportsFloat,
|
|
2495
|
+
s0: typing.SupportsFloat,
|
|
2496
|
+
gasMFP: typing.SupportsFloat,
|
|
2497
|
+
) -> None: ...
|
|
2498
|
+
|
|
2499
|
+
class SingleParticleProcess(ProcessModel):
|
|
2500
|
+
@typing.overload
|
|
2501
|
+
def __init__(
|
|
2502
|
+
self,
|
|
2503
|
+
rate: typing.SupportsFloat = 1.0,
|
|
2504
|
+
stickingProbability: typing.SupportsFloat = 1.0,
|
|
2505
|
+
sourceExponent: typing.SupportsFloat = 1.0,
|
|
2506
|
+
maskMaterial: Material = ...,
|
|
2507
|
+
) -> None: ...
|
|
2508
|
+
@typing.overload
|
|
2509
|
+
def __init__(
|
|
2510
|
+
self,
|
|
2511
|
+
rate: typing.SupportsFloat,
|
|
2512
|
+
stickingProbability: typing.SupportsFloat,
|
|
2513
|
+
sourceExponent: typing.SupportsFloat,
|
|
2514
|
+
maskMaterials: collections.abc.Sequence[Material],
|
|
2515
|
+
) -> None: ...
|
|
2516
|
+
@typing.overload
|
|
2517
|
+
def __init__(
|
|
2518
|
+
self,
|
|
2519
|
+
materialRates: collections.abc.Mapping[Material, typing.SupportsFloat],
|
|
2520
|
+
stickingProbability: typing.SupportsFloat,
|
|
2521
|
+
sourceExponent: typing.SupportsFloat,
|
|
2522
|
+
) -> None: ...
|
|
2523
|
+
|
|
2524
|
+
class SphereDistribution(ProcessModel):
|
|
2525
|
+
@typing.overload
|
|
2526
|
+
def __init__(
|
|
2527
|
+
self,
|
|
2528
|
+
radius: typing.SupportsFloat,
|
|
2529
|
+
gridDelta: typing.SupportsFloat,
|
|
2530
|
+
mask: viennals2d.viennals2d.Domain,
|
|
2531
|
+
) -> None: ...
|
|
2532
|
+
@typing.overload
|
|
2533
|
+
def __init__(
|
|
2534
|
+
self, radius: typing.SupportsFloat, gridDelta: typing.SupportsFloat
|
|
2535
|
+
) -> None: ...
|
|
2536
|
+
|
|
2537
|
+
class StencilLocalLaxFriedrichsScalar:
|
|
2538
|
+
@staticmethod
|
|
2539
|
+
def setMaxDissipation(maxDissipation: typing.SupportsFloat) -> None: ...
|
|
2540
|
+
|
|
2541
|
+
class TEOSDeposition(ProcessModel):
|
|
2542
|
+
def __init__(
|
|
2543
|
+
self,
|
|
2544
|
+
stickingProbabilityP1: typing.SupportsFloat,
|
|
2545
|
+
rateP1: typing.SupportsFloat,
|
|
2546
|
+
orderP1: typing.SupportsFloat,
|
|
2547
|
+
stickingProbabilityP2: typing.SupportsFloat = 0.0,
|
|
2548
|
+
rateP2: typing.SupportsFloat = 0.0,
|
|
2549
|
+
orderP2: typing.SupportsFloat = 0.0,
|
|
2550
|
+
) -> None: ...
|
|
2551
|
+
|
|
2552
|
+
class TEOSPECVD(ProcessModel):
|
|
2553
|
+
def __init__(
|
|
2554
|
+
self,
|
|
2555
|
+
stickingProbabilityRadical: typing.SupportsFloat,
|
|
2556
|
+
depositionRateRadical: typing.SupportsFloat,
|
|
2557
|
+
depositionRateIon: typing.SupportsFloat,
|
|
2558
|
+
exponentIon: typing.SupportsFloat,
|
|
2559
|
+
stickingProbabilityIon: typing.SupportsFloat = 1.0,
|
|
2560
|
+
reactionOrderRadical: typing.SupportsFloat = 1.0,
|
|
2561
|
+
reactionOrderIon: typing.SupportsFloat = 1.0,
|
|
2562
|
+
minAngleIon: typing.SupportsFloat = 0.0,
|
|
2563
|
+
) -> None: ...
|
|
2564
|
+
|
|
2565
|
+
class Time:
|
|
2566
|
+
@staticmethod
|
|
2567
|
+
def convertMillisecond() -> float: ...
|
|
2568
|
+
@staticmethod
|
|
2569
|
+
def convertMinute() -> float: ...
|
|
2570
|
+
@staticmethod
|
|
2571
|
+
def convertSecond() -> float: ...
|
|
2572
|
+
@staticmethod
|
|
2573
|
+
def getInstance() -> Time: ...
|
|
2574
|
+
@staticmethod
|
|
2575
|
+
def setUnit(arg0: str) -> None: ...
|
|
2576
|
+
@staticmethod
|
|
2577
|
+
def toShortString() -> str: ...
|
|
2578
|
+
@staticmethod
|
|
2579
|
+
def toString() -> str: ...
|
|
2580
|
+
|
|
2581
|
+
class TimeUnit(enum.IntEnum):
|
|
2582
|
+
MILLISECOND: typing.ClassVar[TimeUnit] # value = <TimeUnit.MILLISECOND: 2>
|
|
2583
|
+
MINUTE: typing.ClassVar[TimeUnit] # value = <TimeUnit.MINUTE: 0>
|
|
2584
|
+
SECOND: typing.ClassVar[TimeUnit] # value = <TimeUnit.SECOND: 1>
|
|
2585
|
+
UNDEFINED: typing.ClassVar[TimeUnit] # value = <TimeUnit.UNDEFINED: 3>
|
|
2586
|
+
@classmethod
|
|
2587
|
+
def __new__(cls, value): ...
|
|
2588
|
+
def __format__(self, format_spec):
|
|
2589
|
+
"""
|
|
2590
|
+
Convert to a string according to format_spec.
|
|
2591
|
+
"""
|
|
2592
|
+
|
|
2593
|
+
class ToDiskMesh:
|
|
2594
|
+
@typing.overload
|
|
2595
|
+
def __init__(self, domain: Domain, mesh: viennals2d.viennals2d.Mesh) -> None: ...
|
|
2596
|
+
@typing.overload
|
|
2597
|
+
def __init__(self) -> None: ...
|
|
2598
|
+
def setDomain(self, arg0: Domain) -> None:
|
|
2599
|
+
"""
|
|
2600
|
+
Set the domain in the mesh converter.
|
|
2601
|
+
"""
|
|
2602
|
+
|
|
2603
|
+
def setMesh(self, arg0: viennals2d.viennals2d.Mesh) -> None:
|
|
2604
|
+
"""
|
|
2605
|
+
Set the mesh in the mesh converter
|
|
2606
|
+
"""
|
|
2607
|
+
|
|
2608
|
+
class WetEtching(ProcessModel):
|
|
2609
|
+
@typing.overload
|
|
2610
|
+
def __init__(
|
|
2611
|
+
self,
|
|
2612
|
+
materialRates: collections.abc.Sequence[tuple[Material, typing.SupportsFloat]],
|
|
2613
|
+
) -> None: ...
|
|
2614
|
+
@typing.overload
|
|
2615
|
+
def __init__(
|
|
2616
|
+
self,
|
|
2617
|
+
direction100: typing.Annotated[
|
|
2618
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2619
|
+
],
|
|
2620
|
+
direction010: typing.Annotated[
|
|
2621
|
+
collections.abc.Sequence[typing.SupportsFloat], "FixedSize(3)"
|
|
2622
|
+
],
|
|
2623
|
+
rate100: typing.SupportsFloat,
|
|
2624
|
+
rate110: typing.SupportsFloat,
|
|
2625
|
+
rate111: typing.SupportsFloat,
|
|
2626
|
+
rate311: typing.SupportsFloat,
|
|
2627
|
+
materialRates: collections.abc.Sequence[tuple[Material, typing.SupportsFloat]],
|
|
2628
|
+
) -> None: ...
|
|
2629
|
+
|
|
2630
|
+
class Writer:
|
|
2631
|
+
@typing.overload
|
|
2632
|
+
def __init__(self) -> None: ...
|
|
2633
|
+
@typing.overload
|
|
2634
|
+
def __init__(self, domain: Domain) -> None: ...
|
|
2635
|
+
@typing.overload
|
|
2636
|
+
def __init__(self, domain: Domain, fileName: str) -> None: ...
|
|
2637
|
+
def apply(self) -> None:
|
|
2638
|
+
"""
|
|
2639
|
+
Write the domain to the specified file.
|
|
2640
|
+
"""
|
|
2641
|
+
|
|
2642
|
+
def setDomain(self, arg0: Domain) -> None:
|
|
2643
|
+
"""
|
|
2644
|
+
Set the domain to be written to a file.
|
|
2645
|
+
"""
|
|
2646
|
+
|
|
2647
|
+
def setFileName(self, arg0: str) -> None:
|
|
2648
|
+
"""
|
|
2649
|
+
Set the output file name (should end with .vpsd).
|
|
2650
|
+
"""
|
|
2651
|
+
|
|
2652
|
+
def setNumThreads(arg0: typing.SupportsInt) -> None: ...
|
|
2653
|
+
|
|
2654
|
+
D: int = 2
|
|
2655
|
+
__version__: str = '"3.7.2"'
|
|
2656
|
+
version: str = '"3.7.2"'
|