Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

visip-0.1.0.tar.gz (132.8 kB view details)

Uploaded Source

Built Distribution

visip-0.1.0-py3-none-any.whl (169.0 kB view details)

Uploaded Python 3

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

Hashes for visip-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f26e04697d8c4505882ce6c87370032610a846163d8d2959fe37222c5070d3e
MD5 ac008b9a5da8b542b7cc29b20a34f871
BLAKE2b-256 52193dd9f57796d5c557438b0e35aa7afe35d8b9a576c31c07332b05267aab4d

See more details on using hashes here.

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

Hashes for visip-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a77a1168bc4a0829df525f2690756ff067baccaeba0b17c0890edf4cde6dc756
MD5 e98c8fe76420e1115952128597e862cb
BLAKE2b-256 15e1f76cba216422c1910c3a14ec32363990acda2dbfb64d045e6d837c53ce12

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page