Give M giants their own bolometric correction, which from M4 on is not a dwarf's at their temperature
aafc788 held the M6-M7 giants at van Belle's 3 134 K but kept the dwarf sequence's correction at that
temperature, -2.76, so they were still drawn too small: RZ Ari 81.5 R☉ where its CHARM2 diameter of
10.30 mas gives 119 at its distance, EU Del 72.6 where 9.90 mas gives 126, 30 Her 126 against 177.
The comment called the M6 sizes corrected; they were not.
From van Belle et al. (2021) themselves, m_bol from their table 4 bolometric fluxes (IAU 2015 zero
point) less their dereddened Johnson V (table 6, median of each star's values), the giants' BC_V
by type is within 0.1 of the dwarf sequence's at the same temperature down to M3, and then parts
from it as TiO takes the V light: -2.20 against -1.78 at M4 (31 stars), -2.68 against -2.03 at M5
(15), -3.34 at M5.5 (7), -3.94 against -2.76 at M6 (3), -4.86 at M7-M7.75 (4). From M0 an M giant
now takes those medians, linear between types and held past the ends; G and K giants keep the
dwarf's at their temperature.
Measured, drawn radius over van Belle's own measured one, median by type, before -> after:
M0 0.96 -> 0.96, M2 0.98 -> 1.00, M3 0.94 -> 0.98, M4 0.82 -> 1.00, M5 0.71 -> 1.00,
M6 0.66 -> 1.13, M7 0.38 -> 0.94. In the catalogue, against CHARM2 diameters at the app's own
distances: RZ Ari 81.5 -> 140.3 R☉ (measured 119.3, ratio 1.18), EU Del 72.6 -> 124.9 (126.3,
0.99), 30 Her 126.0 -> 216.9 (177.5, 1.22), Eps Oct 92.6 -> 159.3 (110.4 from a K-band disc of
±13 %, 1.44); Mirach 82.6 -> 83.1, Betelgeuse 538.8 -> 551.0, Antares 409.7 -> 414.0. The M6 value
rests on three stars and both 30 Her and Eps Oct are semiregular variables, so the late-M sizes are
good to a quarter, no better. 312 stars' corrections move by more than 0.05 mag.
Guarded mutants, each caught by "draws an M6 giant at the radius its measured diameter gives..."
alone (1 of 833 failed): M giants back on the dwarf's correction; M6 entry at -2.76; interpolation
taken from the wrong end.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -147,6 +147,20 @@ describe('luminositySolar', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it("draws an M6 giant at the radius its measured diameter gives, with an M giant's correction, not a dwarf's", () => {
|
||||
// RZ Ari (ρ² Ari) and EU Del as the catalogue has them, and their limb-darkened diameters in
|
||||
// CHARM2 (Richichi et al. 2005), 10.30 and 9.90 mas: 119 and 126 R☉ at those distances. With the
|
||||
// dwarf's −2.76 at 3 134 K they came out 81.5 and 72.6; van Belle's own M6 giants give −3.94.
|
||||
const rzAri = { magnitude: 5.76, distancePc: 107.76, spectralType: 'M6IIIvar', magnitudeBand: 'V', colorIndex: 1.452, colorSystem: 'B-V' } as const;
|
||||
const euDel = { magnitude: 6.22, distancePc: 118.6, spectralType: 'M6III', magnitudeBand: 'V', colorIndex: 1.162, colorSystem: 'B-V' } as const;
|
||||
for (const [star, diameterMas] of [[rzAri, 10.3], [euDel, 9.9]] as const) {
|
||||
const measured = 0.10753 * diameterMas * star.distancePc;
|
||||
const radius = radiusFromLuminositySolar(luminositySolar(star)!, effectiveTemperatureK(star)!);
|
||||
expect(radius / measured).toBeGreaterThan(1 / 1.2);
|
||||
expect(radius / measured).toBeLessThan(1.2);
|
||||
}
|
||||
});
|
||||
|
||||
it('reads a hot giant reddened by dust at its type, not at the cool star its colour reads as', () => {
|
||||
// Menkib, O7.5 Iab at B−V 0.02: 14 R☉ (Krtička & Kubát 2010). At its colour's 9 517 K and its
|
||||
// type's correction it was drawn at 95; the dust it is behind still leaves it dimmer than it is.
|
||||
|
||||
@@ -185,10 +185,10 @@ export function temperatureFromColour(star: Pick<StellarPhotometry, 'spectralTyp
|
||||
}
|
||||
|
||||
/**
|
||||
* What a giant's type says of its surface: its effective temperature, and the bolometric
|
||||
* correction the dwarf sequence has at that temperature — both off the type, so that the two a
|
||||
* radius is drawn from come from the same place. `null` for a star that is not a giant, or whose
|
||||
* class the parser cannot read.
|
||||
* What a giant's type says of its surface: its effective temperature, and its bolometric
|
||||
* correction — the dwarf sequence's at that temperature, or from M0 an M giant's own
|
||||
* ({@link M_GIANT_CORRECTIONS}) — both off the type, so that the two a radius is drawn from come
|
||||
* from the same place. `null` for a star that is not a giant, or whose class the parser cannot read.
|
||||
*
|
||||
* Read off the colour, a giant is the dwarf of its colour, too cool: Antares, M1 Ib at B−V 1.87,
|
||||
* came out 3 019 K against the 3 660 Ohnaka et al. (2013) measure, and the 610 M giants a median
|
||||
@@ -198,10 +198,10 @@ export function temperatureFromColour(star: Pick<StellarPhotometry, 'spectralTyp
|
||||
*
|
||||
* G to M giants take van Belle et al.'s (2021, ApJ 922, 163, table 8) interferometric scale, fitted
|
||||
* to 191 giants from G1 to M7.75 III: 4 797 K at G8, 4 388 at K2, 3 816 at M0, 3 472 at M4, and held
|
||||
* at 3 134 K from M6, where its own M6 and M7 giants average 3 112 and 3 114 K. Carried on to M7.9
|
||||
* instead, the M6 giants were 3 300 K and drawn 30 % too small. O to F giants take the dwarf of their type, which a supergiant of the same type is within
|
||||
* a few per cent of from B8 on, and a few thousand kelvin cooler than at B0 (Alnilam, B0 Ia, about
|
||||
* 27 000 K against B0 V's 31 400). Carbon and S stars take {@link CARBON_STAR}.
|
||||
* at 3 134 K from M6, where its own M6 and M7 giants average 3 112 and 3 114 K; carried on to M7.9
|
||||
* instead, the M6 giants were 3 300 K. O to F giants take the dwarf of their type, which a
|
||||
* supergiant of the same type is within a few per cent of from B8 on, and a few thousand kelvin
|
||||
* cooler than at B0 (Alnilam, B0 Ia, about 27 000 K against B0 V's 31 400). Carbon and S stars take {@link CARBON_STAR}.
|
||||
*/
|
||||
export function giantSurface(spectralType: string | null | undefined): GiantSurface | null {
|
||||
// ponytail: kept per type string, unbounded; the catalogue has 2 888 of them. The star field asks
|
||||
@@ -232,12 +232,41 @@ function giantSurfaceOfType(spectralType: string | null | undefined): GiantSurfa
|
||||
// van Belle's index: G0 at 50, K0 at 60, K5 at 65 and M0 at 66, so a K later than K5 falls between.
|
||||
const index = spectralClass === 'G' ? 50 + subclass : spectralClass === 'K' ? 60 + Math.min(subclass, 5) + Math.max(subclass - 5, 0) / 5 : 66 + subclass;
|
||||
const temperatureK = index <= 61 ? 7856 - 52.74 * index : index <= 64 ? 16751 - 199.41 * index : index < 72 ? 9491 - 85.98 * index : 3134;
|
||||
return { temperatureK, bolometricCorrectionV: dwarfSequenceAtTemperature(temperatureK).bolometricCorrectionV };
|
||||
return { temperatureK, bolometricCorrectionV: index < M_GIANT_CORRECTIONS[0][0] ? dwarfSequenceAtTemperature(temperatureK).bolometricCorrectionV : mGiantCorrection(index) };
|
||||
}
|
||||
const dwarf = dwarfSequenceAtType(primary)!;
|
||||
return { temperatureK: dwarf.temperatureK, bolometricCorrectionV: dwarf.bolometricCorrectionV };
|
||||
}
|
||||
|
||||
/**
|
||||
* An M giant's bolometric correction to V by van Belle's index: the median over each type of his own
|
||||
* giants, m_bol from their table 4 fluxes (IAU 2015 zero point) less their dereddened Johnson V from
|
||||
* table 6 — 18 at M0, 11 at M2, 11 at M3, 31 at M4, 15 at M5, 7 at M5.5, 3 at M6, and the 4 from M7
|
||||
* to M7.75 at their mean index. Linear between, held past the ends. Down to M3 it is within 0.1 of
|
||||
* the dwarf sequence's at the same temperature; past it TiO takes the V light and the two part, by
|
||||
* 0.4 at M4, 1.2 at M6 and 2.1 at M7. Taken from the dwarfs, RZ Ari (M6 III) came out 81.5 R☉ against
|
||||
* the 119 its 10.3 mas give at its distance, and EU Del 72.6 against 126.
|
||||
*/
|
||||
const M_GIANT_CORRECTIONS: readonly (readonly [number, number])[] = [
|
||||
[66, -1.22],
|
||||
[68, -1.5],
|
||||
[69, -1.73],
|
||||
[70, -2.2],
|
||||
[71, -2.68],
|
||||
[71.5, -3.34],
|
||||
[72, -3.94],
|
||||
[73.5, -4.86]
|
||||
];
|
||||
|
||||
function mGiantCorrection(index: number): number {
|
||||
const next = M_GIANT_CORRECTIONS.findIndex(([at]) => at >= index);
|
||||
if (next <= 0) {
|
||||
return M_GIANT_CORRECTIONS[next === 0 ? 0 : M_GIANT_CORRECTIONS.length - 1][1];
|
||||
}
|
||||
const [[fromIndex, from], [toIndex, to]] = [M_GIANT_CORRECTIONS[next - 1], M_GIANT_CORRECTIONS[next]];
|
||||
return from + ((to - from) * (index - fromIndex)) / (toIndex - fromIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* A carbon or S star's temperature and bolometric correction to V: the medians of Bergeat, Knapik &
|
||||
* Rutily (2001, A&A 369, 178) over the 441 carbon stars of their table 10, and over the 383 of
|
||||
|
||||
Reference in New Issue
Block a user