ViennaPS 3.3.0__cp310-cp310-win_amd64.whl → 3.5.0__cp310-cp310-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.3.0.dist-info → viennaps-3.5.0.dist-info}/METADATA +67 -50
- viennaps-3.5.0.dist-info/RECORD +55 -0
- {viennaps-3.3.0.dist-info → viennaps-3.5.0.dist-info}/WHEEL +1 -1
- viennaps.libs/embree4.dll +0 -0
- viennaps.libs/embree4.exp +0 -0
- viennaps.libs/embree4.lib +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/tbb12.exp +0 -0
- viennaps.libs/tbb12.lib +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/__init__.py +15 -2
- viennaps2d/viennaps2d.cp310-win_amd64.pyd +0 -0
- viennaps2d/viennaps2d.pyi +313 -85
- viennaps3d/Release/viennaps3d.cp310-win_amd64.pyd +0 -0
- viennaps3d/__init__.py +15 -2
- viennaps3d/viennaps3d/gpu.pyi +111 -0
- viennaps3d/viennaps3d.cp310-win_amd64.pyd +0 -0
- viennaps3d/viennaps3d.pyi +290 -90
- viennaps-3.3.0.dist-info/RECORD +0 -54
- {viennaps-3.3.0.dist-info → viennaps-3.5.0.dist-info}/licenses/LICENSE +0 -0
viennaps2d/viennaps2d.pyi
CHANGED
|
@@ -7,7 +7,7 @@ __version__: str
|
|
|
7
7
|
version: str
|
|
8
8
|
|
|
9
9
|
class AdvectionCallback:
|
|
10
|
-
domain:
|
|
10
|
+
domain: Incomplete
|
|
11
11
|
def __init__(self) -> None: ...
|
|
12
12
|
def applyPostAdvect(self, arg0: float) -> bool: ...
|
|
13
13
|
def applyPreAdvect(self, arg0: float) -> bool: ...
|
|
@@ -51,7 +51,7 @@ class AtomicLayerProcess:
|
|
|
51
51
|
def setNumberOfRaysPerPoint(self, arg0: int) -> None: ...
|
|
52
52
|
def setProcessModel(self, arg0: ProcessModel) -> None: ...
|
|
53
53
|
def setPulseTime(self, arg0: float) -> None: ...
|
|
54
|
-
def setSourceDirection(self, arg0
|
|
54
|
+
def setSourceDirection(self, arg0) -> None: ...
|
|
55
55
|
|
|
56
56
|
class BoxDistribution(ProcessModel):
|
|
57
57
|
@overload
|
|
@@ -61,7 +61,159 @@ class BoxDistribution(ProcessModel):
|
|
|
61
61
|
@overload
|
|
62
62
|
def __init__(self, halfAxes, gridDelta: float) -> None: ...
|
|
63
63
|
|
|
64
|
-
class
|
|
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 CSVFileProcess(ProcessModel):
|
|
151
|
+
def __init__(
|
|
152
|
+
self,
|
|
153
|
+
ratesFile: str,
|
|
154
|
+
direction,
|
|
155
|
+
offset,
|
|
156
|
+
isotropicComponent: float = ...,
|
|
157
|
+
directionalComponent: float = ...,
|
|
158
|
+
maskMaterials: list[Material] = ...,
|
|
159
|
+
calculateVisibility: bool = ...,
|
|
160
|
+
) -> None: ...
|
|
161
|
+
def setCustomInterpolator(self, function: Callable) -> None: ...
|
|
162
|
+
def setIDWNeighbors(self, k: int = ...) -> None: ...
|
|
163
|
+
@overload
|
|
164
|
+
def setInterpolationMode(self, mode: Interpolation) -> None: ...
|
|
165
|
+
@overload
|
|
166
|
+
def setInterpolationMode(self, mode: str) -> None: ...
|
|
167
|
+
def setOffset(self, offset) -> None: ...
|
|
168
|
+
|
|
169
|
+
class DenseCellSet:
|
|
170
|
+
def __init__(self) -> None: ...
|
|
171
|
+
@overload
|
|
172
|
+
def addFillingFraction(self, arg0: int, arg1: float) -> bool: ...
|
|
173
|
+
@overload
|
|
174
|
+
def addFillingFraction(self, arg0, arg1: float) -> bool: ...
|
|
175
|
+
def addFillingFractionInMaterial(self, arg0, arg1: float, arg2: int) -> bool: ...
|
|
176
|
+
def addScalarData(self, arg0: str, arg1: float) -> None: ...
|
|
177
|
+
def buildNeighborhood(self, forceRebuild: bool = ...) -> None: ...
|
|
178
|
+
def clear(self) -> None: ...
|
|
179
|
+
def fromLevelSets(
|
|
180
|
+
self,
|
|
181
|
+
levelSets: list[viennals2d.viennals2d.Domain],
|
|
182
|
+
materialMap: viennals2d.viennals2d.MaterialMap = ...,
|
|
183
|
+
depth: float = ...,
|
|
184
|
+
) -> None: ...
|
|
185
|
+
def getAverageFillingFraction(self, arg0, arg1: float) -> float: ...
|
|
186
|
+
def getBoundingBox(self, *args, **kwargs): ...
|
|
187
|
+
def getCellCenter(self, *args, **kwargs): ...
|
|
188
|
+
def getCellGrid(self) -> viennals2d.viennals2d.Mesh: ...
|
|
189
|
+
def getDepth(self) -> float: ...
|
|
190
|
+
def getElement(self, *args, **kwargs): ...
|
|
191
|
+
def getElements(self, *args, **kwargs): ...
|
|
192
|
+
def getFillingFraction(self, arg0) -> float: ...
|
|
193
|
+
def getFillingFractions(self) -> list[float]: ...
|
|
194
|
+
def getGridDelta(self) -> float: ...
|
|
195
|
+
def getIndex(self, arg0) -> int: ...
|
|
196
|
+
def getNeighbors(self, *args, **kwargs): ...
|
|
197
|
+
def getNode(self, *args, **kwargs): ...
|
|
198
|
+
def getNodes(self, *args, **kwargs): ...
|
|
199
|
+
def getNumberOfCells(self) -> int: ...
|
|
200
|
+
def getScalarData(self, arg0: str) -> list[float]: ...
|
|
201
|
+
def getScalarDataLabels(self) -> list[str]: ...
|
|
202
|
+
def getSurface(self) -> viennals2d.viennals2d.Domain: ...
|
|
203
|
+
def readCellSetData(self, arg0: str) -> None: ...
|
|
204
|
+
def setCellSetPosition(self, arg0: bool) -> None: ...
|
|
205
|
+
def setCoverMaterial(self, arg0: int) -> None: ...
|
|
206
|
+
@overload
|
|
207
|
+
def setFillingFraction(self, arg0: int, arg1: float) -> bool: ...
|
|
208
|
+
@overload
|
|
209
|
+
def setFillingFraction(self, arg0, arg1: float) -> bool: ...
|
|
210
|
+
def setPeriodicBoundary(self, arg0) -> None: ...
|
|
211
|
+
def updateMaterials(self) -> None: ...
|
|
212
|
+
def updateSurface(self) -> None: ...
|
|
213
|
+
def writeCellSetData(self, arg0: str) -> None: ...
|
|
214
|
+
def writeVTU(self, arg0: str) -> None: ...
|
|
215
|
+
|
|
216
|
+
class DirectionalProcess(ProcessModel):
|
|
65
217
|
@overload
|
|
66
218
|
def __init__(
|
|
67
219
|
self,
|
|
@@ -95,12 +247,18 @@ class Domain:
|
|
|
95
247
|
self,
|
|
96
248
|
gridDelta: float,
|
|
97
249
|
xExtent: float,
|
|
250
|
+
yExtent: float,
|
|
98
251
|
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
99
252
|
) -> None: ...
|
|
100
|
-
|
|
253
|
+
@overload
|
|
254
|
+
def __init__(
|
|
101
255
|
self,
|
|
102
|
-
|
|
103
|
-
|
|
256
|
+
gridDelta: float,
|
|
257
|
+
xExtent: float,
|
|
258
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
259
|
+
) -> None: ...
|
|
260
|
+
def applyBooleanOperation(
|
|
261
|
+
self, arg0: viennals2d.viennals2d.Domain, arg1
|
|
104
262
|
) -> None: ...
|
|
105
263
|
def clear(self) -> None: ...
|
|
106
264
|
def deepCopy(self, arg0: Domain) -> None: ...
|
|
@@ -108,8 +266,8 @@ class Domain:
|
|
|
108
266
|
def generateCellSet(self, arg0: float, arg1: Material, arg2: bool) -> None: ...
|
|
109
267
|
def getBoundaryConditions(self, *args, **kwargs): ...
|
|
110
268
|
def getBoundingBox(self, *args, **kwargs): ...
|
|
111
|
-
def getCellSet(self
|
|
112
|
-
def getGrid(self
|
|
269
|
+
def getCellSet(self) -> DenseCellSet: ...
|
|
270
|
+
def getGrid(self) -> viennals2d.viennals2d.hrleGrid: ...
|
|
113
271
|
def getGridDelta(self) -> float: ...
|
|
114
272
|
def getLevelSets(self) -> list[viennals2d.viennals2d.Domain]: ...
|
|
115
273
|
def getMaterialMap(self, *args, **kwargs): ...
|
|
@@ -209,7 +367,7 @@ class DomainSetup:
|
|
|
209
367
|
def boundaryCons(self, *args, **kwargs): ...
|
|
210
368
|
def bounds(self, *args, **kwargs): ...
|
|
211
369
|
def check(self) -> None: ...
|
|
212
|
-
def grid(self
|
|
370
|
+
def grid(self) -> viennals2d.viennals2d.hrleGrid: ...
|
|
213
371
|
def gridDelta(self) -> float: ...
|
|
214
372
|
def halveXAxis(self) -> None: ...
|
|
215
373
|
def halveYAxis(self) -> None: ...
|
|
@@ -346,6 +504,40 @@ class FluorocarbonParametersSiO2:
|
|
|
346
504
|
rho: float
|
|
347
505
|
def __init__(self) -> None: ...
|
|
348
506
|
|
|
507
|
+
class GDSGeometry:
|
|
508
|
+
@overload
|
|
509
|
+
def __init__(self) -> None: ...
|
|
510
|
+
@overload
|
|
511
|
+
def __init__(self, gridDelta: float) -> None: ...
|
|
512
|
+
@overload
|
|
513
|
+
def __init__(self, gridDelta: float, boundaryConditions) -> None: ...
|
|
514
|
+
def addBlur(
|
|
515
|
+
self,
|
|
516
|
+
sigmas: list[float],
|
|
517
|
+
weights: list[float],
|
|
518
|
+
threshold: float = ...,
|
|
519
|
+
delta: float = ...,
|
|
520
|
+
gridRefinement: int = ...,
|
|
521
|
+
) -> None: ...
|
|
522
|
+
def getAllLayers(self) -> set[int]: ...
|
|
523
|
+
def getBounds(self, *args, **kwargs): ...
|
|
524
|
+
def getNumberOfStructures(self) -> int: ...
|
|
525
|
+
def layerToLevelSet(
|
|
526
|
+
self, layer: int, blurLayer: bool = ...
|
|
527
|
+
) -> viennals2d.viennals2d.Domain: ...
|
|
528
|
+
def print(self) -> None: ...
|
|
529
|
+
def setBoundaryConditions(
|
|
530
|
+
self, arg0: list[viennals2d.viennals2d.BoundaryConditionEnum]
|
|
531
|
+
) -> None: ...
|
|
532
|
+
def setBoundaryPadding(self, arg0: float, arg1: float) -> None: ...
|
|
533
|
+
def setGridDelta(self, arg0: float) -> None: ...
|
|
534
|
+
|
|
535
|
+
class GDSReader:
|
|
536
|
+
def __init__(self) -> None: ...
|
|
537
|
+
def apply(self) -> None: ...
|
|
538
|
+
def setFileName(self, arg0: str) -> None: ...
|
|
539
|
+
def setGeometry(self, *args, **kwargs): ...
|
|
540
|
+
|
|
349
541
|
class GeometryFactory:
|
|
350
542
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
351
543
|
def makeBoxStencil(
|
|
@@ -357,6 +549,28 @@ class GeometryFactory:
|
|
|
357
549
|
def makeMask(self, base: float, height: float) -> viennals2d.viennals2d.Domain: ...
|
|
358
550
|
def makeSubstrate(self, base: float) -> viennals2d.viennals2d.Domain: ...
|
|
359
551
|
|
|
552
|
+
class HBrO2Etching(ProcessModel):
|
|
553
|
+
@overload
|
|
554
|
+
def __init__(self) -> None: ...
|
|
555
|
+
@overload
|
|
556
|
+
def __init__(
|
|
557
|
+
self,
|
|
558
|
+
ionFlux: float,
|
|
559
|
+
etchantFlux: float,
|
|
560
|
+
oxygenFlux: float,
|
|
561
|
+
meanIonEnergy: float = ...,
|
|
562
|
+
sigmaIonEnergy: float = ...,
|
|
563
|
+
ionExponent: float = ...,
|
|
564
|
+
oxySputterYield: float = ...,
|
|
565
|
+
etchStopDepth: float = ...,
|
|
566
|
+
) -> None: ...
|
|
567
|
+
@overload
|
|
568
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
569
|
+
@staticmethod
|
|
570
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
571
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
572
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
573
|
+
|
|
360
574
|
class HoleShape:
|
|
361
575
|
__members__: ClassVar[dict] = ... # read-only
|
|
362
576
|
Full: ClassVar[HoleShape] = ...
|
|
@@ -377,6 +591,7 @@ class HoleShape:
|
|
|
377
591
|
class IBEParameters:
|
|
378
592
|
exponent: float
|
|
379
593
|
inflectAngle: float
|
|
594
|
+
materialPlaneWaferRate: dict[Material, float]
|
|
380
595
|
meanEnergy: float
|
|
381
596
|
minAngle: float
|
|
382
597
|
n_l: float
|
|
@@ -389,6 +604,23 @@ class IBEParameters:
|
|
|
389
604
|
yieldFunction: Callable[[float], float]
|
|
390
605
|
def __init__(self) -> None: ...
|
|
391
606
|
|
|
607
|
+
class Interpolation:
|
|
608
|
+
__members__: ClassVar[dict] = ... # read-only
|
|
609
|
+
CUSTOM: ClassVar[Interpolation] = ...
|
|
610
|
+
IDW: ClassVar[Interpolation] = ...
|
|
611
|
+
LINEAR: ClassVar[Interpolation] = ...
|
|
612
|
+
__entries: ClassVar[dict] = ...
|
|
613
|
+
def __init__(self, value: int) -> None: ...
|
|
614
|
+
def __eq__(self, other: object) -> bool: ...
|
|
615
|
+
def __hash__(self) -> int: ...
|
|
616
|
+
def __index__(self) -> int: ...
|
|
617
|
+
def __int__(self) -> int: ...
|
|
618
|
+
def __ne__(self, other: object) -> bool: ...
|
|
619
|
+
@property
|
|
620
|
+
def name(self) -> str: ...
|
|
621
|
+
@property
|
|
622
|
+
def value(self) -> int: ...
|
|
623
|
+
|
|
392
624
|
class IonBeamEtching(ProcessModel):
|
|
393
625
|
@overload
|
|
394
626
|
def __init__(self) -> None: ...
|
|
@@ -618,6 +850,7 @@ class Material:
|
|
|
618
850
|
Dielectric: ClassVar[Material] = ...
|
|
619
851
|
GAS: ClassVar[Material] = ...
|
|
620
852
|
GaN: ClassVar[Material] = ...
|
|
853
|
+
HfO2: ClassVar[Material] = ...
|
|
621
854
|
Mask: ClassVar[Material] = ...
|
|
622
855
|
Metal: ClassVar[Material] = ...
|
|
623
856
|
PolySi: ClassVar[Material] = ...
|
|
@@ -725,8 +958,10 @@ class Particle:
|
|
|
725
958
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
726
959
|
def getLocalDataLabels(self) -> list[str]: ...
|
|
727
960
|
def getSourceDistributionPower(self) -> float: ...
|
|
728
|
-
def initNew(self,
|
|
729
|
-
def surfaceCollision(
|
|
961
|
+
def initNew(self, arg0) -> None: ...
|
|
962
|
+
def surfaceCollision(
|
|
963
|
+
self, arg0: float, arg1, arg2, arg3: int, arg4: int, arg5, arg6, arg7
|
|
964
|
+
) -> None: ...
|
|
730
965
|
def surfaceReflection(self, *args, **kwargs): ...
|
|
731
966
|
|
|
732
967
|
class Planarize:
|
|
@@ -738,6 +973,54 @@ class Planarize:
|
|
|
738
973
|
def setCutoffPosition(self, arg0: float) -> None: ...
|
|
739
974
|
def setDomain(self, arg0: Domain) -> None: ...
|
|
740
975
|
|
|
976
|
+
class PlasmaEtchingParameters:
|
|
977
|
+
Ions: PlasmaEtchingParametersIons
|
|
978
|
+
Mask: PlasmaEtchingParametersMask
|
|
979
|
+
Passivation: PlasmaEtchingParametersPassivation
|
|
980
|
+
Substrate: PlasmaEtchingParametersSubstrate
|
|
981
|
+
beta_E: dict[int, float]
|
|
982
|
+
beta_P: dict[int, float]
|
|
983
|
+
etchStopDepth: float
|
|
984
|
+
etchantFlux: float
|
|
985
|
+
ionFlux: float
|
|
986
|
+
passivationFlux: float
|
|
987
|
+
def __init__(self) -> None: ...
|
|
988
|
+
|
|
989
|
+
class PlasmaEtchingParametersIons:
|
|
990
|
+
exponent: float
|
|
991
|
+
inflectAngle: float
|
|
992
|
+
meanEnergy: float
|
|
993
|
+
minAngle: float
|
|
994
|
+
n_l: float
|
|
995
|
+
sigmaEnergy: float
|
|
996
|
+
thetaRMax: float
|
|
997
|
+
thetaRMin: float
|
|
998
|
+
def __init__(self) -> None: ...
|
|
999
|
+
|
|
1000
|
+
class PlasmaEtchingParametersMask:
|
|
1001
|
+
A_sp: float
|
|
1002
|
+
B_sp: float
|
|
1003
|
+
Eth_sp: float
|
|
1004
|
+
rho: float
|
|
1005
|
+
def __init__(self) -> None: ...
|
|
1006
|
+
|
|
1007
|
+
class PlasmaEtchingParametersPassivation:
|
|
1008
|
+
A_ie: float
|
|
1009
|
+
Eth_ie: float
|
|
1010
|
+
def __init__(self) -> None: ...
|
|
1011
|
+
|
|
1012
|
+
class PlasmaEtchingParametersSubstrate:
|
|
1013
|
+
A_ie: float
|
|
1014
|
+
A_sp: float
|
|
1015
|
+
B_ie: float
|
|
1016
|
+
B_sp: float
|
|
1017
|
+
Eth_ie: float
|
|
1018
|
+
Eth_sp: float
|
|
1019
|
+
beta_sigma: float
|
|
1020
|
+
k_sigma: float
|
|
1021
|
+
rho: float
|
|
1022
|
+
def __init__(self) -> None: ...
|
|
1023
|
+
|
|
741
1024
|
class Process:
|
|
742
1025
|
def __init__(self) -> None: ...
|
|
743
1026
|
def apply(self) -> None: ...
|
|
@@ -763,7 +1046,7 @@ class Process:
|
|
|
763
1046
|
def setProcessModel(self, arg0: ProcessModel) -> None: ...
|
|
764
1047
|
def setRayTracingDiskRadius(self, arg0: float) -> None: ...
|
|
765
1048
|
def setRayTracingParameters(self, arg0: RayTracingParameters) -> None: ...
|
|
766
|
-
def setSourceDirection(self, arg0
|
|
1049
|
+
def setSourceDirection(self, arg0) -> None: ...
|
|
767
1050
|
def setTimeStepRatio(self, arg0: float) -> None: ...
|
|
768
1051
|
|
|
769
1052
|
class ProcessModel:
|
|
@@ -800,6 +1083,18 @@ class ProcessParams:
|
|
|
800
1083
|
def getScalarDataLabel(self, arg0: int) -> str: ...
|
|
801
1084
|
def insertNextScalar(self, arg0: float, arg1: str) -> None: ...
|
|
802
1085
|
|
|
1086
|
+
class RateGrid:
|
|
1087
|
+
def __init__(self) -> None: ...
|
|
1088
|
+
def interpolate(self, coord) -> float: ...
|
|
1089
|
+
def loadFromCSV(self, filename: str) -> bool: ...
|
|
1090
|
+
def setCustomInterpolator(self, function: Callable) -> None: ...
|
|
1091
|
+
def setIDWNeighbors(self, k: int) -> None: ...
|
|
1092
|
+
@overload
|
|
1093
|
+
def setInterpolationMode(self, mode: Interpolation) -> None: ...
|
|
1094
|
+
@overload
|
|
1095
|
+
def setInterpolationMode(self, mode: str) -> None: ...
|
|
1096
|
+
def setOffset(self, offset) -> None: ...
|
|
1097
|
+
|
|
803
1098
|
class RateSet:
|
|
804
1099
|
calculateVisibility: bool
|
|
805
1100
|
direction: Incomplete
|
|
@@ -822,7 +1117,7 @@ class RayTracingParameters:
|
|
|
822
1117
|
normalizationType: NormalizationType
|
|
823
1118
|
raysPerPoint: int
|
|
824
1119
|
smoothingNeighbors: int
|
|
825
|
-
sourceDirection:
|
|
1120
|
+
sourceDirection: Incomplete
|
|
826
1121
|
useRandomSeeds: bool
|
|
827
1122
|
def __init__(self) -> None: ...
|
|
828
1123
|
|
|
@@ -842,58 +1137,11 @@ class SF6O2Etching(ProcessModel):
|
|
|
842
1137
|
etchStopDepth: float = ...,
|
|
843
1138
|
) -> None: ...
|
|
844
1139
|
@overload
|
|
845
|
-
def __init__(self, parameters:
|
|
846
|
-
|
|
847
|
-
def
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
Ions: SF6O2ParametersIons
|
|
851
|
-
Mask: SF6O2ParametersMask
|
|
852
|
-
Passivation: SF6O2ParametersPassivation
|
|
853
|
-
Si: SF6O2ParametersSi
|
|
854
|
-
beta_F: dict[int, float]
|
|
855
|
-
beta_O: dict[int, float]
|
|
856
|
-
etchStopDepth: float
|
|
857
|
-
etchantFlux: float
|
|
858
|
-
fluxIncludeSticking: bool
|
|
859
|
-
ionFlux: float
|
|
860
|
-
oxygenFlux: float
|
|
861
|
-
def __init__(self) -> None: ...
|
|
862
|
-
|
|
863
|
-
class SF6O2ParametersIons:
|
|
864
|
-
exponent: float
|
|
865
|
-
inflectAngle: float
|
|
866
|
-
meanEnergy: float
|
|
867
|
-
minAngle: float
|
|
868
|
-
n_l: float
|
|
869
|
-
sigmaEnergy: float
|
|
870
|
-
def __init__(self) -> None: ...
|
|
871
|
-
|
|
872
|
-
class SF6O2ParametersMask:
|
|
873
|
-
A_sp: float
|
|
874
|
-
B_sp: float
|
|
875
|
-
Eth_sp: float
|
|
876
|
-
rho: float
|
|
877
|
-
def __init__(self) -> None: ...
|
|
878
|
-
|
|
879
|
-
class SF6O2ParametersPassivation:
|
|
880
|
-
A_ie: float
|
|
881
|
-
Eth_ie: float
|
|
882
|
-
def __init__(self) -> None: ...
|
|
883
|
-
|
|
884
|
-
class SF6O2ParametersSi:
|
|
885
|
-
A_ie: float
|
|
886
|
-
A_sp: float
|
|
887
|
-
B_ie: float
|
|
888
|
-
B_sp: float
|
|
889
|
-
Eth_ie: float
|
|
890
|
-
Eth_sp: float
|
|
891
|
-
beta_sigma: float
|
|
892
|
-
k_sigma: float
|
|
893
|
-
rho: float
|
|
894
|
-
theta_g_ie: float
|
|
895
|
-
theta_g_sp: float
|
|
896
|
-
def __init__(self) -> None: ...
|
|
1140
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
1141
|
+
@staticmethod
|
|
1142
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
1143
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
1144
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
897
1145
|
|
|
898
1146
|
class SingleParticleALD(ProcessModel):
|
|
899
1147
|
def __init__(
|
|
@@ -986,24 +1234,4 @@ class ToDiskMesh:
|
|
|
986
1234
|
def setDomain(self, arg0: Domain) -> None: ...
|
|
987
1235
|
def setMesh(self, arg0: viennals2d.viennals2d.Mesh) -> None: ...
|
|
988
1236
|
|
|
989
|
-
class rayTraceDirection:
|
|
990
|
-
__members__: ClassVar[dict] = ... # read-only
|
|
991
|
-
NEG_X: ClassVar[rayTraceDirection] = ...
|
|
992
|
-
NEG_Y: ClassVar[rayTraceDirection] = ...
|
|
993
|
-
NEG_Z: ClassVar[rayTraceDirection] = ...
|
|
994
|
-
POS_X: ClassVar[rayTraceDirection] = ...
|
|
995
|
-
POS_Y: ClassVar[rayTraceDirection] = ...
|
|
996
|
-
POS_Z: ClassVar[rayTraceDirection] = ...
|
|
997
|
-
__entries: ClassVar[dict] = ...
|
|
998
|
-
def __init__(self, value: int) -> None: ...
|
|
999
|
-
def __eq__(self, other: object) -> bool: ...
|
|
1000
|
-
def __hash__(self) -> int: ...
|
|
1001
|
-
def __index__(self) -> int: ...
|
|
1002
|
-
def __int__(self) -> int: ...
|
|
1003
|
-
def __ne__(self, other: object) -> bool: ...
|
|
1004
|
-
@property
|
|
1005
|
-
def name(self) -> str: ...
|
|
1006
|
-
@property
|
|
1007
|
-
def value(self) -> int: ...
|
|
1008
|
-
|
|
1009
1237
|
def setNumThreads(arg0: int) -> None: ...
|
|
Binary file
|
viennaps3d/__init__.py
CHANGED
|
@@ -24,6 +24,15 @@ def _windows_dll_path():
|
|
|
24
24
|
os.add_dll_directory(path)
|
|
25
25
|
os.environ["PATH"] = path + os.pathsep + os.environ["PATH"]
|
|
26
26
|
|
|
27
|
+
def _module_ptx_path():
|
|
28
|
+
from importlib.util import find_spec
|
|
29
|
+
import os
|
|
30
|
+
|
|
31
|
+
spec = find_spec("viennaps3d")
|
|
32
|
+
install_path = os.path.dirname(os.path.abspath(spec.origin))
|
|
33
|
+
return os.path.join(install_path, "ptx")
|
|
34
|
+
|
|
35
|
+
|
|
27
36
|
if sys.platform == "win32":
|
|
28
37
|
_windows_dll_path()
|
|
29
38
|
|
|
@@ -32,6 +41,9 @@ from viennals3d import IntegrationSchemeEnum as IntegrationScheme
|
|
|
32
41
|
from viennals3d import BoundaryConditionEnum as BoundaryType
|
|
33
42
|
from .viennaps3d import *
|
|
34
43
|
|
|
44
|
+
if D == 3:
|
|
45
|
+
ptxPath = _module_ptx_path()
|
|
46
|
+
|
|
35
47
|
# Config file reader helper function
|
|
36
48
|
def ReadConfigFile(fileName: str):
|
|
37
49
|
"""Read a config file in the ViennaPS standard config file format.
|
|
@@ -39,7 +51,7 @@ def ReadConfigFile(fileName: str):
|
|
|
39
51
|
Parameters
|
|
40
52
|
----------
|
|
41
53
|
fileName: str
|
|
42
|
-
|
|
54
|
+
Name of the config file.
|
|
43
55
|
|
|
44
56
|
Returns
|
|
45
57
|
-------
|
|
@@ -60,7 +72,8 @@ def ReadConfigFile(fileName: str):
|
|
|
60
72
|
|
|
61
73
|
try:
|
|
62
74
|
val = float(par_value)
|
|
63
|
-
except:
|
|
75
|
+
except:
|
|
76
|
+
val = par_value
|
|
64
77
|
|
|
65
78
|
par_dict[par_name] = val
|
|
66
79
|
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import viennals3d.viennals3d
|
|
2
|
+
import viennaps3d.viennaps3d
|
|
3
|
+
from typing import Callable, overload
|
|
4
|
+
|
|
5
|
+
class Context:
|
|
6
|
+
deviceID: int
|
|
7
|
+
def __init__(self) -> None: ...
|
|
8
|
+
def addModule(self, arg0: str) -> None: ...
|
|
9
|
+
def create(self, modulePath: Path = ..., deviceID: int = ...) -> None: ...
|
|
10
|
+
def destroy(self) -> None: ...
|
|
11
|
+
|
|
12
|
+
class MultiParticleProcess(ProcessModel):
|
|
13
|
+
def __init__(self) -> None: ...
|
|
14
|
+
def addIonParticle(
|
|
15
|
+
self,
|
|
16
|
+
sourcePower: float,
|
|
17
|
+
thetaRMin: float = ...,
|
|
18
|
+
thetaRMax: float = ...,
|
|
19
|
+
minAngle: float = ...,
|
|
20
|
+
B_sp: float = ...,
|
|
21
|
+
meanEnergy: float = ...,
|
|
22
|
+
sigmaEnergy: float = ...,
|
|
23
|
+
thresholdEnergy: float = ...,
|
|
24
|
+
inflectAngle: float = ...,
|
|
25
|
+
n: float = ...,
|
|
26
|
+
label: str = ...,
|
|
27
|
+
) -> None: ...
|
|
28
|
+
@overload
|
|
29
|
+
def addNeutralParticle(
|
|
30
|
+
self, stickingProbability: float, label: str = ...
|
|
31
|
+
) -> None: ...
|
|
32
|
+
@overload
|
|
33
|
+
def addNeutralParticle(
|
|
34
|
+
self,
|
|
35
|
+
materialSticking: dict[viennaps3d.viennaps3d.Material, float],
|
|
36
|
+
defaultStickingProbability: float = ...,
|
|
37
|
+
label: str = ...,
|
|
38
|
+
) -> None: ...
|
|
39
|
+
def setRateFunction(
|
|
40
|
+
self, arg0: Callable[[list[float], viennaps3d.viennaps3d.Material], float]
|
|
41
|
+
) -> None: ...
|
|
42
|
+
|
|
43
|
+
class Path:
|
|
44
|
+
def __init__(self, arg0: str) -> None: ...
|
|
45
|
+
|
|
46
|
+
class Process:
|
|
47
|
+
@overload
|
|
48
|
+
def __init__(self, context: Context) -> None: ...
|
|
49
|
+
@overload
|
|
50
|
+
def __init__(
|
|
51
|
+
self,
|
|
52
|
+
context: Context,
|
|
53
|
+
domain: viennaps3d.viennaps3d.Domain,
|
|
54
|
+
model: ProcessModel,
|
|
55
|
+
duration: float,
|
|
56
|
+
) -> None: ...
|
|
57
|
+
def apply(self) -> None: ...
|
|
58
|
+
def calculateFlux(self) -> viennals3d.viennals3d.Mesh: ...
|
|
59
|
+
def disableAdvectionVelocityOutput(self) -> None: ...
|
|
60
|
+
def disableRandomSeeds(self) -> None: ...
|
|
61
|
+
def enableAdvectionVelocityOutput(self) -> None: ...
|
|
62
|
+
def enableRandomSeeds(self) -> None: ...
|
|
63
|
+
def getAdvectionParameters(self) -> viennaps3d.viennaps3d.AdvectionParameters: ...
|
|
64
|
+
def getProcessDuration(self) -> float: ...
|
|
65
|
+
def getRayTracingParameters(self) -> viennaps3d.viennaps3d.RayTracingParameters: ...
|
|
66
|
+
def setAdvectionParameters(
|
|
67
|
+
self, arg0: viennaps3d.viennaps3d.AdvectionParameters
|
|
68
|
+
) -> None: ...
|
|
69
|
+
def setDomain(self, arg0: viennaps3d.viennaps3d.Domain) -> None: ...
|
|
70
|
+
def setIntegrationScheme(self, arg0) -> None: ...
|
|
71
|
+
def setMaxCoverageInitIterations(self, arg0: int) -> None: ...
|
|
72
|
+
def setNumberOfRaysPerPoint(self, arg0: int) -> None: ...
|
|
73
|
+
def setProcessDuration(self, arg0: float) -> None: ...
|
|
74
|
+
def setProcessModel(self, arg0: ProcessModel) -> None: ...
|
|
75
|
+
def setRayTracingParameters(
|
|
76
|
+
self, arg0: viennaps3d.viennaps3d.RayTracingParameters
|
|
77
|
+
) -> None: ...
|
|
78
|
+
def setTimeStepRatio(self, arg0: float) -> None: ...
|
|
79
|
+
|
|
80
|
+
class ProcessModel:
|
|
81
|
+
def __init__(self, *args, **kwargs) -> None: ...
|
|
82
|
+
|
|
83
|
+
class SF6O2Etching(viennaps3d.viennaps3d.ProcessModel):
|
|
84
|
+
def __init__(
|
|
85
|
+
self, parameters: viennaps3d.viennaps3d.PlasmaEtchingParameters
|
|
86
|
+
) -> None: ...
|
|
87
|
+
|
|
88
|
+
class SingleParticleProcess(ProcessModel):
|
|
89
|
+
@overload
|
|
90
|
+
def __init__(
|
|
91
|
+
self,
|
|
92
|
+
rate: float = ...,
|
|
93
|
+
stickingProbability: float = ...,
|
|
94
|
+
sourceExponent: float = ...,
|
|
95
|
+
maskMaterial: viennaps3d.viennaps3d.Material = ...,
|
|
96
|
+
) -> None: ...
|
|
97
|
+
@overload
|
|
98
|
+
def __init__(
|
|
99
|
+
self,
|
|
100
|
+
rate: float,
|
|
101
|
+
stickingProbability: float,
|
|
102
|
+
sourceExponent: float,
|
|
103
|
+
maskMaterials: list[viennaps3d.viennaps3d.Material],
|
|
104
|
+
) -> None: ...
|
|
105
|
+
@overload
|
|
106
|
+
def __init__(
|
|
107
|
+
self,
|
|
108
|
+
materialRates: dict[viennaps3d.viennaps3d.Material, float],
|
|
109
|
+
stickingProbability: float,
|
|
110
|
+
sourceExponent: float,
|
|
111
|
+
) -> None: ...
|
|
Binary file
|