Table of Contents
Irritator works for Linux, Windows and MacOS.
-
cmake
(≥ 3.11) -
C++ compiler with C++20 support:
Install the glfw3 and OpenGL libraries. On Debian GNU/Linux and Ubuntu derivatives.
apt-get install build-essential cmake libglew2 libglew-dev libglfw3-dev libglx0 libopengl0 libgl1-mesa-dev
Install (Visual Studio 2019) with cmake
support then open the Irrirator source directory and build.
First, we clone Irritator git repository and the submodule:
-
from Github:
git clone https://github.com/vle-forge/irritator.git cd irritator git submodule update --init --recursive
-
from ForgeMIA:
git clone https://forgemia.inra.fr/gauthier.quesnel/irritator.git cd irritator git submodule update --init --recursive
-
build
cmake -B build
cd build
make
make install
-
start the GUI
./app/gui/irritator-0.1
Simple simulation file .irt
:
''''
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
:
''''
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 #
''''