Visual Simulation Programing
Project description
Visip - VIsual SImulation Programming
Rationale
Simulation workflows are usually composed from several dependent steps forming a directid acyclic graph (DAG). A single step of this DAG could be a simple task as copying of a file or extracting a few numbers from a file via. a Python script, ot it may be a complex task as several hours long parallel finite element calculation. Developing such a DAG is often painful for following reasons:
Slow Feedback
Slow error feedback is related to the complex tasks. Thier runtimes are huge and usage of an HPC system is necessary. Further latency is caused by waiting to the free resources as the task is processed by the job scheduling system (JSS), e.g. PBS). One solution is to test the task DAG with simplified complex tasks (e.g. using a coarse computational grid) idealy on the local workstation without dealing with JSS. However, this leads to other issues ..
Scaling and Portability Issues
Porting the workflow from the workstation to the HPC system is laborous due to complex software dependencies.
Essential features
- simulation workflow DAG is described in a form of simple pure functional language based on Python
- automatic type deduction and checking is performed to catch some errors before execution
- task results are stored to a permanent cache allowing to skip repeated calculations for the same inputs
- automatic parallelization (grouping of small tasks)
- graphical language
- conteiners
Pure Functional Language
- visip docker image
- typy: time map (time -> snapshot), bilance, VTK,
- zobrazovani dat z vypoctu: hodnoty, pole, BREP, MSH, VTK
Important features (TODO)
Test cases
- BGEM - GMSH - Flow123d
- Model editor - Flow123d
- Simple calibration (While + foreach) - fracture position - Flow123d
- Flow123d mikro model - Flow123d makro model
- Flow123d HM - Flow123d Transport
Python based syntax
Sources are stored in individual module files. There are two kinds of the file:
Files containing actions implemented in Python using the @action_def
decorator.
Files containing workflows (functional definitions of actions) using the @worflow
decorator.
The first kind can only be modified through in the source form not through the GUI. The second kind can be fully modified through the gUI allowing graphical composition of the actions of the first kind.
Further one can define classes (@Class) and enums (@Enum) data types. All names must be valid Python names and must not begin with underscore. All invalid names are ignored in the module and result in error when used in a workflow.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file visip-0.1.0.tar.gz
.
File metadata
- Download URL: visip-0.1.0.tar.gz
- Upload date:
- Size: 132.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f26e04697d8c4505882ce6c87370032610a846163d8d2959fe37222c5070d3e |
|
MD5 | ac008b9a5da8b542b7cc29b20a34f871 |
|
BLAKE2b-256 | 52193dd9f57796d5c557438b0e35aa7afe35d8b9a576c31c07332b05267aab4d |
File details
Details for the file visip-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: visip-0.1.0-py3-none-any.whl
- Upload date:
- Size: 169.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a77a1168bc4a0829df525f2690756ff067baccaeba0b17c0890edf4cde6dc756 |
|
MD5 | e98c8fe76420e1115952128597e862cb |
|
BLAKE2b-256 | 15e1f76cba216422c1910c3a14ec32363990acda2dbfb64d045e6d837c53ce12 |