Mario Alberto Rodríguez-Meza

About NagBody (Numerical Algorithms for General Body Dynamics) - or Physics with particles

To understand the behavior of nature, the phenomena that we observe, we proceed by mimicking the real system. The copy, our model, is formed by a set of "particles" that evolve according to the force produced by the others or by external forces or boundaries. A "Particle" forming our system is a general concept, can be a real particle, like an electron, atom or molecule, or can be a collective mode in a solid or liquid, or even a car in a highway, a person in a stadium, or a bird in a flock.

This is the main concept behind NagBody, i.e., the concept of a general particle or body. To study a system composed by this general particles or bodies we need to develop a set of numerical codes capable to set initial conditions, boundaries and external forces, simulate its evolution in time, and to show a snapshot of it at a given time.

NagBody came to live due to my own numerical necessities during years of research in diverse fields of physics: hot electron in semiconductors, chaotic electron transport through corrugated channels, dispersions of micro-particles in a turbulent fluid, galactic dynamics and scalar fields in gravity.

NagBody is based on the Barnes Hierarchical treecode and follows a variant of the unifying idea of his Zeno library and the Teuben Nemo toolbox. NagBody is a modest set (as compared to Teuben Nemo toolbox) of numerical codes with the purpose to help me in my research problems and I hope it will be helpful to other people working in similar fields of research (or even others). However, at the moment, I am unifiying the functionality of the numerical codes in order to complain with my own variant of the Nemo project. That is the reason, this time, I just describe here the group of codes to simulate galactic dynamics under the influence of scalar fields in its Newtonian limit: the integrator (gbsph); a direct N-body code (nbody_n2); a code to generate various models (models); a code to generate a Bulge-Disk-Halo galaxy; a code to analyze snapshot data (datanaly). Also included are codes to simulate molecular dynamics of a Lennard-Jones liquid (md_lj_tree, md_lj_n2).

The seeds that are giving life to NagBody gave results that were published in the past, see for example: