ViennaPS 3.4.0__cp310-cp310-macosx_11_0_arm64.whl → 3.5.1__cp310-cp310-macosx_11_0_arm64.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.4.0.dist-info → viennaps-3.5.1.dist-info}/METADATA +12 -12
- {viennaps-3.4.0.dist-info → viennaps-3.5.1.dist-info}/RECORD +28 -28
- {viennaps-3.4.0.dist-info → viennaps-3.5.1.dist-info}/WHEEL +1 -1
- viennaps.libs/cmake_install.cmake +2 -2
- viennaps.libs/common/cmake_install.cmake +2 -2
- viennaps.libs/common/lexers/cmake_install.cmake +2 -2
- viennaps.libs/common/math/cmake_install.cmake +2 -2
- viennaps.libs/common/simd/cmake_install.cmake +2 -2
- viennaps.libs/common/sys/cmake_install.cmake +2 -2
- viennaps.libs/common/tasking/cmake_install.cmake +2 -2
- viennaps.libs/kernels/CMakeFiles/Export/0919fd033fbc7492b4ed7221a30ac4ed/embree-targets.cmake +1 -1
- viennaps.libs/kernels/cmake_install.cmake +3 -3
- viennaps.libs/libembree_avx2.a +0 -0
- viennaps.libs/liblexers.a +0 -0
- viennaps.libs/libmath.a +0 -0
- viennaps.libs/libsimd.a +0 -0
- viennaps.libs/libsys.a +0 -0
- viennaps.libs/libtasking.a +0 -0
- viennaps.libs/tests/cmake_install.cmake +2 -2
- viennaps2d/.dylibs/libomp.dylib +0 -0
- viennaps2d/__init__.py +15 -2
- viennaps2d/viennaps2d.cpython-310-darwin.so +0 -0
- viennaps2d/viennaps2d.pyi +247 -86
- viennaps3d/__init__.py +15 -2
- viennaps3d/viennaps3d/gpu.pyi +62 -11
- viennaps3d/viennaps3d.cpython-310-darwin.so +0 -0
- viennaps3d/viennaps3d.pyi +224 -91
- {viennaps-3.4.0.dist-info → viennaps-3.5.1.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
|
|
@@ -147,7 +147,73 @@ class CF4O2ParametersSiGe:
|
|
|
147
147
|
def __init__(self) -> None: ...
|
|
148
148
|
def k_sigma_SiGe(self, arg0: float) -> float: ...
|
|
149
149
|
|
|
150
|
-
class
|
|
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):
|
|
151
217
|
@overload
|
|
152
218
|
def __init__(
|
|
153
219
|
self,
|
|
@@ -181,12 +247,18 @@ class Domain:
|
|
|
181
247
|
self,
|
|
182
248
|
gridDelta: float,
|
|
183
249
|
xExtent: float,
|
|
250
|
+
yExtent: float,
|
|
184
251
|
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
185
252
|
) -> None: ...
|
|
186
|
-
|
|
253
|
+
@overload
|
|
254
|
+
def __init__(
|
|
187
255
|
self,
|
|
188
|
-
|
|
189
|
-
|
|
256
|
+
gridDelta: float,
|
|
257
|
+
xExtent: float,
|
|
258
|
+
boundary: viennals2d.viennals2d.BoundaryConditionEnum = ...,
|
|
259
|
+
) -> None: ...
|
|
260
|
+
def applyBooleanOperation(
|
|
261
|
+
self, arg0: viennals2d.viennals2d.Domain, arg1
|
|
190
262
|
) -> None: ...
|
|
191
263
|
def clear(self) -> None: ...
|
|
192
264
|
def deepCopy(self, arg0: Domain) -> None: ...
|
|
@@ -194,8 +266,8 @@ class Domain:
|
|
|
194
266
|
def generateCellSet(self, arg0: float, arg1: Material, arg2: bool) -> None: ...
|
|
195
267
|
def getBoundaryConditions(self, *args, **kwargs): ...
|
|
196
268
|
def getBoundingBox(self, *args, **kwargs): ...
|
|
197
|
-
def getCellSet(self
|
|
198
|
-
def getGrid(self
|
|
269
|
+
def getCellSet(self) -> DenseCellSet: ...
|
|
270
|
+
def getGrid(self) -> viennals2d.viennals2d.hrleGrid: ...
|
|
199
271
|
def getGridDelta(self) -> float: ...
|
|
200
272
|
def getLevelSets(self) -> list[viennals2d.viennals2d.Domain]: ...
|
|
201
273
|
def getMaterialMap(self, *args, **kwargs): ...
|
|
@@ -295,7 +367,7 @@ class DomainSetup:
|
|
|
295
367
|
def boundaryCons(self, *args, **kwargs): ...
|
|
296
368
|
def bounds(self, *args, **kwargs): ...
|
|
297
369
|
def check(self) -> None: ...
|
|
298
|
-
def grid(self
|
|
370
|
+
def grid(self) -> viennals2d.viennals2d.hrleGrid: ...
|
|
299
371
|
def gridDelta(self) -> float: ...
|
|
300
372
|
def halveXAxis(self) -> None: ...
|
|
301
373
|
def halveYAxis(self) -> None: ...
|
|
@@ -432,6 +504,40 @@ class FluorocarbonParametersSiO2:
|
|
|
432
504
|
rho: float
|
|
433
505
|
def __init__(self) -> None: ...
|
|
434
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
|
+
|
|
435
541
|
class GeometryFactory:
|
|
436
542
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
437
543
|
def makeBoxStencil(
|
|
@@ -443,6 +549,28 @@ class GeometryFactory:
|
|
|
443
549
|
def makeMask(self, base: float, height: float) -> viennals2d.viennals2d.Domain: ...
|
|
444
550
|
def makeSubstrate(self, base: float) -> viennals2d.viennals2d.Domain: ...
|
|
445
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
|
+
|
|
446
574
|
class HoleShape:
|
|
447
575
|
__members__: ClassVar[dict] = ... # read-only
|
|
448
576
|
Full: ClassVar[HoleShape] = ...
|
|
@@ -476,6 +604,23 @@ class IBEParameters:
|
|
|
476
604
|
yieldFunction: Callable[[float], float]
|
|
477
605
|
def __init__(self) -> None: ...
|
|
478
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
|
+
|
|
479
624
|
class IonBeamEtching(ProcessModel):
|
|
480
625
|
@overload
|
|
481
626
|
def __init__(self) -> None: ...
|
|
@@ -493,6 +638,10 @@ class IsotropicProcess(ProcessModel):
|
|
|
493
638
|
def __init__(self, rate: float = ..., maskMaterial: Material = ...) -> None: ...
|
|
494
639
|
@overload
|
|
495
640
|
def __init__(self, rate: float, maskMaterial: list[Material]) -> None: ...
|
|
641
|
+
@overload
|
|
642
|
+
def __init__(
|
|
643
|
+
self, materialRates: dict[Material, float], defaultRate: float = ...
|
|
644
|
+
) -> None: ...
|
|
496
645
|
|
|
497
646
|
class Length:
|
|
498
647
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
@@ -813,8 +962,10 @@ class Particle:
|
|
|
813
962
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
814
963
|
def getLocalDataLabels(self) -> list[str]: ...
|
|
815
964
|
def getSourceDistributionPower(self) -> float: ...
|
|
816
|
-
def initNew(self,
|
|
817
|
-
def surfaceCollision(
|
|
965
|
+
def initNew(self, arg0) -> None: ...
|
|
966
|
+
def surfaceCollision(
|
|
967
|
+
self, arg0: float, arg1, arg2, arg3: int, arg4: int, arg5, arg6, arg7
|
|
968
|
+
) -> None: ...
|
|
818
969
|
def surfaceReflection(self, *args, **kwargs): ...
|
|
819
970
|
|
|
820
971
|
class Planarize:
|
|
@@ -826,6 +977,54 @@ class Planarize:
|
|
|
826
977
|
def setCutoffPosition(self, arg0: float) -> None: ...
|
|
827
978
|
def setDomain(self, arg0: Domain) -> None: ...
|
|
828
979
|
|
|
980
|
+
class PlasmaEtchingParameters:
|
|
981
|
+
Ions: PlasmaEtchingParametersIons
|
|
982
|
+
Mask: PlasmaEtchingParametersMask
|
|
983
|
+
Passivation: PlasmaEtchingParametersPassivation
|
|
984
|
+
Substrate: PlasmaEtchingParametersSubstrate
|
|
985
|
+
beta_E: dict[int, float]
|
|
986
|
+
beta_P: dict[int, float]
|
|
987
|
+
etchStopDepth: float
|
|
988
|
+
etchantFlux: float
|
|
989
|
+
ionFlux: float
|
|
990
|
+
passivationFlux: float
|
|
991
|
+
def __init__(self) -> None: ...
|
|
992
|
+
|
|
993
|
+
class PlasmaEtchingParametersIons:
|
|
994
|
+
exponent: float
|
|
995
|
+
inflectAngle: float
|
|
996
|
+
meanEnergy: float
|
|
997
|
+
minAngle: float
|
|
998
|
+
n_l: float
|
|
999
|
+
sigmaEnergy: float
|
|
1000
|
+
thetaRMax: float
|
|
1001
|
+
thetaRMin: float
|
|
1002
|
+
def __init__(self) -> None: ...
|
|
1003
|
+
|
|
1004
|
+
class PlasmaEtchingParametersMask:
|
|
1005
|
+
A_sp: float
|
|
1006
|
+
B_sp: float
|
|
1007
|
+
Eth_sp: float
|
|
1008
|
+
rho: float
|
|
1009
|
+
def __init__(self) -> None: ...
|
|
1010
|
+
|
|
1011
|
+
class PlasmaEtchingParametersPassivation:
|
|
1012
|
+
A_ie: float
|
|
1013
|
+
Eth_ie: float
|
|
1014
|
+
def __init__(self) -> None: ...
|
|
1015
|
+
|
|
1016
|
+
class PlasmaEtchingParametersSubstrate:
|
|
1017
|
+
A_ie: float
|
|
1018
|
+
A_sp: float
|
|
1019
|
+
B_ie: float
|
|
1020
|
+
B_sp: float
|
|
1021
|
+
Eth_ie: float
|
|
1022
|
+
Eth_sp: float
|
|
1023
|
+
beta_sigma: float
|
|
1024
|
+
k_sigma: float
|
|
1025
|
+
rho: float
|
|
1026
|
+
def __init__(self) -> None: ...
|
|
1027
|
+
|
|
829
1028
|
class Process:
|
|
830
1029
|
def __init__(self) -> None: ...
|
|
831
1030
|
def apply(self) -> None: ...
|
|
@@ -851,7 +1050,7 @@ class Process:
|
|
|
851
1050
|
def setProcessModel(self, arg0: ProcessModel) -> None: ...
|
|
852
1051
|
def setRayTracingDiskRadius(self, arg0: float) -> None: ...
|
|
853
1052
|
def setRayTracingParameters(self, arg0: RayTracingParameters) -> None: ...
|
|
854
|
-
def setSourceDirection(self, arg0
|
|
1053
|
+
def setSourceDirection(self, arg0) -> None: ...
|
|
855
1054
|
def setTimeStepRatio(self, arg0: float) -> None: ...
|
|
856
1055
|
|
|
857
1056
|
class ProcessModel:
|
|
@@ -888,6 +1087,18 @@ class ProcessParams:
|
|
|
888
1087
|
def getScalarDataLabel(self, arg0: int) -> str: ...
|
|
889
1088
|
def insertNextScalar(self, arg0: float, arg1: str) -> None: ...
|
|
890
1089
|
|
|
1090
|
+
class RateGrid:
|
|
1091
|
+
def __init__(self) -> None: ...
|
|
1092
|
+
def interpolate(self, coord) -> float: ...
|
|
1093
|
+
def loadFromCSV(self, filename: str) -> bool: ...
|
|
1094
|
+
def setCustomInterpolator(self, function: Callable) -> None: ...
|
|
1095
|
+
def setIDWNeighbors(self, k: int) -> None: ...
|
|
1096
|
+
@overload
|
|
1097
|
+
def setInterpolationMode(self, mode: Interpolation) -> None: ...
|
|
1098
|
+
@overload
|
|
1099
|
+
def setInterpolationMode(self, mode: str) -> None: ...
|
|
1100
|
+
def setOffset(self, offset) -> None: ...
|
|
1101
|
+
|
|
891
1102
|
class RateSet:
|
|
892
1103
|
calculateVisibility: bool
|
|
893
1104
|
direction: Incomplete
|
|
@@ -910,7 +1121,7 @@ class RayTracingParameters:
|
|
|
910
1121
|
normalizationType: NormalizationType
|
|
911
1122
|
raysPerPoint: int
|
|
912
1123
|
smoothingNeighbors: int
|
|
913
|
-
sourceDirection:
|
|
1124
|
+
sourceDirection: Incomplete
|
|
914
1125
|
useRandomSeeds: bool
|
|
915
1126
|
def __init__(self) -> None: ...
|
|
916
1127
|
|
|
@@ -930,60 +1141,11 @@ class SF6O2Etching(ProcessModel):
|
|
|
930
1141
|
etchStopDepth: float = ...,
|
|
931
1142
|
) -> None: ...
|
|
932
1143
|
@overload
|
|
933
|
-
def __init__(self, parameters:
|
|
934
|
-
|
|
935
|
-
def
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
Ions: SF6O2ParametersIons
|
|
939
|
-
Mask: SF6O2ParametersMask
|
|
940
|
-
Passivation: SF6O2ParametersPassivation
|
|
941
|
-
Si: SF6O2ParametersSi
|
|
942
|
-
beta_F: dict[int, float]
|
|
943
|
-
beta_O: dict[int, float]
|
|
944
|
-
etchStopDepth: float
|
|
945
|
-
etchantFlux: float
|
|
946
|
-
fluxIncludeSticking: bool
|
|
947
|
-
ionFlux: float
|
|
948
|
-
oxygenFlux: float
|
|
949
|
-
def __init__(self) -> None: ...
|
|
950
|
-
|
|
951
|
-
class SF6O2ParametersIons:
|
|
952
|
-
exponent: float
|
|
953
|
-
inflectAngle: float
|
|
954
|
-
meanEnergy: float
|
|
955
|
-
minAngle: float
|
|
956
|
-
n_l: float
|
|
957
|
-
sigmaEnergy: float
|
|
958
|
-
thetaRMin: float
|
|
959
|
-
thetaRMax: float
|
|
960
|
-
def __init__(self) -> None: ...
|
|
961
|
-
|
|
962
|
-
class SF6O2ParametersMask:
|
|
963
|
-
A_sp: float
|
|
964
|
-
B_sp: float
|
|
965
|
-
Eth_sp: float
|
|
966
|
-
rho: float
|
|
967
|
-
def __init__(self) -> None: ...
|
|
968
|
-
|
|
969
|
-
class SF6O2ParametersPassivation:
|
|
970
|
-
A_ie: float
|
|
971
|
-
Eth_ie: float
|
|
972
|
-
def __init__(self) -> None: ...
|
|
973
|
-
|
|
974
|
-
class SF6O2ParametersSi:
|
|
975
|
-
A_ie: float
|
|
976
|
-
A_sp: float
|
|
977
|
-
B_ie: float
|
|
978
|
-
B_sp: float
|
|
979
|
-
Eth_ie: float
|
|
980
|
-
Eth_sp: float
|
|
981
|
-
beta_sigma: float
|
|
982
|
-
k_sigma: float
|
|
983
|
-
rho: float
|
|
984
|
-
theta_g_ie: float
|
|
985
|
-
theta_g_sp: float
|
|
986
|
-
def __init__(self) -> None: ...
|
|
1144
|
+
def __init__(self, parameters: PlasmaEtchingParameters) -> None: ...
|
|
1145
|
+
@staticmethod
|
|
1146
|
+
def defaultParameters() -> PlasmaEtchingParameters: ...
|
|
1147
|
+
def getParameters(self) -> PlasmaEtchingParameters: ...
|
|
1148
|
+
def setParameters(self, arg0: PlasmaEtchingParameters) -> None: ...
|
|
987
1149
|
|
|
988
1150
|
class SingleParticleALD(ProcessModel):
|
|
989
1151
|
def __init__(
|
|
@@ -1076,24 +1238,23 @@ class ToDiskMesh:
|
|
|
1076
1238
|
def setDomain(self, arg0: Domain) -> None: ...
|
|
1077
1239
|
def setMesh(self, arg0: viennals2d.viennals2d.Mesh) -> None: ...
|
|
1078
1240
|
|
|
1079
|
-
class
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
def
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
def
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
def
|
|
1096
|
-
|
|
1097
|
-
def value(self) -> int: ...
|
|
1241
|
+
class Writer:
|
|
1242
|
+
@overload
|
|
1243
|
+
def __init__(self) -> None: ...
|
|
1244
|
+
@overload
|
|
1245
|
+
def __init__(self, domain: Domain) -> None: ...
|
|
1246
|
+
@overload
|
|
1247
|
+
def __init__(self, domain: Domain, fileName: str) -> None: ...
|
|
1248
|
+
def setDomain(self, domain: Domain) -> None: ...
|
|
1249
|
+
def setFileName(self, fileName: str) -> None: ...
|
|
1250
|
+
def apply(self) -> None: ...
|
|
1251
|
+
|
|
1252
|
+
class Reader:
|
|
1253
|
+
@overload
|
|
1254
|
+
def __init__(self) -> None: ...
|
|
1255
|
+
@overload
|
|
1256
|
+
def __init__(self, fileName: str) -> None: ...
|
|
1257
|
+
def setFileName(self, fileName: str) -> None: ...
|
|
1258
|
+
def apply(self) -> Domain: ...
|
|
1098
1259
|
|
|
1099
1260
|
def setNumThreads(arg0: int) -> None: ...
|
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
|
|
viennaps3d/viennaps3d/gpu.pyi
CHANGED
|
@@ -11,12 +11,34 @@ class Context:
|
|
|
11
11
|
|
|
12
12
|
class MultiParticleProcess(ProcessModel):
|
|
13
13
|
def __init__(self) -> None: ...
|
|
14
|
-
def addIonParticle(
|
|
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: ...
|
|
15
28
|
@overload
|
|
16
|
-
def addNeutralParticle(
|
|
29
|
+
def addNeutralParticle(
|
|
30
|
+
self, stickingProbability: float, label: str = ...
|
|
31
|
+
) -> None: ...
|
|
17
32
|
@overload
|
|
18
|
-
def addNeutralParticle(
|
|
19
|
-
|
|
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: ...
|
|
20
42
|
|
|
21
43
|
class Path:
|
|
22
44
|
def __init__(self, arg0: str) -> None: ...
|
|
@@ -25,7 +47,13 @@ class Process:
|
|
|
25
47
|
@overload
|
|
26
48
|
def __init__(self, context: Context) -> None: ...
|
|
27
49
|
@overload
|
|
28
|
-
def __init__(
|
|
50
|
+
def __init__(
|
|
51
|
+
self,
|
|
52
|
+
context: Context,
|
|
53
|
+
domain: viennaps3d.viennaps3d.Domain,
|
|
54
|
+
model: ProcessModel,
|
|
55
|
+
duration: float,
|
|
56
|
+
) -> None: ...
|
|
29
57
|
def apply(self) -> None: ...
|
|
30
58
|
def calculateFlux(self) -> viennals3d.viennals3d.Mesh: ...
|
|
31
59
|
def disableAdvectionVelocityOutput(self) -> None: ...
|
|
@@ -35,26 +63,49 @@ class Process:
|
|
|
35
63
|
def getAdvectionParameters(self) -> viennaps3d.viennaps3d.AdvectionParameters: ...
|
|
36
64
|
def getProcessDuration(self) -> float: ...
|
|
37
65
|
def getRayTracingParameters(self) -> viennaps3d.viennaps3d.RayTracingParameters: ...
|
|
38
|
-
def setAdvectionParameters(
|
|
66
|
+
def setAdvectionParameters(
|
|
67
|
+
self, arg0: viennaps3d.viennaps3d.AdvectionParameters
|
|
68
|
+
) -> None: ...
|
|
39
69
|
def setDomain(self, arg0: viennaps3d.viennaps3d.Domain) -> None: ...
|
|
40
70
|
def setIntegrationScheme(self, arg0) -> None: ...
|
|
41
71
|
def setMaxCoverageInitIterations(self, arg0: int) -> None: ...
|
|
42
72
|
def setNumberOfRaysPerPoint(self, arg0: int) -> None: ...
|
|
43
73
|
def setProcessDuration(self, arg0: float) -> None: ...
|
|
44
74
|
def setProcessModel(self, arg0: ProcessModel) -> None: ...
|
|
45
|
-
def setRayTracingParameters(
|
|
75
|
+
def setRayTracingParameters(
|
|
76
|
+
self, arg0: viennaps3d.viennaps3d.RayTracingParameters
|
|
77
|
+
) -> None: ...
|
|
46
78
|
def setTimeStepRatio(self, arg0: float) -> None: ...
|
|
47
79
|
|
|
48
80
|
class ProcessModel:
|
|
49
81
|
def __init__(self, *args, **kwargs) -> None: ...
|
|
50
82
|
|
|
51
83
|
class SF6O2Etching(viennaps3d.viennaps3d.ProcessModel):
|
|
52
|
-
def __init__(
|
|
84
|
+
def __init__(
|
|
85
|
+
self, parameters: viennaps3d.viennaps3d.PlasmaEtchingParameters
|
|
86
|
+
) -> None: ...
|
|
53
87
|
|
|
54
88
|
class SingleParticleProcess(ProcessModel):
|
|
55
89
|
@overload
|
|
56
|
-
def __init__(
|
|
90
|
+
def __init__(
|
|
91
|
+
self,
|
|
92
|
+
rate: float = ...,
|
|
93
|
+
stickingProbability: float = ...,
|
|
94
|
+
sourceExponent: float = ...,
|
|
95
|
+
maskMaterial: viennaps3d.viennaps3d.Material = ...,
|
|
96
|
+
) -> None: ...
|
|
57
97
|
@overload
|
|
58
|
-
def __init__(
|
|
98
|
+
def __init__(
|
|
99
|
+
self,
|
|
100
|
+
rate: float,
|
|
101
|
+
stickingProbability: float,
|
|
102
|
+
sourceExponent: float,
|
|
103
|
+
maskMaterials: list[viennaps3d.viennaps3d.Material],
|
|
104
|
+
) -> None: ...
|
|
59
105
|
@overload
|
|
60
|
-
def __init__(
|
|
106
|
+
def __init__(
|
|
107
|
+
self,
|
|
108
|
+
materialRates: dict[viennaps3d.viennaps3d.Material, float],
|
|
109
|
+
stickingProbability: float,
|
|
110
|
+
sourceExponent: float,
|
|
111
|
+
) -> None: ...
|
|
Binary file
|