ViennaPS 3.7.2__cp310-cp310-win_amd64.whl → 4.0.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.

Files changed (72) hide show
  1. viennaps/__init__.py +126 -0
  2. viennaps/__init__.pyi +239 -0
  3. viennaps/_core/__init__.pyi +1110 -0
  4. {viennaps2d/viennaps2d → viennaps/_core}/constants.pyi +23 -3
  5. viennaps/_core/gpu.pyi +74 -0
  6. viennaps/_core/util.pyi +13 -0
  7. viennaps/_core.cp310-win_amd64.pyd +0 -0
  8. viennaps/d2/__init__.pyi +1449 -0
  9. viennaps/d2/gpu.pyi +85 -0
  10. viennaps/d3/__init__.pyi +1454 -0
  11. viennaps/d3/gpu.pyi +85 -0
  12. {viennaps-3.7.2.dist-info → viennaps-4.0.0.dist-info}/METADATA +13 -12
  13. viennaps-4.0.0.dist-info/RECORD +55 -0
  14. {viennaps-3.7.2.dist-info → viennaps-4.0.0.dist-info}/WHEEL +1 -1
  15. viennaps.libs/embree4.dll +0 -0
  16. viennaps.libs/embree4.exp +0 -0
  17. viennaps.libs/embree4.lib +0 -0
  18. viennaps.libs/embree_avx.lib +0 -0
  19. viennaps.libs/embree_avx2.lib +0 -0
  20. viennaps.libs/embree_sse42.lib +0 -0
  21. viennaps.libs/lexers.lib +0 -0
  22. viennaps.libs/math.lib +0 -0
  23. viennaps.libs/simd.lib +0 -0
  24. viennaps.libs/sys.lib +0 -0
  25. viennaps.libs/tasking.lib +0 -0
  26. viennaps.libs/tbb12.dll +0 -0
  27. viennaps.libs/tbb12.exp +0 -0
  28. viennaps.libs/tbb12.lib +0 -0
  29. viennaps.libs/vtkCommonComputationalGeometry-9.3.dll +0 -0
  30. viennaps.libs/vtkCommonCore-9.3.dll +0 -0
  31. viennaps.libs/vtkCommonDataModel-9.3.dll +0 -0
  32. viennaps.libs/vtkCommonExecutionModel-9.3.dll +0 -0
  33. viennaps.libs/vtkCommonMath-9.3.dll +0 -0
  34. viennaps.libs/vtkCommonMisc-9.3.dll +0 -0
  35. viennaps.libs/vtkCommonSystem-9.3.dll +0 -0
  36. viennaps.libs/vtkCommonTransforms-9.3.dll +0 -0
  37. viennaps.libs/vtkFiltersCore-9.3.dll +0 -0
  38. viennaps.libs/vtkFiltersGeneral-9.3.dll +0 -0
  39. viennaps.libs/vtkFiltersGeometry-9.3.dll +0 -0
  40. viennaps.libs/vtkFiltersVerdict-9.3.dll +0 -0
  41. viennaps.libs/vtkIOCore-9.3.dll +0 -0
  42. viennaps.libs/vtkIOXML-9.3.dll +0 -0
  43. viennaps.libs/vtkIOXMLParser-9.3.dll +0 -0
  44. viennaps.libs/vtkdoubleconversion-9.3.dll +0 -0
  45. viennaps.libs/vtkexpat-9.3.dll +0 -0
  46. viennaps.libs/vtkfmt-9.3.dll +0 -0
  47. viennaps.libs/vtkkissfft-9.3.dll +0 -0
  48. viennaps.libs/vtkloguru-9.3.dll +0 -0
  49. viennaps.libs/vtklz4-9.3.dll +0 -0
  50. viennaps.libs/vtklzma-9.3.dll +0 -0
  51. viennaps.libs/vtkpugixml-9.3.dll +0 -0
  52. viennaps.libs/vtksys-9.3.dll +0 -0
  53. viennaps.libs/vtkverdict-9.3.dll +0 -0
  54. viennaps.libs/vtkzlib-9.3.dll +0 -0
  55. viennaps-3.7.2.dist-info/RECORD +0 -61
  56. viennaps2d/Release/viennaps2d.cp310-win_amd64.pyd +0 -0
  57. viennaps2d/__init__.py +0 -80
  58. viennaps2d/__init__.pyi +0 -218
  59. viennaps2d/viennaps2d/__init__.pyi +0 -2656
  60. viennaps2d/viennaps2d/ray.pyi +0 -34
  61. viennaps2d/viennaps2d/util.pyi +0 -10
  62. viennaps2d/viennaps2d.cp310-win_amd64.pyd +0 -0
  63. viennaps3d/Release/viennaps3d.cp310-win_amd64.pyd +0 -0
  64. viennaps3d/__init__.py +0 -80
  65. viennaps3d/__init__.pyi +0 -218
  66. viennaps3d/viennaps3d/__init__.pyi +0 -2518
  67. viennaps3d/viennaps3d/constants.pyi +0 -26
  68. viennaps3d/viennaps3d/gpu.pyi +0 -164
  69. viennaps3d/viennaps3d/ray.pyi +0 -34
  70. viennaps3d/viennaps3d/util.pyi +0 -10
  71. viennaps3d/viennaps3d.cp310-win_amd64.pyd +0 -0
  72. {viennaps-3.7.2.dist-info → viennaps-4.0.0.dist-info}/licenses/LICENSE +0 -0
viennaps/__init__.py ADDED
@@ -0,0 +1,126 @@
1
+ """
2
+ ViennaPS
3
+ ========
4
+
5
+ ViennaPS is a header-only C++ process simulation library,
6
+ which includes surface and volume representations,
7
+ a ray tracer, and physical models for the simulation of
8
+ microelectronic fabrication processes.
9
+ """
10
+
11
+
12
+ def _windows_dll_path():
13
+ import os
14
+
15
+ additional_paths = [
16
+ os.path.join(os.path.dirname(os.path.dirname(__file__)), "viennaps.libs")
17
+ ]
18
+
19
+ for path in additional_paths:
20
+ if not os.path.exists(path):
21
+ continue
22
+
23
+ os.add_dll_directory(path)
24
+ os.environ["PATH"] = path + os.pathsep + os.environ["PATH"]
25
+
26
+
27
+ def _module_ptx_path():
28
+ from importlib.util import find_spec
29
+ import os
30
+
31
+ spec = find_spec("viennaps")
32
+ install_path = os.path.dirname(os.path.abspath(spec.origin))
33
+ return os.path.join(install_path, "ptx")
34
+
35
+
36
+ import sys as _sys
37
+
38
+ if _sys.platform == "win32":
39
+ _windows_dll_path()
40
+
41
+
42
+ import viennals as ls
43
+ from viennals import IntegrationSchemeEnum as IntegrationScheme
44
+ from viennals import BoundaryConditionEnum as BoundaryType
45
+ from viennals import LogLevel as LogLevel
46
+ from . import _core as _C # the binary inside the package
47
+
48
+ # bring d2 and d3 into the top-level namespace
49
+ d2 = _C.d2
50
+ d3 = _C.d3
51
+ _sys.modules[__name__ + ".d2"] = d2
52
+ _sys.modules[__name__ + ".d3"] = d3
53
+ ptxPath = _module_ptx_path()
54
+ PROXY_DIM = 2 # default dimension is 2D
55
+
56
+
57
+ def setDimension(d: int):
58
+ """Set the dimension of the simulation (2 or 3).
59
+
60
+ Parameters
61
+ ----------
62
+ d: int
63
+ Dimension of the simulation (2 or 3).
64
+ """
65
+ global PROXY_DIM
66
+ if d == 2 or d == 3:
67
+ PROXY_DIM = d
68
+ ls.setDimension(d)
69
+ else:
70
+ raise ValueError("Dimension must be 2 or 3.")
71
+
72
+
73
+ # Config file reader helper function
74
+ def readConfigFile(fileName: str):
75
+ """Read a config file in the ViennaPS standard config file format.
76
+
77
+ Parameters
78
+ ----------
79
+ fileName: str
80
+ Name of the config file.
81
+
82
+ Returns
83
+ -------
84
+ dict
85
+ A dictionary containing the parameters from the config file.
86
+ """
87
+ par_dict = {}
88
+
89
+ with open(fileName, "r") as file:
90
+ lines = file.readlines()
91
+ for line in lines:
92
+
93
+ line = line[: line.find("#")] # remove comments
94
+
95
+ if len(line) > 0:
96
+ par_name = line[: line.find("=")].strip(" ")
97
+ par_value = line[line.find("=") + 1 :]
98
+
99
+ try:
100
+ val = float(par_value)
101
+ except:
102
+ val = par_value
103
+
104
+ par_dict[par_name] = val
105
+
106
+ return par_dict
107
+
108
+
109
+ def __getattr__(name):
110
+ # 1) common/top-level from _core
111
+ try:
112
+ return getattr(_C, name)
113
+ except AttributeError as e_core:
114
+ pass
115
+ # 2) fallback to current default dimension
116
+ m = d2 if PROXY_DIM == 2 else d3
117
+ try:
118
+ return getattr(m, name)
119
+ except AttributeError:
120
+ raise AttributeError(
121
+ f"module {__name__!r} has no attribute {name!r}"
122
+ ) from e_core
123
+
124
+
125
+ def __dir__():
126
+ return sorted(set(globals()) | set(dir(_C)) | set(dir(d2)) | set(dir(d3)))
viennaps/__init__.pyi ADDED
@@ -0,0 +1,239 @@
1
+ """
2
+
3
+ ViennaPS
4
+ ========
5
+
6
+ ViennaPS is a header-only C++ process simulation library,
7
+ which includes surface and volume representations,
8
+ a ray tracer, and physical models for the simulation of
9
+ microelectronic fabrication processes.
10
+ """
11
+
12
+ from __future__ import annotations
13
+ import sys as _sys
14
+ import viennals as ls
15
+ from viennals._core import BoundaryConditionEnum as BoundaryType
16
+ from viennals._core import IntegrationSchemeEnum as IntegrationScheme
17
+ from viennals._core import LogLevel
18
+ from viennaps._core import AdvectionParameters
19
+ from viennaps._core import AtomicLayerProcessParameters
20
+ from viennaps._core import CF4O2Parameters
21
+ from viennaps._core import CF4O2ParametersIons
22
+ from viennaps._core import CF4O2ParametersMask
23
+ from viennaps._core import CF4O2ParametersPassivation
24
+ from viennaps._core import CF4O2ParametersSi
25
+ from viennaps._core import CF4O2ParametersSiGe
26
+ from viennaps._core import CoverageParameters
27
+ from viennaps._core import Extrude
28
+ from viennaps._core import FaradayCageParameters
29
+ from viennaps._core import FluorocarbonMaterialParameters
30
+ from viennaps._core import FluorocarbonParameters
31
+ from viennaps._core import FluorocarbonParametersIons
32
+ from viennaps._core import FluxEngineType
33
+ from viennaps._core import HoleShape
34
+ from viennaps._core import IBEParameters
35
+ from viennaps._core import Length
36
+ from viennaps._core import LengthUnit
37
+ from viennaps._core import Logger
38
+ from viennaps._core import Material
39
+ from viennaps._core import MaterialMap
40
+ from viennaps._core import MetaDataLevel
41
+ from viennaps._core import NormalizationType
42
+ from viennaps._core import PlasmaEtchingParameters
43
+ from viennaps._core import PlasmaEtchingParametersIons
44
+ from viennaps._core import PlasmaEtchingParametersMask
45
+ from viennaps._core import PlasmaEtchingParametersPassivation
46
+ from viennaps._core import PlasmaEtchingParametersPolymer
47
+ from viennaps._core import PlasmaEtchingParametersSubstrate
48
+ from viennaps._core import ProcessParams
49
+ from viennaps._core import RateSet
50
+ from viennaps._core import RayTracingParameters
51
+ from viennaps._core import Slice
52
+ from viennaps._core import Time
53
+ from viennaps._core import TimeUnit
54
+ from viennaps._core import constants
55
+ from viennaps._core import gpu
56
+ from viennaps._core import gpuAvailable
57
+ from viennaps._core import setNumThreads
58
+ from viennaps._core import util
59
+ from viennaps.d2 import AdvectionCallback
60
+ from viennaps.d2 import BoxDistribution
61
+ from viennaps.d2 import CF4O2Etching
62
+ from viennaps.d2 import CSVFileProcess
63
+ from viennaps.d2 import DenseCellSet
64
+ from viennaps.d2 import DirectionalProcess
65
+ from viennaps.d2 import Domain
66
+ from viennaps.d2 import DomainSetup
67
+ from viennaps.d2 import FaradayCageEtching
68
+ from viennaps.d2 import FluorocarbonEtching
69
+ from viennaps.d2 import GDSGeometry
70
+ from viennaps.d2 import GDSReader
71
+ from viennaps.d2 import GeometricTrenchDeposition
72
+ from viennaps.d2 import GeometryFactory
73
+ from viennaps.d2 import HBrO2Etching
74
+ from viennaps.d2 import Interpolation
75
+ from viennaps.d2 import IonBeamEtching
76
+ from viennaps.d2 import IsotropicProcess
77
+ from viennaps.d2 import MakeFin
78
+ from viennaps.d2 import MakeHole
79
+ from viennaps.d2 import MakePlane
80
+ from viennaps.d2 import MakeStack
81
+ from viennaps.d2 import MakeTrench
82
+ from viennaps.d2 import MultiParticleProcess
83
+ from viennaps.d2 import OxideRegrowth
84
+ from viennaps.d2 import Planarize
85
+ from viennaps.d2 import Process
86
+ from viennaps.d2 import ProcessModel
87
+ from viennaps.d2 import ProcessModelBase
88
+ from viennaps.d2 import RateGrid
89
+ from viennaps.d2 import Reader
90
+ from viennaps.d2 import SF6C4F8Etching
91
+ from viennaps.d2 import SF6O2Etching
92
+ from viennaps.d2 import SelectiveEpitaxy
93
+ from viennaps.d2 import SingleParticleALD
94
+ from viennaps.d2 import SingleParticleProcess
95
+ from viennaps.d2 import SphereDistribution
96
+ from viennaps.d2 import StencilLocalLaxFriedrichsScalar
97
+ from viennaps.d2 import TEOSDeposition
98
+ from viennaps.d2 import TEOSPECVD
99
+ from viennaps.d2 import ToDiskMesh
100
+ from viennaps.d2 import WetEtching
101
+ from viennaps.d2 import Writer
102
+ from . import _core
103
+ from . import d2
104
+ from . import d3
105
+
106
+ __all__: list[str] = [
107
+ "AdvectionCallback",
108
+ "AdvectionParameters",
109
+ "AtomicLayerProcessParameters",
110
+ "BoundaryType",
111
+ "BoxDistribution",
112
+ "CF4O2Etching",
113
+ "CF4O2Parameters",
114
+ "CF4O2ParametersIons",
115
+ "CF4O2ParametersMask",
116
+ "CF4O2ParametersPassivation",
117
+ "CF4O2ParametersSi",
118
+ "CF4O2ParametersSiGe",
119
+ "CSVFileProcess",
120
+ "CoverageParameters",
121
+ "DenseCellSet",
122
+ "DirectionalProcess",
123
+ "Domain",
124
+ "DomainSetup",
125
+ "Extrude",
126
+ "FaradayCageEtching",
127
+ "FaradayCageParameters",
128
+ "FluorocarbonEtching",
129
+ "FluorocarbonMaterialParameters",
130
+ "FluorocarbonParameters",
131
+ "FluorocarbonParametersIons",
132
+ "FluxEngineType",
133
+ "GDSGeometry",
134
+ "GDSReader",
135
+ "GeometricTrenchDeposition",
136
+ "GeometryFactory",
137
+ "HBrO2Etching",
138
+ "HoleShape",
139
+ "IBEParameters",
140
+ "IntegrationScheme",
141
+ "Interpolation",
142
+ "IonBeamEtching",
143
+ "IsotropicProcess",
144
+ "Length",
145
+ "LengthUnit",
146
+ "LogLevel",
147
+ "Logger",
148
+ "MakeFin",
149
+ "MakeHole",
150
+ "MakePlane",
151
+ "MakeStack",
152
+ "MakeTrench",
153
+ "Material",
154
+ "MaterialMap",
155
+ "MetaDataLevel",
156
+ "MultiParticleProcess",
157
+ "NormalizationType",
158
+ "OxideRegrowth",
159
+ "PROXY_DIM",
160
+ "Planarize",
161
+ "PlasmaEtchingParameters",
162
+ "PlasmaEtchingParametersIons",
163
+ "PlasmaEtchingParametersMask",
164
+ "PlasmaEtchingParametersPassivation",
165
+ "PlasmaEtchingParametersPolymer",
166
+ "PlasmaEtchingParametersSubstrate",
167
+ "Process",
168
+ "ProcessModel",
169
+ "ProcessModelBase",
170
+ "ProcessParams",
171
+ "RateGrid",
172
+ "RateSet",
173
+ "RayTracingParameters",
174
+ "Reader",
175
+ "SF6C4F8Etching",
176
+ "SF6O2Etching",
177
+ "SelectiveEpitaxy",
178
+ "SingleParticleALD",
179
+ "SingleParticleProcess",
180
+ "Slice",
181
+ "SphereDistribution",
182
+ "StencilLocalLaxFriedrichsScalar",
183
+ "TEOSDeposition",
184
+ "TEOSPECVD",
185
+ "Time",
186
+ "TimeUnit",
187
+ "ToDiskMesh",
188
+ "WetEtching",
189
+ "Writer",
190
+ "constants",
191
+ "d2",
192
+ "d3",
193
+ "gpu",
194
+ "gpuAvailable",
195
+ "ls",
196
+ "ptxPath",
197
+ "readConfigFile",
198
+ "setDimension",
199
+ "setNumThreads",
200
+ "util",
201
+ "version",
202
+ ]
203
+
204
+ def __dir__(): ...
205
+ def __getattr__(name): ...
206
+ def _module_ptx_path(): ...
207
+ def _windows_dll_path(): ...
208
+ def readConfigFile(fileName: str):
209
+ """
210
+ Read a config file in the ViennaPS standard config file format.
211
+
212
+ Parameters
213
+ ----------
214
+ fileName: str
215
+ Name of the config file.
216
+
217
+ Returns
218
+ -------
219
+ dict
220
+ A dictionary containing the parameters from the config file.
221
+
222
+ """
223
+
224
+ def setDimension(d: int):
225
+ """
226
+ Set the dimension of the simulation (2 or 3).
227
+
228
+ Parameters
229
+ ----------
230
+ d: int
231
+ Dimension of the simulation (2 or 3).
232
+
233
+ """
234
+
235
+ PROXY_DIM: int = 2
236
+ __version__: str = "4.0.0"
237
+ ptxPath: str = ""
238
+ version: str = "4.0.0"
239
+ _C = _core