viennatools / viennaps Goto Github PK
View Code? Open in Web Editor NEWDevelopment repository for ViennaPS, a fully-fledged semiconductor fabrication process simulation library.
Home Page: https://viennatools.github.io/ViennaPS
License: Other
Development repository for ViennaPS, a fully-fledged semiconductor fabrication process simulation library.
Home Page: https://viennatools.github.io/ViennaPS
License: Other
In the README.md under tests the flag the command should read
cmake .. -DVIENNAPS_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=DEBUG
to be able to compile the tests.
Currently it reads:
cmake .. -DVIENNAPS_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=DEBUG
When I simulate hole etching, there are some white line in paraview image (Material Ids).
I understand red is Si, blue is SiO2.
However, white is not mentioned in your code, so tell me what mean white line, please.
The material specifier 'None' is the psMaterial enum does not work with the Python bindings, as None is a Python keyword.
The material 'None' should thus be changed to either 'Undefined' or use 'NONE' instead.
After installing the C++ library successfully I had to remove the build folder to then install the python library. Else wise this step fails with a cryptic error message.
Building wheels for collected packages: ViennaPS_Python
Building wheel for ViennaPS_Python (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for ViennaPS_Python (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [21 lines of output]
*** scikit-build-core 0.9.3 using CMake 3.27.4 (wheel)
*** Configuring CMake...
loading initial cache file build/CMakeInit.txt
-- CPM: Adding package [email protected] (v1.11.1)
ninja: error: Makefile:5: expected '=', got ':'
default_target: all
^ near here
CMake Error at /usr/share/cmake-3.27/Modules/FetchContent.cmake:1662 (message):
Build step for packageproject failed: 1
Call Stack (most recent call first):
/usr/share/cmake-3.27/Modules/FetchContent.cmake:1802:EVAL:2 (__FetchContent_directPopulate)
/usr/share/cmake-3.27/Modules/FetchContent.cmake:1802 (cmake_language)
build/cmake/CPM_0.38.6.cmake:1004 (FetchContent_Populate)
build/cmake/CPM_0.38.6.cmake:798 (cpm_fetch_package)
CMakeLists.txt:98 (CPMAddPackage)
-- Configuring incomplete, errors occurred!
*** CMake configuration failed
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for ViennaPS_Python
Failed to build ViennaPS_Python
ERROR: Could not build wheels for ViennaPS_Python, which is required to install pyproject.toml-based projects
If this is a typical behavior I would suggest to add this as a note in the README.
I was able to install the tool successfully (I hope) using the instructions given. However while checking out examples, I faced the following issue:
(base) [om@darkknight build]$ cmake .. -DVIENNAPS_BUILD_EXAMPLES=ON
-- Found ViennaLS at /home/om/Vienna/ViennaPS2/ViennaPS/dependencies/Install/viennals_external/lib/cmake/ViennaLS.
-- Found ViennaRay at /home/om/Vienna/ViennaPS2/ViennaPS/dependencies/Install/viennaray_external/lib/cmake/ViennaRay.
-- ViennaLS found at: /home/om/Vienna/ViennaPS2/ViennaPS/dependencies/Install/viennals_external/lib/cmake/ViennaLS
-- ViennaRay found at: /home/om/Vienna/ViennaPS2/ViennaPS/dependencies/Install/viennaray_external/lib/cmake/ViennaRay
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/om/Vienna/ViennaPS2/ViennaPS/build
(base) [om@darkknight build]$ make buildExamples
[ 3%] Building CXX object examples/volumeModel/CMakeFiles/volumeModel.dir/volumeModel.cpp.o
In file included from /home/om/Vienna/ViennaPS2/ViennaPS/include/psLogger.hpp:5:0,
from /home/om/Vienna/ViennaPS2/ViennaPS/include/cellSet/csDenseCellSet.hpp:16,
from /home/om/Vienna/ViennaPS2/ViennaPS/include/psDomain.hpp:13,
from /home/om/Vienna/ViennaPS2/ViennaPS/include/geometries/psMakeFin.hpp:6,
from /home/om/Vienna/ViennaPS2/ViennaPS/examples/volumeModel/volumeModel.cpp:1:
/home/om/Vienna/ViennaPS2/ViennaPS/include/psUtils.hpp:6:20: fatal error: optional: No such file or directory
#include <optional>
^
compilation terminated.
make[3]: *** [examples/volumeModel/CMakeFiles/volumeModel.dir/volumeModel.cpp.o] Error 1
make[2]: *** [examples/volumeModel/CMakeFiles/volumeModel.dir/all] Error 2
make[1]: *** [examples/CMakeFiles/buildExamples.dir/rule] Error 2
make: *** [buildExamples] Error 2
(base) [om@darkknight build]$
Is there a documentation on how to use the tool?
[ 75%] Performing build step for 'viennals_external'
gmake[4]: *** No rule to make target 'buildDependencies'. Stop.
make[3]: *** [external/upstream/viennals/CMakeFiles/viennals_external.dir/build.make:86: ../dependencies/Stamp/viennals_external/viennals_external-build] Error 2
make[2]: *** [CMakeFiles/Makefile2:187: external/upstream/viennals/CMakeFiles/viennals_external.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/buildDependencies.dir/rule] Error 2
make: *** [Makefile:169: buildDependencies] Error 2
when i make dependencies,there is a problem.How can I figure out this?
Originally posted by @Yanthirteen13 in #50 (comment)
We are presently undergoing a significant overhaul to enhance the entire build system in ViennaPS/ViennaLS. As a result, there may be occasional build issues in ViennaPS during this transitional phase.
To address this temporarily, we recommend utilizing an earlier version of both libraries.
We are working diligently to complete the refactoring process promptly, ensuring that the library can be seamlessly utilized without any issues in the near future. We appreciate your patience and understanding during this improvement period.
he@he-virtual-machine:~/ViennaPS/build/ViennaPS/examples/holeEtching$ python3 holeEtching.py config.txt
Running 2D simulation.
Traceback (most recent call last):
File "/home/he/ViennaPS/build/ViennaPS/examples/holeEtching/holeEtching.py", line 12, in
import viennaps2d as vps
File "/home/he/.local/lib/python3.10/site-packages/viennaps2d/init.py", line 11, in
from ._viennaps2d import *
ImportError: libvtkIOXMLParser.so.1: cannot open shared object file: No such file or directory
can u help me?i dont know what's the problem,thanks a lot
Recently, I have updated ViennaPS. Then, there were any changes in config.txt. Before updating, there were unit of Geometry like hole radius. However, newer one does not described unit of Geometry. So, please tell me the unit of geometry.
Write documentation for the library.
the project looks great, for an integration with gdsfactory as one of its plugins it would be great to:
I can help with the PyPi release
Checking if a variable is passed to CMake (e.g. when checking if a path is set explicitly) is currently checked by
if(DEFINED ${some_var})
...
endif()
However this only check for the contents of the variable and not if it is defined. Thus even if a path if passed to CMake it will not enter this if statement. The correct checking should be
if(DEFINED some_var)
...
endif()
The deepCopy function in psDomain does not work in the current implementation. Also, it does not copy the material map.
When trying build the examples, without installing the library beforehand (with make install
), the CMake configuration returns an error. It would be beneficial to just build and use the examples without explicitly installing the library.
I do not yet know exactly know where the problem stems from or how to resolve it.
#74 introduced python stub files which are currently manually generated.
We should adopt some way of automatically generating those stub files either through the pyproject.toml
or through the Github-CI, and somehow include them from the pyproject.toml
instead of using a shell script
Some references:
Currently there are lot of possibly parsed arguments in the HoleEtching examples that are unused. It would be good to improve the example by adding hole tapering and including all parsed arguments.
Python bindings currently do not work for all functionalities in ViennaPS. Only built-in models can be applied and there is no possibility of creating a custom, e.g., surface model in Python.
Hello!
I want to start working on moving the cell set into its own library. I will write down some of my thoughts and the decisions that have to be made.
Dependencies:
Coupling to ViennaPS:
Some classes are used in the cell set, such as psMaterial
and psDomain
. Should some of these be moved to the CS library or replicated there, or should they be replaced with another implementation (like using the wrapped LS functionality directly)?
If the example oxideRegrowth
is to be moved to the CS library, more functionality used from the PS library (psProcess
) would have to be moved over.
Is there anything else we need to be aware of?
It would be nice to have a feature to "uninstall" the library (removing all header files from the include directories and CMake config files).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.