Artificial Universe

 

Artificial Universe is an artificial environment created to simulate and study self-organizing systems (s.o.s.).
The simulation runs on an 2-dimensional lattice made up of DxD sites, or cells.
Each cell can be in one of two states : empty or full.
A cell is said to be full when, with the same cell coordinates, one of the simulation objects is presents. Such objects will be called atoms and molecules.
Every object, either atom or molecule is punctiform, meaning that it only occupies one cell, non depending on its internal structure.

Atoms and molecules used in this simulation are logical structures defined by a set of variables and are grouped in different species according on the values of their defining parameters.
An atomic species is characterized by the following variables:

1. Atomic species ID
2. Weight
3. Charge
4. Energy
5. Valence

The atomic species ID is an integer in the range (1,18).
The weight is a real number ranging in (0.0, 10.0).
The charge is a real number ranging in (-5.0, 5.0); the charge sign is a critical parameter in interactions between atoms.
The energy of every atomic species is equal to zero.
The valence is an integer numeber in the range (1,5).

Every single atom is characterized by the following individual unique parameters:

1. Atom ID
2. Belonging species ID
3. Universal coordinates

The atom ID is a unique identifier for the atom and it will never change.
The species ID links the individual atom to its species and therefore to the species parameters.
The universal coordinates are pairs of integer numbers identifying the cell where the atom is.

The molecules are different from atoms because they have an internal structure, that is they contain two or more atoms. Actually molecules are objects, created during dynamics by interactions from other objects : union of two atoms, union of an atom and a molecule, breaking of a larger molecule.
Therefore a molecule is an object having a 2-dimensional internal structure made of atoms, depending on the way, or the geometry, the interaction that created the molecule occurred.
Every molecular species is a data structure in which the internal structure is described, that is an array containing all the informations about the internal atoms (basically the atomic species) along with their relative coordinates in the internal reference frame.
These are the variables defining a molecular species:

1. Molecular species ID
2. Weight
3. Energy
4. Component vector : (for each internal atom)
• Atomic species ID
• Internal coordinates array

The weight of a molecular species is given by the sum of the weights of the atomic species of all the internal atoms.
The energy (or binding energy) of a molecular species is a function of the charges of the atomic species of all the internal atoms and of their spatial distribution.
Let the charges of two atoms be Q1 and Q2. The binding energy of the new molecule made up by those two atoms is :
E = (Q(1) * Q(2)|) / Sqrt[(x1-x2)**2 + (y1-y2)**2]
Where (x1,y1) and (x2,y2) are the coordinates of the two atoms in the internal frame of the new molecule.
For example, as it can be easily derived from the expression above, the binding energy will be higher if the two atoms fuse in horizontal or vertical position than if they fuse in diagonal, because their internal distance would be bigger.
When the two charges have opposite signs the fusion is more likely to occur, i.e. the atoms attract themselves.
The energy of a molecule is given by the sum of all the binding energy between each component atom with each other inside the molecule.
Inside a molecule also pairs of atoms with charge of the same sign can be adiacent, therefore giving a positive contribution to the total energy , but for the molecule to be created, the total energy must be negative, as described below.
When, in a molecule, two adiacent atoms have charges of the same sign, a breaking interaction is likely to occur. This gives an indication of the fact that lower (more negative) binding energy means a more stable molecule and vice-versa.