Browser width is too narrow.

Rotate the screen or increase the width.

# Science software

## Why use modeling?

Why and when, in fact, modeling is necessary while researching?

Modeling is used to obtain the characteristics of the system under study in cases when the analytical formula does not exist or the formula exists, but its computational complexity does not allow obtaining the result within a reasonable time.

In general, modeling can be physical (for example mechanical construction modeling) or mathematical. The latter will be considered.

## Simulation modeling

Mathematical modeling using simulation to describe the behaviour of the object under study is called simulation modeling.

One of widely used simulation modeling approaches is discrete-event simulation. It is used almost everywhere - in natural sciences, applied sciences and social sciences. From NASA to a small business warehouse. From a call center to McDonalds.

Discrete-event simulation is widely implemented as computer simulation software.

## Statistical experiments

Discrete-event simulation belongs to the class of statistical approaches of computer simulation. During the simulation run, a series of statistical experiments are performed with entities passing through the model.

The number of statistical experiments are not large for a simple and small system, but this number is significantly increased when compex system of a large capacity. Since, every statistical experiment takes some portion of modeling runtime, more statistical experiments means longer modeling runtime.

## Runs of simulation

A single simulation run results an only value of the system characteristic under study. It cannot be used in practice to describe a function. Even two values can only describe a linear function. Since most functions are non-linear and often have a rather complex behavior, even a few values basically describe a function incorrectly.

For correct representation of the characteristic of the system under study a sufficiently large number of values only can describe a function quite accurate. In practice, quite a lot of such values are required to obtain a good (smoothed) characteristic.

## Reliable results

It is necessary to determine how accurately the simulation model gives out the results. For acceptable error of simulation results for a given confidence interval, the number of entities in the simulation model should be large enough to run. This is especially important for large and/or complex systems.

Moreover, reliable results can be obtained when the model of the corresponding system has reached a steady state. The steady state in simulation modeling is the point when the system is stable enough. That means that duraing the simulation run a great number of entities shuold be passed through the model until the model reaches the steady state. Only after the steady state the statistics gathering should be started. So, for an only modeling result, it is necessary to carry out a sufficiently large number of statistical experiments.

## Fast simulation runtime

Since each value of the function under study is reached by one simulation run, the simulation software should work very fast so that you don't have to wait a years to get the results. Therefore, for an only simulation point a great number of entities has to be generated and to be passed through the model. Thus, simulation runtime is one of the critical values of simulation software in scientific research. This value is especially prior for large complex systems, minding the steady state. So, minimizing simulation runtime is really important.

## Multi-run simulation

To obtain a number of run results for different initial values of a model it should be launched repeatedly, and preferrebly automatically. Scientific software should output simulation results ideally for both console and graphical applications. Scientific software should be able to display both the result of a single simulation in free form, and the results of multi-run simulation in tabular form, for example, in CSV format, or stored in a database.

## OpenSIMPLY scientific software

The OpenSIMPLY meets all above mentioned requirements
• OpenSIMPLY implements global, selective and deferred statistics gathering modes.

Deferred gathering mode allows to take into account the steady state of the model in order to avoid significant accuracy degradation of the simulation results.

Another implemented feature to improve accuracy is stopping statistics gathering while the model is still in a steady state.
• The simulation run in OpenSIMPLY is very fast, especially when using both block simulation and Simula-like simulation styles.
• OpenSIMPLY provides flexible output of single and tabular data for GUI and console modes. Simulation results can also be stored in various formats and databases.
• This project allows you to explore the systems of a fairly large complexity.
• Simulation process can be visualized with OpenSIMPLY using charts or graphical elements.
• OpenSIMPLY is remote simulation ready. The simulation model can be executed on a remote computer with Samba or similar data transfer protocol. The model progress or visualization of the specified parameters can be watched on the local computer.