1 const binaryStarNames = { 2 etaCor: "eta-Cor", 3 gammaVir: "gamma-Vir", 4 etaCas: "eta-Cas", 5 zetaOri: "zeta-Ori", 6 alphaCma: "alpha-CMa", 7 deltaGem: "delta-Gem", 8 alphaGem: "alpha-Gem", 9 aplahCmi: "aplah-CMi", 10 alphaCen: "alpha-Cen", 11 alphaSco: "alpha Sco" 12 }; 13 14 /** 15 * Binary Star Data 16 * 17 * Elements: 18 * 0: binaryName -- Name of binary system. 19 * 1: period -- Period of the orbit. 20 * 2: epochPeri -- Epoch of the perihelion. 21 * 3: longPeri -- Longitude of the perihelion. 22 * 4: ecc -- Eccentricity of the orbit. 23 * 5: axis -- Semi-major axis of the orbit. 24 * 6: incl -- Orbital inclination. 25 * 7: paNode -- Position angle of the ascending node. 26 */ 27 const binaryData = [ 28 [binaryStarNames.etaCor, 41.623, 1934.008, 219.907, 0.2763, 0.907, 59.025, 23.717], 29 [binaryStarNames.gammaVir, 171.37, 1836.433, 252.88, 0.8808, 3.746, 146.05, 31.78], 30 [binaryStarNames.etaCas, 480.0, 1889.6, 268.59, 0.497, 11.9939, 34.76, 278.42], 31 [binaryStarNames.zetaOri, 1508.6, 2070.6, 47.3, 0.07, 2.728, 72.0, 155.5], 32 [binaryStarNames.alphaCma, 50.09, 1894.13, 147.27, 0.5923, 7.5, 136.53, 44.57], 33 [binaryStarNames.deltaGem, 1200.0, 1437.0, 57.19, 0.11, 6.9753, 63.28, 18.38], 34 [binaryStarNames.alphaGem, 420.07, 1965.3, 261.43, 0.33, 6.295, 115.94, 40.47], 35 [binaryStarNames.aplahCmi, 40.65, 1927.6, 269.8, 0.4, 4.548, 35.7, 284.3], 36 [binaryStarNames.alphaCen, 79.92, 1955.56, 231.56, 0.516, 17.583, 79.24, 204.868], 37 [binaryStarNames.alphaSco, 900.0, 1889.0, 0.0, 0.0, 3.21, 86.3, 273.0] 38 ]; 39 40 function getBinaryData(binaryName) { 41 let [binary_name, period, epochPeri, longPeri, ecc, axis, incl, paNode] = ["not found", -99, -99, -99, -99, -99, -99, -99]; 42 43 for (let iLoop = 0; iLoop < binaryData.length; iLoop++) { 44 if (binaryData[iLoop][0] == binaryName) { 45 binary_name = String(binaryData[iLoop][0]); 46 period = Number(binaryData[iLoop][1]); 47 epochPeri = Number(binaryData[iLoop][2]); 48 longPeri = Number(binaryData[iLoop][3]); 49 ecc = Number(binaryData[iLoop][4]); 50 axis = Number(binaryData[iLoop][5]); 51 incl = Number(binaryData[iLoop][6]); 52 paNode = Number(binaryData[iLoop][7]); 53 54 break; 55 } 56 } 57 58 return [binary_name, period, epochPeri, longPeri, ecc, axis, incl, paNode]; 59 }; 60 61 62 module.exports = { 63 binaryStarNames, 64 binaryData, 65 getBinaryData 66 }