Molecular Simulation 


Abstract molecular models - spontaneous creation of amazing structures


SEE the NEW VERSION of the Fluids32 Fluid Dynamics Simulator at 

Consult also:

  MolGame program. You can create, edit and calculate trajectories of 3D abstract particle systems, creating particle clusters and "molecules". Click here for details.

NEW: C++ simulation: (some free articles on modeling and simulation)

The models shown here are completely abstract. They do not fit to any real physical molecular system. The point is to define our own atoms or elemental bodies and equip the model with Van der Waals-like forces. Using such abstract models, you can define your own laws of physics, changing the force function and general rules of movement. These simulations show a possible application of the PASION Simulation System ( ).

The dynamics of the set of atoms has been simulated using object oriented modeling. Click here for more detail.

Click here to download a nice molecular simulation: creation of a molecule, 3D animation.Do not execute it from zipped file. Unzip files to a subdirectory on your hard disc, then execute molview.exe.


Fig.1 Initial chaos

Fig.2 Molecular structures

Starting with simple rules of movement and few atom types you can obtain a great variety of structures they can form. In the simulations shown here we always start with initial chaos, giving the atoms random positions and velocities (fig.1). After some time (several thousand of steps in space for each atom), a stable structures appear. To ensure that the formed structure is stable, a small random disturbance (a "temperature") has been added to the atom interactions. Some structures disintegrate due to these disturbances, and other survive and grow, as shown on the figures. There were only three types of atoms simulated. The general interaction rule was that the atoms of the same kind repel each other, and those of different kind attract. Also the radius of the atom (for the Wan der Waals forces) were different for each atom type, the green atoms with the biggest radius. Even with such simple interaction rules you can get a large variety of nice different structures.

The source program for these simulations is available, contact me at to get it. However, it is written in the PASION simulation language, so it is useless if you are not a PASION user. See for more detail.

Fig.3 A complex stable chain

Fig.4 The structure of fig.3, different view angle



Fig.5 "Umbrella-like" structure

Fig.6 "Star-like" structures. Below at right there is a small "ring-like" structure




The algorithm

Usually the molecular simulation is carried out to find stable, "minimum energy" 3-dimensional structures that form different atoms (hundreds, thousands or millions of them), due to the forces they produce to each other. In the Molecular Dynamics (MD), given the initial positions and velocities the Cauchy initial condition problem is solved for a given time interval. The interval is being divided into thousands or millions of small time intervals, and the numerical method advances step by step, calculating the next step model state. The problem is difficult from the numerical point of view, because each atom is subject to forces produced by all other atoms, so the (theoretical) number of interactions grows with the square of the number of atoms. The problem is similar to that of galactic simulations, and known as N-body problem. There is a great number of methods available for the N-body problem. Most of them are based on the decomposition of the original problem, in order to reduce the number of forces that the algorithm needs to evaluate at each integration step. Some of the methods are quite sophisticated, and use the Fourier transform to reduce the computation time. Anyway, almost always there is a general algorithm that manages to integrate a huge system of simultaneous differential equations.

Our algorithm is quite different. The idea is to create N bodies (atoms) in the computer memory and equip each of them with certain dynamic properties. Then, we activate each object and let them run according to their own rules of movement. These rules consist in correcting the atom velocity and position, due to the forces it receives. The result is similar to that obtained by solving a system of simultaneous differential, but it is not the same algorithm. Note that in this model no system of equation exists. Each atom solves its equation, but each of them can do it in different way. In particular, there is no common integration time interval. Each atom has its own integration step, and each of them can run with different step. This permits each atom to adapt its integration step according to its actual movement and velocity changes. Those atoms which are far from strong attractors or singularities may advance with big steps and these near to each other or colliding with others can reduce the step to keep the integration process stable. Anytime an atom can disappear and new one can be generated.

Go back





    The process of solidification is quite difficult to solve analytically. The mathematical model includes the nonlinear partial differential equations that describe three simultaneous and interacting processes: the fluid movement, heat transfer and the solidification process itself. If the medium is a mix of different liquids, the solution is even more difficult to obtain. On the moving boundary of solidification the mix not only changes its physical state, but also its composition. Using molecular simulation most of these difficulties can be overcome, because no differential equations are needed at all (except the ordinary differential equation of particle movement). The problem is as difficult as the problem of N-body dynamics. Note that great amount of research has already been done in the field of N-body dynamics. Using supercomputers, we can integrate systems of hundreds of millions of bodies moving simultaneously in the 3D space. The general idea is simply to describe the particle behavior and then launch thousands or millions of objects, each of them being a particle.

    The present example is a very simple case of a model that includes only 1500 particles, implemented on a PC. The model includes only one kind of particles that move due to the Van der Waals and gravitational forces. First, the particles are generated randomly in a 3D cube. Then, they fall down and form a liquid. Particles that reach the walls or the bottom of the cube lose part of their energy. This lowers the liquid temperature near the walls. After some time the particles that do no move rapidly begin to form a crystalloid structures. Some stages of this are shown below.

Figure 7. The first stage of the model evolution. Particles fall down randomly.

Figure 8. The liquid stage. On the animated model one can see the chaotic movements in the volume, and even some "waves" formed on the surface.

Figure 9. The solidification process. It is interesting that even in such a simple model the particles form at least two different stable crystalline structures, clearly seen on the image. The crystallization front moves from the walls towards the central part of the volume. The process is nearly terminated, leaving a small region in the center still moving like a liquid. During the process some parts of the structures suddenly re-accommodate changing the structure pattern.

Note that the solidification of an alloy of several components can be simulated in the exactly same way, simply introducing particles of different types (masses, interacting forces etc.).

This is a good example of the an application of the PASION system. Each particle is a PASION object equipped with its attributes (physical properties, 3D position and velocity), and with the rule of movement. After creating the cloud of particles, they are activated and start to move. The program is very simple, perhaps the visualization part of the code is larger than the model code itself. This object-oriented approach provides also other advantage. Unlike the numerical algorithms for differential equations, here every particle has its own integration step. So, the integration of the trajectory can be done with more precision when a particle is going to collide with other one or with the wall. Note that this variable step mechanism is individual for each particle and needs not be equal to any global (fixed or variable) integration step.



MolGame is a simple molecular simulation which permits to simulate multi-body systems with particles that have user-defined mass, electric charge and diameter. This is an abstract simulation, not related to any real molecular model. Everything in the model is relative, so that the mass of a "typical" particle is equal to 1, the charge can be an integer (positive or negative) number, and the radius of the particle is equal to 5. The user can define several particle types, for example type one with mass 3, charge 2 and radius 7, type two with mass 1, charge -1 and radius 4, etc. Of course, the user can try to relate the model to a real particle system, considering, for example mass 1 to be equal to 10 to minus 20. However, this is not the aim of this program. MolGame was designed rather to create abstract "worlds", defining particles with certain physical properties, and simulating 3D structures which appear spontaneously. The program can simulate up to 200 particles, of up to 20 different types, moving inside the cube 100x100x100. The resulting particle movement and structures they create are shown as 3D images, with variable view angle and zoom.

The user can crete a new particle system, save it as a new project, retrieve it and edit.

The forces between particles are similar to the Wan der Waals forces. So there is a attratcion force, repelling force and electrostatic attraction or repelling.

Click here to download MolGame demo.In demo version you only can see trajectories of several sample models.

Use the button below to order the full version of MolGame (US $ 25):


  Use this button to join our mail list. If you opt-in, you will receive information about new simulations and other simulation software. We do not send massive advertising, and obviously we will not disclose your e-mail address to anybody.

Contact: Stanislaw Raczynski
P.O.Box 22-783
14000 Mexico D.F.Mexico
E-mail :

Get a GoStats hit counter