---
title: "声音怎样穿过分层恒星"
description: "计算声速界面怎样移动径向模态，用精确解检验数值结果，再看一个频率为何容许不同内部结构。"
canonical_url: "https://sandboxphysics.com/zh/stories/stellar-seismology/layered-acoustic-interiors/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/stellar-seismology/layered-acoustic-interiors/"
last_modified: "2026-11-03"
---

[读懂恒星内部](https://sandboxphysics.com/zh/stories/stellar-seismology/)

AC26 · L2

# 声音怎样穿过分层恒星

Sandbox Physics · 2026-11-03

只改变内部一层，不同模态的频率会移动不同幅度。把界面两侧的波接起来，就能算出这种变化，也能用精确拼接解检验数值求解器。频率排列之所以有用，正因为它比单个声程时间携带更多结构信息。

## 开始前需要什么

先读“球里的驻波怎样排出一列频率”。下面会解释带权本征值问题与数值积分，并在写方程前交代坐标和单位。

## 让旅程的一部分变慢

保留常密度球形声腔和外缘压力释放条件。核心从中心延伸到半径$a$，声速为$c_1$；外层一直到$R$，声速为$c_2$。两处声速都为正。在这个模型里，改变声速相当于改变局部可压缩性，密度仍然不变。

采用无量纲半径$x=r/R$、界面位置$b=a/R$和声速比$v=c_1/c_2$。时间用$R/c_2$计，普通频率用$c_2/R$计，这样可以把内部结构与整体尺寸、声速尺度分开。无量纲频率为一，不一定就是一赫兹。

从中心走到外缘的声学时间，等于两层耗时相加。它给出一个高阶频率间隔估计，但没有要求相邻低阶模态也必须严格保持同样的距离。

$$
\tau=\frac{a}{c_1}+\frac{R-a}{c_2},\qquad \frac{\tau c_2}{R}=\frac{b}{v}+1-b
$$

每一项都是路程除以当地波速，界面移动时，这个无量纲传播时间连续变化。

$$
\frac{\Delta\nu_{\rm asym}R}{c_2}\simeq\frac{1}{2(b/v+1-b)}
$$

下标提醒我们这是高阶声学估计，内部跃变的反射会扰动单个频率间隔。

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 在界面把两侧的波接起来

如果界面没有额外的表面作用，压力必须连续，气体的法向速度也必须连续。由运动方程可知，压力梯度除以密度应在两侧连续。这里密度相同，压力梯度本身便连续。

在各自均匀的一层内，变换后的$\psi=rP$仍满足正弦方程。到了界面，$\psi$和径向导数都连续。任选一个非零整体归一化，把中心规则解传播到界面，再接着穿过外层，就能找到整个球体的形状。

如果密度也跳变，压力梯度的连续条件就会改变，不能再直接沿用$\psi$导数连续。此时应回到下面保留密度因子的压力方程。

$$
[P]=0,\qquad\left[\frac{P^\prime}{\rho}\right]=0
$$

方括号表示界面两侧之差，两式分别来自压力和法向速度的连续性。

$$
-\frac{d}{dr}\left(\frac{r^2}{\rho}P^\prime\right)=\omega^2\frac{r^2}{\rho c^2}P
$$

这条压力Sturm–Liouville方程保留了密度变化时需要的因子，浏览器可操纵部分仍采用常密度。

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 精确求解两层频率

在无量纲方程里取$R=1$，记$s=\omega R/c_2$，核心波数便是$s/v$，外层波数是$s$。把中心规则解的变换导数归一为一，传播到界面时的函数值与导数都能直接写出。

在均匀层里，知道一端的值和导数，就能算出另一端。下方外层传播式因此给出外边界的变换压力，它的零点就是允许模态。表达式只含正弦和余弦，不会把正切函数的极点误当成根。

声程近似可以帮助估计根大致在哪里。真正找多个模态时，应扫描足够细的范围，给每个变号区间设括号，再逐个细化，并检验节点数。只给非线性求解器换几个初值，可能反复找到同一个根。

$$
\psi(b)=\frac{\sin(sb/v)}{s/v},\qquad\psi^\prime(b)=\cos(sb/v)
$$

它们来自核心规则解，整体归一化不影响允许的频率。

$$
F(s)=\psi(b)\cos[s(1-b)]+\frac{\psi^\prime(b)}{s}\sin[s(1-b)]=0
$$

允许模态让外边界残差为零，把求得的根除以$2\pi$，才是无量纲普通频率。

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 完整算一组不等间隔

取$b=0.37$、$v=0.4$。无量纲声程时间为1.555，对应的高阶间隔估计约为0.322。但前三个精确普通频率分别为0.298308、0.686279和0.919733，前两个间隔约为0.388和0.233，彼此不同，也不等于声程近似。

再放回一个物理例子：球半径一米，外层声速每秒300米，核心声速就是每秒120米。把无量纲频率乘以每秒300，前三阶约为89.5、206和276赫兹。前两阶相差约116赫兹，接下来的差却只有约70.0赫兹。

波不仅受到外边界限制，还会在内部界面反射。有些模态在慢核心里留下较强的压力变化，有些则给这一区域不同权重。一个平均声程无法囊括低阶模态的全部相位变化，不齐的间隔正是结构留下的信息。

```
import numpy as np
from scipy.optimize import brentq
b, v = 0.37, 0.4
def boundary(s):
    value = np.sin(s*b/v)/(s/v)
    derivative = np.cos(s*b/v)
    return value*np.cos(s*(1-b)) + derivative*np.sin(s*(1-b))/s
first_root = brentq(boundary, 1.0, 2.0)
print(first_root/(2*np.pi))  # 0.298307644...
```

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 把微分方程变成能检验的矩阵

一般的正声速剖面未必有两层解析解。可以用网格上的分段线性“帽子函数”近似变换后的形状：每个函数只在附近几个网格点非零。把方程乘以各个帽子函数并积分，就得到刚度矩阵和带权质量矩阵。

刚度矩阵衡量空间梯度，质量矩阵按声速平方的倒数给各层加权。式中的$v(x)$表示当地声速除以外层声速，在核心等于$v$，在外层等于一。广义本征值问题寻找能让两项平衡的形状，本征值就是无量纲角频率的平方。两个二次型均为正，让频率平方保持正值。

如果界面落在一个网格单元内部，积分就在那里分开。把界面凑到最近网格点，会让控制移动时出现阶梯跳变；连续物理问题没有这种“吸附”，数值方法也不该凭空加上。

对上面的例子，独立一致有限元参照与精确传播根比较，前八模最大频率误差约为：64格时1.10%，128格时0.272%，256格时0.0682%。浏览器采用另行检验的正质量集中离散；192格、289个结构点的测试里，前八模最坏误差约0.179%。两者是不同数值方案和不同证据，不能混为一次收敛计算。

$$
K_{ij}=\int_0^1\phi_i^\prime\phi_j^\prime\,dx,\qquad M_{ij}=\int_0^1\frac{\phi_i\phi_j}{v(x)^2}\,dx,\qquad K\mathbf a=\lambda M\mathbf a
$$

$\phi_i$是局部帽子函数，$\mathbf a$包含形状系数，$\lambda=(\omega R/c_2)^2$。

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 形状也要一起检查

频率误差小，不代表模态身份一定对。还要确认频率排序正确，第$n$个径向压力模态有$n-1$个内部节点，外缘压力为零，中心满足规则条件，离散方程残差也应很小。

不同模态还满足质量权重下的正交关系，即带权重叠积分为零，并不是两条曲线永不相交。推导办法是：把每个本征方程乘以另一个模态，相减后积分。边界项消失，留下频率平方之差乘以带权重叠；频率不同，重叠便必须为零。

频率、形状和边界通过这些独立检验后，图中的节点才有可靠的物理含义。显示的节点圆环来自提供模型频率的同一组本征函数。

$$
\int_0^1\frac{\psi_m(x)\psi_n(x)}{v(x)^2}\,dx=0\qquad(m\ne n)
$$

这个权重来自常密度变换后的波动方程，积分使用求得的本征函数。

对应阅读：MESA School 2026, Lab 3: Asteroseismology

## 一个音调仍容许不同内部

比较两个精确模型：第一个界面为0.37、核心声速比0.65；第二个界面为0.60、核心声速比约0.797655。内部结构明显不同，基本无量纲频率却完全相同，都约为0.421445。

它们第三阶频率约为1.26389和1.29771，多一个分辨清楚的模态便有机会区分这两个例子。不过，这仍不能证明任意连续声速剖面只有一个解。每个测量模态给出有限约束，自由变化的剖面却有许多自由度。

真实恒星建模还加入质量、成分、混合和大气物理，所以结构比较必须说明允许哪些模型。一条固定演化轨迹只能回答给定轨迹下的问题，要推断更一般的年龄或成分，还需要相应模型集合及不确定性。

对应阅读：MESA School 2026, Lab 3: Asteroseismology · Lindsay et al. 2025, Precise Asteroseismic Ages for the Helmi Streams

## 练习与解释性答案

1. 界面穿过一个网格单元时，为什么要拆开这个单元的积分？

   展开解释

   界面两侧的声速倒数平方权重不同。在真实位置拆分，才能保留正确权重并让本征值连续变化；把界面凑到网格点，会人为地把结构改成一格一格跳动。

2. 慢核心例子里，为什么不能把所有频率间隔强行调成高阶声程近似？

   展开解释

   声程近似概括总传播时间，低阶模态还携带界面相位和不同的分层权重。强制等间隔会删掉真实结构信息，也会掩盖与精确传播解的差别。

3. 两个结构的基本频率相同，单独把这个频率测得更准，是否一定能区分它们？

   展开解释

   不能。例子里它们匹配的是同一个精确基本频率，提高这个数的精度并不消除多解；需要另一个模态，或者独立的结构观测量。

## 动手检验预测

### [改变内部一层，读出模态变化](https://sandboxphysics.com/zh/labs/stellar-oscillation-modes/)

1. 选择“强烈的内部反射”，比较测量间隔备选值与橙色模型线之间的实际距离。
2. 小幅拖动界面，观察选中模态的节点怎样连续移动。
3. 回到整齐阶梯，解释哪处界面反射消失了，再列出描述真实恒星还需要加入的物理。

[上一篇：球里的驻波怎样排出一列频率](https://sandboxphysics.com/zh/stories/stellar-seismology/radial-standing-waves/) [下一篇：从明暗曲线读出振动模态](https://sandboxphysics.com/zh/stories/stellar-seismology/lightcurves-modes-and-windows/)

## 来源与计算范围

1. [MESA School 2026, Lab 3: Asteroseismology](https://mesastar.org/summer-school-2026-labs/monday/lab-3/)

   官方课堂的振动频率、声程积分与模型演化；这里可操纵的常密度声腔另作明确的教学模型。

2. [Lindsay et al. 2025, Precise Asteroseismic Ages for the Helmi Streams](https://arxiv.org/html/2507.01091v1)

   固定arXiv2507.01091v1；第II.2、III、V.3、V.4节，图3/5、表3/4/6和附录A；已发表于ApJ 989, 189，完整优化和年龄误差属于外部发表结果。
