这篇笔记在做什么
这篇笔记把“各向异性分层介质中的波”整理成一条可以直接复用的推导链:
- 从三维时谐 Maxwell 方程出发。
- 利用分层结构在
xy平面平移不变的性质降维。 - 消去纵向分量 $E_z,H_z$。
- 得到只含切向场分量的四维状态方程。
- 用特征值方法得到传播矩阵。
- 在界面处建立反射矩阵、透射矩阵。
- 推广到多层介质的广义反射矩阵递归公式。
这不是概念摘要,而是按“板书推导”的顺序组织,每一步都说明:
- 为什么这么做。
- 做完以后得到了什么。
- 这个结果在后面哪里会继续被使用。
一、问题设定与目标
1. 物理模型
我们考虑沿 $z$ 方向分层、在 $xy$ 平面均匀无限延拓的各向异性介质。
介质参数可以写成
在每一层内部,它们是常数张量;不同层之间可以跳变。
2. 目标
目标不是直接写场解,而是先得到一套统一的状态空间表示:
$$ \frac{d\boldsymbol{V}}{dz} = \overline{\boldsymbol{H}} \boldsymbol{V} $$其中状态矢量 $\boldsymbol{V}$ 只包含切向场分量。
一旦这个方程得到,后面的传播矩阵、界面反射透射、多层递归都会变成标准线性代数问题。
3. 使用条件
这一节推导默认下面几个条件:
- 时谐场,时间因子取 $e^{-i\omega t}$。
- 源自由区域。
- 介质分层只沿 $z$ 变化。
- 各层在横向平面满足相位匹配,即横向波矢 $\boldsymbol{k}_s$ 在各层相同。
这些条件的作用分别是:
- 时谐假设把时间导数变成代数因子 $-i\omega$。
- 源自由假设让 Maxwell 方程不带源项。
- 分层结构保证可以做横向-纵向分解。
- 横向波矢守恒保证可以把偏微分方程降成常系数常微分方程。
二、起点:时谐 Maxwell 方程
在 $e^{-i\omega t}$ 约定下,时域导数满足
$$ \frac{\partial}{\partial t} \to -i\omega $$于是源自由 Maxwell 方程写成
$$ \nabla \times \boldsymbol{E} = i\omega \overline{\boldsymbol{\mu}} \cdot \boldsymbol{H} \tag{2.10.1} $$$$ \nabla \times \boldsymbol{H} = -i\omega \overline{\boldsymbol{\epsilon}} \cdot \boldsymbol{E} \tag{2.10.2} $$这里最重要的观察不是方程本身,而是:
虽然 Maxwell 方程是三维矢量方程,但几何结构只在一个方向上非均匀,所以真正的未知只需要沿 $z$ 推进。
这就是后面要做“横纵分解”的根本动机。
三、横向-纵向分解
1. 梯度算子分解
定义横向梯度
$$ \nabla_s = \hat{x}\frac{\partial}{\partial x} + \hat{y}\frac{\partial}{\partial y} $$于是总梯度可以写成
$$ \nabla = \nabla_s + \hat{z}\frac{\partial}{\partial z} $$2. 场分量分解
把电磁场写成切向分量和法向分量:
$$ \boldsymbol{E} = \boldsymbol{E}_s + \hat{z}E_z, \qquad \boldsymbol{H} = \boldsymbol{H}_s + \hat{z}H_z $$其中 $\boldsymbol{E}_s,\boldsymbol{H}_s$ 是二维横向矢量。
3. 本构张量分块
由于介质是一般各向异性张量,所以需要把 $\overline{\boldsymbol{\mu}}$ 和 $\overline{\boldsymbol{\epsilon}}$ 做块分解:
$$ \overline{\boldsymbol{\mu}} = \begin{bmatrix} \overline{\boldsymbol{\mu}}_s & \overline{\boldsymbol{\mu}}_{sz} \\ \overline{\boldsymbol{\mu}}_{zs} & \mu_{zz} \end{bmatrix}, \qquad \overline{\boldsymbol{\epsilon}} = \begin{bmatrix} \overline{\boldsymbol{\epsilon}}_s & \overline{\boldsymbol{\epsilon}}_{sz} \\ \overline{\boldsymbol{\epsilon}}_{zs} & \epsilon_{zz} \end{bmatrix} $$这里:
- $\overline{\boldsymbol{\mu}}_s,\overline{\boldsymbol{\epsilon}}_s$ 是
2×2横向块。 - $\overline{\boldsymbol{\mu}}_{sz},\overline{\boldsymbol{\epsilon}}_{sz}$ 是
2×1耦合块。 - $\overline{\boldsymbol{\mu}}_{zs},\overline{\boldsymbol{\epsilon}}_{zs}$ 是
1×2耦合块。 - $\mu_{zz},\epsilon_{zz}$ 是纵向标量块。
这一步的意义是:
先把三维张量按“横向/纵向”重排,后面才能系统消掉 $E_z,H_z$。
四、旋度展开:把 Maxwell 方程拆成“横向微分方程 + 纵向代数方程”
1. 电场旋度的展开
从
$$ \nabla \times \boldsymbol{E} = (\nabla_s + \hat{z}\partial_z)\times(\boldsymbol{E}_s+\hat{z}E_z) $$逐项展开可得
$$ \nabla \times \boldsymbol{E} = \nabla_s\times\boldsymbol{E}_s - \hat{z}\times\nabla_s E_z + \hat{z}\times\frac{\partial \boldsymbol{E}_s}{\partial z} $$其中:
- $\nabla_s\times\boldsymbol{E}_s$ 是纵向分量。
- 其余两项是横向分量。
2. 按横向/纵向分量配平
再把右边的本构关系按块展开,就得到两类方程:
电场方程的横向部分:
$$ \hat{z} \times \frac{\partial \boldsymbol{E}_s}{\partial z} - \hat{z}\times\nabla_s E_z = i\omega(\overline{\boldsymbol{\mu}}_s\cdot\boldsymbol{H}_s + \overline{\boldsymbol{\mu}}_{sz}H_z) \tag{2.10.4a} $$电场方程的纵向部分:
$$ \hat{z}\cdot(\nabla_s\times\boldsymbol{E}_s) = i\omega(\overline{\boldsymbol{\mu}}_{zs}\cdot\boldsymbol{H}_s + \mu_{zz}H_z) \tag{2.10.4b} $$同理,从磁场方程得到:
$$ \hat{z} \times \frac{\partial \boldsymbol{H}_s}{\partial z} - \hat{z}\times\nabla_s H_z = -i\omega(\overline{\boldsymbol{\epsilon}}_s\cdot\boldsymbol{E}_s + \overline{\boldsymbol{\epsilon}}_{sz}E_z) \tag{2.10.5a} $$$$ \hat{z}\cdot(\nabla_s\times\boldsymbol{H}_s) = -i\omega(\overline{\boldsymbol{\epsilon}}_{zs}\cdot\boldsymbol{E}_s + \epsilon_{zz}E_z) \tag{2.10.5b} $$3. 这一步到底得到了什么
现在我们有四个方程:
- 两个横向分量方程
(2.10.4a), (2.10.5a),里面含有 $z$ 导数; - 两个纵向分量方程
(2.10.4b), (2.10.5b),它们本质上是代数约束。
因此这一步的意义是:
把原来的三维 Maxwell 方程拆成了“真正负责传播的方程”和“负责消元的约束方程”。
五、消去纵向分量 $E_z,H_z$
这一节的目标非常明确:
我们最终要得到一个只含切向场分量的闭合系统,所以必须把 $E_z,H_z$ 用 $\boldsymbol{E}_s,\boldsymbol{H}_s$ 表示出来。
1. 由磁场纵向方程解出 $E_z$
从 (2.10.5b) 出发:
解得
$$ E_z = -\frac{\kappa_{zz}}{i\omega}\hat{z}\cdot(\nabla_s\times\boldsymbol{H}_s) - \kappa_{zz}\,\overline{\boldsymbol{\epsilon}}_{zs}\cdot\boldsymbol{E}_s \tag{2.10.6a} $$其中
$$ \kappa_{zz} = \epsilon_{zz}^{-1} $$2. 由电场纵向方程解出 $H_z$
从 (2.10.4b) 出发:
解得
$$ H_z = \frac{\nu_{zz}}{i\omega}\hat{z}\cdot(\nabla_s\times\boldsymbol{E}_s) - \nu_{zz}\,\overline{\boldsymbol{\mu}}_{zs}\cdot\boldsymbol{H}_s \tag{2.10.6b} $$其中
$$ \nu_{zz} = \mu_{zz}^{-1} $$3. 这一步的结果
到这里为止,$E_z,H_z$ 已经完全由横向切向分量表示。
因此从结构上说:
原来的六个场分量,已经压缩成四个独立自由度。
这正是状态空间维数等于 4 的来源。
六、利用平面波假设,把横向微分算子代数化
1. 为什么可以做平面波假设
因为介质在 xy 平面平移不变,所以每层中的横向依赖都可以写成相同的相位因子:
其中
$$ \boldsymbol{r}_s = \hat{x}x + \hat{y}y, \qquad \boldsymbol{k}_s = \hat{x}k_x + \hat{y}k_y $$2. 这会带来什么简化
横向梯度直接代数化为
$$ \nabla_s \to i\boldsymbol{k}_s $$于是
$$ \hat{z}\cdot(\nabla_s\times\boldsymbol{A}_s) = i(\hat{z}\times\boldsymbol{k}_s)\cdot\boldsymbol{A}_s $$这里用到的只是混合积轮换性:
$$ \boldsymbol{a}\cdot(\boldsymbol{b}\times\boldsymbol{c}) = (\boldsymbol{a}\times\boldsymbol{b})\cdot\boldsymbol{c} $$3. 后面反复使用的恒等式
对于任意横向矢量 $\boldsymbol{A}_s$,
$$ -\hat{z}\times(\hat{z}\times\boldsymbol{A}_s)=\boldsymbol{A}_s $$这个恒等式的作用是:
- 允许我们把 $\hat z\times \frac{d\boldsymbol{E}_s}{dz}$ 转成 $\frac{d\boldsymbol{E}_s}{dz}$;
- 同样地把 $\hat z\times \frac{d\boldsymbol{H}_s}{dz}$ 转成 $\frac{d\boldsymbol{H}_s}{dz}$。
它是从“旋度形式”转成“标准状态方程”的关键一步。
七、状态方程的得到
1. 基本思路
做法很机械,但结构很清楚:
- 把
(2.10.6a), (2.10.6b)代入横向方程(2.10.4a), (2.10.5a)。 - 用 $\nabla_s \to i\boldsymbol{k}_s$ 把横向导数代数化。
- 左乘 $-\hat z \times$,把 $\frac{d\boldsymbol{E}_s}{dz}$、$\frac{d\boldsymbol{H}_s}{dz}$ 单独解出来。
- 按“乘在 $\boldsymbol{E}_s$ 前的项”和“乘在 $\boldsymbol{H}_s$ 前的项”分组。
最后得到
$$ \frac{d\boldsymbol{E}_s}{dz} = \overline{\boldsymbol{H}}_{11}\cdot\boldsymbol{E}_s + \overline{\boldsymbol{H}}_{12}\cdot\boldsymbol{H}_s $$$$ \frac{d\boldsymbol{H}_s}{dz} = \overline{\boldsymbol{H}}_{21}\cdot\boldsymbol{E}_s + \overline{\boldsymbol{H}}_{22}\cdot\boldsymbol{H}_s $$于是写成块矩阵形式就是
$$ \frac{d}{dz}\begin{bmatrix} \boldsymbol{E}_s \\ \boldsymbol{H}_s \end{bmatrix} = \begin{bmatrix} \overline{\boldsymbol{H}}_{11} & \overline{\boldsymbol{H}}_{12} \\ \overline{\boldsymbol{H}}_{21} & \overline{\boldsymbol{H}}_{22} \end{bmatrix}\begin{bmatrix} \boldsymbol{E}_s \\ \boldsymbol{H}_s \end{bmatrix} \tag{2.10.10} $$2. 状态矢量与状态矩阵
定义
$$ \boldsymbol{V} = \begin{bmatrix} \boldsymbol{E}_s \\ \boldsymbol{H}_s \end{bmatrix}, \qquad \overline{\boldsymbol{H}} = \begin{bmatrix} \overline{\boldsymbol{H}}_{11} & \overline{\boldsymbol{H}}_{12} \\ \overline{\boldsymbol{H}}_{21} & \overline{\boldsymbol{H}}_{22} \end{bmatrix} $$于是标准状态方程就是
$$ \frac{d\boldsymbol{V}}{dz} = \overline{\boldsymbol{H}}\boldsymbol{V} $$3. 这一步的意义
这一步是整节最关键的结果:
从三维 Maxwell 方程出发,最后把问题改写成沿 $z$ 推进的四维一阶线性系统。
后面的所有内容,包括:
- 特征值法
- 传播矩阵
- 界面反射透射
- 多层递归
都以这个状态方程为起点。
4. 状态矩阵子块的结构
状态矩阵的四个 2×2 子块,分别表示:
- $\overline{\boldsymbol{H}}_{11}$:切向电场对自身的耦合。
- $\overline{\boldsymbol{H}}_{12}$:切向磁场驱动切向电场的耦合。
- $\overline{\boldsymbol{H}}_{21}$:切向电场驱动切向磁场的耦合。
- $\overline{\boldsymbol{H}}_{22}$:切向磁场对自身的耦合。
它们的显式形式较长,但结构上都来自三类项:
- 横向本构张量块 $\overline{\boldsymbol{\mu}}_s,\overline{\boldsymbol{\epsilon}}_s$。
- 纵向消元引入的修正项 $\kappa_{zz},\nu_{zz}$。
- 横向波矢 $\boldsymbol{k}_s$ 与 $\hat z$ 的叉积结构。
也就是说:
状态矩阵不是凭空定义出来的,它正是“材料张量 + 横向波矢 + 纵向消元”三者共同作用的结果。
八、状态方程的解:特征值、特征向量与传播矩阵
1. 指数解假设
因为在单层均匀介质内部 $\overline{\boldsymbol{H}}$ 是常数矩阵,所以自然设
$$ \boldsymbol{V}(z) = \boldsymbol{V}_0 e^{\lambda z} $$代入状态方程得到标准特征值问题
$$ (\overline{\boldsymbol{H}}-\lambda \overline{\boldsymbol{I}})\boldsymbol{V}_0 = 0 $$非零解存在的条件是
$$ \det(\overline{\boldsymbol{H}}-\lambda \overline{\boldsymbol{I}})=0 $$这给出四个特征值和对应的四个线性无关特征向量。
2. 物理解释
这四个本征模对应四种独立传播方式。在无耗介质里通常可以按传播方向分成:
- 两个上行波模
- 两个下行波模
也就是说:
各向异性层内一般不是单一 TE/TM 两模,而是四个切向场本征模。
3. 通解的矩阵形式
把四个本征模叠加,通解可写成
$$ \boldsymbol{V}(z) = \overline{\boldsymbol{a}}\, e^{i\overline{\boldsymbol{\beta}} z}\,\boldsymbol{A} \tag{2.10.14} $$其中:
- $\overline{\boldsymbol{a}}$ 是特征向量矩阵;
- $e^{i\overline{\boldsymbol{\beta}}z}$ 是由四个本征传播因子构成的对角矩阵;
- $\boldsymbol{A}$ 是模态振幅向量。
4. 传播矩阵
若已知 $z'$ 处状态矢量 $\boldsymbol{V}(z')$,则 $z$ 处状态矢量可以写成
$$ \boldsymbol{V}(z) = \overline{\boldsymbol{P}}(z,z')\boldsymbol{V}(z') $$其中传播矩阵为
$$ \overline{\boldsymbol{P}}(z,z') = \overline{\boldsymbol{a}}\, e^{i\overline{\boldsymbol{\beta}}(z-z')}\,\overline{\boldsymbol{a}}^{-1} \tag{2.10.16a} $$传播矩阵有三个重要性质:
- $\overline{\boldsymbol{P}}(z,z)=\overline{\boldsymbol{I}}$
- $\overline{\boldsymbol{P}}(z,z'')=\overline{\boldsymbol{P}}(z,z')\overline{\boldsymbol{P}}(z',z'')$
- $\overline{\boldsymbol{P}}(z',z)=\overline{\boldsymbol{P}}(z,z')^{-1}$
这第三个性质说明它是可逆传播;第二个性质说明多层介质中的总传播矩阵就是逐层传播矩阵相乘。
九、各向异性半空间界面的反射与透射
1. 为什么切向场状态矢量正好适合界面问题
电磁边界条件要求:
- 切向电场连续;
- 切向磁场连续。
而状态矢量 $\boldsymbol{V}=[\boldsymbol{E}_s,\boldsymbol{H}_s]^T$ 恰好把这四个切向分量全部收进去。
因此:
一旦状态矢量建立起来,界面条件就不再需要额外改写,直接做矩阵拼接即可。
2. 半空间界面上的场表示
在上半空间区域 1,场由
- 向下传播的入射模
- 向上传播的反射模
组成。
在下半空间区域 2,由辐射条件只保留向下传播的透射模。
于是定义:
- 反射矩阵 $\overline{\boldsymbol{R}}_{12}$:把区域 1 的下行模振幅映射为上行模振幅。
- 透射矩阵 $\overline{\boldsymbol{T}}_{12}$:把区域 1 的下行模振幅映射为区域 2 的下行模振幅。
3. 边界条件写成矩阵方程
在 $z=0$ 处连续性条件为
$$ \boldsymbol{V}_1(0)=\boldsymbol{V}_2(0) $$代入两侧模态展开后,可以写成标准块矩阵方程:
$$ \overline{\boldsymbol{a}}_1 \begin{bmatrix} \overline{\boldsymbol{R}}_{12}\\ \overline{\boldsymbol{I}} \end{bmatrix} = \overline{\boldsymbol{a}}_2 \begin{bmatrix} \overline{\boldsymbol{0}}\\ \overline{\boldsymbol{T}}_{12} \end{bmatrix} \tag{2.10.21} $$接下来只需把特征向量矩阵分块,就能解出 $\overline{\boldsymbol{R}}_{12}$ 和 $\overline{\boldsymbol{T}}_{12}$。
4. 这一步的物理意义
对于各向异性界面来说,反射与透射不再只是标量 Fresnel 系数,而是矩阵。原因是:
- 一个入射本征模可能耦合到多个反射本征模;
- 同样也可能耦合到多个透射本征模。
所以:
各向异性界面上的 Fresnel 问题,本质上升级成了模态耦合矩阵问题。
十、多层介质:广义反射矩阵
1. 为什么要定义广义反射矩阵
对于多层介质,某一层界面处看到的“反射”已经不只是本界面的直接反射,而是:
- 先透射到下层;
- 在更深层反射;
- 再回到当前界面;
- 还可能多次往返。
因此需要引入广义反射矩阵
$$ \tilde{\overline{\boldsymbol{R}}}_{i,i+1} $$它表示:从第 $i$ 层看向下方全部结构时看到的总反射。
最底层初始化条件是
$$ \tilde{\overline{\boldsymbol{R}}}_{N,N+1} = \overline{\boldsymbol{0}} $$2. 三层介质中的结构
对于三层结构,$\tilde{\overline{\boldsymbol{R}}}_{12}$ 由两部分组成:
- 界面 $1\text{-}2$ 的直接反射 $\overline{\boldsymbol{R}}_{12}$;
- 透入第 2 层后,经界面 $2\text{-}3$ 反射、在第 2 层内往返多次、再透回第 1 层的所有贡献。
这些往返贡献构成矩阵几何级数。
3. N 层结构的递归公式
递归公式写成
$$ \tilde{\overline{\boldsymbol{R}}}_{i,i+1} = \overline{\boldsymbol{R}}_{i,i+1} + \overline{\boldsymbol{T}}_{i+1,i}\, e^{i\overline{\boldsymbol{\beta}}_{i+1,+}t_{i+1}} \tilde{\overline{\boldsymbol{R}}}_{i+1,i+2} \left( \overline{\boldsymbol{I}} - e^{i\overline{\boldsymbol{\beta}}_{i+1,-}t_{i+1}} \overline{\boldsymbol{R}}_{i+1,i} e^{i\overline{\boldsymbol{\beta}}_{i+1,+}t_{i+1}} \tilde{\overline{\boldsymbol{R}}}_{i+1,i+2} \right)^{-1} e^{i\overline{\boldsymbol{\beta}}_{i+1,-}t_{i+1}} \overline{\boldsymbol{T}}_{i,i+1} \tag{2.10.31} $$这里最重要的不是公式长,而是它的计算逻辑非常清楚:
- 从最底层开始初始化。
- 一层一层向上递推。
- 最终得到最上层看到的总反射。
这就是多层各向异性结构计算的核心算法。
十一、几何光学级数与数值稳定性
1. 结构含义
矩阵逆
$$ (\overline{\boldsymbol{I}}-\overline{\boldsymbol{M}})^{-1} $$可以展开成
$$ \overline{\boldsymbol{I}} + \overline{\boldsymbol{M}} + \overline{\boldsymbol{M}}^2 + \cdots $$于是广义反射矩阵可以解释为:
- 第 0 项:直接反射;
- 第 1 项:在中间层往返 1 次后的返回;
- 第 2 项:往返 2 次后的返回;
- 以此类推。
所以它不是纯代数技巧,而是每一项都对应一条清晰的几何光学路径。
2. 数值意义
在厚层、强衰减或倏逝波问题中,直接使用传统传播矩阵容易出现:
- 指数增长项
- 指数衰减项
- 两者相乘导致数值病态
而几何级数展开或广义反射递归通常更稳定,因为每一步都更接近“衰减射线叠加”的结构。
因此:
从数值实现角度,广义反射矩阵递归往往比直接整层传播矩阵连乘更稳。
十二、整条推导链的逻辑回看
把这一节压成一条线,逻辑其实非常统一:
三维 Maxwell 方程
→ 横向/纵向分解
→ 得到横向微分方程 + 纵向代数方程
→ 消去 Ez, Hz
→ 平面波假设使横向算子代数化
→ 得到 4 维一阶状态方程
→ 常系数层内用特征值法求解
→ 构造传播矩阵
→ 界面处由切向场连续求反射/透射矩阵
→ 多层结构引入广义反射矩阵
→ 从下往上递归求总反射
如果把它理解成“板书式主线”,每一步都只服务于下一步:
- 分解是为了消元;
- 消元是为了得到状态方程;
- 状态方程是为了做特征值分解;
- 特征值分解是为了得到传播矩阵;
- 传播矩阵是为了连接各层;
- 连接各层的最终目的,是高效稳定地计算反射与透射。
十三、哪些地方最值得在纸上亲手推一遍
如果你是第一次读这一节,我建议至少亲手推下面四个地方。
1. 从 Maxwell 方程到 (2.10.4a)(2.10.4b)(2.10.5a)(2.10.5b)
这是最基本的横纵分量拆分。
2. 从 (2.10.4b)(2.10.5b) 解出 $E_z,H_z$
这是从 6 个分量压缩到 4 个分量的关键。
3. 左乘 $-\hat z\times$ 的那一步
这是把旋度形式真正变成标准状态方程的关键。
4. 广义反射矩阵的三层几何级数推导
这一步会让你真正理解递归公式不是“记忆对象”,而是“多次往返反射的打包写法”。
十四、最后的结论
这一节最核心的收获不是某一个公式,而是一个统一方法:
对各向异性分层介质,先把 Maxwell 方程压成切向场状态方程,再把每层传播和每个界面散射写成矩阵对象,最后用矩阵递归处理整个多层结构。
这套方法的价值在于:
- 对均匀各向异性层成立;
- 对多层结构成立;
- 对反射、透射、导模、倏逝波都适用;
- 对数值实现非常友好。
如果后面还要继续往下推,最自然的下一步就是:
- 把状态矩阵 $\overline{\boldsymbol{H}}_{11},\overline{\boldsymbol{H}}_{12},\overline{\boldsymbol{H}}_{21},\overline{\boldsymbol{H}}_{22}$ 逐项展开。
- 在各向同性极限下验证它退化为 TE/TM 分离形式。
- 用这套框架写一个多层各向异性结构反射率的数值程序。