Talk:N-body simulation

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Other fields[edit]

This page seems heavily biased toward cosmological N-body simulations. Editing by people working in other N-body fields might give it more balance. Mentioning the "Millenium Simulation" by name seems inappropriate. This is just one of thousands of important simulations. 1210Poppy (talk) 09:15, 11 October 2008 (UTC)[reply]

I concur; this article appears to be too domain-specific. There are many systems which are essentially n-body problems (see dynamical systems and the use of statistical methods are applicable (for example, the use of Monte Carlo methods). Cowbert (talk) 09:51, 18 October 2009 (UTC)[reply]


"One of the simplest refinements is that each particle carries with it its own timestep variable, so that particles with widely different dynamical times don't all have to be evolved forward at the rate of that with the shortest time."

This doesn't seem simple at all. In fact, it seems very diffuclt the imagine how you know when things interact with each other if they have different time steps. Am I missing something here?

-Stephen

It is not really difficult to have different time steps for different particles. the algorithm is simple. For each particle, in the time when the forces on it should be calculated, the position of other particles are approximated. Then, the force on the particle gets calculated with the approximated positions. This will make a little more computation, but the result will be much more accurate, and because it uses needed time step length for each particle, and not more, it is much more faster. Is it clear?

--Reza M. Namin (talk) 09:10, 9 October 2009 (UTC)

Cleanup[edit]

This article needs some major cleanup. I didn't spend too much time reading it but the sections about "General relativity simulations", "two-particle systems" and "Incorporating baryons, leptons,..." are bordering on nonsensical. More specific problems:

  1. There are no citations
  2. "General relativity simulations"
  1. Why is it talking about FRW cosmology here?
  2. Why are the boundary conditions in this section?
  1. 'Two Particle Systems':
  1. Should be more clearly titled along the lines of "Problems with Two Particle Interactions"
  2. It lists that N-body simulations typically use particles with masses on the order of 1 billion solar masses? Most n-body simulations I've encountered use particles on the order of maybe a few solar masses (for simulating star clusters, or small galaxies). Even if some simulations out there use such large masses (Millenium Run ?) those are hardly typical.
  3. Talks about softened Newtonian law being used on finite cells? Is this referring to particle mesh calculations or...? There's many different ways to soften Newtonian gravity and without a citation I am not sure anything can be claimed as typical.
  4. The section seems to imply that the whole point of n-body simulations is to study dark matter... this is hardly the case.
  5. Binary formation isn't necessarily "a problem"
  1. 'Incroporating baryons, leptons,...
  1. Saying 'cold dark matter' is a bit unclear... this might confuse people into thinking these simulations are about "Dark Matter" and not simply simulations that lack radiation.
  2. Generally the whole section really doesn't contribute anything and sounds like it was copy pasted and reworded from somewhere (in fact a bunch of this article sounds like it).

Stou (talk) 08:34, 13 January 2011 (UTC)[reply]

Agreed - I'd like to rearrange and rename some of these topics for clarity. I propose:
  • Discretization - this is the new "Nature of the particles", mentioning dark matter, masses, baryons, etc.
  • Time-stepping - here is where we discuss leapfrog, RK4, other more complex and useful time-steppers
  • Force-finding methods - this is the new "Calculation optimizations"
    • Direct summation - this is the new "Direct gravitational N-body simulations"
    • Treecodes - this will include FMM, but copies some material from N-body_problem
    • Particle-mesh - the other major technique, mention Ewald summation
  • Desingularization or "Force Softening" - this is the new "two-particle systems" and "softening" section
  • Sample code - rename "Example simulations" and remove "Boilerplate" subhead
Markstock (talk) 03:43, 26 April 2022 (UTC)[reply]

My first simulation[edit]

I wrote my first simulation program in Microsoft BASIC for a TRS-80 while I was still in high school.

This was a simple gravitational simulation, with not more than a small handful of bodies. I got the framework for the code out of a magazine.

Very quickly I discovered that my simple methods weren't terribly stable. Clearly in retrospect, my time step wasn't sufficiently adaptive. Energy and momentum were clearly not conserved after any kind of close body encounter.

Yet this article seems to simply take it for granted that numerical stability in the small N simulation case is trivial to achieve.

It wasn't trivial for me, long before I'd ever heard of Runge–Kutta.

Is it really true that a Runge–Kutta class solution to a simple sun, earth, moon system poses no numerical concerns or special challenges whatsoever?

If so, this ought to be stated explicitly. — MaxEnt 22:53, 31 October 2018 (UTC)[reply]

I'm proposing changes to organize and clarify time stepping techniques, mentioning 1st order Euler, leapfrog/Verlet, and Runge-Kutta. Higher-order time steppers, combined with softening, make these simulations more stable.
Markstock (talk) 03:45, 26 April 2022 (UTC)[reply]

Merge proposal[edit]

The January proposal to merge Softening to here seems sensible as it gives that stub more context. Klbrain (talk) 20:06, 1 September 2020 (UTC)[reply]

  checkY Merger complete. Klbrain (talk) 12:01, 2 January 2021 (UTC)[reply]

Wiki Education assignment: Astroparticle Physics[edit]

This article was the subject of a Wiki Education Foundation-supported course assignment, between 10 January 2023 and 30 April 2023. Further details are available on the course page. Student editor(s): Ghusheng (article contribs).

— Assignment last updated by Ghusheng (talk) 05:07, 23 April 2023 (UTC)[reply]