release date: August 2014
2. Main Window
simulation of the gravitational interactions of stars in a globular
cluster is an heavy task for a common processor. Standard CPU's are not
designed to perform tasks involving many mathematical calculations and
GPU's are now replacing them for those specialistic purposes.
GlobularCluster software was conceived as a user-friendly and portable
simple tool for amateur astronomers and students, so virtually any
modern PC with a Windows version equal or superior to XP SP3 and at least 4 GB RAM can run it.
GlobularClusters software comes with a simple and intuitive user-interface made by a top menu-bar and a main window where all parameters of the simulation are entered (see picture below):
The block of parameters on the right are a simple representation of an H-R diagram for a globular cluster (see picture below). The input of data is simplified by 36 buckets representing combinations of star magnitude (column "size") and spectral type. Each star population in terms of magnitude (from I to VI), is given a unique value of mass (column "mass") in terms of solar masses. The integer value in each bucket represents the relative percentage of stars having the size, mass and spectral type associated with the bucket (no need that the sum of values in the buckets equals the number of stars in the cluster). A black-hole may be allocated at the center of the cluster and its mass specified in terms of solar masses ("0" is used for no black-hole).
On the left side of the main window, the user can define the following parameters:
The King's concentration k of stars in a globular cluster, defined by Ivan King, 1962. For higher values the stars in the cluster are more concentrated in the core radius (see picture for k = 100), for lower values the distribution of stars tends to be more uniform (see picture for k = 5) until it reaches the zero value for a uniform distribution in a sphere (see picture for k = 0). Value ranging from 15 to 35 may be considered as typical for a globular cluster (see picture for k = 35).
total number of stars in the simulation, limited by hardware
capabilities. Up to 50.000 stars the generation of the cluster is fast
but simulation of interactions may become extremely long as the number of steps of the algorithm
grows as the square of the number of stars. A number of about 1000
stars allows for a real time visualization of interactions if the
accuracy is not too high.
diameter in light/years of
the bounding sphere (tidal radius of the globular cluster). The
diameter must be defined accordingly to the total number of stars and
their initial velocity.
The minimum distance
in light/years used in the computation of interactions beetwen two stars (see algorithm). A low value of the softening is more accurate than a high value
but requires a shorter timestep to preserve the stability of the
cluster in the simulation. An high value of the softening helps
stability but it's generally not physically acceptable.
duration in years
of a single computation step. It's the elapsed time beetween two
sequential calculation of the gravitational forces. A low value of
timestep is more accurate than a high value. The timestep is used in
the integration of velocities to obtain the new positions of stars (see
The number of computation
steps for a video frame. The standard frame rate for an animation is 30
fps. Example: with timestep = 2 years and cycles = 20, one second of
standard animation is equivalent to a simulated time of 2*20*30 = 1.200
The initial value in
km/sec of stars velocity. In
a stable cluster the velocity of individual stars equals the
gravitational forces making them orbiting around the center of the
cluster. Concentration, diameter, mass distribution, number of stars,
mass of a central black-hole and initial velocities
are all values from which depends the stability of a cluster in a
simulation, assuming that the computation parameters (timestep, cycles
and softening) are also suitable to the specific case. A certain degree
of "evaporation" (stars leaving from the cluster because they got the
escape velocity) is typical for a globular cluster but if you got an
explosion you should consider to review the parameters of your
The generation of a star cluster is the process of definition of position, velocity, mass, size and spectral type for each individual star of the cluster according to the parameters defined in the main window. The "File" menu presents functions to manage parameter sets by storing and retrieving them in separate files, and to create the cluster. The generation is not a deterministic process because it involves random values that may be different for each run: despite you use the same values for parameters you will never get exactly the same cluster.
"File" menu items:
Resets distribution parameters (H-R diagram) to the default values.
Open a file of parameters previously saved.
Save a file of parameters
for future references.
Generate a cluster according
to the current parameters on the main window.
Close the software (alternate for "ESC").
simulation of the interactions of stars in a cluster is the process of
computation and visualization of star positions for each video frame of
the animation (see "Cycles"). Depending on the
heavyness of the task for the processor, you will get a real time
animation on the screen or you should record the animation frame by
frame to play it after the end of the simulation (see "Recording Animations"). The
"Simulation" menu presents functions to manage the simulation, and to rotate automatically the cluster.
"Simulation" menu items:
Starts the calculation of
interactions beetwen stars and displays the new positions of stars on the screen for each video frame (see video).
high level of accuracy (low softening and short timestep) with a high
number of stars may be extremely slow, then be sure to define a
number of cycles for frame in order to get a movie with an effective
motion of stars. In that case use the recording function to get an
animation (remember that few seconds of a movie may
requires hours of computation). During the simulation, arrow keys can
be used to move up, down, left and right the point of view; "+"
and "-" keys can be used to zoom in and out.
Pauses the simulation. Click "Run" again to restart.
Automatic clockwise rotation of the cluster around the y-axis passing for the center of the bounding sphere. During the rotation the simulation is not active, click "Run" to start simulation (see video). During the rotation, arrow keys can be used to move up, down, left and right the point of view; "+" and "-" keys can be used to zoom in and out.
Stops the simulation and returns to the main window.
software presents alternative views of the simulation to allow specific
visual analysis of star interactions. The different visualizations of
the simulation affects only the rendering of stars, the simulation
process doesn't change.The
"Views" menu presents functions to select a single population of stars, to render all stars with the same color, to show trails of orbits and to visualize stars in 3D.
"Views" menu items
Stars are shown with their original spectral colors as defined in the H-R diagram (see video).
Stars are rendered in a white color (see video).
are shown in 3D with the anaglyph technique (requires red-cyan
glasses). This view is useful to analyze orbits of stars far from the
nucleus (see video).
The orbits of stars are continuosly tracked on the screen (see video).
Shows stars of population I in the standard view and other populations in a dimmed way (see video).
Shows stars of population II in the standard view and other populations in a dimmed way.
Shows stars of population III in the standard view and other populations in a dimmed way.
Shows stars of population IV in the standard view and other populations in a dimmed way.
Shows stars of population V in the standard view and other populations in a dimmed way.
Shows stars of population VI in the standard view and other populations in a dimmed way.
Hides stars of populations different from the selected one.
standard visualization of the clusters is useful to analyze the form of
the cluster and the interactions of the stars, but it gives few
information about fundamental measures as velocity, acceleration and
potential of stars. GlobularClusters
software presents some graphical representations of such measures by
two-dimensional graphics where points represents individual stars with
their own spectral color. All graphics show the minimum, average and
maximum velocity of the stars of the cluster in km/sec, and also the minimum, average and maximum relative distance between stars in light/years is shown in all graphics.
"Graphs" menu items
The graphic shows the distribution of stars in respect to the their distance from the origin. The actual distribution is compared to the theoric curve of King's concentration (depicted in red). Due to evaporation, an increasing number of stars will lay in the last bucket of distance beyond the original bounding sphere of the cluster (see video).
The graphic shows the velocity of stars in km/sec in respect to their distance from the origin. Using the arrow keys, the x-axis (velocity) and y-axis (distance from the origin) reference scale can be adjusted.
The graphic shows the acceleration of stars in km/sec2 in
respect to their distance from the origin. Using the arrow keys, the
x-axis (velocity) and y-axis (distance from the origin) reference scale
can be adjusted.
The graphic shows the potential of stars as the product of velocity and mass in respect to their distance from the origin. Using the arrow keys, the x-axis (velocity) and y-axis (distance from the origin) reference scale can be adjusted.
the number of stars in the cluster increases, the computation time
grows exponentially and real-time visualization is no more possible. To
get effective animations of the interactions in such cases, the
recording function must be used. Each video frame is recorded as a
bitmap image with no losses of information, and the resulting stream of bitmap is stored as a file named by the user.
"Recording" menu items
Records a stream of 400 video frames (13 seconds of animation at 30 fps).
Records a stream of 1000 video frames (33 seconds of animation at 30 fps).
Records a stream of 2000 video frames (66 seconds of animation at 30 fps).
Records a stream of 5000 video frames (166 seconds of animation at 30 fps).
Stops the recording at any point.
software is equipped with a bitmap stream reader to visualize recorded
animations without any loss of information. Only bitmap streams previously recorded by GlobularClusters can be played.
"Movie" menu items
Opens a bitmap stream file and plays the animation.
Sets the frame per second rate at 9 fps.
Sets the frame per second rate at 18 fps.
Sets the frame per second rate at 30 fps.
Stops playing the animation.
The algorithm used by GlobularClusters is an "N-body all-pairs" written in C++
language using double precision for numerical values. An N-body
simulation numerically approximates the evolution of a system of bodies
in which each body continuously interacts with every other body. In the
case of star clusters each body represents an individual star, and the
bodies attract each other through the gravitational force. The
all-pairs approach to N-body simulation is a brute-force technique that
evaluates all pair-wise interactions among the N bodies. It is a
relatively simple method, but one that is not generally used on its own
in the simulation of large systems because of its O(N 2) computational complexity. Given N bodies with an initial position xi and velocity vi for 1 ≤ i ≤ N, the force vector fij on body i caused by its gravitational attraction to body j is given by the following:
where mi and mj are the masses of bodies i and j, respectively; rij = xj − xi
is the vector from body i to body j; and G is the gravitational
constant. The left factor, the magnitude of the force, is proportional
to the product of the masses and diminishes with the square of the
distance between bodies i and j. The right factor is the direction of
the force, a unit vector from body i in the direction of body j
(because gravitation is an attractive force). The total force Fi on body i, due to its interactions with the other N − 1 bodies, is obtained by summing all interactions:
As bodies approach each other, the force between them grows without bound, which is an undesirable situation for numerical integration. Therefore, a softening factor ε2 > 0 is added, and the denominator is rewritten as follows:
Note the condition j ≠ i is no longer needed in the sum, because fii = 0 when ε2 > 0. In effect, the softening factor limits the magnitude of the force between the bodies, which is desirable for numerical integration of the system state.
To integrate over time, we need the acceleration ai = Fi/mi to update the position and velocity of body i. The integrator used to update the positions and velocities is a leapfrog-Verlet integrator (Verlet 1967) because it is applicable to this problem and is computationally efficient (it has a high ratio of accuracy to computational cost).