Thank you for visiting this page.
I shall appreciate your
Use one of the
While sending a message please indicate clearly the subject. Otherwise it could be deleted as spam.
http://www.raczynski.com (the personal pages)
Use this button to join my mailing list If you sign in, you will receive more information about new articles, software and updates. Thank you.
The title of this page should rather be "Rejected articles of Stanislaw Raczynski", because some of the articles available below have been rejected by professional journals. I have more that 70 articles in the field of Modeling & Simulation already published, and two books on M&S, so two or three more make little difference. What seems strange to me is that my best works are frequently rejected, while a less significant and less original ones are normally accepted. The text should be treated as a "raw material". Sorry for the grammar and spelling, my English is not perfect.
Of course not all my articles and texts have been rejected.
Universidad Panamericana, Mexico
Using a gas flow simulation tool, the oscillations of the air around the wing are analyzed. It is pointed out that the flow behind and below the wing oscillates with sub- or low acoustic frequencies. Such external excitation may enter into resonance with the natural vibration frequencies of the wings and fuselage, which can produce a dangerous effect. The point of the article is that the fuselage vibration on take-off depends mainly on what happens in the surrounding air flow. The tool used for flow simulation is equipped with the frequency analysis procedure that shows the spectrum of the oscillations (pressure) in selected points. This permits to identify the main frequencies and amplitudes of the oscillation. The results show that there are several sub-acoustic frequencies (infrasound) that may produce oscillating forces of up to several hundreds of kilograms per square meter of the wing.
The topic is closely related to the safety issues.
Keywords: airplane takeoff, simulation, aircraft vibrations, takeoff vibrations, flight safety
FULL TEXT: http://www.raczynski.com/art/takevib17_9_15.pdf
Article: Semi-discrete events and models in categorical language
Rejected by Simulation: Transactions of the Society for Modeling and Simulation International
(Click here to Download complete pdf)
Keywords: discrete events, modeling and simulation, devs, category theory
Some problems related to discrete event simulation and model validation are discussed. Examples of invalid models with simultaneous events are given. The basic concepts of the theory of categories are recalled and applied to model construction process. It is pointed out that the theory of categories may be useful as a unified language for model description. Using this language we can get a high level of abstractions in model building.
Also consult the following links, to see a summary of my new book on computer simulation:
Click here to consult PSM++ page and free demo.
Consult also the NEW version of the fluid flow analyzer FLUIDS5 Below is an example of an unstable gas stream. This is a projection of a 3D simulation. The 3D images of FLUIDS5 flow lines show that those are complicated 3D structures, even if the duct and external excitation are axisymmetric. In other words, 2D flow simulation models are false and invalid.
Aricle: Reachable Sets for Flight Trajectories: An Application of Differential Inclusions to Flight Maneuver Simulation
Article: Simulating our self-destruction
Article: On the validity of discrete event models
Simulation Encyclopedia : more than 120 topics, 300 keywords
Frequency response analysis
Article: Simulation of the dynamic interactions between terror and anti-terror organizational structures
Article: Simulating a trip to the future (this is NOT science fiction)
Article: A small tool for complex system simulation
Article: Simulating General Relativity
Article: PSM++ overview
Article: Stock market simulation - application of differential inclusions
The article rejected by the AIAA JOURNAL OF GUIDANCE, CONTROL, AND DYNAMICS
Reachable Sets for Flight Trajectories: An Application of Differential Inclusions to Flight Maneuver Simulation
Keywords: Flight simulation, differential inclusions
The main mathematical tool in flight simulation is the ordinary differential equation. However, in many situations this is not the sufficient way to solve problems. In robust flight control design, safety, missile and aircraft guidance, influence of perturbances or differential games of pursuit-evasion problem more versatile tools are needed. Differential Inclusion (DI) is a generalization of a differential equation that can be extremely useful. The solution of a DI is not just a model trajectory or a set of trajectories obtained by a randomization of the original problem. The solution is a reachable set, and it is a deterministic object.
It is pointed out that the reachable sets cannot be assessed properly while treating the uncertain variables as random ones. The application of the differential inclusion solver can give the proper view of the regions in the state space where all the possible model trajectories belong. In the present paper we are looking for the solution of the corresponding differential inclusion (i.e. the reachable set) and not for application of the DIs in the problems of flight trajectory optimization.
Download the article
(This article was submitted to the International Journal of Modeling and Simulation, ACTA Press / IASTED, in August 2002. The reviewers needed more than two years to read and to reject it, in September 2004. This makes the reviewer speed equal to 4.26 words per day.)
On the validity of discrete event models
Discrete event models are commonly used while simulating queuing, manufacturing and similar systems. However, in some cases the concept of events, which duration is equal to zero may be too simplified and the validity of the model questionable. An alternative approach is proposed, called semi-discrete events that permits a finite duration of the event activity. This leads to a model specification where there is no conceptual difference between semi-discrete and continuous events. It is shown that discrete event models may be located in the points of discontinuity in the general space of models (may form singularities). This may have serious consequences, namely the validity of such models may result to be false.
Click here to download the complete document
(This article has not been rejected yet by any journal. Perhaps some version of it will be published somewhere)
Simulating our self-destruction
498 Augusto Rodin, Mixcoac
03920 Mexico D.F., Mexico
Keywords: simulation, social simulation, terrorism, self destruction
A simple model of a self-destructing society is presented. It can be interpreted as a game with two players: the society and its subset which tends to destroy the whole society, as well as to destroy itself. The main factor taken into account in the model is the progress of science and technology which provides the destruction tools (new weapons and killing techniques), as well as tools the society can use to defend itself. The simulation experiments show that, in the near future, this progress is extremely dangerous, and it may result in total destruction of the mankind. For the longer time period, however, the conclusion is not so pessimistic. If the society survives during certain time interval, then the probability of survival becomes higher for a longer time horizon.
Click here for the complete document
Simulating a trip to the future
This section is a part of an article submitted to the journal Simulation San Diego, CA, publication of the SCS.
One of the reviewers of Simulation wrote:
This is a most
provocative paper that I read with the greatest of
interests. If, what the author claims, is true, this is indeed a
sensationally important paper that most certainly deserves to be
The article was rejected by the editors.
Note that this is not science fiction, though we are talking about travelling in time.
A simulation of a model with an ideal predictor is presented. The problem is equivalent to the problem of passing the information from the future to the present, or traveling into the past to use the present information and change the model trajectory. It is shown that the uncertainty over the future can be simulated using differential inclusions. A differential inclusion solver is described. An example of continuous simulation with the ideal predictor element is shown.
Full text in PDF format: download from here
The article rejected by Simulation Practice and Theory, International Journal of the Federation of European Simulation Societies.
A SMALL TOOL FOR COMPLEX SYSTEM SIMULATION
A new tool for complex dynamic system simulation is presented. The system complexity is related to the diversity in the submodel types rather than to the number of components and the model size. The presented software supports model coupling as defined in the DEVS (Discrete Event Specification) formalism. Though the DEVS formalism is used, the model components can be of any type, supporting discrete and continuous models running in the same simulation program.
Full text in PDF format: download from here
SIMULATING GENERAL RELATIVITY
Some examples of the phenomena of general relativity are simulated. This provides a graphical and quite illustrative sight on the main general relativity concepts. The simulations include solutions in 3D (XY +time) and 4D (XYZ+time) spaces. The solutions are more general than those which can be obtained analytically. For example, the approach to the black hole is simulated not only as a radial particle movement, but as an arbitrary trajectory in the 3D space. The distortion of images of far objects seen through a neighborhood of a black hole is simulated using photon trajectories in 4D space. Also the entrance of an arbitrary trajectory into the horizon of the black hole is simulated both with the coordinate time (seen by the static observer) and with the proper time (clock) of the moving body. Time distortion at the neighborhood of the black hole is shown as a 3D “space-distortion” plot. Interesting simulation experiments are also shown for the rotating black hole.
overview (new version of the
- - - - INTRODUCTION
A look at the annals of simulation software development could result in the impression that we have too many simulation languages. A beginner is lost learning about hundreds of languages and simulation packages and can hardly choose what he really needs. On the other hand, the personal computers explosion puts simulation methods in somewhat different perspective. Small systems users need software tools that offer a good compromise between simplicity and usefulness.
The didactic aspect of the task is also important. A new simulationist should be given a software tool that contains the main ideas of simulation: parallel processes, discrete events, dynamic creation of objects in operational memory etc. Fortunately, there are some well-structured languages commonly used by small system users. PSM++ is a new version of the simulation system PASION (this stands for PAScal simulatION) is a result of an attempt of extend PASCAL in order to give its users an easy-to-learn simulation tool that includes all PASCAL features. This relation to PASCAL has some profound reasons.
First, PASCAL is nearly perfect from the didactic point of view, particularly when implemented on small systems. Second, it is an algorithmic language and offers quite good structure to any simulation system related to it. Reading manuals of simulation systems, one might conclude that discrete event simulation software was developed in order to simulate the functioning of lifts, barber shops and clinics. In practice, however, this is not always the case. Consequently, such systems as GPSS are perfect when modeling queues and simple events, but are insufficient when applied to discrete-continuous models or when the processes (transactions) behave according to some much sophisticated algorithms.
The first version of PASION was created using the Borland's Turbo Pascal version 3. The actual version is based on Delhi 3. In fact, I am a Delphi enthusiast. This is an excellent tool and proves that it is still possible to cope with the growing software terrorism of the creators of operating systems.
SIMULATION IS FUN !
This is not my phrase. Dr. Ralph Huntsinger, past president of the Society for Computer Simulation (San Diego CA), actually director of the McLeod Institute for Simulation Sciences (MISS, a part of the SCS) always starts his lectures on computer simulation showing a transparency with these words. Indeed, simulation is fun. The exciting aspect of it lies in its interdisciplinary nature. In few words, one can say that computer simulation is running when your computer becomes a plain, a cow, a growing tree or whole enemy army. The only thing that should be added in order to see a real word moving inside the box on your desk, is your imagination. During my professional experience (believe me, many years!) in computer simulation I had to learn how the shoes are produced, how the rise grows, how our immunological system works, how galaxies are formed, how "oscillons" are formed (see Examples section), how electronic circuits work, and many many other things. Recently we are working (in our MISS Center in Mexico City) on the simulation of legal processes, in collaboration with the Faculty of Law of the Universidad Panamericana.
The majority of the definition of computer simulation refer to the dynamics of the simulated systems. The common phrase used to define simulation is "to observe the changes of the state of the model from one time instant to another", in other words, to observe the system movement.
Simulation is closely related to modeling. We can say that modeling is looking for the relations between real systems and models, and simulation implements models on computers. The job of the simulationist consists both in constructing models and in implementing them. However, sometimes the simulationist's task is misunderstood. From one side, it is frequently confused with the mathematician's job (looking for system equations, numerical methods etc.), and from the other side the simulationist is treated as a kind of programmer. The aim of any well designed simulation tool should be to remove these tasks from the simulationst activities and let him concentrate on the conceptual work.
HOW PSM++ WORKS
The core of the PSM++ system is the language. The main idea was to implement some basic features of the Simula67 process class. However, it is not a Simula-like language with the implementation of hold, activate, passivate etc. Simula is a wonderful language, but it is rather complicated. What is not very clear in the body of a Simula class declaration is the event specification. The Simula process can not be easily divided into events, at least without careful reading of the code. In PSM++ the program consists in a sequence of process declarations. Each process has its attribute declarations, and a sequence of events. At the run time objects are created as instants of the processes, the events being their methods. It is easy to translate this structure to Pascal. What the PSM++ system does is to handle the event queue. The events can be scheduled and put into the event queue. Events can also be of "state" type, activated by continuous processes of other discrete events.
As for the continuos processes, there are two kinds of them. First, a continuous process can be defined as an embedded continuous process. Such process is defined by inserting in any place of the program (inside any event body) a set of RATE instructions that specify the right-hand sides of the set of the first order differential equations of a continuous part of the model. The resulting continuous process runs concurrently with the model events, and is not subject to the event queue mechanism. The other way to define a continuous process is to specify an event that schedules itself repeatedly with a given time step. The event operations consist in calling an integration procedure provided in the PSM++ environment. The continuous processes of both kinds run concurrently with other (discrete or continuous) objects.
PSM++ inheritance permits to create reusable code. If a process is used as a parent process while declaring other one, then the new process inherits all properties of the parent, i.e. its attributes and events.
But the language is not the most important. As stated before, a simulationst is not a programmer and should not waste his time in writing code. PSM++ environment helps him to avoid programming, to some extend, of course. The system contains the following modules, most of them being code generators.
QMGW - Queuing Model Generator. This module includes graphical editor for queuing schemes, program and report generators. To use it, no or very little programming is needed. The user defines the structure of his model graphically on the screen. It takes (with little training) about 30 seconds to define a model with about 30 blocks (queues, servers, assembly, conveyors etc.). Up to 800 blocks permitted. Then, the program asks for block parameters. This task can be completed in few minutes, if you know how the modeled system works, of course. The rest is automatic. The PSM++ code is generated, translated to Delphi, compiled and the simulation runs. The queues are displayed as moving bars, so you can see how they change, indicate bottlenecks and see the state of the servers. All basic statistics are shown. After running several simulations (it can repeats automatically), you can see a dynamic statistics, like variance and confidence intervals shown as functions of time (note that few simulation packages offer this feature).
ANIMATOR. Includes a Scenario and Icon Editor that permits to create 3D scenarios for animated simulation. The user creates the scenario and defines the possible routes for model components and the component icons. A simple calls to animation procedures from the source program makes the icons move according to the simulated component activities. However, the animator was designed mainly to work with the QMGW module. If you use QMGW, then the animation code is generated automatically.
FLOWD - Signal Flow Graph and Block Diagrams Simulator. This module is particularly useful when the use can provide his model in the form of block diagram or signal flow graph. The user draws his model on the screen and the program generates the corresponding set of ordinary differential equations automatically, so the user needs not to deal with any mathematics. The typical areas of application are automatic control systems, Stela-like system dynamics models, and any other (e.g. physical) systems where the causality and transfer functions can be defined. Excellent tool for teaching automatic control. Non-linear and stochastic models permitted.
BONDW - Bond Graphs simulator. Bond graphs are commonly used while modeling physical systems. A bond represents a flow e.g. electric current, liquid flow, velocity and corresponding effort: voltage, pressure, force, respectively. It is also the representation of the energy flow in the real physical system. Using BONDW the user draws the model structure in the form of a bond graph and the model equations are generated automatically. Non-linear and stochastic models are supported.
DIFEQ - a module that accepts ODE (Ordinary Differential Equations) models.. As stated before, the PSM++ philosophy is to take the task of finding equations out of the user job. However, some users have already their equations specified and prefer this traditional way of simulation for certain class of continuous systems. The only thing required from the user is to type the expressions for the equations right-hand sides
CSS - Complex Systems Simulator. A new versatile PSM++ module. Very useful for combined systems, permits model coupling. Submodels of different types (queuing, continuous, etc.) can run concurrently in the same simulation program. Needs no or very little programming. Generates PSM++ source code. The user selects sub-models and then connects them to create new complex model. Selected sub-models appear on the screen as blocks. A sub-model can be any PSM++ process. It can be the result of a run of any of the PSM++ code generators: QMGW, FLOWD, or BONDW. It also can be any PSM++ process coded directly in PSM++. Thus, for example, you can run in the same program a queuing model and a model of a continuous system. Model coupling is fully supported. You can create a new model coupling the selected sub-models. The new process, when selected in a consecutive CSS session, will appear as one block.
VARANW - PSM++ utility that analyzes the model trajectories stored on a disk. VARANW is a post mortem analyzer for stochastic (discrete and continuous) models. Shows variance, confidence intervals etc. as functions of time, particularly useful for the statistical analysis of transient processes.
PSM++-to-PASCAL Translator. It translates source PSM++ code to the Delphi Pascal.
PSM++ predefined processes library. It contains some useful processes, for example a general dynamic continuous process, a set of processes that handle the PSM++ graphical output and other auxiliary processes. It also includes a process that describes the dynamics of a rigid body (a 3D box). The only thing the user must provide is the specification of external forces and moments applied to the body. The simulation includes a 3D view of the body movement.
It is no room in this short article to show many examples and graphical PSM++ output. Only some applications not provided in the PSM++ Demo are mentioned here. More examples can be seen in http://www.raczynski.com/pn/sumduz.htm.
The PSM++ Demo program it is available from download demo.zip . To run the demo unzip the file to a separate directory on you HD and execute DEMO32.EXE. To execute it, you should have your screen configured to 800x600 resolution with color of 16 bits (NOT 256 colors or 16 colors ! ). The demo will run with greater scree resolution, but some parts of it will not.
WARNING : Check this, as well as ANY OTHER program you download from Internet for virus with your most recent antivirus program.
In the following you will find a short comments on some interesting applications.
Growing populations : (Cats)
This is a simulation of a population of cats. The PSM++ inheritance mechanism is used to define two processes that inherit properties of one parent process. The parent process named CAT has one string attribute NAME where the name of the cat is stored. The events are: HUNTS (obtain food), EATS, SLEEPS and DIES. Below only a sketch of the program is shown, without event bodies (dashed lines). The actions of the cat are obvious: it must hunt within random time intervals with given expected value and must eat. After eating the cat sleeps during some time interval. Event DIES makes the CAT object disappear from the model. This may be a natural death or a result of fighting with other cats, (only for process HE). Process CAT is the parent process for the processes HE and SHE. HE is a male cat. It inherits the properties of CAT and, in addition, can fight with other cats. This may eventually result in the cat death. SHE is a female cat and can have little cats (random number of cats between 1 and 7, event CATS). The declarations PROCESS CAT/HE,50000 and PROCESS CAT/SHE,50000 specify the male and female cats, respectively. They inherit properties of the parent process CAT, and permit to create up to 50000 instances of each of them.
PROGRAM CATS; PROCESS CAT,1; ATR NAME:S20; EVENT HUNTS; - - - - - - (*event body*) EVENT EATS; - - - - - - EVENT SLEEPS; - - - - - - EVENT DIES; - - - - - - PROCESS CAT/HE,50000; EVENT FIGHTS; - - - - - - PROCESS CAT/SHE,50000; EVENT CATS; - - - - - - START NEWPR PSHE; - - - - - -(*initial operations*) $
In the main program only one female cat is generated and activated. Events HUNTS, CATS and DIES of this object are scheduled, and the simulation starts. After some time she has little cats, and they start they own life (generated and activated in the event CATS).
Each cat reports itself when any of its events is executed. The message produces a line of text on the screen with cat name, model time, and event identification. Total number of cats is also displayed. This is a very simple example that can be used to check the inheritance mechanism and the speed of the clock mechanism. In the DOS PASION version, limited to the conventional memory, the total number of cats grows to about 4000 and the simulation stops for the memory overflow. The PSM++ version has no limits for the number of cats. The population grows to several thousands, and then the simulation slows down a little bit when the Delphi virtual memory is used. After some minutes the number of cats can grow to hundreds of thousand and the simulation run normally. The complete program is included as an example on the original PSM++ disks.
A simple queuing model This shows a possible
application to mass service or manufacturing systems. Compare this
example with GPSS approach.
In this example the QMGW module was used. The following figure shows the QMGW scheme of the model.
The real system is as follows. Parts of a product enter the simulated area of a manufacturing system at blocks 1 and 3 (object generators). They wait in two buffers of type FIFO with block numbers 2 an 4, respectively. Block 5 is an assembly operation. It needs 4 parts of type 1 (generated by block 1) and 3 parts of type 3 to produce a new part as a product of the assembly operation. The assembled products that appear at the output of block 5 enter the buffer 7 and wait to be processed by the machine (server) 8. After this, they disappear from the system at block 9.
It is very small example. Note that you can define up to 800 blocks in one model. After defining the model structure, the user must provide block parameters. If all block are completely defined, the simulation may be executed. QMGW generates PSM++ source code for the model, then it is translated to Delphi, compiled and simulation runs. One of the executable code options is to create files for the VARAN utility. If the user requests it, the simulation is being repeated several times and the model trajectories are stored on disk. Each run is shown on-line, the content of the buffers, number of assembled parts, and number of parts going out shown as moving bars, the status of the servers displayed as BUSY or FREE. After this, final statistics are shown as follows: Final Statistics:
Final time = 480.00 QUEUES: Av waiting time Lmax Lmin Av length Lost QUEUE2 : 0.847 10 0 1.695 0.00 QUEUE7 : 23.254 19 0 2.879 0.00 QUEUE4 : 25.261 116 0 31.616 0.00 SERVERS: Service time Idle time Idle % Lost Served SERV8 : 396.911 83.089 17.31 0.00 55.40 ASSEMBL.: Service time Idle time Idle % Lost Served ASSE5 : 122.530 357.470 74.47 0.00 59.95 TERMINAL: Count(average) TERM9: 52.25 TOTAL Terminal output = 52.25 Total cost = 6783.64 Average time in system = 28.05
The above listing may be somewhat unclear while seen on browsers
which use a font with variable width (column displacement). Note that
the number of served parts are real numbers, being average values
from many (100 in this case) simulation runs. The output file also
shows the total cost of the system operation. Each block may have
assigned the operation cost, per time unit and per operation. The
number shown is the sum (average if more than one run was executed)
of the costs of all blocks. The results are also shown as time-plots.
The following figure shows the changes of the length of queue 4 as
function of time, for one simulation run.
After storing the trajectories, the VARANW module may be invoked. It shows many plots and additional statistics. The following figure is just an example of one of the VARANW screens. It shows the confidence intervals for the length of the buffer 4 as functions of time, and the average trajectory (yellow line).
Other form of VARANW output is an useful 3D probability plot that shows the form of the probability density function over the plane formed by the queue length and the time. This is an example of a black and white version of the plot.
Particle movement: oscillons and galaxies
Many industrial processes handle granulated materials like sand, granulated plastic or grain. The analysis of the dynamics of such granular media (GM) is a difficult task. It is known that it can not be treated as a liquid and its mathematical description is rather complicated. Computer simulation can help to point out some interesting properties. One of the most interesting phenomena observed in GM is the formation of oscillons, being local changes in the state of externally excited GM. One of the ways to simulate the material dynamics is to create a set of particles (as objects in the computer memory) and let them move. The only thing that must be specified are the forces of interactions between molecules and the movement rules. This needs only one PSM++ process declaration. In the main program a set of molecules is created with given initial positions and velocities, and the program runs. The same program, with forces redefined in other way can be used to simulate the dynamics of a liquid or a general, gravitational N-body problems, like formation of galaxies. Of course, due to the number of possible interactions that grows with square N, some additional tricks must be done to accelerate the simulation.
In Scientific American, November 1996, Madhusree Mukerjee  defines oscillon as a pile of tiny brass balls that jiggles up and down and joins with other piles to form patterns. The phenomenon was discovered by Paul B. Umbanhowar, F. Melo and H.L. Swinney [5,6] at the University of Texas in Austin. They vibrated a tray with brass balls of 0.1 millimeter in radius up and down with frequencies between 10 and 100 cycles per second. In those articles it was pointed out that serious theoretic difficulties appear while dealing with a sand like GM. Though the media resembles liquid when fed with energy, its dynamics is quite different and somewhat mysterious. Computer simulation can help to prove some properties of the GM. Possible applications of the GM theory in material handling equipment are well known. The knowledge of the dynamic properties of the GM is essential, for example, while designing oscillating conveyors. Important advances of the GM theory has been made mainly by those who work on problems related to such kind of equipment. Consult Gaberson , Marcos and Massoud .
The following experiment is a simple two dimensional simulation of a set of moving balls. The aim of this task is to point out that the GM can reach at least to steady vibration regimes, when excited by a vibrating tray. The reason for this assessment is very simple: the friction between the particles introduces damping strong enough to turn off oscillations when the particles are close each other. However, if the particles are in faster movement, then the elastic collisions are more frequent than friction-related clustering. As a result, in the regions when the vibration is strong, the damping drops and the vibrations does not disappear (supposing the same external excitation). This means that with the same excitation one could observe a slow damped movement as well as fast vibrations in other regions. The problem is to show that the two steady states can coexist in the same set of particles and that the excitations may be stable, that is, may survive for a long time without changing their shape. To describe what exactly happens in a GM one has to use a complicated non linear equation of motion of each particle. To simulate a real oscillon is quite impossible for the dimensionality of the problem. However, a simple two dimensional model can be built and run successfully even on a PC. The following experiment merely shows the possibility of the coexistence of the two steady states. The model is very simplified and rather abstract. The rules of movement are as follows. A set of circular particles is subject to gravity acceleration. The collisions between particles are modeled as movements caused by elastic forces that appear when two particles touch each other. The forces generated during spherical particle collisions obey the rules given by the well known Hertz problem. In general, it is known that the force is proportional to x3/2, x being the relative displacement of the centers. The damping coefficient of the movement (energy dissipation) depends on the actual situation. If the particle is in touch with more than one other particles, then the energy dissipation grows considerably. This can be explained by the fact that the friction between particles damps the movement when the particles form clusters, like the sand on a beach. The model was simulated using an object oriented simulation tool (PSM++ simulation system).
Each particle was generated as an instant of a BALL PSM++ process, and activated. 185 particles were launched, each one moving according to the forces it receives. In other words, each particle resolves its own movement equation, integrating it with certain integration step. This approach has several advantages, comparing with the integration of one global system of 370 differential equations of first order. First, the program is very simple and permits to include any other events (discrete or continuous), running concurrently in the same program. Second, the particles are separate objects, each one equipped with its own parameters. The time step for integration of the movement equation can be different for each particle. For example, if a particle moves alone and has no near neighbors, then the step can be greater than that of a particle which is in contact or approaches other ones. This can accelerate the simulation. A disadvantage of such object oriented simulation compared with one Ordinary Differential Equations (ODE) system is that the ODE model may run faster, when an adequate numerical method is used. Note, however, that in this case we need 370 non linear and rigid differential equations. Recall that the collisions between rigid bodies lead to rigid systems of equations that may provoke serious numerical difficulties. Of course, the object oriented approach is not a magic remedy for such difficulties, and the collisions must be modeled as if they occur between particles more elastic than brass balls. Looking at the movement of the simulated GM it can be seen, however, that the particles behave like colliding brass balls. At any rate the model and the results are rather qualitative and are not related to any real physical parameters. Consult Raczynski  for more detail of the oscillon simulation.
The simulation scenario was as follows. First, the tray does not vibrate and the balls appear with some initial elevation and fall down. Then, they form a stable layer over the tray. Next, the tray begins to vibrate. The balls vibrate too, but the vibration regime can not switch to the strong one. After some time a short disturbance is applied in certain region. The balls affected by the disturbance "explode" and begin to move fast, colliding with each other. These strong vibrations became stable, i.e. the strongly vibrating region remains unchanged for a long time. The other balls also vibrate, but form a stable cluster. Figure 1 shows the situation on the tray. The balls in the oscillon jump up and fall. If a ball falls out of the oscillon limits, it enters in a cluster and stabilize.
Below you can see an example of particle trajectories in a simulated oscillon.
It should be noted that this example is not exactly a PSM++ application, but rather an example of a program created with Delphi. However, certain auxiliary features were taken from the PSM++ environment. Actually, the N-body algorithm applied in this simulation is being converted to a PSM++ predefined process and will be available within the PSM++ package.
There is a huge literature and great amount of Web sites dedicated to galactic simulations. It is enough to type the search phrase "galactic simulation" to get a lot of references and nice pictures from Internet. More pages can be found with the phrase "N-body", though not all of them refer to galactic dynamics. The N-body problem is computationally difficult. Some sophisticated algorithms have been developed that permit to simulate up to millions bodies moving in one simulation. Such problems are solved on the more powerful supercomputers available, like Cray or similar. This example was implemented on a PC. So, the question is: WHY A PC ?
A personal computer is obviously not the most appropriate tool for galaxy simulation. Note, however, that everybody has a PC in his home or office, and few of us have access to a supercomputer. This article shows that using a PC one can do some interesting things even in such difficult field as cosmogony. The other aim of this work is to show that, despite of the philosophy of the creators of new operating systems, a PC is a powerful research tool and can be used not only to see moving rabbits, horrible clip "art" or adult Internet pages.
Most of galactic simulations show the initial collapse or, starting with a galactic disk in equilibrium, show the forming of the spiral structure. What have been done in the simulation described here, is the whole story (if fact this is the most fascinating task). Starting from an initial chaotic state, we simulate the following stages: 1. Initial collapse 2. Expansion (a "big bang") 3. Forming of the initial cloud 4. Gaining the rotational movement 5. Disk formation 6. Appearance of the spiral structure. The formation of the disk is very interesting. The simulations show that, starting from chaos and uniform body distribution we always obtain, after sufficiently large model time, a galactic disk. This means that our simulated universe is flat and confirms the observations obtained from many sources like the Cosmic Microwave Background Explorer (COBE, Janssen and Gulkis ), or the QMAP team.
It is no room here to discuss the numerical algorithm which was applied to accelerate the simulation. The experiments show that it is possible to simulate all the above six evolution stages with the number of bodies between 500 and 1000. The next figure shows an example of a spiral galaxy image that was obtained starting with complete chaos (random body positions and velocities). It is a density image, where the screen is divided in small rectangles and the density of bodies inside each rectangle is shown using a gray scale. This is the projection of the galaxy into the plane parallel to the galaxy disk.
 Raczynski, S., Simulating the dynamics of granular media, Computer Modeling and Simulation in Engineering vol. 2 no.4, November 1997, Sage Science Press.
 Gaberson H.A, 1972, Particle Motion on Oscillating Conveyors, Transaction of the ASME, Journal of Engineering for Industry, February 1972, pp. 50-63.
 Madhusree Mukerjee, 1996, Science with Brass, Scientific American, November 1996, pp.19-21.
 Marcos W.A. and Massoud M.F., 1969, On the Design of Oscillating Conveyors, Transactions of the ASME, Journal of Engineering for Industry, May 1969, pp.353-356.
 Melo F., Umbanhowar P.B, Swinney H.L., 1994, Transistion to parametric wave patterns in a verically oscillated granular layer, Phys. Rev. Lett., 72, 172-175.
 Melo F., Umbanhowar P.B, Swinney H.L., 1995, Hexagons, kinks and disorder in oscillated granular layers, Phys. Rev. Lett., 75, 3838-3841.
 Janssen M.A. and Gulkis S., 1991, Mapping the sky with the cobe differential microwave radiometers, in The Infrared and Submillimetre Sky After COBE , Proceedings of the NATO Advanced Study Institute, Les Houches, France, March 20-30, 1991, p. 391.
Raczynski.S., Creating Galaxies on a PC, SIMULATION vol. 74
no.3, March 2000, San Diego CA, pp.161-166.
PSM++ simulation system:
Raczynski - Consulting: