In the theoretical study of multielectron atomic systems, software plays an important role because it is necessary for calculating the energy and spatial structure and characteristics of various processes occurring in atoms. Calculations in the framework of relatively simple one-electron models did not lead to agreement between calculations and experimental data, despite the fact that the pair interaction between electrons is the well-known Coulomb interaction 
. In the 1960s–1970s, it became completely clear that in order to describe the structure and reaction of atoms to external influences, it is necessary to go beyond single-electron concepts and take collective multielectron effects into account 
. At the same time, in the theoretical group of the St. Petersburg Ioffe Institute, under the guidance of Prof. Miron Ya. Amusia, began to create a package of applied programs known as ATOM 
, which was improved in subsequent years and aided a huge number of direct calculations that were carried out in atomic systems to describe experimental data and predict new many-particle effects. These calculations laid the foundation for the development of the concept of a computational experiment.
Theoretical studies of many-body systems, as a rule, are accompanied by the need to take many-body interactions into account. At the same time, the determination of the spatial and energy structure, as well as the response of such systems to external influences, faces significant computational difficulties, especially in cases where perturbation theory cannot be consistently applied 
. The theory of atoms and atomic particles is also facing such difficulties despite the fact that the pair interaction between electrons has been well-known to physicists for more than a century. Nevertheless, a significant development of methods for describing multielectron atoms and their interactions with external fields began in the second half of the last century when the apparatus of many-body theory was developed, great computational capabilities appeared, and experimental studies of atomic systems began to be widely carried out 
. These experiments showed that the simplest description of atoms based on single-particle models—the Hartree–Fock (HF) approximation, in particular 
—is unable to describe the characteristics and properties of the behavior of atoms in cases of their interactions with electromagnetic fields and other particles.
One of the most successful theoretical approaches to describing the structure and processes in atoms are approximations based on many-body theory, particularly including perturbation theory 
and random phase exchange approximation (RPAE) 
. It was the RPAE method, developed as the 1960s turned into the 1970s, that first made it possible to describe the photoionization cross sections of multielectron atoms and to show the decisive role of many-particle (collective) interactions in atomic systems. The big advantage of the RPAE is the self-consistency of this approximation, within which the main general laws of the processes of the ionization and excitation of electrons, such as the oscillator sum rule and the condition of gradient invariance, are satisfied 
. Subsequently, the application of this approximation made it possible to describe and explain numerous experimental data and predict many-electron effects that manifest themselves in the processes of the ionization and excitation of atomic systems. It is these calculations that have stimulated numerous theoretical and experimental studies of many-particle processes in various research centers and laboratories.
2. Software for the Computational Experiment
The main task of the computational experiment is to develop numerical models for the specified range of problems within the framework of a pre-selected theoretical approach. The Hartree–Fock (HF) method is taken as the initial approximation, and many-electron correlations in atoms are taken into account in the framework of the RPAE or its simplified modifications 
The theoretical model of any process under study in the chosen approximation should provide a satisfactory mathematical description of the experiment. First of all, this model includes the choice of the wave functions of atomic electrons in both the ground and excited states, as well as additional external particles participating in the process. The wave functions of the ground state of an atom are determined in the HF approximation. The functions of excited states in the HF method can be found in a self-consistent field or in the field of the “frozen” atomic core for electrons. The choice of the one-particle approximation is determined by both the problem under consideration and the role of many-electron interactions, some of which can be taken into account by the choice of one-particle wave functions. In addition, not only electrons but also other particles can act as additional external particles, e.g., mesons and positrons. The single-particle transition amplitudes are determined in terms of wave functions, which makes it possible to calculate the characteristics of atoms or the probabilities of processes in the HF approximations. Then, the matrix elements of the interaction between electrons in various processes are calculated, and this makes it possible to find the characteristics of atoms or the probabilities of processes while considering multielectron correlations, RPAE in particular 
The ATOM system was created as a result of many years of research into the structure and processes in multielectron atoms; it was designed to calculate the characteristics of atoms, endohedral fullerenes, and diatomic molecules, as well as the probabilities of the processes of interaction of electrons, photons and other particles, on a computer 
. Some main characteristics of atoms and processes that are determined within the framework of this system are listed below:
- Wave functions of atoms in the ground and excited states in the HF and Hartree–Fock–Dirac approximations.
- Amplitudes and cross sections of photoionization (including the strength of oscillators of discrete transitions) of atoms with filled and half-filled shells while taking the interaction between electrons of one, two or more shells into account.
- Atom polarizability.
- Characteristics of the angular distribution of photoelectrons and secondary electrons both in the dipole and outside the dipole approximation.
- Parameters of the spin polarization of photoelectrons.
- Scattering cross sections of fast electrons through the generalized oscillator strengths, taking the influence of electrons in one, two or more shells into account.
- Angular distribution of secondary electrons arising from the inelastic scattering of fast particles on atoms.
- Phases and cross sections of the elastic and inelastic scattering of particles (electrons, positrons, and mesons) of low and medium energies on atoms.
- Photoabsorption cross sections with allowance for the decay of vacancies and the inelastic scattering of a photoelectron.
- Cross sections of the ionization and excitation of an atom by electron impact.
- Probabilities of the single-electron and double Auger decay of vacancies in atoms.
- Probabilities of the one-photon decay of one- and two-hole states.
- Characteristics of bremsstrahlung of high and intermediate energy incident particles.
- Characteristics of capture of mu-mesons by atoms.
- Amplitudes, photoionization cross sections, and angular anisotropy parameters of endohedral atoms and the decay of vacancies in such atoms.
- Characteristics of the inelastic scattering of fast electrons on endohedral atoms.
- Characteristics of photoabsorption processes in negative and positive ions.
The creation of theoretical models is only the first step in a computational experiment. On their basis, numerical models are constructed and make it possible to obtain an approximate solution of the initial problems on a computer with the required accuracy. The wave functions of an atom in the HF approximation are represented as a product of the radial, angular and spin parts. Radial functions are the solution of the HF equation (or system of equations) through the method of successive approximations. Integration over the angular variables of the wave functions and summation over the spins are carried out analytically and enter the expression for the matrix elements, which are the results of solving integral equations in RPAE 
. The multidimensional integrals in these equations are reduced to one-dimensional ones after separating the corner parts and integrating over the angle variables. The RPAE equations are transformed into a system of algebraic equations, the solutions of which are reduced to the inversion of matrices. The expression for the amplitudes of physical processes, defined in terms of matrix elements in RPAE, often contains summation and integration over intermediate states and may have singularities due to energy denominators 
. The integrals of the emerging singularities are analytically calculated. The resulting expression is “matched” with the contribution of non-singular regions, which is found as a result of numerical integration. In this case, the presence of an imaginary additive in the energy denominator of the calculated amplitudes leads to the fact that the process amplitude has both real and imaginary parts.
The numerical solution of the problem, which makes it possible to study the chosen physical process, is sought without separation from physical considerations, which often lead to model simplification. For example, when discretizing the original model, an important element of the calculation is the choice of a sufficiently high upper limit; up to this limit, instead of integration over the continuous spectrum, summation is carried out on a computer 
. The practice of calculations shows that in the physics of the atom, one has to deal with matrix elements that rather quickly decrease as the energies of the states entering into them increase. In addition, to improve the accuracy of calculations, it is advisable to choose sampling points so that the largest number is in the region of relatively low energies E. This condition is ensured by using the electron momentum p
as an integration variable.
3. Organization of the Computational Experiment
The optimal organization of the computational process depends on the choice of theoretical and technical characteristics of computational algorithms. The theoretical parameters of the algorithms are related to the formulation of the problem. They include a formal description of the problem, a solution method, the algorithm itself, and its implementation in the chosen language. Technical characteristics depend on the computer used and include system tools, the capabilities and features of the algorithmic languages used, the form of presentation, and the storage of initial information.
The choice of strategy in the development of the algorithm itself includes a number of issues. First, in all possible cases, the complex initial problem is divided into a number of simple ones that are easier to implement on a computer. Due to the allocation of subtasks into independent modules, such as the calculation of dipole and Coulomb matrix elements, integration with a pole, matrix inversion, the problem of using them in the study of new physical processes is simplified. Furthermore, in each of the subtasks, the necessary algebraic simplifications are carried out. In particular, the change of variable required in the calculation of wave functions is carried out in the calculation of all characteristics of atoms, since the matrix elements used in them are expressed in terms of wave functions. Access to auxiliary (intermediate) quantities is as important for a theoretical physicist as measurements are for an experimenter in an experiment. In the processes under study, auxiliary quantities usually refer to the matrix elements that are used to obtain qualitative estimates.
One of the components of the algorithm is the analysis of the accuracy of calculations. The accuracy of theoretical models is generally unknown, and it is established with the help of estimates obtained as a result of roughly approximate calculations. The accuracy of computer calculations can be very high. It is advisable to use an accuracy that it is somewhat higher than the expected error of the physical result itself. Often the error of intermediate results is more important, since the value obtained in a physical experiment is found as the difference of large numbers. In addition, in the process of computing, the error can accumulate, and, as a rule, it is difficult to evaluate it. Therefore, the final result on a computer often does not require a level of accuracy as high as that needed for intermediate data and that realized at intermediate stages. All this is considered when choosing numerical methods for solving problems.
The development of computational algorithms is the second stage of the computational experiment. In the next steps, computer programs are compiled that implement the selected algorithms. The ATOM system uses numerical methods for the theoretical study of the structure of complex atoms and the processes occurring with their participation 
. The high-level language Fortran, which is the main language in many physical calculations, is used to write the algorithms. To facilitate the implementation of the ATOM system on other computers, Fortran does not use the features and extensions of languages implemented in some translators. Algorithms are recorded in accordance with the respective technology. Algorithms are designed in the form of modules, which are divided into three groups. Modules of the first type are procedures without formal parameters and include the description of variables, the input and printing of initial data, the description of the algorithm containing printing of intermediate values, and the output of results. These are executive programs, each of which solves an independent physical problem. Modules of the second type (specialized) are programs or function procedures with formal parameters. They contain descriptions of the variables and the algorithm. Modules of the third type (service) contain descriptions of variables, the input and printing of initial data, or the printing of results. These modules are used in the development and assembly of modules of the first type. Modules of the fourth type (generic) implement standard mathematical methods. For clarity and ease of finding errors, variables in modules are grouped according to their purpose; variables common to all modules are assigned permanent identifiers, and the names of the variables are usually abbreviated names of the physical processes under study. The input of initial data is accompanied by the printing of all physical quantities. The same is done for intermediate values and program results. Detail printing turns a software module into a theoretical physicist’s tool; it plays the same role as diagnostics in a natural experiment for an experimenter.
The ATOM system includes an application program (AP) and a database (DB). The AP contains more than 50 executive modules (according to the number of physical tasks to be solved), more than 10 service modules, more than 70 specialized modules and more than 16 generic modules, and it has a hierarchical structure. During its development, the following requirements were taken into account: the modular principle of organization, the constant expansion of the system’s capabilities, the convenience of users, ease of implementation, and the use of the system as part of the software for the computing network for collective use. The ATOM system was built with basic tools, so it is easily implemented and widely used in many places. For each atom and each physical process under study, the DB contains the required wave functions, input and output physical characteristics.
The input language of the ATOM system belongs to the class of task languages that allow for a wide class of users who do not have special training in programming to work.
An important stage of the computational experiment is the implementation of computer calculations, during which the capabilities of the created programs are constantly expanding. At present, the ATOM system enables the solving of the following problems 
. In the Hartree and HF approximations, one can obtain various wave functions, namely wave functions of the ground state of an atom, wave functions of excited states consistent with the functions of the ground state, wave functions of excited states in a continuous spectrum for given energies in a fixed field of an atom with or without orthogonalization to the wave functions of the ground state, wave functions of excited states in the discrete spectrum for given values of the principal quantum number in a fixed core field with or without orthogonalization to the wave functions of the ground state, and wave functions of the mu-meson and positron.
Because it has a set of necessary wave functions in the DB, the ATOM system allows one to determine, in the HF and RPAE approximations, matrix elements within one or two transitions, each of which is characterized by one wave function of the ground (hole) state and a set of wave functions of excited (partial) state discrete and continuous spectra for a finite series of energies, namely dipole matrix elements of the length and velocity form, the Coulomb matrix of effective interaction, matrix elements of the terms of the expansion of a plane wave in a series in terms of Legendre polynomials, and Coulomb matrix elements such as “three particles–one hole”, “two particles–two holes”, and “three holes–one particle”. The resulting matrix elements are the basis for studying a number of processes.