Skip to content

ynedelec3/irritator

 
 

Repository files navigation

Irritator

Linux MacOS Windows

Copyright © 2021 INRA

The software is released under the Boost license. See the LICENSE file.

Irritator works for Linux, Windows and MacOS.

  • cmake (≥ 3.11)

  • C++ compiler with C++20 support:

Linux

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

Windows

Install (Visual Studio 2019) with cmake support then open the Irrirator source directory and build.

MacOS

Install (Xcode 12) and Xcode Command Line Tools via the command xcode-select --install in terminal. Then using (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
  • build

cmake -B build
cd build
make
make install
  • start the GUI

./app/gui/irritator-0.1

File format

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:

''''
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 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 component cpp qss1_lotka_volterra
2 -5.0 0.0 component file "qss1/lotka_volterra.irt"
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
1                                    # observable models number
2                                    # `-> second children
1                                    # configurable models number
2                                    # `-> second children
0 0 2 0                              #
1 0 2 1                              #
2 0 3 0                              #
''''

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.2%
  • CMake 0.8%