Project Orbiter Galaxy

Nerull

Addon Developer
Addon Developer
Joined
Dec 28, 2008
Messages
96
Reaction score
0
Points
0
That scale may work if there wasn't so much evidence pointing against evolution. How are you going to get an accurate map of the galaxy in the first place? Even if it isn't an accurate map, I can't wait to try it out.

There is plenty of evidence for stellar evolution.

All the discussions you've been involved in while here, the only consistent thing that has been shown is there is not a single area of science where you have any idea what you are talking about.
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
I can't seem to find any data on the assumed fractional occurance of stars of different masses. Currently I go with the following chances at creation:

2% chance for a supermassive star to be created, 20 to 90 SM
8% for a pretty massive star, 10 to 20 SM
10% for a massive star, 3 to 10 SM
40% for a medium mass star, 0.5 to 3 SM
20% for a low mass star, 0.08 to 0.5 SM

these numbers are just out of my gut and without any basis on anything else. Maybe someone more familiar with the matter could correct this a little?

I'm having trouble finding hard numbers, but low mass stars make up a much greater fraction and high mass stars a much lower fraction. Based on one source stars under .5 solar masses account for half of all stars, based on a couple others, they account for up to 75 percent.

My own *very* rough estimate. based on a quick bit of exploring with a starmap program, says that the average distance between stars of a given mass goes up roughly linearly with the mass, or, equivalently, that the number of stars of a given mass within a given volume is roughly inversely proportional to the cube of the mass. Keep in mind though, this is *very* rough.

I'll ask around...

EDIT:

I was given this reply:
Look up Initial Mass Function. The short answer is that for large stars
(>1 stellar mass) the IMF appears to be a power law with an exponent of
-2.35 (Salpeter IMF), and for smaller stars the curve is not well known.
Note, however, that larger stars don't live as long, so the actual
dropoff with mass is much sharper than that.

Wikipedia has an article on the IMF, here: http://en.wikipedia.org/wiki/Initial_mass_function
 
Last edited:

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
I'm probably just being dense here. Can you clarify: is this going to be an MFD that simply displays the stars in our solar system's vicinity? Or is this going to include some sort of mechanism by which we can actually travel to those stars? If so, how do you envision it working? I'm confused :) (which is easily done I might add!)
It's going to be an external program that is essentially a 3-dimensional starmap similiar to the one in first encounters (just that it will be more 3d), with the ability to output star systems for orbiter and to send data to an MFD inside Orbiter (not sure yet how I'll do the connection, but Jarmonik planed something similiar for his interplanetary flight planer, so it's got to be possible).

I envision the process as follows:

You select a destination in the external map, which will do two things: first export the selected system for Orbiter (for planetary textures I will be relying mostly on Artlavs procedural texture generator, but that's still a long way of), and it sends Data to the MFD within Orbiter to plot a course to said star (allthough this will be rather rudimentary. The kind of "Point your nose here and thrust like hell").
When a certain condition is fulfilled (I.e. out of the suns SOI or whatever, not sure yet) A new scenario with the target system will be loaded and the ship placed accordingly to its exit vector from the solar system and with inverted speed (MSSSmfd already does that pretty well, so I see no problems coming there).

---------- Post added at 09:02 PM ---------- Previous post was at 08:55 PM ----------
dang, hit the wrong button...

How are you going to get an accurate map of the galaxy in the first place?
An accurate Map of the galaxy doesn't exist. I'm using the HYGs database as a basis, which contains about 120,000 known stars, the rest of the galaxy will get randomly generated. It is this generator I'm working on currently.

Oh, and there should be plenty of opportunities for red giants or blue giants in the spiral arms which contain lots of "star-fuel".
Red Giants are not depending on mass, but on age.

What I'm currently looking for is how stars with different masses are distributed. A Blue Giant is a very massive main sequence star, while a red giant is an actual sequence of a star (a medium mass star becomes a red giant when it is old enough).
I wraped up a rough evolution model today, So how a star ends up is depending on its mass and on its age. While for age I choose any random number between 1 million years and the age of the galaxy (roughly 14 billion years estimated), mass is the tricky thing.

Wikipedia has an article on the IMF, here: http://en.wikipedia.org/wiki/Initial_mass_function
Thanks a lot, I'll look into that.

---------- Post added 11-05-09 at 01:27 PM ---------- Previous post was 11-04-09 at 09:02 PM ----------

Ok, I looked at the IMF. I understand that the function will return the probability of a star with a Mass between a minimum and a maximum being formed, so it's exactly what I need.

Unfortunately, I suck at math, and I couldn't decipher the whole thing, because I can't read the mathematical syntax. so I see the function N(M)dM, but I don't see for example a "=" in there...

let's say I have a mass between 10 and 20 SM, could someone give an example how I have to enter this into my computer that I get the probability on the left side of the "="?
 
Last edited:

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
[/COLOR]Ok, I looked at the IMF. I understand that the function will return the probability of a star with a Mass between a minimum and a maximum being formed, so it's exactly what I need.

Unfortunately, I suck at math, and I couldn't decipher the whole thing, because I can't read the mathematical syntax. so I see the function N(M)dM, but I don't see for example a "=" in there...

let's say I have a mass between 10 and 20 SM, could someone give an example how I have to enter this into my computer that I get the probability on the left side of the "="?

Basically, the easiest way that occurs to me is to assume that stars in your lowest mass band (say 0.08 to .1 solar masses) form with a density of 1. Then use the exponent to determine the number of stars that form in the next highest mass band (say .1 to .12 solar masses), and so on until you reach your highest mass band. Then normalize the densities so that the total of the densities for all mass bands is 1. This will give you your probabilities. Keep in mind that the IMF doesn't take into account stellar evolution (remnants are typically less massive than the original star, and every star in a mass band over a certain age will be a remnant), nor does it take into account mixing between areas with different average ages, nor the possibility that different areas might possibly have different IMFs.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
Uh, I'm afraid I still don't get it... I thought I knew what proportional means, but obviously I don't...

let's say I take a star with a Mass of 0.1 and take the value for Alpha from Miller/Scale (found here: http://webast.ast.obs-mip.fr/hyperz/hyperz_manual1/node7.html), then I get M^-alpha = 17.783, and for 125 SM I get 0.00000012. Now what on earth do these numbers mean exactly? That I get 0.00000012 Stars with a mass of 125 per 17.783 stars with a mass of 0.1?

Keep in mind that the IMF doesn't take into account stellar evolution (remnants are typically less massive than the original star, and every star in a mass band over a certain age will be a remnant),
Don't worry, I only need the initial mass. The star will then be walked though an evolution process according to its age, and may still become a remnant like a neutron star or even a black hole, depending on its initial mass.
 
Last edited:

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
Uh, I'm afraid I still don't get it... I thought I knew what proportional means, but obviously I don't...

let's say I take a star with a Mass of 0.1 and take the value for Alpha from Miller/Scale (found here: http://webast.ast.obs-mip.fr/hyperz/hyperz_manual1/node7.html), then I get M^-alpha = 17.783, and for 125 SM I get 0.00000012. Now what on earth do these numbers mean exactly? That I get 0.00000012 Stars with a mass of 125 per 17.783 stars with a mass of 0.1?

Yes, though I think you may have to scale things each time the exponent changes to keep the function smooth. For example, 2 solar masses is the border point in the Miller/Scalo function where the x term (be careful, they use M^-(1+x) instead of the 1^-alpha mentioned in the Wikipedia. You have to add one to their x to get alpha) goes from 2.0 to 2.3. 2^-2 is 0.25, whereas 2^-2.3 is approximately 0.2. You'll have to adjust the c term (which is a multiplier constant) in their equation so that the two equations have the same value at M=2 solar masses.

As far as figuring out the probability of any given mass, I think there's a way of doing it with calculus that's a bit more accurate than what I'm going to outline, but that's above my pay grade. Those who understand calculus can explain it. I may also be overthinking myself, and there may be a simple way of doing it precisely without calculus.

The first thing you need to do is chop your 0.1 to 125 solar mass range up into smaller ranges. You'll probably want each one to be fairly small (say, for instance, a percent or tenth of a percent of a solar mass). You may want to divide the ranges up by the logarithm of the mass rather than the mass, since a percent of a solar mass is a lot more compared to 0.1 solar masses than compared to 125 solar masses.

You then take the middle number of each mass range and assume all stars in that mass range have exactly that mass. (In other words, you round each mass to the mass of the nearest mass range). For instance, if I've decided that I'll have mass ranges spaced every tenth of a solar mass (for example, you'll want to use smaller mass ranges in practice), then stars with masses of .57, .59, and .61 solar masses would all be rounded to .6 solar masses.

You then apply the function to the center of each mass range, add the results for all the mass ranges together, and normalize the result to one.

For example: If I have mass ranges centered at .5, .75, and 1.0, and my function has a=-2, then it will return 4, 1.77, and 1. Added together, these total up to 6.77. I then divide the result of the function for each mass range so that the total adds up to 1, ie, (4/6.77) + (1.77/6.77) + (1/6.77) ~= .59 + .26 + .15 ~= 1.

Once you've got the whole list adding up to one, you have you're probabilities for each mass range. In the above example, stars in the .5 solar mass range account for a fraction of 0.59, or 59 percent of all stars, stars in the .75 solar mass range account for 0.26, or 26 percent, and stars in the 1 solar mass range account for .15, or 15 percent. You'll of course want more, and finer divisions than in my example (otherwise you'll have too many stars at the upper end of each mass range and too few at the lower end) and may want to divide your ranges up as a function of log M rather than M (otherwise you'll have less precision in the lower ranges than the higher ones).
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
Thanks a lot! I'll give this a shot this evening and see if I get a working solution.

You'll have to adjust the c term (which is a multiplier constant) in their equation so that the two equations have the same value at M=2 solar masses.

It's a good thing you mention c, since I didn't even see it the last time I looked at the page. now I'm not sure about what it does (just multiplying the result, I guess, but to what purpose?)
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
Thanks a lot! I'll give this a shot this evening and see if I get a working solution.



It's a good thing you mention c, since I didn't even see it the last time I looked at the page. now I'm not sure about what it does (just multiplying the result, I guess, but to what purpose?)

Your equation is divided up into sections, with each section having a constant exponent. Certain masses form the boundary between two sections, and are part of both sections. For the Miller/Scalo equation, an example is at 2 solar masses where x changes from 1 to 1.3 (and thus a changes from 2 to 2.3). If you don't use c to scale things, then the equation will give two values at each boundary mass, one for the section that the mass is the lower boundary for, and one for the section it's the upper boundary for. You need to adjust c for each section so that the function returns the same value at each boundary mass for both sections it's a part of.

Once you have c values at which everything matches up, you should be able to scale them up and down as long as you keep the ratios the same (for example, if your three sections have c values of 1, 2, and 4, you should be able to change that to .5, 1, and 2, and have the border masses still line up). You can use this to make the function return a certain value at a certain mass (say, 1, at 1 solar mass, or at your minimum or maximum mass).
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
Thanks a lot. Unfortunately, a load of wood got in my way today, I'll have to figure it all out tomorrow.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
Allright, I got a working solution! :cheers:

thanks a lot Linguofreak, probably wouldn't have understood it all without your explanation, allthough my solution looks a bit different from the one you proposed.

First I searched for c-values, as you suggested, and then I summed up all results for cM^-alpha from 0.1 to 125 SM with 0.01 SM steps. That gave me a value to use for 100%.
The random generator then produces a random number between 0 and this value. The mass of a star is iterated in 0.01 steps until cM^-alpha > random probability. This left me with something like 10 million potentially empty iterations, so the random value is evaluated first and the star gets a starting mass somewhere up on the ladder (got it split at 1, 2, 10, 20, 35, 60 and 90 SM) to keep the iterations down to a sensible amount. The result should be pretty precise.
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
Allright, I got a working solution! :cheers:

thanks a lot Linguofreak, probably wouldn't have understood it all without your explanation, allthough my solution looks a bit different from the one you proposed.

First I searched for c-values, as you suggested, and then I summed up all results for cM^-alpha from 0.1 to 125 SM with 0.01 SM steps. That gave me a value to use for 100%.

Works either way.

The random generator then produces a random number between 0 and this value. The mass of a star is iterated in 0.01 steps until cM^-alpha > random probability. This left me with something like 10 million potentially empty iterations, so the random value is evaluated first and the star gets a starting mass somewhere up on the ladder (got it split at 1, 2, 10, 20, 35, 60 and 90 SM) to keep the iterations down to a sensible amount. The result should be pretty precise.

Sounds good. I might add a few starting points below one solar mass, and use smaller iterations (say .001 solar masses) towards the smaller end and larger iterations (.1 or maybe even 1 solar masses) towards the larger end. For a minimal mass star of 0.08 solar masses, 0.01 solar masses is more than 10 percent of its mass, but for a maximal mass star of 125 solar masses, 0.01 solar masses is less than a percent of a percent of its mass.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
I might add a few starting points below one solar mass, and use smaller iterations
good point, and only 5 minutes to implement :)

---------- Post added at 07:34 PM ---------- Previous post was at 03:03 PM ----------

programing means solving a problem to get several other problems, right?

Now that I have a decently realistic distribution of masses, I have to put a spectral class to the stars (only main sequence, the rest will be processed separately), which seems a bit hard to do. Calculating the luminosity is easy, and if I'd had a diameter I could use it to calculate the surface temperature, hence placing the stars into the apropriate spectral class. Does anyone know a not too complicated formula that allows a ballpark estimate of the diameter based on the mass? I can't find a function relating the two together...

Edit: Never mind, I just found a function. Had to search for "mass-radius relation" instead of "mass-diameter relation". Now all I need is to put luminosity and radius together... Haven't found a formula for that yet, but I hopefully will.

---------- Post added at 08:24 PM ---------- Previous post was at 07:34 PM ----------

Found and implemented :)

just a question to make sure: are Luminosity and absolute magnitude the same thing?
 
Last edited:

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
good point, and only 5 minutes to implement :)

---------- Post added at 07:34 PM ---------- Previous post was at 03:03 PM ----------

programing means solving a problem to get several other problems, right?

Now that I have a decently realistic distribution of masses, I have to put a spectral class to the stars (only main sequence, the rest will be processed separately), which seems a bit hard to do. Calculating the luminosity is easy, and if I'd had a diameter I could use it to calculate the surface temperature, hence placing the stars into the apropriate spectral class. Does anyone know a not too complicated formula that allows a ballpark estimate of the diameter based on the mass? I can't find a function relating the two together...

Edit: Never mind, I just found a function. Had to search for "mass-radius relation" instead of "mass-diameter relation". Now all I need is to put luminosity and radius together... Haven't found a formula for that yet, but I hopefully will.

---------- Post added at 08:24 PM ---------- Previous post was at 07:34 PM ----------

Found and implemented :)

just a question to make sure: are Luminosity and absolute magnitude the same thing?

Yes and no. Luminosity is simply the raw power the star puts out in the electromagnetic spectrum. It is given in units of power, such as solar luminosities or watts (or horsepower :p), and most often given in solar luminosities. Absolute magnitude *measures* the same thing (the raw electromagnetic output of the star), but it is a *dimensionless* number determined by a *logarithm* of the luminosity (and a logarithm to a really weird base, too). A *lower* number means *brighter,* and you can find stars with *negative* absolute magnitudes. You also need to distinguish between visible and bolometric magnitude/luminosity. Bolometric magnitude is the luminosity of the star on all wavelengths, while visible magnitude is the magnitude within the human visible spectrum. For very hot or very cool stars (where most of the radiation is in the ultraviolet or infrared), the bolometric and visible magnitudes can be quite different, and authors will often use the terms "magnitude" and "luminosity" without qualifying whether they're talking bolometric or visible.

You can check out the Wikipedia articles on these topics, but at the moment Wikipedia is giving me trouble, or I'd provide a link.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
ok, thanks. Funy thing is, in bosnian "bol" means "pain"... :lol: So, what I basically have to find out is wheather the star database I'm using expresses absolute magnitude in visible or "painometric" magnitude. shouldn't be hard.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
I started the probably long and tedious process of adapting StarGen to create solar systems for Orbiter Galaxy. It currently only works reliable for the creation of Systems around stars of 0.2 to 1.5 SM. I overcame the first few obstacles, but there's a long way ahead of me, I'm afraid.

Currently I'm working on the problem that it creates increasingly massive planets around increasingly massive stars, the top I saw was a rocky planet (not a gas giant) with over 3100 earthmasses and barely 2 times its radius. While this is clearly due to the accretion model used by stargen, It got me wondering: How large can solid bodies actually get?
 

tgep

Tutorial Publisher
Tutorial Publisher
Joined
Apr 3, 2008
Messages
510
Reaction score
0
Points
0
Location
Next to the Stennis Space Center
Two little problems we've overlooked and that's the distance factor from Orbiters universal center ( Sol ) and Active-X lighting in Orbiter.

Orbiter 2006 lets you pilot a vessel quite a large distance from sol ( we're talking many many parsecs here folks ) but inevitably you hit an unseen barrier and get a CTD because the engine doesn't seem to be able to handle the numbers involved. ( RTF Admin found this out playing with the JumpDrive MFD ). The parent center for the programing will need to be moved to the new universal center at the galactic core to overcome this and the range from the center greatly expanded to at least 150,000 light years.

The other issue is the single light source being Sol. Changes will need to be made in the core programing that allows for multiple light sources around more than 1 star. I would suppose that the effective distance for a solar system light source would be 2 light years. Moving beyond this range would result in an all around shadow setting until you get within range of another star system.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,863
Reaction score
2,127
Points
203
Location
between the planets
Well, crossing the whole distance in real flight would be something only hardcore people might want to do anyways, since we don't have more than 100,000 times timeacceleration. Also, you won't see the stars move, which will make it even more boring. The current plan looks like this: switch scenario when reaching a certain distance from the major body (e.g. leaving its SOI, not sure yet about that), switch scenario and propagate time according to distance and current velocity. Most people will want to use a kind of "Jump drive" anyways. That should omit both problems.
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,029
Reaction score
1,270
Points
188
Location
Dallas, TX
I started the probably long and tedious process of adapting StarGen to create solar systems for Orbiter Galaxy. It currently only works reliable for the creation of Systems around stars of 0.2 to 1.5 SM. I overcame the first few obstacles, but there's a long way ahead of me, I'm afraid.

Currently I'm working on the problem that it creates increasingly massive planets around increasingly massive stars, the top I saw was a rocky planet (not a gas giant) with over 3100 earthmasses and barely 2 times its radius. While this is clearly due to the accretion model used by stargen, It got me wondering: How large can solid bodies actually get?

The limits on the mass that a terrestrial planet can acquire would be set by A: The amount of solid material available for it to form out of, and B: Its ability to hold onto Hydrogen and Helium, which would increase with mass and decrease with temperature. If it manages to hold onto significant amounts of hydrogen and helium, it will become a gas giant. Whether or not it becomes a gas giant will also depend on the amount of time it has to collect H and He before they are blown away by the central star, which depends on how close it is.
 

tgep

Tutorial Publisher
Tutorial Publisher
Joined
Apr 3, 2008
Messages
510
Reaction score
0
Points
0
Location
Next to the Stennis Space Center
Well, crossing the whole distance in real flight would be something only hardcore people might want to do anyways, since we don't have more than 100,000 times timeacceleration. Also, you won't see the stars move, which will make it even more boring. The current plan looks like this: switch scenario when reaching a certain distance from the major body (e.g. leaving its SOI, not sure yet about that), switch scenario and propagate time according to distance and current velocity. Most people will want to use a kind of "Jump drive" anyways. That should omit both problems.

I think most users will use the WarpDrive 2.0 as the jumpdrive MFD requires a bit of math for general usage and you would need to make a lot of jumps to get from A to B if B is more than say ..... 10 parsecs away.:cheers:
 
Top