SIMCOS
   HOME

TheInfoList



OR:

SIMCOS (an
acronym An acronym is a word or name formed from the initial components of a longer name or phrase. Acronyms are usually formed from the initial letters of words, as in ''NATO'' (''North Atlantic Treaty Organization''), but sometimes use syllables, as ...
standing for ''SIMulation of COntinuous Systems'') is a
computer language A computer language is a formal language used to communicate with a computer. Types of computer languages include: * Construction language – all forms of communication by which a human can specify an executable problem solution to a compu ...
and a
development environment In software deployment, an environment or tier is a computer system or set of systems in which a computer program or software component is deployed and executed. In simple cases, such as developing and immediately executing a program on the same m ...
for
computer simulation Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be dete ...
. In 1989 it was developed by
Slovenian Slovene or Slovenian may refer to: * Something of, from, or related to Slovenia, a country in Central Europe * Slovene language, a South Slavic language mainly spoken in Slovenia * Slovenes The Slovenes, also known as Slovenians ( sl, Sloven ...
experts led by Borut Zupančič.


Properties

The purpose of the language is
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of Conceptual model, models; the model represents the key characteristics or behaviors of the selected system or proc ...
of dynamic
mathematical model A mathematical model is a description of a system using mathematical concepts and language. The process of developing a mathematical model is termed mathematical modeling. Mathematical models are used in the natural sciences (such as physics, ...
s of systems, given as set of
ordinary differential equation In mathematics, an ordinary differential equation (ODE) is a differential equation whose unknown(s) consists of one (or more) function(s) of one variable and involves the derivatives of those functions. The term ''ordinary'' is used in contrast w ...
s. It is an equation oriented and compiler type of language. Despite its name it can be used for discrete simulation as well. The language suits well to the CSSL'67
standard Standard may refer to: Symbols * Colours, standards and guidons, kinds of military signs * Standard (emblem), a type of a large symbol or emblem used for identification Norms, conventions or requirements * Standard (metrology), an object th ...
of simulation languages so portability among other languages conforming to the same standard (e.g.
Tutsim TUTSIM was the first commercial simulation software ever to run on an IBM-PC. The package was used for the modeling and simulation of multi-domain systems using differential equations and bond graphs. History TUTSIM (Twente University of Technology ...
, ACSL etc.) is quite simple. It is a
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicatio ...
based software occasionally it is slightly modified so it can be run under actual versions of
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. Apart from the simulation itself it can also perform parametrisation (a series of simulations with different values of
parameter A parameter (), generally, is any characteristic that can help in defining or classifying a particular system (meaning an event, project, object, situation, etc.). That is, a parameter is an element of a system that is useful, or critical, when ...
s), linearisation of models and
optimisation Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
(finding such values of parameters that a criterion function is minimised).


Simulation process

When a simulation scheme must be prepared it must be described in the SIMCOS language. It can be "drawn" (similarly as with an
analogue computer An analog computer or analogue computer is a type of computer that uses the continuous variation aspect of physical phenomena such as electrical, mechanical, or hydraulic quantities ('' analog signals'') to model the problem being solved. In ...
) using an enclosed block library graphics tool (it contains basic elements such as
integrator An integrator in measurement and control applications is an element whose output signal is the time integral of its input signal. It accumulates the input quantity over a defined time to produce a representative output. Integration is an importan ...
s,
amplifier An amplifier, electronic amplifier or (informally) amp is an electronic device that can increase the magnitude of a signal (a time-varying voltage or current). It may increase the power significantly, or its main effect may be to boost the v ...
s, summators, some basic input
signal In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The ''IEEE Transactions on Signal Processing'' ...
s etc.) but more often it is entered as a program using one of text editors, e.g. Edit enclosed with DOS. Whichever form of entry of the model is used, the first phase of simulation reprocesses it into
space of states Space is the boundless three-dimensional extent in which objects and events have relative position and direction. In classical physics, physical space is often conceived in three linear dimensions, although modern physicists usually conside ...
form and rewrites the program into Fortran and prepares files with input parameters. This Fortran program is compiled into an executable file (.EXE) and executed. The executable program reads parameter values from input files, performs the simulation and writes requested calculated values into another file. When it terminates, SIMCOS takes control again and can display results as a graphic plot. The "heart" of the executable is function INTEG which can solve
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
s using one of several
numerical method In numerical analysis, a numerical method is a mathematical tool designed to solve numerical problems. The implementation of a numerical method with an appropriate convergence check in a programming language is called a numerical algorithm. Mathem ...
s. First it reads necessary values (e.g. values of parameters, initial conditions) from files then it calls the function DERIV where the model is actually described as series of functions of its
derivative In mathematics, the derivative of a function of a real variable measures the sensitivity to change of the function value (output value) with respect to a change in its argument (input value). Derivatives are a fundamental tool of calculus. F ...
s. The returned values are used at the selected numerical method. Requested calculated results are written into the file and the whole procedure is repeated until the termination condition is satisfied.


Example

Continuous simulation of
dead time For detection systems that record discrete events, such as particle and nuclear detectors, the dead time is the time after each event during which the system is not able to record another event. An everyday life example of this is what happens when ...
(its
Laplace transform In mathematics, the Laplace transform, named after its discoverer Pierre-Simon Laplace (), is an integral transform In mathematics, an integral transform maps a function from its original function space into another function space via integra ...
is e^) is not a trivial task and usually we use one of Padé approximations. We will simulate Padé approximation of 2nd order :e^\dot\frac and 4th order: :e^\dot\frac. Input signal is a unit step, communication interval equals 0.01s, length simulation run is 5s, results will be compared with output of built-in discrete function ''delay'' (it requires additional array (''del'' in our case) of appropriate size). ''y1'' is a result of simulation of Padé approximation of 2nd order, ''y2'' is a result of simulation of Padé approximation of 4th order and ''y3'' is result of the discrete function ''delay''. When
transfer function In engineering, a transfer function (also known as system function or network function) of a system, sub-system, or component is a function (mathematics), mathematical function that mathematical model, theoretically models the system's output for ...
s of both Padé approximation are developed using one of simulation schemes, the model can be described with the following program:
program pade
constant tm=1.0
constant tfin=5
array del(101)
variable t=0.0
u=step(t,0.)

u11d=12/(tm*tm)*u-12/(tm*tm)*y1
u11=integ(u11d,0.)
u21d=u11-u*6/tm-y1*6/tm
u21=integ(u21d,0.)
y1=u21+u
u12d=u*1680/(tm*tm*tm*tm)-y2*1680/(tm*tm*tm*tm)
u12=integ(u12d,0.)
u22d=u12-u*840/(tm*tm*tm)-y2*840/(tm*tm*tm)
u22=integ(u22d,0.)
u32d=u22+u*180/(tm*tm)-y2*180/(tm*tm)
u32=integ(u32d,0.)
u42d=u32-u*20/tm-y2*20*tm
u42=integ(u42d,0.)
y2=u42+u
y3=delay(u,tm,#del,ci)

cinterval ci=0.01
hdr Pade approximation of dead time
prepar y1,y2,y3
output 10,y1,y2,y3
termt(t.ge.tfin)

end
After the simulation run is finished the results can be displayed as plots. It is possible to trace values of plots, select which plots to display, turning on a grid, zoom etc.


References

In Slovene: * Borut Zupančič (with contributions by Rihard Karba and
Drago Matko Drago may refer to: People * Drago (given name) * Drago (surname) * Drago (wrestler), Mexican professional wrestler Víctor Soto * Drago Dumbovic, Croatian footballer known simply as Drago * Drago, nickname of Alexander Volkov (fighter), Alexande ...
), ''Simulacija dinamičnih sistemov'', Založba FER, Ljubljana, 1995, * Borut Zupančič, ''SIMCOS – jezik za simulacijo zveznih in diskretnih dinamičnih sistemov'', Založba FER, Ljubljana, 1992, {{refend


External links


Borut Zupančič's homepage

LMSC download page
(the link to SIMCOS is at the bottom) Simulation programming languages