Skip to main content

A library for interfacing with the kspice API for the Yggdrasil project

Project description

YggSimLib

Introduction

YggSimLib is a wrapper library that simplifies working with K-Spice for the Yggdrasil Engineering Simulator.
It consists of two main functionalities

  • Wrapping object operations
  • Setting up sequences/scenarios that can be programmed to execute in a pre-set order

Object Wrapping

The Yggdrasil Engineering Simulator makes use of several object types to represent for instance on/off valves. Each object type can have different parameters that needs to be set in order to i.e. open the valve. The YggSimLib.On_Off_Valve object simplifies operations on valves, exposing a single open() method that behind the scenes sets the correct parameter on the K-Spice object.
The following types are implemented:

  • On_Off_Valve
    • Wraps MotorOperatedValve, BlockValve and LedaValve
  • Motor_Heater
    • Wraps ControlledAsynchronousMachine and ControlledElectricHeater
  • PID
    • Wraps PidController
  • Choke
    • Wraps ControlValve and LedaValve (acting as a choke)
  • Transmitter
    • Wraps AlarmTransmitter

Sequencing

Sequencing / Scenario building are supported through the classes Step, Sequence and Admin. The Step class lets the user define a set of actions to be performed. When the actions has been initiated, a set of transition conditions can be configured that will allow the step to complete within a maximum time limit (simulation clock). Each step is configured so it contains the name of the next step. A set of Steps can be collected in Sequence object. The Sequence object will execute the steps in the order configured by the steps themselves, and also allows a set of inhibit conditions to be set that will disalow the sequence from starting. Finally, a set of Sequence objects can be collected in an Admin object. Together with the Sequences, this class requires a set of relations between the sequences that dictates execution order, allowing for both parallell and serial execution of the sequences. These relations are configured as a set of edges connecting the sequence names.

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

yggsimlib-0.93.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yggsimlib-0.93-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file yggsimlib-0.93.tar.gz.

File metadata

  • Download URL: yggsimlib-0.93.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for yggsimlib-0.93.tar.gz
Algorithm Hash digest
SHA256 27346eb55f1f0d449a828011824d4d19c8f00247d5da02214037aa809bd6434b
MD5 2f6ea62b77f162374b637b1edfef2f34
BLAKE2b-256 51897bffc1be1a08791189a9247d0ff14cf01c967283a94232a7fab1be8e1896

See more details on using hashes here.

File details

Details for the file yggsimlib-0.93-py3-none-any.whl.

File metadata

  • Download URL: yggsimlib-0.93-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for yggsimlib-0.93-py3-none-any.whl
Algorithm Hash digest
SHA256 037752e26ca95068f097fd59673e1b0018be6e71c52620f472201119c1afc10a
MD5 4247ef0eaa625ca45ef229b87e641333
BLAKE2b-256 810ab68f5791f41fcd1aa0f96c6332d1b7601e7540f229a1fca8ac995fada9dd

See more details on using hashes here.

Supported by

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