I want to create a semi realistic star system generator but I am not sure where to "put in" gas giants. My guess is they can form pretty much anywhere within the sphere of influence of a star at the right circumstances.

I am still debating how to exactly go about generating the system but it won't be super complicated. I probably have plop in a star with a random mass and based on modifiers like distance, reflection, greenhouse and random chance plop in certain types of planets. It does not need to be realistic but it needs to feel realistic for none astronomy experts.

  • $\begingroup$ Have you done any research on the theories of how our own solar system formed? It could be a start towards making a believable gas giant or two, or four... $\endgroup$
    – user10106
    Commented May 23, 2018 at 8:02
  • $\begingroup$ @Kozaky Yes, they formed as small rocky cores and accumulated gas before the sun was even born. Our own gas giants are relatively far away compared to what seems to be found in the rest of our galaxy. So I cannot really compare our own system to others and cannot find any numbers or percentages. Jupiter seems to be on scale with the biggest gas giants out there. I guess it does not matter all that much for my simulation but I love to see some numbers, to make it a bit more realistic and less erratic. $\endgroup$
    – Madmenyo
    Commented May 23, 2018 at 8:26
  • 1
    $\begingroup$ Sounds like you want to know where they end up, rather than where they form. It looks like the two have quite different answers. See Wikipedia article "hot Jupiters" and many linked articles. This is very much a topic of current research $\endgroup$ Commented May 23, 2018 at 8:51
  • $\begingroup$ @SteveLinton You are completely right! I did some research but I have very little knowledge of the subject. I think I have come across the article I will read it more thoroughly, thanks. Also edited the title. $\endgroup$
    – Madmenyo
    Commented May 23, 2018 at 8:55
  • 1
    $\begingroup$ A few other random comments: (1) gas giants a few times more massive than Jupiter are not much bigger. The extra mass just goes into pushing up the density. Above about 13 Jupiter masses, the core gets dense enough to start deuterium fusion and we start calling it a brown dwarf. (2) it is going to make a difference if you want random systems that might contain an Earth-like planet or genuinely typical random systems. People have theorized that having gas giants in the right places (to divert comets) but not in the wrong places (where they may cause solar flares) is essential. $\endgroup$ Commented May 23, 2018 at 10:58

1 Answer 1


What you're asking about is not known at the moment, but I can briefly comment on how flawed our knowledge is.

1.) Theoretical predictions:

As one comment mentioned, the question "where do planets end up?" is dependent on the answer to "where do planets form?" and the answer to "how fast do planets migrate?" which is not well understood at the moment.
There are of course predictions for both those processes, but those essentially don't agree on anything and especially not with the observations.

A recent overview and a very short video by the authors of that paper summarizing it.

2.) Observations:

We have only very few multi-planet systems, and not a single one where we can claim we know all planets down to a certain size or mass limit.
I suggest you take a look at the data on http://exoplanets.org/table and use the filter "NCOMP >= 5" (also sort by name), this way you get current candidate systems with equal to or more than 5 planets.
You will see there are not many systems that we can base any systematic understanding on.

Plots like the first one in the answer to this question that seem to indicate that we know quite many systems, hide the fact that those systems are all single or double planet-systems.

This prohibits basing your generated systems based on data or planet formation theory. But I suggest that you can use a different method:

3.) Long-term stability:

We don't know all systems that are possible, but we certainly know that all systems under certain conditions become unstable. There is an overview article or also a long video outlining that there should be a simple stability criterion for planetary systems:
If any two planets come closer to each other than ~10 mutual Hill-radii, their orbits will become unstable and possible send the whole system into chaos.
The mutual Hill radius of two planets with masses $m_1$ and $m_2$, and central star $m_s$ and semi-major axis distances $a_1$ and $a_2$ from the star is

$$R_{hill,mutual} = \left( \frac{m_1+m_2}{3 \cdot m_s} \right)^{1/3} \cdot \frac{\left( a_1 + a_2 \right)}{2} $$

So my idea of a simple solar-system generator would be to choose some first planetary mass, place it somewhere.
Then build up the star system from the inside out planet by planet, by chosing the next planetary mass from one of the above mentioned 1-or-2-planet distributions (this one could be a realistic one, like in Mayor et al. 2011, if you know how to re-shape random distributions). You calculate $a_2$ for them such that their mutual distance is $> 10 \cdot R_{Hill,mutual}$.
In this way you'll probably get pretty packed systems, but you can of course take their mutual distances to be larger than $10 \cdot R_{mutual, Hill}$.

So in this way the properties of your generated star systems would be:

  • Mutual distances: Stable physical foundation
  • Planetary mass distribution: Would be on shaky feet, as we don't know enough about multi-planet systems, and our data on low-multi systems is heavily biased towards the methods used to detect them.
  • System architecture / order of the planets: So far we've seen many unexpected things and there is no data or reason to assume there should be any strong constraints. I think here you can let your fantasy or the random masses generator roam free.

You could even go one step further and include one of the (half-way) realistic mass distributions for stars, to generate your $m_s$ values.

Your code (e.e. if you code in C) will only be able to give you uniformly distributed random numbers. If you want them to follow a specific distribution, you need to transform them. Google "transform probability density function" or ask someone with math education that you know, if you don't know how that works.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .