vle-forge / irritator

Other
5 stars 4 forks source link
inrae

= Irritator Gauthier Quesnel gauthier.quesnel@inrae.fr v0.1.0, 2021-xx-xx :toc: :homepage: https://github.com/quesnel/irritator/

image:https://github.com/vle-forge/irritator/actions/workflows/linux.yml/badge.svg[Linux, link=https://github.com/vle-forge/irritator/actions/workflows/linux.yml] image:https://github.com/vle-forge/irritator/actions/workflows/macos.yml/badge.svg[MacOS, link=https://github.com/vle-forge/irritator/actions/workflows/macos.yml] image:https://github.com/vle-forge/irritator/actions/workflows/windows.yml/badge.svg[Windows, link=https://github.com/vle-forge/irritator/actions/workflows/windows.yml]

Copyright © 2021 http://www.inrae.fr/en[INRA]

The software is released under the https://www.boost.org/LICENSE_1_0.txt[Boost license]. See the LICENSE file.

== Requirements and recommended

Irritator works for Linux, Windows and MacOS.

=== Linux

Install the glfw3 and OpenGL libraries. On Debian GNU/Linux and Ubuntu derivatives.

[source,bash] .... apt-get install build-essential cmake libglew2 libglew-dev libglfw3-dev libglx0 libopengl0 libgl1-mesa-dev ....

=== Windows

Install (https://visualstudio.microsoft.com/[Visual Studio 2019]) with cmake support then open the Irrirator source directory and build.

=== MacOS

Install (https://apps.apple.com/app/xcode[Xcode 12]) and Xcode Command Line Tools via the command xcode-select --install in terminal. Then using (https://brew.sh[Homebrew]), install cmake, glew and glfw the OpenGL dependencies.

== First installation

First, we clone Irritator git repository and the submodule:

.... git clone https://github.com/vle-forge/irritator.git cd irritator git submodule update --init --recursive ....

.... git clone https://forgemia.inra.fr/gauthier.quesnel/irritator.git cd irritator git submodule update --init --recursive ....

[source,bash] .... cmake -B build cd build make make install ....

[source,bash] .... ./app/gui/irritator-0.1 ....

== File format

Simple simulation file .irt:

[source] '''' 2 # Number of constant source generator 0 10 1 2 3 4 5 6 7 8 9 10 # The first constant generator with id: 0 have ten values 1 5 0 0 1 1 2 # The second constant generator with id: 1 have five values 0 # Number of binary file source generator 1 # Number of text file source generator 0 "data/big-random-data.dat" # The only text file generator with id: 0 with a relative file (relative to the irt file). 1 # Number of random source generator 0 normal 0.5 0.1 # The only random source generator with id: 0 with a normal law and two parameters 0.5 and 0.1 for mean and standard deviation 4 # 4 models will be allocated 0 15.0 17.0 generator 2 0.0 100.0 0 # Model 0, in position x = 15.0 y = 17.0, is a generator with one double real message 1 12.0 5.0 generator 2 0.0 100.0 0 # Model 1, in position x = 12.0 y = 5.0, is a generator with one double real message 2 -5.0 0.0 adder_2 2 1.0 1.0 0 # Model 2, in position x = -5.0 y = 0.0, is a adder_2 with one double real message 3 0.0 1.0 counter 1 0.0 0 # Model 3, in position x = 12.0 y = 1.0, is a counter with one real message 0 0 2 0 # Model 'A' output port '0' connected to model 'Add' input port '0' 1 0 2 1 # Model 'A' output port '0' connected to model 'Add' input port '0' 2 0 3 0 # Model 'Add' output port '0' connected to model 'C' input port '0' ''''

Component file .irt:

[source] '''' name # Name of the component 2 # Number of constant source generator 0 10 1 2 3 4 5 6 7 8 9 10 # The first constant generator with id: 0 have ten values 1 5 0 0 1 1 2 # The second constant generator with id: 1 have five values 0 # Number of binary file source generator 1 # Number of text file source generator 0 "data/big-random-data.dat" # The only text file generator with id: 0 with a relative file (relative to the irt file). 1 # Number of random source generator 0 normal 0.5 0.1 # The only random source generator with id: 0 with a normal law and two parameters 0.5 and 0.1 for mean and standard deviation 3 # 4 models will be allocated 0 15.0 17.0 true false generator 2 0.0 100.0 0 # Model 0, in position x = 15.0 y = 17.0, is a generator with one double real message. Configurable and not observable. 1 12.0 5.0 false true component cpp "qss1_lotka_volterra" # Component Not configurable and observable. 2 -5.0 0.0 false true component file "qss1/lotka_volterra.irt" # Component Not configurable and observable. 2 # input ports 1 0 # -> first input port of the cpp component 2 0 # first input port of the file component 1 # output ports 1 0 #-> first output port of the cpp component 0 0 2 0 # 1 0 2 1 # 2 0 3 0 # ''''