ViennaPS 3.2.0__pp39-pypy39_pp73-win_amd64.whl → 3.4.0__pp39-pypy39_pp73-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.

Files changed (67) hide show
  1. viennaps-3.4.0.dist-info/METADATA +292 -0
  2. viennaps-3.4.0.dist-info/RECORD +65 -0
  3. {viennaps-3.2.0.dist-info → viennaps-3.4.0.dist-info}/WHEEL +1 -1
  4. viennaps.libs/embree4.dll +0 -0
  5. viennaps.libs/embree4.exp +0 -0
  6. viennaps.libs/embree4.lib +0 -0
  7. viennaps.libs/embree_avx.lib +0 -0
  8. viennaps.libs/embree_avx2.lib +0 -0
  9. viennaps.libs/embree_sse42.lib +0 -0
  10. viennaps.libs/lexers.lib +0 -0
  11. viennaps.libs/math.lib +0 -0
  12. viennaps.libs/simd.lib +0 -0
  13. viennaps.libs/sys.lib +0 -0
  14. viennaps.libs/tasking.lib +0 -0
  15. viennaps.libs/tbb12.dll +0 -0
  16. viennaps.libs/tbb12.exp +0 -0
  17. viennaps.libs/tbb12.lib +0 -0
  18. viennaps.libs/vtkCommonComputationalGeometry-9.3.dll +0 -0
  19. viennaps.libs/vtkCommonCore-9.3.dll +0 -0
  20. viennaps.libs/vtkCommonDataModel-9.3.dll +0 -0
  21. viennaps.libs/vtkCommonExecutionModel-9.3.dll +0 -0
  22. viennaps.libs/vtkCommonMath-9.3.dll +0 -0
  23. viennaps.libs/vtkCommonMisc-9.3.dll +0 -0
  24. viennaps.libs/vtkCommonSystem-9.3.dll +0 -0
  25. viennaps.libs/vtkCommonTransforms-9.3.dll +0 -0
  26. viennaps.libs/vtkFiltersCore-9.3.dll +0 -0
  27. viennaps.libs/vtkFiltersGeneral-9.3.dll +0 -0
  28. viennaps.libs/vtkFiltersGeometry-9.3.dll +0 -0
  29. viennaps.libs/vtkFiltersVerdict-9.3.dll +0 -0
  30. viennaps.libs/vtkIOCore-9.3.dll +0 -0
  31. viennaps.libs/vtkIOXML-9.3.dll +0 -0
  32. viennaps.libs/vtkIOXMLParser-9.3.dll +0 -0
  33. viennaps.libs/vtkdoubleconversion-9.3.dll +0 -0
  34. viennaps.libs/vtkexpat-9.3.dll +0 -0
  35. viennaps.libs/vtkfmt-9.3.dll +0 -0
  36. viennaps.libs/vtkkissfft-9.3.dll +0 -0
  37. viennaps.libs/vtkloguru-9.3.dll +0 -0
  38. viennaps.libs/vtklz4-9.3.dll +0 -0
  39. viennaps.libs/vtklzma-9.3.dll +0 -0
  40. viennaps.libs/vtkpugixml-9.3.dll +0 -0
  41. viennaps.libs/vtksys-9.3.dll +0 -0
  42. viennaps.libs/vtkverdict-9.3.dll +0 -0
  43. viennaps.libs/vtkzlib-9.3.dll +0 -0
  44. viennaps2d/Release/viennaps2d.cp310-win_amd64.pyd +0 -0
  45. viennaps2d/Release/viennaps2d.cp311-win_amd64.pyd +0 -0
  46. viennaps2d/Release/viennaps2d.cp312-win_amd64.pyd +0 -0
  47. viennaps2d/Release/viennaps2d.pypy37-pp73-win_amd64.pyd +0 -0
  48. viennaps2d/Release/viennaps2d.pypy38-pp73-win_amd64.pyd +0 -0
  49. viennaps2d/Release/viennaps2d.pypy39-pp73-win_amd64.pyd +0 -0
  50. viennaps2d/__init__.py +3 -1
  51. viennaps2d/__init__.pyi +3 -0
  52. viennaps2d/viennaps2d.pyi +1099 -0
  53. viennaps2d/viennaps2d.pypy39-pp73-win_amd64.pyd +0 -0
  54. viennaps3d/Release/viennaps3d.cp310-win_amd64.pyd +0 -0
  55. viennaps3d/Release/viennaps3d.cp311-win_amd64.pyd +0 -0
  56. viennaps3d/Release/viennaps3d.cp312-win_amd64.pyd +0 -0
  57. viennaps3d/Release/viennaps3d.pypy37-pp73-win_amd64.pyd +0 -0
  58. viennaps3d/Release/viennaps3d.pypy38-pp73-win_amd64.pyd +0 -0
  59. viennaps3d/Release/viennaps3d.pypy39-pp73-win_amd64.pyd +0 -0
  60. viennaps3d/__init__.py +3 -1
  61. viennaps3d/__init__.pyi +3 -0
  62. viennaps3d/viennaps3d/gpu.pyi +60 -0
  63. viennaps3d/viennaps3d.pyi +1056 -0
  64. viennaps3d/viennaps3d.pypy39-pp73-win_amd64.pyd +0 -0
  65. viennaps-3.2.0.dist-info/METADATA +0 -265
  66. viennaps-3.2.0.dist-info/RECORD +0 -60
  67. {viennaps-3.2.0.dist-info → viennaps-3.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1056 @@
1
+ import viennals3d.viennals3d
2
+ from _typeshed import Incomplete
3
+ from typing import Callable, ClassVar, overload
4
+
5
+ D: int
6
+ __version__: str
7
+ version: str
8
+
9
+ class AdvectionCallback:
10
+ domain: Domain
11
+ def __init__(self) -> None: ...
12
+ def applyPostAdvect(self, arg0: float) -> bool: ...
13
+ def applyPreAdvect(self, arg0: float) -> bool: ...
14
+
15
+ class AdvectionParameters:
16
+ checkDissipation: bool
17
+ dissipationAlpha: float
18
+ ignoreVoids: bool
19
+ integrationScheme: viennals3d.viennals3d.IntegrationSchemeEnum
20
+ timeStepRatio: float
21
+ velocityOutput: bool
22
+ def __init__(self) -> None: ...
23
+
24
+ class AnisotropicProcess(ProcessModel):
25
+ @overload
26
+ def __init__(self, materials: list[tuple[Material, float]]) -> None: ...
27
+ @overload
28
+ def __init__(
29
+ self,
30
+ direction100,
31
+ direction010,
32
+ rate100: float,
33
+ rate110: float,
34
+ rate111: float,
35
+ rate311: float,
36
+ materials: list[tuple[Material, float]],
37
+ ) -> None: ...
38
+
39
+ class AtomicLayerProcess:
40
+ def __init__(self) -> None: ...
41
+ def apply(self) -> None: ...
42
+ def disableRandomSeeds(self) -> None: ...
43
+ def enableRandomSeeds(self) -> None: ...
44
+ def setCoverageTimeStep(self, arg0: float) -> None: ...
45
+ def setDesorptionRates(self, arg0: list[float]) -> None: ...
46
+ def setDomain(self, *args, **kwargs): ...
47
+ def setIntegrationScheme(
48
+ self, arg0: viennals3d.viennals3d.IntegrationSchemeEnum
49
+ ) -> None: ...
50
+ def setNumCycles(self, arg0: int) -> None: ...
51
+ def setNumberOfRaysPerPoint(self, arg0: int) -> None: ...
52
+ def setProcessModel(self, arg0: ProcessModel) -> None: ...
53
+ def setPulseTime(self, arg0: float) -> None: ...
54
+ def setSourceDirection(self, arg0: rayTraceDirection) -> None: ...
55
+
56
+ class BoxDistribution(ProcessModel):
57
+ @overload
58
+ def __init__(
59
+ self, halfAxes, gridDelta: float, mask: viennals3d.viennals3d.Domain
60
+ ) -> None: ...
61
+ @overload
62
+ def __init__(self, halfAxes, gridDelta: float) -> None: ...
63
+
64
+ class CF4O2Etching(ProcessModel):
65
+ @overload
66
+ def __init__(self) -> None: ...
67
+ @overload
68
+ def __init__(
69
+ self,
70
+ ionFlux: float,
71
+ etchantFlux: float,
72
+ oxygenFlux: float,
73
+ polymerFlux: float,
74
+ meanIonEnergy: float = ...,
75
+ sigmaIonEnergy: float = ...,
76
+ ionExponent: float = ...,
77
+ oxySputterYield: float = ...,
78
+ polySputterYield: float = ...,
79
+ etchStopDepth: float = ...,
80
+ ) -> None: ...
81
+ @overload
82
+ def __init__(self, parameters: CF4O2Parameters) -> None: ...
83
+ def getParameters(self) -> CF4O2Parameters: ...
84
+ def setParameters(self, arg0: CF4O2Parameters) -> None: ...
85
+
86
+ class CF4O2Parameters:
87
+ Ions: CF4O2ParametersIons
88
+ Mask: CF4O2ParametersMask
89
+ Passivation: CF4O2ParametersPassivation
90
+ Si: CF4O2ParametersSi
91
+ SiGe: CF4O2ParametersSiGe
92
+ etchStopDepth: float
93
+ etchantFlux: float
94
+ fluxIncludeSticking: bool
95
+ gamma_C: dict[Material, float]
96
+ gamma_C_oxidized: dict[Material, float]
97
+ gamma_F: dict[Material, float]
98
+ gamma_F_oxidized: dict[Material, float]
99
+ gamma_O: dict[Material, float]
100
+ gamma_O_passivated: dict[Material, float]
101
+ ionFlux: float
102
+ oxygenFlux: float
103
+ polymerFlux: float
104
+ def __init__(self) -> None: ...
105
+
106
+ class CF4O2ParametersIons:
107
+ exponent: float
108
+ inflectAngle: float
109
+ meanEnergy: float
110
+ minAngle: float
111
+ n_l: float
112
+ sigmaEnergy: float
113
+ def __init__(self) -> None: ...
114
+
115
+ class CF4O2ParametersMask:
116
+ A_sp: float
117
+ Eth_sp: float
118
+ rho: float
119
+ def __init__(self) -> None: ...
120
+
121
+ class CF4O2ParametersPassivation:
122
+ A_C_ie: float
123
+ A_O_ie: float
124
+ Eth_C_ie: float
125
+ Eth_O_ie: float
126
+ def __init__(self) -> None: ...
127
+
128
+ class CF4O2ParametersSi:
129
+ A_ie: float
130
+ A_sp: float
131
+ Eth_ie: float
132
+ Eth_sp: float
133
+ beta_sigma: float
134
+ k_sigma: float
135
+ rho: float
136
+ def __init__(self) -> None: ...
137
+
138
+ class CF4O2ParametersSiGe:
139
+ A_ie: float
140
+ A_sp: float
141
+ Eth_ie: float
142
+ Eth_sp: float
143
+ beta_sigma: float
144
+ k_sigma: float
145
+ rho: float
146
+ x: float
147
+ def __init__(self) -> None: ...
148
+ def k_sigma_SiGe(self, arg0: float) -> float: ...
149
+
150
+ class DirectionalEtching(ProcessModel):
151
+ @overload
152
+ def __init__(
153
+ self,
154
+ direction,
155
+ directionalVelocity: float,
156
+ isotropicVelocity: float = ...,
157
+ maskMaterial: Material = ...,
158
+ calculateVisibility: bool = ...,
159
+ ) -> None: ...
160
+ @overload
161
+ def __init__(
162
+ self,
163
+ direction,
164
+ directionalVelocity: float,
165
+ isotropicVelocity: float,
166
+ maskMaterial: list[Material],
167
+ calculateVisibility: bool = ...,
168
+ ) -> None: ...
169
+ @overload
170
+ def __init__(self, rateSets: list[RateSet]) -> None: ...
171
+ @overload
172
+ def __init__(self, rateSet: RateSet) -> None: ...
173
+
174
+ class Domain:
175
+ @overload
176
+ def __init__(self) -> None: ...
177
+ @overload
178
+ def __init__(self, domain: Domain) -> None: ...
179
+ @overload
180
+ def __init__(
181
+ self,
182
+ gridDelta: float,
183
+ xExtent: float,
184
+ yExtent: float,
185
+ boundary: viennals3d.viennals3d.BoundaryConditionEnum = ...,
186
+ ) -> None: ...
187
+ def applyBooleanOperation(
188
+ self,
189
+ arg0: viennals3d.viennals3d.Domain,
190
+ arg1: viennals3d.viennals3d.BooleanOperationEnum,
191
+ ) -> None: ...
192
+ def clear(self) -> None: ...
193
+ def deepCopy(self, arg0: Domain) -> None: ...
194
+ def duplicateTopLevelSet(self, arg0: Material) -> None: ...
195
+ def generateCellSet(self, arg0: float, arg1: Material, arg2: bool) -> None: ...
196
+ def getBoundaryConditions(self, *args, **kwargs): ...
197
+ def getBoundingBox(self, *args, **kwargs): ...
198
+ def getCellSet(self, *args, **kwargs): ...
199
+ def getGrid(self, *args, **kwargs): ...
200
+ def getGridDelta(self) -> float: ...
201
+ def getLevelSets(self) -> list[viennals3d.viennals3d.Domain]: ...
202
+ def getMaterialMap(self, *args, **kwargs): ...
203
+ def getSetup(self, *args, **kwargs): ...
204
+ def insertNextLevelSet(
205
+ self, levelset: viennals3d.viennals3d.Domain, wrapLowerLevelSet: bool = ...
206
+ ) -> None: ...
207
+ def insertNextLevelSetAsMaterial(
208
+ self,
209
+ levelSet: viennals3d.viennals3d.Domain,
210
+ material: Material,
211
+ wrapLowerLevelSet: bool = ...,
212
+ ) -> None: ...
213
+ def print(self) -> None: ...
214
+ def removeLevelSet(self, arg0: int, arg1: bool) -> None: ...
215
+ def removeMaterial(self, arg0: Material) -> None: ...
216
+ def removeTopLevelSet(self) -> None: ...
217
+ def saveHullMesh(
218
+ self, filename: str, wrappingLayerEpsilon: float = ...
219
+ ) -> None: ...
220
+ def saveLevelSetMesh(self, filename: str, width: int = ...) -> None: ...
221
+ def saveLevelSets(self, filename: str) -> None: ...
222
+ def saveSurfaceMesh(self, filename: str, addMaterialIds: bool = ...) -> None: ...
223
+ def saveVolumeMesh(
224
+ self, filename: str, wrappingLayerEpsilon: float = ...
225
+ ) -> None: ...
226
+ def setMaterialMap(self, arg0) -> None: ...
227
+ def setup(
228
+ self,
229
+ gridDelta: float,
230
+ xExtent: float,
231
+ yExtent: float = ...,
232
+ boundary: viennals3d.viennals3d.BoundaryConditionEnum = ...,
233
+ ) -> None: ...
234
+
235
+ class DomainSetup:
236
+ @overload
237
+ def __init__(self) -> None: ...
238
+ @overload
239
+ def __init__(
240
+ self,
241
+ gridDelta: float,
242
+ xExtent: float,
243
+ yExtent: float,
244
+ boundary: viennals3d.viennals3d.BoundaryConditionEnum = ...,
245
+ ) -> None: ...
246
+ def boundaryCons(self, *args, **kwargs): ...
247
+ def bounds(self, *args, **kwargs): ...
248
+ def check(self) -> None: ...
249
+ def grid(self, *args, **kwargs): ...
250
+ def gridDelta(self) -> float: ...
251
+ def halveXAxis(self) -> None: ...
252
+ def halveYAxis(self) -> None: ...
253
+ def hasPeriodicBoundary(self) -> bool: ...
254
+ def isValid(self) -> bool: ...
255
+ def print(self) -> None: ...
256
+ def xExtent(self) -> float: ...
257
+ def yExtent(self) -> float: ...
258
+
259
+ class FaradayCageEtching(ProcessModel):
260
+ @overload
261
+ def __init__(self) -> None: ...
262
+ @overload
263
+ def __init__(self, maskMaterials: list[Material]) -> None: ...
264
+ @overload
265
+ def __init__(
266
+ self, maskMaterials: list[Material], parameters: FaradayCageParameters
267
+ ) -> None: ...
268
+ def getParameters(self) -> FaradayCageParameters: ...
269
+ def setParameters(self, arg0: FaradayCageParameters) -> None: ...
270
+
271
+ class FaradayCageParameters:
272
+ cageAngle: float
273
+ ibeParams: IBEParameters
274
+ def __init__(self) -> None: ...
275
+
276
+ class FluorocarbonEtching(ProcessModel):
277
+ @overload
278
+ def __init__(self) -> None: ...
279
+ @overload
280
+ def __init__(
281
+ self,
282
+ ionFlux: float,
283
+ etchantFlux: float,
284
+ polyFlux: float,
285
+ meanIonEnergy: float = ...,
286
+ sigmaIonEnergy: float = ...,
287
+ ionExponent: float = ...,
288
+ deltaP: float = ...,
289
+ etchStopDepth: float = ...,
290
+ ) -> None: ...
291
+ @overload
292
+ def __init__(self, parameters: FluorocarbonParameters) -> None: ...
293
+ def getParameters(self) -> FluorocarbonParameters: ...
294
+ def setParameters(self, arg0: FluorocarbonParameters) -> None: ...
295
+
296
+ class FluorocarbonParameters:
297
+ Ions: FluorocarbonParametersIons
298
+ Mask: FluorocarbonParametersMask
299
+ Polymer: FluorocarbonParametersPolymer
300
+ Si: FluorocarbonParametersSi
301
+ Si3N4: FluorocarbonParametersSi3N4
302
+ SiO2: FluorocarbonParametersSiO2
303
+ delta_p: float
304
+ etchStopDepth: float
305
+ etchantFlux: float
306
+ ionFlux: float
307
+ polyFlux: float
308
+ def __init__(self) -> None: ...
309
+
310
+ class FluorocarbonParametersIons:
311
+ exponent: float
312
+ inflectAngle: float
313
+ meanEnergy: float
314
+ minAngle: float
315
+ n_l: float
316
+ sigmaEnergy: float
317
+ def __init__(self) -> None: ...
318
+
319
+ class FluorocarbonParametersMask:
320
+ A_sp: float
321
+ B_sp: float
322
+ Eth_sp: float
323
+ beta_e: float
324
+ beta_p: float
325
+ rho: float
326
+ def __init__(self) -> None: ...
327
+
328
+ class FluorocarbonParametersPolymer:
329
+ A_ie: float
330
+ Eth_ie: float
331
+ rho: float
332
+ def __init__(self) -> None: ...
333
+
334
+ class FluorocarbonParametersSi:
335
+ A_ie: float
336
+ A_sp: float
337
+ B_sp: float
338
+ E_a: float
339
+ Eth_ie: float
340
+ Eth_sp: float
341
+ K: float
342
+ rho: float
343
+ def __init__(self) -> None: ...
344
+
345
+ class FluorocarbonParametersSi3N4:
346
+ A_ie: float
347
+ A_sp: float
348
+ B_sp: float
349
+ E_a: float
350
+ Eth_ie: float
351
+ Eth_sp: float
352
+ K: float
353
+ rho: float
354
+ def __init__(self) -> None: ...
355
+
356
+ class FluorocarbonParametersSiO2:
357
+ A_ie: float
358
+ A_sp: float
359
+ B_sp: float
360
+ E_a: float
361
+ Eth_ie: float
362
+ Eth_sp: float
363
+ K: float
364
+ rho: float
365
+ def __init__(self) -> None: ...
366
+
367
+ class GDSGeometry:
368
+ @overload
369
+ def __init__(self) -> None: ...
370
+ @overload
371
+ def __init__(self, gridDelta: float) -> None: ...
372
+ def getBounds(self, *args, **kwargs): ...
373
+ def layerToLevelSet(
374
+ self, layer: int, baseHeight: float, height: float, mask: bool = ...
375
+ ) -> viennals3d.viennals3d.Domain: ...
376
+ def print(self) -> None: ...
377
+ def setBoundaryConditions(
378
+ self, arg0: list[viennals3d.viennals3d.BoundaryConditionEnum]
379
+ ) -> None: ...
380
+ def setBoundaryPadding(self, arg0: float, arg1: float) -> None: ...
381
+ def setGridDelta(self, arg0: float) -> None: ...
382
+
383
+ class GDSReader:
384
+ @overload
385
+ def __init__(self) -> None: ...
386
+ @overload
387
+ def __init__(self, arg0: GDSGeometry, arg1: str) -> None: ...
388
+ def apply(self) -> None: ...
389
+ def setFileName(self, arg0: str) -> None: ...
390
+ def setGeometry(self, arg0: GDSGeometry) -> None: ...
391
+
392
+ class GeometryFactory:
393
+ def __init__(self, *args, **kwargs) -> None: ...
394
+ def makeBoxStencil(
395
+ self, position, width: float, height: float, angle: float
396
+ ) -> viennals3d.viennals3d.Domain: ...
397
+ def makeCylinderStencil(
398
+ self, position, radius: float, height: float, angle: float
399
+ ) -> viennals3d.viennals3d.Domain: ...
400
+ def makeMask(self, base: float, height: float) -> viennals3d.viennals3d.Domain: ...
401
+ def makeSubstrate(self, base: float) -> viennals3d.viennals3d.Domain: ...
402
+
403
+ class HoleShape:
404
+ __members__: ClassVar[dict] = ... # read-only
405
+ Full: ClassVar[HoleShape] = ...
406
+ Half: ClassVar[HoleShape] = ...
407
+ Quarter: ClassVar[HoleShape] = ...
408
+ __entries: ClassVar[dict] = ...
409
+ def __init__(self, value: int) -> None: ...
410
+ def __eq__(self, other: object) -> bool: ...
411
+ def __hash__(self) -> int: ...
412
+ def __index__(self) -> int: ...
413
+ def __int__(self) -> int: ...
414
+ def __ne__(self, other: object) -> bool: ...
415
+ @property
416
+ def name(self) -> str: ...
417
+ @property
418
+ def value(self) -> int: ...
419
+
420
+ class IBEParameters:
421
+ exponent: float
422
+ inflectAngle: float
423
+ materialPlaneWaferRate: dict[Material, float]
424
+ meanEnergy: float
425
+ minAngle: float
426
+ n_l: float
427
+ planeWaferRate: float
428
+ redepositionRate: float
429
+ redepositionThreshold: float
430
+ sigmaEnergy: float
431
+ thresholdEnergy: float
432
+ tiltAngle: float
433
+ yieldFunction: Callable[[float], float]
434
+ def __init__(self) -> None: ...
435
+
436
+ class IonBeamEtching(ProcessModel):
437
+ @overload
438
+ def __init__(self) -> None: ...
439
+ @overload
440
+ def __init__(self, maskMaterials: list[Material]) -> None: ...
441
+ @overload
442
+ def __init__(
443
+ self, maskMaterials: list[Material], parameters: IBEParameters
444
+ ) -> None: ...
445
+ def getParameters(self) -> IBEParameters: ...
446
+ def setParameters(self, arg0: IBEParameters) -> None: ...
447
+
448
+ class IsotropicProcess(ProcessModel):
449
+ @overload
450
+ def __init__(self, rate: float = ..., maskMaterial: Material = ...) -> None: ...
451
+ @overload
452
+ def __init__(self, rate: float, maskMaterial: list[Material]) -> None: ...
453
+
454
+ class Length:
455
+ def __init__(self, *args, **kwargs) -> None: ...
456
+ def convertAngstrom(self) -> float: ...
457
+ def convertCentimeter(self) -> float: ...
458
+ def convertMeter(self) -> float: ...
459
+ def convertMicrometer(self) -> float: ...
460
+ def convertMillimeter(self) -> float: ...
461
+ def convertNanometer(self) -> float: ...
462
+ @staticmethod
463
+ def getInstance() -> Length: ...
464
+ @staticmethod
465
+ def setUnit(arg0: str) -> None: ...
466
+ def toShortString(self) -> str: ...
467
+ def toString(self) -> str: ...
468
+
469
+ class LogLevel:
470
+ __members__: ClassVar[dict] = ... # read-only
471
+ DEBUG: ClassVar[LogLevel] = ...
472
+ ERROR: ClassVar[LogLevel] = ...
473
+ INFO: ClassVar[LogLevel] = ...
474
+ INTERMEDIATE: ClassVar[LogLevel] = ...
475
+ TIMING: ClassVar[LogLevel] = ...
476
+ WARNING: ClassVar[LogLevel] = ...
477
+ __entries: ClassVar[dict] = ...
478
+ def __init__(self, value: int) -> None: ...
479
+ def __eq__(self, other: object) -> bool: ...
480
+ def __hash__(self) -> int: ...
481
+ def __index__(self) -> int: ...
482
+ def __int__(self) -> int: ...
483
+ def __ne__(self, other: object) -> bool: ...
484
+ @property
485
+ def name(self) -> str: ...
486
+ @property
487
+ def value(self) -> int: ...
488
+
489
+ class Logger:
490
+ def __init__(self, *args, **kwargs) -> None: ...
491
+ def addDebug(self, arg0: str) -> Logger: ...
492
+ def addError(self, s: str, shouldAbort: bool = ...) -> Logger: ...
493
+ def addInfo(self, arg0: str) -> Logger: ...
494
+ @overload
495
+ def addTiming(self, arg0: str, arg1: float) -> Logger: ...
496
+ @overload
497
+ def addTiming(self, arg0: str, arg1: float, arg2: float) -> Logger: ...
498
+ def addWarning(self, arg0: str) -> Logger: ...
499
+ @staticmethod
500
+ def getInstance() -> Logger: ...
501
+ @staticmethod
502
+ def getLogLevel() -> int: ...
503
+ def print(self) -> None: ...
504
+ @staticmethod
505
+ def setLogLevel(arg0: LogLevel) -> None: ...
506
+
507
+ class MakeFin:
508
+ @overload
509
+ def __init__(
510
+ self,
511
+ domain: Domain,
512
+ finWidth: float,
513
+ finHeight: float,
514
+ finTaperAngle: float = 0.0,
515
+ maskHeight: float = 0.0,
516
+ maskTaperAngle: float = 0.0,
517
+ halfFin: bool = False,
518
+ material: Material = Material.Si,
519
+ maskMaterial: Material = Material.Mask,
520
+ ) -> None: ...
521
+ @overload
522
+ def __init__(
523
+ self,
524
+ domain: Domain,
525
+ gridDelta: float,
526
+ xExtent: float,
527
+ yExtent: float,
528
+ finWidth: float,
529
+ finHeight: float,
530
+ taperAngle: float = 0.0,
531
+ baseHeight: float = 0.0,
532
+ periodicBoundary: bool = False,
533
+ makeMask: bool = False,
534
+ material: Material = Material.Si,
535
+ ) -> None: ...
536
+ def apply(self) -> None: ...
537
+
538
+ class MakeHole:
539
+ @overload
540
+ def __init__(
541
+ self,
542
+ domain: Domain,
543
+ holeRadius: float,
544
+ holeDepth: float,
545
+ holeTaperAngle: float = 0.0,
546
+ maskHeight: float = 0.0,
547
+ maskTaperAngle: float = 0.0,
548
+ holeShape: HoleShape = HoleShape.Full,
549
+ material: Material = Material.Si,
550
+ maskMaterial: Material = Material.Mask,
551
+ ) -> None: ...
552
+ @overload
553
+ def __init__(
554
+ self,
555
+ domain: Domain,
556
+ gridDelta: float,
557
+ xExtent: float,
558
+ yExtent: float,
559
+ holeRadius: float,
560
+ holeDepth: float,
561
+ taperingAngle: float = 0.0,
562
+ baseHeight: float = 0.0,
563
+ periodicBoundary: bool = False,
564
+ makeMask: bool = False,
565
+ material: Material = Material.Si,
566
+ holeShape: HoleShape = HoleShape.Full,
567
+ ) -> None: ...
568
+ def apply(self) -> None: ...
569
+
570
+ class MakePlane:
571
+ @overload
572
+ def __init__(
573
+ self,
574
+ domain: Domain,
575
+ gridDelta: float,
576
+ xExtent: float,
577
+ yExtent: float,
578
+ height: float = 0.0,
579
+ periodicBoundary: bool = False,
580
+ material: Material = Material.Si,
581
+ ) -> None: ...
582
+ @overload
583
+ def __init__(
584
+ self,
585
+ domain: Domain,
586
+ height: float = 0.0,
587
+ material: Material = Material.Si,
588
+ addToExisting: bool = False,
589
+ ) -> None: ...
590
+ def apply(self) -> None: ...
591
+
592
+ class MakeStack:
593
+ @overload
594
+ def __init__(
595
+ self,
596
+ domain: Domain,
597
+ numLayers: int,
598
+ layerHeight: float,
599
+ substrateHeight: float = 0,
600
+ holeRadius: float = 0,
601
+ trenchWidth: float = 0,
602
+ maskHeight: float = 0,
603
+ taperAngle: float = 0,
604
+ halfStack: bool = False,
605
+ maskMaterial: Material = Material.Mask,
606
+ ) -> None: ...
607
+ @overload
608
+ def __init__(
609
+ self,
610
+ domain: Domain,
611
+ gridDelta: float,
612
+ xExtent: float,
613
+ yExtent: float,
614
+ numLayers: int,
615
+ layerHeight: float,
616
+ substrateHeight: float,
617
+ holeRadius: float,
618
+ trenchWidth: float,
619
+ maskHeight: float,
620
+ periodicBoundary: bool = False,
621
+ ) -> None: ...
622
+ def apply(self) -> None: ...
623
+ def getHeight(self) -> float: ...
624
+ def getTopLayer(self) -> int: ...
625
+
626
+ class MakeTrench:
627
+ @overload
628
+ def __init__(
629
+ self,
630
+ domain: Domain,
631
+ trenchWidth: float,
632
+ trenchDepth: float,
633
+ trenchTaperAngle: float = 0.0,
634
+ maskHeight: float = 0.0,
635
+ maskTaperAngle: float = 0.0,
636
+ halfTrench: bool = False,
637
+ material: Material = Material.Si,
638
+ maskMaterial: Material = Material.Mask,
639
+ ) -> None: ...
640
+ @overload
641
+ def __init__(
642
+ self,
643
+ domain: Domain,
644
+ gridDelta: float,
645
+ xExtent: float,
646
+ yExtent: float,
647
+ trenchWidth: float,
648
+ trenchDepth: float,
649
+ taperingAngle: float = 0.0,
650
+ baseHeight: float = 0.0,
651
+ periodicBoundary: bool = False,
652
+ makeMask: bool = False,
653
+ material: Material = Material.Si,
654
+ ) -> None: ...
655
+ def apply(self) -> None: ...
656
+
657
+ class Material:
658
+ __members__: ClassVar[dict] = ... # read-only
659
+ Air: ClassVar[Material] = ...
660
+ Al2O3: ClassVar[Material] = ...
661
+ Cu: ClassVar[Material] = ...
662
+ Dielectric: ClassVar[Material] = ...
663
+ GAS: ClassVar[Material] = ...
664
+ GaN: ClassVar[Material] = ...
665
+ HfO2: ClassVar[Material] = ...
666
+ Mask: ClassVar[Material] = ...
667
+ Metal: ClassVar[Material] = ...
668
+ PolySi: ClassVar[Material] = ...
669
+ Polymer: ClassVar[Material] = ...
670
+ Si: ClassVar[Material] = ...
671
+ Si3N4: ClassVar[Material] = ...
672
+ SiC: ClassVar[Material] = ...
673
+ SiGe: ClassVar[Material] = ...
674
+ SiN: ClassVar[Material] = ...
675
+ SiO2: ClassVar[Material] = ...
676
+ SiON: ClassVar[Material] = ...
677
+ TiN: ClassVar[Material] = ...
678
+ Undefined: ClassVar[Material] = ...
679
+ W: ClassVar[Material] = ...
680
+ __entries: ClassVar[dict] = ...
681
+ def __init__(self, value: int) -> None: ...
682
+ def __eq__(self, other: object) -> bool: ...
683
+ def __hash__(self) -> int: ...
684
+ def __index__(self) -> int: ...
685
+ def __int__(self) -> int: ...
686
+ def __ne__(self, other: object) -> bool: ...
687
+ @property
688
+ def name(self) -> str: ...
689
+ @property
690
+ def value(self) -> int: ...
691
+
692
+ class MaterialMap:
693
+ def __init__(self) -> None: ...
694
+ def getMaterialAtIdx(self, arg0: int) -> Material: ...
695
+ def getMaterialMap(self) -> viennals3d.viennals3d.MaterialMap: ...
696
+ @staticmethod
697
+ def getMaterialName(arg0: Material) -> str: ...
698
+ def insertNextMaterial(self, material: Material = ...) -> None: ...
699
+ @staticmethod
700
+ def isMaterial(arg0: float, arg1: Material) -> bool: ...
701
+ @staticmethod
702
+ def mapToMaterial(arg0: float) -> Material: ...
703
+ def size(self) -> int: ...
704
+
705
+ class MultiParticleProcess(ProcessModel):
706
+ def __init__(self) -> None: ...
707
+ def addIonParticle(
708
+ self,
709
+ sourcePower: float,
710
+ thetaRMin: float = ...,
711
+ thetaRMax: float = ...,
712
+ minAngle: float = ...,
713
+ B_sp: float = ...,
714
+ meanEnergy: float = ...,
715
+ sigmaEnergy: float = ...,
716
+ thresholdEnergy: float = ...,
717
+ inflectAngle: float = ...,
718
+ n: float = ...,
719
+ label: str = ...,
720
+ ) -> None: ...
721
+ @overload
722
+ def addNeutralParticle(
723
+ self, stickingProbability: float, label: str = ...
724
+ ) -> None: ...
725
+ @overload
726
+ def addNeutralParticle(
727
+ self,
728
+ materialSticking: dict[Material, float],
729
+ defaultStickingProbability: float = ...,
730
+ label: str = ...,
731
+ ) -> None: ...
732
+ def setRateFunction(
733
+ self, arg0: Callable[[list[float], Material], float]
734
+ ) -> None: ...
735
+
736
+ class NormalizationType:
737
+ __members__: ClassVar[dict] = ... # read-only
738
+ MAX: ClassVar[NormalizationType] = ...
739
+ SOURCE: ClassVar[NormalizationType] = ...
740
+ __entries: ClassVar[dict] = ...
741
+ def __init__(self, value: int) -> None: ...
742
+ def __eq__(self, other: object) -> bool: ...
743
+ def __hash__(self) -> int: ...
744
+ def __index__(self) -> int: ...
745
+ def __int__(self) -> int: ...
746
+ def __ne__(self, other: object) -> bool: ...
747
+ @property
748
+ def name(self) -> str: ...
749
+ @property
750
+ def value(self) -> int: ...
751
+
752
+ class OxideRegrowth(ProcessModel):
753
+ def __init__(
754
+ self,
755
+ nitrideEtchRate: float,
756
+ oxideEtchRate: float,
757
+ redepositionRate: float,
758
+ redepositionThreshold: float,
759
+ redepositionTimeInt: float,
760
+ diffusionCoefficient: float,
761
+ sinkStrength: float,
762
+ scallopVelocity: float,
763
+ centerVelocity: float,
764
+ topHeight: float,
765
+ centerWidth: float,
766
+ stabilityFactor: float,
767
+ ) -> None: ...
768
+
769
+ class Particle:
770
+ def __init__(self, *args, **kwargs) -> None: ...
771
+ def getLocalDataLabels(self) -> list[str]: ...
772
+ def getSourceDistributionPower(self) -> float: ...
773
+ def initNew(self, *args, **kwargs): ...
774
+ def surfaceCollision(self, *args, **kwargs): ...
775
+ def surfaceReflection(self, *args, **kwargs): ...
776
+
777
+ class Planarize:
778
+ @overload
779
+ def __init__(self) -> None: ...
780
+ @overload
781
+ def __init__(self, geometry: Domain, cutoffHeight: float = ...) -> None: ...
782
+ def apply(self) -> None: ...
783
+ def setCutoffPosition(self, arg0: float) -> None: ...
784
+ def setDomain(self, arg0: Domain) -> None: ...
785
+
786
+ class Process:
787
+ def __init__(self) -> None: ...
788
+ def apply(self) -> None: ...
789
+ def calculateFlux(self) -> viennals3d.viennals3d.Mesh: ...
790
+ def disableAdvectionVelocityOutput(self) -> None: ...
791
+ def disableFluxSmoothing(self) -> None: ...
792
+ def disableRandomSeeds(self) -> None: ...
793
+ def enableAdvectionVelocityOutput(self) -> None: ...
794
+ def enableFluxSmoothing(self) -> None: ...
795
+ def enableRandomSeeds(self) -> None: ...
796
+ def getAdvectionParameters(self) -> AdvectionParameters: ...
797
+ def getProcessDuration(self) -> float: ...
798
+ def getRayTracingParameters(self) -> RayTracingParameters: ...
799
+ def setAdvectionParameters(self, arg0: AdvectionParameters) -> None: ...
800
+ def setCoverageDeltaThreshold(self, arg0: float) -> None: ...
801
+ def setDomain(self, *args, **kwargs): ...
802
+ def setIntegrationScheme(
803
+ self, arg0: viennals3d.viennals3d.IntegrationSchemeEnum
804
+ ) -> None: ...
805
+ def setMaxCoverageInitIterations(self, arg0: int) -> None: ...
806
+ def setNumberOfRaysPerPoint(self, arg0: int) -> None: ...
807
+ def setProcessDuration(self, arg0: float) -> None: ...
808
+ def setProcessModel(self, arg0: ProcessModel) -> None: ...
809
+ def setRayTracingDiskRadius(self, arg0: float) -> None: ...
810
+ def setRayTracingParameters(self, arg0: RayTracingParameters) -> None: ...
811
+ def setSourceDirection(self, arg0: rayTraceDirection) -> None: ...
812
+ def setTimeStepRatio(self, arg0: float) -> None: ...
813
+
814
+ class ProcessModel:
815
+ def __init__(self) -> None: ...
816
+ def getAdvectionCallback(self, *args, **kwargs): ...
817
+ def getGeometricModel(self, *args, **kwargs): ...
818
+ def getParticleLogSize(self, arg0: int) -> int: ...
819
+ def getParticleTypes(self, *args, **kwargs): ...
820
+ def getPrimaryDirection(self, *args, **kwargs): ...
821
+ def getProcessName(self) -> str | None: ...
822
+ def getSurfaceModel(self, *args, **kwargs): ...
823
+ def getVelocityField(self, *args, **kwargs): ...
824
+ def insertNextParticleType(self, arg0) -> None: ...
825
+ def setAdvectionCallback(self, *args, **kwargs): ...
826
+ def setGeometricModel(self, *args, **kwargs): ...
827
+ def setPrimaryDirection(self, arg0) -> None: ...
828
+ def setProcessName(self, arg0: str) -> None: ...
829
+ def setSurfaceModel(self, arg0) -> None: ...
830
+ def setVelocityField(self, *args, **kwargs): ...
831
+
832
+ class ProcessParams:
833
+ def __init__(self) -> None: ...
834
+ @overload
835
+ def getScalarData(self, arg0: int) -> float: ...
836
+ @overload
837
+ def getScalarData(self, arg0: int) -> float: ...
838
+ @overload
839
+ def getScalarData(self, arg0: str) -> float: ...
840
+ @overload
841
+ def getScalarData(self) -> list[float]: ...
842
+ @overload
843
+ def getScalarData(self) -> list[float]: ...
844
+ def getScalarDataIndex(self, arg0: str) -> int: ...
845
+ def getScalarDataLabel(self, arg0: int) -> str: ...
846
+ def insertNextScalar(self, arg0: float, arg1: str) -> None: ...
847
+
848
+ class RateSet:
849
+ calculateVisibility: bool
850
+ direction: Incomplete
851
+ directionalVelocity: float
852
+ isotropicVelocity: float
853
+ maskMaterials: list[Material]
854
+ def __init__(
855
+ self,
856
+ direction=...,
857
+ directionalVelocity: float = ...,
858
+ isotropicVelocity: float = ...,
859
+ maskMaterials: list[Material] = ...,
860
+ calculateVisibility: bool = ...,
861
+ ) -> None: ...
862
+ def print(self) -> None: ...
863
+
864
+ class RayTracingParameters:
865
+ diskRadius: float
866
+ ignoreFluxBoundaries: bool
867
+ normalizationType: NormalizationType
868
+ raysPerPoint: int
869
+ smoothingNeighbors: int
870
+ sourceDirection: rayTraceDirection
871
+ useRandomSeeds: bool
872
+ def __init__(self) -> None: ...
873
+
874
+ class SF6O2Etching(ProcessModel):
875
+ @overload
876
+ def __init__(self) -> None: ...
877
+ @overload
878
+ def __init__(
879
+ self,
880
+ ionFlux: float,
881
+ etchantFlux: float,
882
+ oxygenFlux: float,
883
+ meanIonEnergy: float = ...,
884
+ sigmaIonEnergy: float = ...,
885
+ ionExponent: float = ...,
886
+ oxySputterYield: float = ...,
887
+ etchStopDepth: float = ...,
888
+ ) -> None: ...
889
+ @overload
890
+ def __init__(self, parameters: SF6O2Parameters) -> None: ...
891
+ def getParameters(self) -> SF6O2Parameters: ...
892
+ def setParameters(self, arg0: SF6O2Parameters) -> None: ...
893
+
894
+ class SF6O2Parameters:
895
+ Ions: SF6O2ParametersIons
896
+ Mask: SF6O2ParametersMask
897
+ Passivation: SF6O2ParametersPassivation
898
+ Si: SF6O2ParametersSi
899
+ beta_F: dict[int, float]
900
+ beta_O: dict[int, float]
901
+ etchStopDepth: float
902
+ etchantFlux: float
903
+ fluxIncludeSticking: bool
904
+ ionFlux: float
905
+ oxygenFlux: float
906
+ def __init__(self) -> None: ...
907
+
908
+ class SF6O2ParametersIons:
909
+ exponent: float
910
+ inflectAngle: float
911
+ meanEnergy: float
912
+ minAngle: float
913
+ n_l: float
914
+ sigmaEnergy: float
915
+ thetaRMin: float
916
+ thetaRMax: float
917
+ def __init__(self) -> None: ...
918
+
919
+ class SF6O2ParametersMask:
920
+ A_sp: float
921
+ B_sp: float
922
+ Eth_sp: float
923
+ rho: float
924
+ def __init__(self) -> None: ...
925
+
926
+ class SF6O2ParametersPassivation:
927
+ A_ie: float
928
+ Eth_ie: float
929
+ def __init__(self) -> None: ...
930
+
931
+ class SF6O2ParametersSi:
932
+ A_ie: float
933
+ A_sp: float
934
+ B_ie: float
935
+ B_sp: float
936
+ Eth_ie: float
937
+ Eth_sp: float
938
+ beta_sigma: float
939
+ k_sigma: float
940
+ rho: float
941
+ theta_g_ie: float
942
+ theta_g_sp: float
943
+ def __init__(self) -> None: ...
944
+
945
+ class SingleParticleALD(ProcessModel):
946
+ def __init__(
947
+ self,
948
+ stickingProbability: float,
949
+ numCycles: float,
950
+ growthPerCycle: float,
951
+ totalCycles: float,
952
+ coverageTimeStep: float,
953
+ evFlux: float,
954
+ inFlux: float,
955
+ s0: float,
956
+ gasMFP: float,
957
+ ) -> None: ...
958
+
959
+ class SingleParticleProcess(ProcessModel):
960
+ @overload
961
+ def __init__(
962
+ self,
963
+ rate: float = ...,
964
+ stickingProbability: float = ...,
965
+ sourceExponent: float = ...,
966
+ maskMaterial: Material = ...,
967
+ ) -> None: ...
968
+ @overload
969
+ def __init__(
970
+ self,
971
+ rate: float,
972
+ stickingProbability: float,
973
+ sourceExponent: float,
974
+ maskMaterials: list[Material],
975
+ ) -> None: ...
976
+ @overload
977
+ def __init__(
978
+ self,
979
+ materialRates: dict[Material, float],
980
+ stickingProbability: float,
981
+ sourceExponent: float,
982
+ ) -> None: ...
983
+
984
+ class SphereDistribution(ProcessModel):
985
+ @overload
986
+ def __init__(
987
+ self, radius: float, gridDelta: float, mask: viennals3d.viennals3d.Domain
988
+ ) -> None: ...
989
+ @overload
990
+ def __init__(self, radius: float, gridDelta: float) -> None: ...
991
+
992
+ class TEOSDeposition(ProcessModel):
993
+ def __init__(
994
+ self,
995
+ stickingProbabilityP1: float,
996
+ rateP1: float,
997
+ orderP1: float,
998
+ stickingProbabilityP2: float = ...,
999
+ rateP2: float = ...,
1000
+ orderP2: float = ...,
1001
+ ) -> None: ...
1002
+
1003
+ class TEOSPECVD(ProcessModel):
1004
+ def __init__(
1005
+ self,
1006
+ stickingProbabilityRadical: float,
1007
+ depositionRateRadical: float,
1008
+ depositionRateIon: float,
1009
+ exponentIon: float,
1010
+ stickingProbabilityIon: float = ...,
1011
+ reactionOrderRadical: float = ...,
1012
+ reactionOrderIon: float = ...,
1013
+ minAngleIon: float = ...,
1014
+ ) -> None: ...
1015
+
1016
+ class Time:
1017
+ def __init__(self, *args, **kwargs) -> None: ...
1018
+ def convertMillisecond(self) -> float: ...
1019
+ def convertMinute(self) -> float: ...
1020
+ def convertSecond(self) -> float: ...
1021
+ @staticmethod
1022
+ def getInstance() -> Time: ...
1023
+ @staticmethod
1024
+ def setUnit(arg0: str) -> None: ...
1025
+ def toShortString(self) -> str: ...
1026
+ def toString(self) -> str: ...
1027
+
1028
+ class ToDiskMesh:
1029
+ @overload
1030
+ def __init__(self, domain: Domain, mesh: viennals3d.viennals3d.Mesh) -> None: ...
1031
+ @overload
1032
+ def __init__(self) -> None: ...
1033
+ def setDomain(self, arg0: Domain) -> None: ...
1034
+ def setMesh(self, arg0: viennals3d.viennals3d.Mesh) -> None: ...
1035
+
1036
+ class rayTraceDirection:
1037
+ __members__: ClassVar[dict] = ... # read-only
1038
+ NEG_X: ClassVar[rayTraceDirection] = ...
1039
+ NEG_Y: ClassVar[rayTraceDirection] = ...
1040
+ NEG_Z: ClassVar[rayTraceDirection] = ...
1041
+ POS_X: ClassVar[rayTraceDirection] = ...
1042
+ POS_Y: ClassVar[rayTraceDirection] = ...
1043
+ POS_Z: ClassVar[rayTraceDirection] = ...
1044
+ __entries: ClassVar[dict] = ...
1045
+ def __init__(self, value: int) -> None: ...
1046
+ def __eq__(self, other: object) -> bool: ...
1047
+ def __hash__(self) -> int: ...
1048
+ def __index__(self) -> int: ...
1049
+ def __int__(self) -> int: ...
1050
+ def __ne__(self, other: object) -> bool: ...
1051
+ @property
1052
+ def name(self) -> str: ...
1053
+ @property
1054
+ def value(self) -> int: ...
1055
+
1056
+ def setNumThreads(arg0: int) -> None: ...