Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

I Star Radius & Mass from Spectral Class, B-V, Luminosity

  1. Apr 20, 2016 #1
    I have a data set of 120k star systems that I'd like to import into a project, and, while it has a lot of useful infomation, I'd like to display these stars in a visual fashion. This means that I need to figure out the radius, when zoomed into the star system, and its mass, to simulate objects in orbit. If I have the radius, I can appoximate its mass. I have a basic idea of how to color them.

    The data set I've chosen gives me the Spectral Class, the B-V Color Index, and the Luminosity of each star, and I'm hoping that's enough to plug into some math out there to approximate the radius and/or mass. When I checked out this data, I found some weird spectral codes outside of the typical, established OBAFGKM set, such as D, C, S, R, W, N, and P. This code will basically determine the Temperature, as I understand it, thus determining the Radius, but I'm not sure where these fit in. "D" is a white dwarf, I think, for example, and "C" is a Carbon star, but I don't have any temperature info on those or the others.

    My main question is this: how do I calculate the stars' radii and/or mass from the data I have?

    The data set I'm looking at is here:
    The description of the data headers is here:

    This is the breakdown of spectral classes:
    32182 K
    25605 F
    22798 G
    18697 A
    10413 B
    5831 M
    3050 <no data>
    282 D
    264 O
    162 C
    102 S
    89 R
    74 W
    61 N
    4 P
  2. jcsd
  3. Apr 21, 2016 #2


    User Avatar
    Gold Member

    If you have the luminosity and the temperature, you have the radius, viz

    L = σT44πR2

    Why don't you first work on the majority of stars whose spectral classes you understand before proceeding to the more rare cases (which are defined here https://en.wikipedia.org/wiki/Stellar_classification)
  4. Apr 21, 2016 #3
    Thank you for the equation and the great link - looks like it has a nice table there for the common spectral classes. I noticed there's a numeric range that can follow afterwards: 0 being hottest, and 9 the coolest. Is this a linear correlation? For example, for a G class star, the range is 5200-6000. Should I expect a G5 to be something like 5644 K?

    It's unfortunate that I'm only seeing useful data for Main Sequence stars. As for the oddballs - this project has a couple of goals: First, to use as much hard-core science as I can. Second, to present a "journey through the stars," where the occasional rare, oddball star is actually quite desireable. Who wouldn't want to behold the glory of a red supergiant?
  5. Apr 21, 2016 #4
    I just found something interesting - there's an article about Finding the Radius of a Star, and in it is a nice table relating the B-V color index to the star's Temperature. Since my data set includes the B-V values of each star, why can I not derive the temperature directly from this value? What is the actual equation that generated that table? If I had that math, I could possibly simplify my work. Can anyone point me to this math?
  6. Apr 28, 2016 #5
    Wow - I guess there aren't many Astrophysicists reading this forum. :( I seemed to have found some answers on my own without resorting to cornering a very busy professor at my local college. :) For those interested in this subject, particularly what's involved in rendering the approximate color, size, and luminosity of local stars, I've done a lot of the legwork for you!

    In my searching, I found a couple of potential equations to estimate a star's Surface Temperature from its BV color index. I used good-old MS Excel to plot the simplified table from my previous post to compare it to the two equations.

    The first is from Yahoo! Answers, of all places, from a person at UTK who left this post. The equation follows:
    If B-V > -0.0413, then
    T = 10^{ [14.551 - (B-V)] / 3.684 }

    If B-V < -0.0413, then
    T = 10^{ 4.945 - sqrt[ 1.087353 + 2.906977 (B-V) ] }

    The second post was from an individual at UNI, who had created an online web form to perform the calculation, which looks like a least-squares curve fit for a table using 6 or 7 data points. I gleaned this equation (using the provided table of constants) from the javascript code:

    As I said, I plotted both equations over the original table, and compared results. Despite the UTK method requiring an inequality, I found that its curve seemed to fit better. The UNI method fit OK, but at the endpoints, the curve seemed to become more exaggerated and less reliable.

    Once I knew the temperature, I could calculate the Radius of the star using equations derived from the Boltzmann Law:
    R/Rsol = (Tsol/T)^2 * SQRT(L/Lsol)

    Since I'm using the HYG data set, the luminosity is already expressed in ratio to Sol, so it made at least one thing easy. Also, I attempted to use the spetrum data from the set (where possible) to infer the temperature, and, thus the radius using some work already curated by Landon Curt Noll. Some spectrum data was imcomplete, so I made my best guess. Those gaps in the data where I had no spectrum data, I used the B-V color index to calculate the temperature. Those stars with no spectrum or color index were dropped from my data set.

    The result, thusfar, is this:
    Please note this is a work in progress, and will only function smoothly on high-end computers; I doubt a tablet could handle it. Also, it's not designed to work with Internet Explorer, as I found it lacking in many respects.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted