Why?¶
Why should I use allium
?¶
allium
’s main purpose is to solve a highly simplified version of the
equations for stellar oscillations. It’s very limited (e.g. there are
no gravity modes) but can hopefully provide some useful insights and
perhaps serve as a basis on which to develop simplified versions of
other, related, problems (e.g. inversion).
Why did you write allium
?¶
I study solar-like oscillations: high-order, low-degree oscillations in stars that are qualitatively similar to the Sun. The mode frequencies in these stars obey an approximate asymptotic relation (in the limit \(n\gg\ell\))
where \(n\) is the mode’s radial order, \(\ell\) its angular degree and the other symbols are various parameters that are roughly constant but whose meaning isn’t important at this level. The relation implies that, for a given \(\ell\), the modes frequencies modulo a large separation \(\Delta\nu\) are roughly equal. So if we plot something that increases with frequency (e.g. \(\nu_{\ell,n}\) or \(\nu_{\ell,n}/\Delta\nu\)) against \(\nu_{\ell,n}\,\mathrm{mod}\,\Delta\nu\), the modes of each \(\ell\) should form vertical ridges.
For example, the low-degree mode frequencies of the Sun, measured by BiSON and using \(\Delta\nu=135.1\,\mu\mathrm{Hz}\), produce this echelle diagram:
(Source code, png, hires.png, pdf)

I was working on a project for which I needed to generate artificial data. The data didn’t need to be particularly accurate and I was using the asymptotic relation above, which, using solar values, gives:
(Source code, png, hires.png, pdf)

I wondered if I might be a bit better off shifting and scaling the oscillations of an isothermal (i.e. constant sound speed) sphere, whose echelle diagram looks like this:
(Source code, png, hires.png, pdf)

This made me wonder: what about using a sphere with two layers at different (though constant) sound speeds? I presumed that this would be textbook work and searched for a solution but to no avail. So I managed to work it out and subsequently how to extend it to an arbitrary number of layers.
(Source code, png, hires.png, pdf)

I’ve realised that the method should extend quite easily to two dimensions (vibrations on a disc or drum) and one (vibrations on a string with particular boundary conditions). But I’ll implement that later™…