ViennaPS 3.7.0__cp311-cp311-musllinux_1_1_x86_64.whl → 3.7.2__cp311-cp311-musllinux_1_1_x86_64.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 (31) hide show
  1. {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/METADATA +31 -17
  2. {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/RECORD +310 -304
  3. viennaps.libs/cmake_install.cmake +1 -1
  4. viennaps.libs/common/cmake_install.cmake +1 -1
  5. viennaps.libs/common/lexers/cmake_install.cmake +1 -1
  6. viennaps.libs/common/math/cmake_install.cmake +1 -1
  7. viennaps.libs/common/simd/cmake_install.cmake +1 -1
  8. viennaps.libs/common/sys/cmake_install.cmake +1 -1
  9. viennaps.libs/common/tasking/cmake_install.cmake +1 -1
  10. viennaps.libs/kernels/cmake_install.cmake +1 -1
  11. viennaps.libs/tests/cmake_install.cmake +1 -1
  12. viennaps2d/__init__.pyi +216 -4
  13. viennaps2d/viennaps2d/__init__.pyi +2656 -0
  14. viennaps2d/viennaps2d/constants.pyi +26 -0
  15. viennaps2d/viennaps2d/ray.pyi +34 -0
  16. viennaps2d/viennaps2d/util.pyi +10 -0
  17. viennaps2d/viennaps2d.cpython-310-x86_64-linux-gnu.so +0 -0
  18. viennaps2d/viennaps2d.cpython-311-x86_64-linux-musl.so +0 -0
  19. viennaps3d/__init__.pyi +216 -4
  20. viennaps3d/viennaps3d/__init__.pyi +2518 -0
  21. viennaps3d/viennaps3d/constants.pyi +26 -0
  22. viennaps3d/viennaps3d/gpu.pyi +164 -0
  23. viennaps3d/viennaps3d/ray.pyi +34 -0
  24. viennaps3d/viennaps3d/util.pyi +10 -0
  25. viennaps3d/viennaps3d.cpython-310-x86_64-linux-gnu.so +0 -0
  26. viennaps3d/viennaps3d.cpython-311-x86_64-linux-musl.so +0 -0
  27. viennaps2d/viennaps2d.pyi +0 -1423
  28. viennaps3d/gpu.pyi +0 -147
  29. viennaps3d/viennaps3d.pyi +0 -1348
  30. {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/WHEEL +0 -0
  31. {viennaps-3.7.0.dist-info → viennaps-3.7.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ViennaPS
3
- Version: 3.7.0
4
- Summary: Semiconductor fabrication process simulation library
3
+ Version: 3.7.2
4
+ Summary: Topography simulation library for microelectronic fabrication processes
5
5
  License: Copyright (c) 2025 Institute for Microelectronics, TU Wien.
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -31,19 +31,23 @@ Description-Content-Type: text/markdown
31
31
 
32
32
  <div align="center">
33
33
 
34
- ![](assets/logo.png)
35
-
36
- <h1>ViennaPS - Process Simulation Library</h1>
34
+ <picture>
35
+ <source srcset="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/ViennaPS_title-dark.png" media="(prefers-color-scheme: dark)">
36
+ <source srcset="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/ViennaPS_title.png" media="(prefers-color-scheme: light)">
37
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/ViennaPS_title.png" alt="ViennaPS" width=500>
38
+ </picture>
37
39
 
40
+ ---
41
+
38
42
  [![🐍 Build Bindings](https://github.com/ViennaTools/ViennaPS/actions/workflows/python.yml/badge.svg)](https://github.com/ViennaTools/ViennaPS/actions/workflows/python.yml)
39
43
  [![🧪 Run Tests](https://github.com/ViennaTools/ViennaPS/actions/workflows/build.yml/badge.svg)](https://github.com/ViennaTools/ViennaPS/actions/workflows/build.yml)
40
44
  [![PyPi Version](https://img.shields.io/pypi/v/ViennaPS?logo=pypi)](https://pypi.org/project/ViennaPS/)
41
45
 
42
46
  </div>
43
47
 
44
- ViennaPS is a header-only C++ library for simulating microelectronic fabrication processes. It combines surface and volume representations with advanced level-set methods and Monte Carlo flux calculations, powered by high-performance ray tracing. Users can develop custom models, use pre-configured physical models, or use fast emulation models for flexible and efficient process development.
48
+ ViennaPS is a header-only C++ library for topography simulation in microelectronic fabrication processes. It models the evolution of 2D and 3D surfaces during etching, deposition, and related steps, combining advanced level-set methods for surface evolution with Monte Carlo ray tracing for flux calculation. This allows accurate, feature-scale simulation of complex fabrication geometries.
45
49
 
46
- ViennaPS is designed to be easily integrated into existing C++ projects and provides Python bindings for seamless use in Python environments. The library is under active development and is continuously improved to meet the evolving needs of process simulation in microelectronics.
50
+ ViennaPS supports both physical process models and fast emulation approaches, enabling flexible and efficient development of semiconductor processes. It can be easily integrated into existing C++ projects and also provides Python bindings for use in Python-based workflows. The library is actively developed and continuously improved to address the needs of process and topography simulation in microelectronics.
47
51
 
48
52
  ## Quick Start
49
53
 
@@ -93,7 +97,7 @@ ViennaPS is also available on the [Python Package Index (PyPI)](https://pypi.org
93
97
 
94
98
  * [ViennaCS](https://github.com/ViennaTools/viennacs)
95
99
 
96
- * [pybind11](https://github.com/pybind/pybind11) (2.12.0+, only for building Python libs)
100
+ * [pybind11](https://github.com/pybind/pybind11) (3.0.0+, only for building Python libs)
97
101
 
98
102
  The CMake configuration automatically checks if the dependencies are installed.
99
103
  If the dependencies are not found on the system, they will be built from source. To use local installations of the dependencies, the `VIENNAPS_LOOKUP_DIRS` variable can be set to the installation path of the dependencies.
@@ -101,7 +105,7 @@ If the dependencies are not found on the system, they will be built from source.
101
105
  ## Installing
102
106
 
103
107
  > [!NOTE]
104
- > __For more detailed installation instructions and troubleshooting tips, please refer to the ViennaPS [documentation](https://viennatools.github.io/ViennaPS/inst/).__
108
+ > __For more detailed installation instructions and troubleshooting tips, have a look at the ViennaPS [documentation](https://viennatools.github.io/ViennaPS/inst/).__
105
109
 
106
110
  ViennaPS is a header-only library, so no formal installation is required. However, following the steps below helps organize and manage dependencies more effectively:
107
111
 
@@ -148,7 +152,7 @@ We recommend using [CPM.cmake](https://github.com/cpm-cmake/CPM.cmake) to consum
148
152
 
149
153
  * Installation with CPM
150
154
  ```cmake
151
- CPMAddPackage("gh:viennatools/viennaps@3.7.0")
155
+ CPMAddPackage("gh:viennatools/viennaps@3.7.2")
152
156
  ```
153
157
 
154
158
  * With a local installation
@@ -161,6 +165,16 @@ We recommend using [CPM.cmake](https://github.com/cpm-cmake/CPM.cmake) to consum
161
165
  target_link_libraries(${PROJECT_NAME} PUBLIC ViennaTools::ViennaPS)
162
166
  ```
163
167
 
168
+ ### Shared Library
169
+
170
+ In order to save build time during development, dynamically linked shared libraries can be used if ViennaPS was built with them. This is done by precompiling the most common template specialisations. In order to use shared libraries, use
171
+
172
+ ```bash
173
+ cmake -B build -DVIENNALS_PRECOMPILE_HEADERS=ON
174
+ ```
175
+
176
+ If ViennaPS was built with shared libraries and you use ViennaPS in your project (see above), CMake will automatically link them to your project.
177
+
164
178
  ## GPU Acceleration (Experimental)
165
179
 
166
180
  As of version 3.4.0, ViennaPS supports GPU acceleration for the ray tracing part of the library. This feature is still experimental and may not work on all systems. Details on how to enable GPU functionality can be found in the [documentation](https://viennatools.github.io/ViennaPS/inst/).
@@ -194,7 +208,7 @@ Individual examples can also be build by calling `make` in their respective buil
194
208
  This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/trenchDeposition) focuses on a particle deposition process within a trench geometry. By default, the simulation presents a 2D representation of the trench. Nevertheless, users have the flexibility to conduct 3D simulations by adjusting the value of the constant _D_ in __trenchDeposition.cpp__ to 3. Customization of process and geometry parameters is achieved through the __config.txt__ file. The accompanying image illustrates instances of the trench deposition process, showcasing variations in the particle sticking probability _s_.
195
209
 
196
210
  <div align="center">
197
- <img src="assets/deposition.svg" width=700 style="background-color:white;">
211
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/deposition.png" width=700 style="background-color:white;">
198
212
  </div>
199
213
 
200
214
  ### SF<sub>6</sub>/O<sub>2</sub> Hole Etching
@@ -208,7 +222,7 @@ The image presents the results of different flux configurations, as tested in _t
208
222
  > The images shown here were generated using **ViennaPS v3.6.0**.
209
223
 
210
224
  <div align="center">
211
- <img src="assets/sf6o2_results.png" width=700 style="background-color:white;">
225
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/sf6o2_results.png" width=700 style="background-color:white;">
212
226
  </div>
213
227
 
214
228
  ### Bosch Process
@@ -222,7 +236,7 @@ This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/bosc
222
236
  This comparison highlights the trade-offs between computational efficiency and physical accuracy in DRIE simulations.
223
237
 
224
238
  <div align="center">
225
- <img src="assets/bosch_process.png" width=700 style="background-color:white;">
239
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/bosch_process.png" width=700 style="background-color:white;">
226
240
  </div>
227
241
 
228
242
  ### Wet Etching
@@ -230,7 +244,7 @@ This comparison highlights the trade-offs between computational efficiency and p
230
244
  This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/cantileverWetEtching) demonstrates the wet etching process, specifically focusing on the cantilever structure. The simulation captures the etching dynamics and the influence of crystallographic directions on the etch profile.
231
245
 
232
246
  <div align="center">
233
- <img src="assets/wet_etching.png" width=700 style="background-color:white;">
247
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/wet_etching.png" width=700 style="background-color:white;">
234
248
  </div>
235
249
 
236
250
  ### Selective Epitaxy
@@ -238,7 +252,7 @@ This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/cant
238
252
  This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/selectiveEpitaxy) demonstrates the selective epitaxy process, focusing on the growth of SiGe on a Si substrate. Similar to wet etching, the process is influenced by crystallographic directions, which can be adjusted in the __config.txt__ file. The simulation captures the growth dynamics and the resulting SiGe structure.
239
253
 
240
254
  <div align="center">
241
- <img src="assets/epitaxy.png" width=700 style="background-color:white;">
255
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/epitaxy.png" width=700 style="background-color:white;">
242
256
  </div>
243
257
 
244
258
  ### Redeposition During Selective Etching
@@ -246,7 +260,7 @@ This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/sele
246
260
  This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/oxideRegrowth) demonstrates capturing etching byproducts and the subsequent redeposition during a selective etching process in a Si<sub>3</sub>N<sub>4</sub>/SiO<sub>2</sub> stack. The etching byproducts are captured in a cell set description of the etching plasma. To model the dynamics of these etching byproducts, a convection-diffusion equation is solved on the cell set using finite differences. The redeposition is then captured by adding up the byproducts in every step and using this information to generate a velocity field on the etched surface.
247
261
 
248
262
  <div align="center">
249
- <img src="assets/redeposition.gif" width=700 style="background-color:white;">
263
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/redeposition.gif" width=700 style="background-color:white;">
250
264
  </div>
251
265
 
252
266
  ### GDS Mask Import Example
@@ -254,7 +268,7 @@ This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/oxid
254
268
  This [example](https://github.com/ViennaTools/ViennaPS/tree/master/examples/GDSReader) tests the full GDS mask import, blurring, rotation, scaling, and flipping as well as the level set conversion pipeline. Shown below is the result after applying proximity correction and extrusion on a simple test.
255
269
 
256
270
  <div align="center">
257
- <img src="assets/masks.png" width=1200 style="background-color:white;">
271
+ <img src="https://raw.githubusercontent.com/ViennaTools/ViennaPS/master/assets/masks.png" width=1200 style="background-color:white;">
258
272
  </div>
259
273
 
260
274