2. 相场模型数学基础

相场模拟的核心思想,是把材料微观组织的演化写成“自由能下降”的数学问题。要真正读懂并写出相场方程,需要先弄清四个基本要素:用什么变量描述材料状态(序参量)、用什么函数衡量状态好坏(自由能泛函)、状态如何随时间变化(演化方程)、以及这种变化是否守恒(守恒/非守恒动力学)。本节围绕这四点展开,并给出可直接用于编程的离散化思路。

一、序参量:把微观组织翻译成连续场

序参量(order parameter)是一个在空间上连续、随时间演化的场变量,用来区分不同的相或不同的取向状态。常见形式有两类:

  • 非守恒序参量:如 η(r,t),用于区分无序基体与有序析出相、不同晶体取向或不同结构变体。它只表示“处于哪种状态”,不表示物质量,因此其总量可以自由增减。
  • 守恒序参量:如浓度场 c(r,t),表示某组元的局部摩尔分数或原子占位概率。它代表真实物质,总量必须守恒,只能通过扩散重新分布。

在电池材料中,典型例子是三元正极颗粒内的 Li 浓度场 c(r,t)(守恒场),以及层状相与尖晶石相之间的结构转变场 η(r,t)(非守恒场)。序参量取值通常约定在 [0,1] 或 [-1,1] 区间,例如 c=1 表示富锂、c=0 表示贫锂;η=1 表示有序相、η=0 表示无序相。这个约定必须在整个模型和图示中保持一致。

二、自由能泛函:从局部能量到总能量

相场模型不直接追踪界面,而是用一个总自由能泛函 F 描述整个体系:

F[c, η] = ∫ [ f_local(c, η) + κ_c/2 |∇c|² + κ_η/2 |∇η|² ] dV

其中 f_local 是均匀体系的局部自由能密度,通常用双阱势或规则溶体模型给出,例如 f_local = W·c²(1-c)² 或 f_local = (RT/V_m)[c ln c + (1-c)ln(1-c)] + Ω c(1-c)。梯度项 κ|∇φ|² 是界面能来源:它惩罚空间上的剧烈变化,使界面具有有限厚度而非数学突变。κ 越大,界面越宽、界面能越高。W 与 κ 共同决定界面厚度 l ≈ √(κ/W) 和界面能 γ ≈ √(κW)。

理解泛函的关键是“变分”:对 F 求关于场变量的泛函导数,得到化学势或驱动力。对浓度场,定义化学势 μ = δF/δc;对非守恒场,定义变分导数 δF/δη。这两个量就是后续演化方程的动力来源。

三、Cahn-Hilliard 与 Allen-Cahn 方程

两类方程分别对应守恒与非守恒动力学,这是本节最需要区分的核心。

Cahn-Hilliard 方程(守恒动力学)描述浓度场通过扩散重新分布:

∂c/∂t = ∇·( M ∇μ ),  μ = δF/δc = f'_local(c) - κ_c ∇²c

M 是原子迁移率,与扩散系数相关。该方程写成通量散度形式 ∂c/∂t = -∇·J,J = -M∇μ,因此 ∫c dV 自动守恒。它适合描述调幅分解、析出相长大、锂浓度分布演化等过程。

Allen-Cahn 方程(非守恒动力学)描述有序度或相结构的局域弛豫:

∂η/∂t = -L ( δF/δη ) = -L [ f'_local(η) - κ_η ∇²η ]

L 是界面迁移率。该方程让 η 沿自由能下降方向演化,但不保证总量守恒,适合描述有序-无序转变、相变界面推进、晶粒取向演化等。

判断用哪个方程,只看一个问题:这个场代表“物质量”还是“状态标签”?代表物质量用 Cahn-Hilliard,代表状态标签用 Allen-Cahn。若两者耦合,则联立求解,例如 c 用 CH 方程、η 用 AC 方程,并通过 f_local(c,η) 中的耦合项相互影响。

四、变分原理与守恒/非守恒的统一视角

两类方程都可以写成“自由能泛函对时间的单调下降”:

dF/dt = ∫ (δF/δc)(∂c/∂t) dV + ∫ (δF/δη)(∂η/∂t) dV ≤ 0

对 CH 方程,代入 ∂c/∂t = ∇·(M∇μ) 并分部积分,得到 dF/dt = -∫ M|∇μ|² dV ≤ 0;对 AC 方程,dF/dt = -∫ L(δF/δη)² dV ≤ 0。这说明两者都是梯度流:CH 是 H⁻¹ 梯度流(守恒),AC 是 L² 梯度流(非守恒)。理解这一点,就能明白为什么 CH 方程是四阶方程(含 ∇²μ,即 ∇⁴c),而 AC 方程是二阶方程,数值求解难度和边界条件处理也不同。

相场模型数学结构:序参量 → 自由能泛函 → 变分导数 → 演化方程 序参量(场变量) 守恒场 c(r,t):Li 浓度 ∫c dV = const 非守恒场 η(r,t):有序度 总量可增减 自由能泛函 F F = ∫ [ f_local(c,η) + κ_c/2|∇c|² + κ_η/2|∇η|² ] dV 局部能 f_local:双阱/规则溶体 梯度项:界面能来源 变分导数(驱动力) μ = δF/δc = f'_c − κ_c∇²c δF/δη = f'_η − κ_η∇²η Cahn-Hilliard(守恒动力学) ∂c/∂t = ∇·( M ∇μ ) μ = f'_c − κ_c∇²c 四阶方程,通量散度形式,∫c dV 守恒 适用:调幅分解、析出长大、 锂浓度扩散、相分离 dF/dt = −∫ M|∇μ|² dV ≤ 0(H⁻¹ 梯度流) Allen-Cahn(非守恒动力学) ∂η/∂t = −L ( δF/δη ) = −L ( f'_η − κ_η∇²η ) 二阶方程,局域弛豫,总量不守恒 适用:有序-无序转变、相变界面推进、 晶粒取向演化、结构变体选择 dF/dt = −∫ L(δF/δη)² dV ≤ 0(L² 梯度流) 耦合求解:c 用 CH 方程、η 用 AC 方程,通过 f_local(c,η) 中的耦合项相互驱动

五、从泛函到可执行代码:离散化要点

实际编程时,通常采用均匀网格有限差分。以一维为例,设网格间距 Δx,场变量 c_i^n 表示第 i 个格点在第 n 时间步的值。显式欧拉格式下:

# 计算化学势(周期边界)
mu[i] = f_prime(c[i]) - kappa_c * (c[i+1] - 2*c[i] + c[i-1]) / dx**2

# 计算通量 J = -M * dmu/dx
J[i] = -M * (mu[i+1] - mu[i-1]) / (2*dx)

# 更新浓度:dc/dt = -dJ/dx
c_new[i] = c[i] - dt * (J[i+1] - J[i-1]) / (2*dx)

对 Allen-Cahn 方程,更新更直接:η_new[i] = η[i] - dt * L * ( f_prime(η[i]) - kappa_eta * (η[i+1] - 2η[i] + η[i-1]) / dx**2 )。

稳定性是必须检查的。显式格式下,CH 方程的时间步长受 Δt ≤ Δx⁴/(16 M κ_c) 量级限制,AC 方程受 Δt ≤ Δx²/(4 L κ_η) 限制。若 Δx=1 nm、κ_c 取 1×10⁻⁹ J/m、M 取 1×10⁻²⁶ m⁵/(J·s),则 CH 的稳定步长可能小到 10⁻⁸ s 量级,实际计算中常改用半隐式傅里叶谱方法或自适应时间步。判断结果是否可信,可检查三点:总自由能是否单调下降、守恒场总量是否漂移、界面是否保持有限厚度而非数值弥散。

常见错误:把守恒场误用 Allen-Cahn 方程,导致 Li 总量不守恒、结果出现虚假的浓度增减;或把非守恒场误用 Cahn-Hilliard 方程,导致有序度被错误地“平均掉”。建模前先明确每个场的物理属性,再选择方程。

六、参数与物理量的对应关系

符号物理含义典型量级/取值示例影响
κ_c, κ_η梯度能系数10⁻⁹~10⁻¹⁰ J/m界面厚度与界面能
M原子迁移率10⁻²⁶~10⁻²⁴ m⁵/(J·s)扩散与粗化速率
L界面迁移率10⁻⁶~10⁻⁴ m³/(J·s)有序化与界面推进速率
W双阱势深度10⁶~10⁸ J/m³相变驱动力与界面能
Δx网格间距0.5~2 nm界面分辨率与计算量

这些参数并非独立:界面厚度 l ≈ √(κ/W),界面能 γ ≈ √(κW),迁移率与扩散系数满足 M = D c(1-c)/(RT) 量级关系。调参时应先由目标界面厚度和界面能反推 κ 与 W,再由扩散系数确定 M,而不是随意试凑。只有把序参量、自由能泛函、变分导数和守恒性质这条逻辑链打通,后续耦合电化学、弹性场和相变驱动力时,才能清楚每一项该加在哪个方程、哪个位置。