Estimating mass for non-main sequence stars

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
dtessman
Posts: 44
Joined: 20.06.2002
With us: 22 years 3 months
Location: So Cal

Estimating mass for non-main sequence stars

Post #1by dtessman » 22.01.2003, 10:06

I have been estimating Radius and Mass from Absolute Magnitude and Temperature. Lots of fun math. Radius is straight forward, but mass only works for Main Sequence Stars, which are generally 3.5 root of the luminosity.

Does anyone have a formula to estimate mass for the non-main sequence luminosity classes?

This is for the DefaultSSD mechanism of the Zelestra SSR. Basically it generates a Star System Definition for any hipparcos catalog number within the Zelestra SSR that isn't allocated for a Simulation. for example: http://www.zelestra.com/servlets/ssdgen?id=32349

Here is the code (java):

Code: Select all

lum = (Math.exp((4.83 - absmag) / 1.085736) * 4E+26);
area = lum / (5.67E-8 * Math.pow(temp,4));
radius = (Math.sqrt(area / (4 * 3.14159)) / 1000);
mass = (Math.pow((lum / 4E+26), (1 / 3.5f)) * 1.99E+30);


Please let me know if you see anything wrong with it.

Thanks,
Dave

SpaceGear.Org
Open Standards for Space Flight Simulation(tm)

billybob884
Posts: 986
Joined: 16.08.2002
With us: 22 years 1 month
Location: USA, East Coast

Post #2by billybob884 » 04.02.2003, 05:18

using that formula, its going to take a looooong time to sort through all 100,000 stars (or more for those with 1 million or 2 million packs)
Mike M.

TacoTopia!

steve_vmwx

Post #3by steve_vmwx » 25.02.2003, 03:12

Dave

Being but a humble astronomy student I think the answer might be a bit complicated or really easy depending on how you look at it ;)

PMS stars by their nature are an unstable breed of beasties. The fact that they haven't settled into the main sequence makes their base properties variable. T Tauri's (lower end - GKM) spring to mind in particular!

I suggest the short answer for mass it the typical masses quoted for each spectral class (eg. O = 150sm, M = 0.2sm etc etc).

The biggest variable is radius! Are we still collecting gas or about to start fusion :o

Cheers
Steve

Guest

Post #4by Guest » 25.02.2003, 10:02

billybob884 wrote:using that formula, its going to take a looooong time to sort through all 100,000 stars (or more for those with 1 million or 2 million packs)

I guess that a row polinomial approximation will be fine for main sequence stars, and can be computed in a fraction of second on GHz class machines.

Major problems can come for red giant and horizonta branch stars.
Perhaps for horizontal branch we can find some dependency of mass from temperature, but nothing like that does exist on the red giant branch: stars on all masses follow nearly the same path.
Mass influences the maximum of luminosity a star can reach, but no one can says that a stars reached its maximum until it leaves the red giant branch delivering its atmosphere as a planetary nebula and rapidly becoming a white dwarf, or exploding as a supernova.

For white dwarfs, mass is simply related to the radius.

Topic author
dtessman
Posts: 44
Joined: 20.06.2002
With us: 22 years 3 months
Location: So Cal

Post #5by dtessman » 13.03.2003, 01:51

If someone is interested in supplying an average Mass column to this table, I would be much obliged.
Dave



SpaceGear.Org

Open Standards for Space Flight Simulation(tm)

marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 6 months
Location: Outback Australia

Post #6by marc » 11.05.2003, 03:20

I used this code for my gravity mod of celestia.

Code: Select all

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef USE_GRAVITY
//star mass info for main sequence stars from tables found on the internet
//http://curriculum.calstatela.edu/courses/builders/lessons/less/les1/StarTables.html
//in units of sols 
//caution if these values are changed then the starlistshould be recreated.

static float massO[10] =
{  //guessed first 4 entries
    210, 180, 150, 120, 90,
    60, 37, 30, 23, 23.3f
};

static float massB[10] =
{
    17.5f, 14.2f, 10.9f, 7.6f, 6.5f, 5.9f, 5.2f, 4.5f, 3.8f, 3.35f
};

static float massA[10] =
{
    2.9f, 2.72f, 2.54f, 2.36f, 2.2f, 2.0f, 1.92f, 1.84f, 1.76f, 1.65f
};

static float massF[10] =
{
    1.6f, 1.56f, 1.52f, 1.48f, 1.44f, 1.4f, 1.34f, 1.26f, 1.19f, 1.10f
};

static float massG[10] =
{
    1.05f, 1.025f, 1.0f, 0.97f, 0.95f, 0.92f, 0.89f, 0.87f, 0.842f, 0.82f
};

static float massK[10] =
{
    0.79f, 0.766f, 0.742f, 0.718f, 0.694f, 0.670f, 0.64f   ,0.606f, 0.575f, 0.55f
};

static float massM[10] =
{
    0.510f, 0.445f, 0.400f, 0.350f, 0.300f, 0.250f, 0.207f, 0.163f, 0.120f, 0.100f
};


#endif //USE_GRAVITY
//`````````````````````````````````````````````````````````````````````````````````````````````````


It needs some work though.


Return to “Development”