ViennaPS 3.4.0__cp311-cp311-win_amd64.whl → 3.5.1__cp311-cp311-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 (56) hide show
  1. {viennaps-3.4.0.dist-info → viennaps-3.5.1.dist-info}/METADATA +12 -12
  2. viennaps-3.5.1.dist-info/RECORD +57 -0
  3. {viennaps-3.4.0.dist-info → viennaps-3.5.1.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/__init__.py +15 -2
  47. viennaps2d/viennaps2d.cp311-win_amd64.pyd +0 -0
  48. viennaps2d/viennaps2d.pyi +247 -86
  49. viennaps3d/Release/viennaps3d.cp310-win_amd64.pyd +0 -0
  50. viennaps3d/Release/viennaps3d.cp311-win_amd64.pyd +0 -0
  51. viennaps3d/__init__.py +15 -2
  52. viennaps3d/viennaps3d/gpu.pyi +62 -11
  53. viennaps3d/viennaps3d.cp311-win_amd64.pyd +0 -0
  54. viennaps3d/viennaps3d.pyi +224 -91
  55. viennaps-3.4.0.dist-info/RECORD +0 -57
  56. {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: 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: rayTraceDirection) -> None: ...
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 DirectionalEtching(ProcessModel):
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
- def applyBooleanOperation(
253
+ @overload
254
+ def __init__(
187
255
  self,
188
- arg0: viennals2d.viennals2d.Domain,
189
- arg1: viennals2d.viennals2d.BooleanOperationEnum,
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, *args, **kwargs): ...
198
- def getGrid(self, *args, **kwargs): ...
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, *args, **kwargs): ...
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, *args, **kwargs): ...
817
- def surfaceCollision(self, *args, **kwargs): ...
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: rayTraceDirection) -> None: ...
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: rayTraceDirection
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: SF6O2Parameters) -> None: ...
934
- def getParameters(self) -> SF6O2Parameters: ...
935
- def setParameters(self, arg0: SF6O2Parameters) -> None: ...
936
-
937
- class SF6O2Parameters:
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 rayTraceDirection:
1080
- __members__: ClassVar[dict] = ... # read-only
1081
- NEG_X: ClassVar[rayTraceDirection] = ...
1082
- NEG_Y: ClassVar[rayTraceDirection] = ...
1083
- NEG_Z: ClassVar[rayTraceDirection] = ...
1084
- POS_X: ClassVar[rayTraceDirection] = ...
1085
- POS_Y: ClassVar[rayTraceDirection] = ...
1086
- POS_Z: ClassVar[rayTraceDirection] = ...
1087
- __entries: ClassVar[dict] = ...
1088
- def __init__(self, value: int) -> None: ...
1089
- def __eq__(self, other: object) -> bool: ...
1090
- def __hash__(self) -> int: ...
1091
- def __index__(self) -> int: ...
1092
- def __int__(self) -> int: ...
1093
- def __ne__(self, other: object) -> bool: ...
1094
- @property
1095
- def name(self) -> str: ...
1096
- @property
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
- Name of the config file.
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: val = par_value
75
+ except:
76
+ val = par_value
64
77
 
65
78
  par_dict[par_name] = val
66
79
 
@@ -11,12 +11,34 @@ class Context:
11
11
 
12
12
  class MultiParticleProcess(ProcessModel):
13
13
  def __init__(self) -> None: ...
14
- def addIonParticle(self, sourcePower: float, thetaRMin: float = ..., thetaRMax: float = ..., minAngle: float = ..., B_sp: float = ..., meanEnergy: float = ..., sigmaEnergy: float = ..., thresholdEnergy: float = ..., inflectAngle: float = ..., n: float = ..., label: str = ...) -> 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: ...
15
28
  @overload
16
- def addNeutralParticle(self, stickingProbability: float, label: str = ...) -> None: ...
29
+ def addNeutralParticle(
30
+ self, stickingProbability: float, label: str = ...
31
+ ) -> None: ...
17
32
  @overload
18
- def addNeutralParticle(self, materialSticking: dict[viennaps3d.viennaps3d.Material, float], defaultStickingProbability: float = ..., label: str = ...) -> None: ...
19
- def setRateFunction(self, arg0: Callable[[list[float], viennaps3d.viennaps3d.Material], float]) -> None: ...
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__(self, context: Context, domain: viennaps3d.viennaps3d.Domain, model: ProcessModel, duration: float) -> None: ...
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(self, arg0: viennaps3d.viennaps3d.AdvectionParameters) -> None: ...
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(self, arg0: viennaps3d.viennaps3d.RayTracingParameters) -> None: ...
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__(self, parameters: viennaps3d.viennaps3d.SF6O2Parameters) -> None: ...
84
+ def __init__(
85
+ self, parameters: viennaps3d.viennaps3d.PlasmaEtchingParameters
86
+ ) -> None: ...
53
87
 
54
88
  class SingleParticleProcess(ProcessModel):
55
89
  @overload
56
- def __init__(self, rate: float = ..., stickingProbability: float = ..., sourceExponent: float = ..., maskMaterial: viennaps3d.viennaps3d.Material = ...) -> None: ...
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__(self, rate: float, stickingProbability: float, sourceExponent: float, maskMaterials: list[viennaps3d.viennaps3d.Material]) -> None: ...
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__(self, materialRates: dict[viennaps3d.viennaps3d.Material, float], stickingProbability: float, sourceExponent: float) -> None: ...
106
+ def __init__(
107
+ self,
108
+ materialRates: dict[viennaps3d.viennaps3d.Material, float],
109
+ stickingProbability: float,
110
+ sourceExponent: float,
111
+ ) -> None: ...
Binary file