after plenty of work, I have decided to upload my
Perl-generated 'binaries.stc' file
with 203 accurate binary orbits that all have a well
determined primary/secondary mass ratio!
It's not yet final, but it's about time for testing it...
You may download the file for trying with one of the
recent 1.40pre Celestia versions from here:
http://www.shatters.net/~t00fri/binaries.stc.zip
Unzip the file and put it into the 'extras' directory. That's all.
We clearly need an extension of the celestial browser to
administrate double stars! Otherwise some of you will
have problems finding all these beautiful binary systems
in the sky . For testing, just note down some
respective HIP numbers from the binaries.stc file.
Here are some details about the "state of the art":
A) Features:
=======
1) The orbits are from a very sound and often cited
(82x) analysis by S. S?derhjelm (1999),
Astronomy and Astrophysics, v.341, p.121-140 (1999).
Or online:
http://adsabs.harvard.edu/cgi-bin/nph-bib_query?1999A%26A...341..121S
2) All 203 orbits feature a well determined mass ratio
from combined fits to the Hipparcos and Tycho
astrometry data as well as (crucially) the Hipparcos
"Transit data"!
3) What I really appreciate in this analysis is a careful
determination of uncertainties. So all results
for m2/m1 and the orbit parameters have quoted
error bars!
4) The author claims that as a result of the global fits, he
came up with much improved values for the parallaxes
relative to the original Hipparcos data. So watch out that
there are changes relative to HIP.
5) I have cross correlated 3 catalogs via Perl to generate
the resulting Celestia stc file:
Code: Select all
* S. S?derhjelm's original double star data
* The Hipparcos & Tycho catalogs (<-> stars.txt) for
extracting RA,Dec & the primary's spectral class
* Table6 from S?derhjelm which represents a cross
reference table with the more popular names of the
binary systems!
Nothing has been touched by hand in my binaries.stc file. It's all Perl....While there may be bugs,
typing errors are probably excluded
Here is a little preview for one of my 203 systems:
Code: Select all
Barycenter "46 Tau"
{
RA 63.387945
Dec 7.716034
Distance 120.623890
}
19719 "46 Tau A" # component A
{
OrbitBarycenter "46 Tau"
SpectralType "F3V..."
AppMag 5.76
EllipticalOrbit {
Period 7.200
SemiMajorAxis 2.382 # mass ratio 1.15 : 1.10
Eccentricity 0.330
Inclination 61.576
AscendingNode 264.352
ArgOfPericenter 37.018
MeanAnomaly 106.000
}
}
"46 Tau B" # component B
{
OrbitBarycenter "46 Tau"
SpectralType "G2V"
AppMag 6.67
EllipticalOrbit {
Period 7.200
SemiMajorAxis 2.507 # mass ratio 1.15 : 1.10
Eccentricity 0.330
Inclination 61.576
AscendingNode 264.352
ArgOfPericenter 217.018
MeanAnomaly 106.000
}
}
6) A few of the binaries are also in Grant's nearstar.stc
file. I left them in deliberately to allow a better
comparison of the differences!
7) If anyone wants to play with my Perl script, let me
know...
Of course the orbit parameters have to be rotated
from the plane-of-sky coordinates to the ecliptic in
Celestia,
which involves quite some trigonometry .
For testing purposes , here is what I worked out and use
in my Perl script
(Hehe Evil Dr. Ganymede, isn't that cool? ):
Code: Select all
sub RotOrbits {
local($ra_deg,$del_deg,$P,$a_arcsec,$i,$PA_of_Node,$Epoch_of_peri,$e,$Arg_of_peri,$dist_ly) = @_;
$del_rad = -$del_deg*$pi/180.0;
$ra_rad = $ra_deg*$pi/180.0 - $pi;
$eps = $pi/180.0*23.4392911;
$ii = $pi/180.0*(90.0 - $i);
$om = $pi/180.0*($PA_of_Node - 270.0);
$alpha = atan(cos($ii)*cos($pi/180.0*($PA_of_Node))/(sin($ii)*cos($del_rad) - cos($ii)*sin($del_rad)*sin($pi/180.0*($PA_of_Node)))) + $ra_rad;
if( sin($ii)*cos($del_rad)-cos($ii)*sin($del_rad)*sin($pi/180.0*$PA_of_Node) < 0 ) { $alpha = $alpha + $pi };
$delta=asin(cos($ii)*cos($del_rad)*sin($pi/180.0*$PA_of_Node)+sin($ii)*sin($del_rad));
$lambda=atan((sin($alpha)*cos($eps)+tan($delta)*sin($eps))/cos($alpha));
if( cos($alpha) < 0 ) { $lambda = $lambda + $pi };
$beta = asin(sin($delta)*cos($eps) - cos($delta)*sin($eps)*sin($alpha));
$alphaOm = atan(cos($om)/(-sin($del_rad))/sin($om)) + $ra_rad;
if( -sin($del_rad)*sin($om) < 0 ) { $alphaOm = $alphaOm + $pi };
$deltaOm = asin(cos($del_rad)*sin($om));
$lambdaOm = atan((sin($alphaOm)*cos($eps) + tan($deltaOm)*sin($eps))/cos($alphaOm));
if( cos($alphaOm) < 0 ) { $lambdaOm = $lambdaOm + $pi };
$betaOm = asin(sin($deltaOm)*cos($eps) - cos($deltaOm)*sin($eps)*sin($alphaOm));
$sign = $betaOm > 0? 1.0:-1.0;
$dd = acos(cos($betaOm)*cos($lambdaOm - $lambda - $pi/2.0))*$sign;
$Period = $P;
$SemiMajorAxis = $dist_ly*63239.7*tan($pi/180.0*$a_arcsec/3600.0);
$Eccentricity = $e;
$Inclination = 90 - $beta/$pi*180;
$AscendingNode = $lambda/$pi*180 + 90 - floor(($lambda/$pi*180+90)/360.0)*360;
$ArgOfPeri = $Arg_of_peri + $dd/$pi*180 - floor(($Arg_of_peri + $dd/$pi*180)/360.0)*360;
$MeanAnomaly = 360*((2000.0 - $Epoch_of_peri)/$P - floor((2000.0 - $Epoch_of_peri)/$P));
}
Of course, I checked for quite a few examples that it
agrees with what Grant is using...
B) Pending:
========
1) For the time being at least, I have used the quoted
Hipparcos Hp "visual" magnitudes for the primaries and
secondaries rather than the Johnson ones that are
normally used in Celestia. The differences are quite
moderate of the order of 0.1m or so.
2) I noticed that Grant has done this also tacitly in his
new nearstars.stc file, but there Johnson V and Hp are
even mixed together...
3) The major working compromise for now refers to the
spectral classes of the secondaries that are generally
lacking. I have done much work in that area, but while
that is unfinished, I have just arbitrarily substituted G2V
(our sun's ) spectral class for all secondaries. This will
certainly change in the near future!
Enjoy and let me know about bugs!
Bye Fridger