3. 相场变量与序参量设计
相场模拟的第一步不是写方程,而是决定“用什么量描述微结构”。这些量就是相场变量(序参量)。它们的选择直接决定了控制方程的类型、守恒性质、界面宽度、计算量,以及最终能否复现你关心的物理过程。本节围绕五类常见变量展开:保守场、非保守场、多相场、多组分场、取向场,并讨论耦合变量的取舍原则。
一、先分清保守与非保守:决定方程形式的第一刀
判断一个场是否保守,只看一个问题:它的总量在体系内是否必须守恒(忽略边界通量)。
- 保守场:总量守恒,演化由散度型通量驱动,典型方程是 Cahn–Hilliard 型 ∂c/∂t = ∇·(M∇μ)。浓度 c、组分摩尔分数、局部密度都属于此类。它的物理含义是“物质只能重新分配,不能凭空产生或消失”。
- 非保守场:无总量约束,演化由 Allen–Cahn 型 ∂η/∂t = −L(δF/δη) 描述,变量可以整体增长或衰减。有序度 η、结构序参量、相标识变量、晶体取向场通常是非保守的。
一个常见误区是把“相”也当成保守量。例如固-液两相中,固相分数 f_s 是非保守的(可以整体长大),而溶质浓度 c 是保守的。二者必须用不同方程耦合,否则会出现溶质凭空增减的非物理结果。
二、多相场:用约束代替两两界面
当体系存在三个以上相(如 γ/γ′/σ 或奥氏体/铁素体/渗碳体)时,若用两两相场,界面数会随相数平方增长。多相场(multi-phase-field)的做法是:为每个相 i 定义一个相场 φ_i,并施加单纯形约束
Σ_i φ_i = 1, 0 ≤ φ_i ≤ 1
界面处 φ_i + φ_j = 1(其余相为 0)
这样任意两相之间的界面都能被同一组变量描述,界面能通过势函数中的 Σ_{i<j} φ_i²φ_j² 项统一控制。工程上通常只需存储 N−1 个独立场,最后一个由约束反算,可显著节省内存。多相场特别适合晶粒长大、多相共晶、固态相变等场景。
三、多组分场:保守变量的向量化
多元合金中,每个独立组分的浓度都是一个保守场,构成向量 c = (c_1, …, c_{K−1}),第 K 个组分由 Σc_i = 1 确定。自由能写成 c 和 η 的耦合函数 f(c, η),化学势 μ_i = ∂f/∂c_i。多组分的关键工程问题是:
- 扩散系数矩阵 D_{ij} 是否非对角(互扩散)?若不可忽略,必须用完整 Onsager 矩阵 M_{ij},否则上坡扩散、互扩散偶的柯肯达尔效应无法复现。
- 自由能数据从哪来?常用 CALPHAD 数据库拟合为 Redlich–Kister 多项式,再解析求导得到 μ_i。
- 数值上要保证 Σc_i = 1 不被截断误差破坏,通常每步做一次归一化或投影修正。
四、取向场:把晶粒“朝向”写进变量
多晶模拟中,仅用相场无法区分同相不同取向的晶粒。取向场用连续变量 θ(r)(二维)或四元数 q(r)(三维)表示局部晶格取向,晶界表现为 θ 的陡峭梯度。常用做法有两种:
- 连续取向场:θ 作为非保守场演化,晶界能写成 |∇θ| 的函数,可自然处理晶界迁移与织构演化。
- 多取向序参量:为每个取向分配一个 η_k,晶粒 k 内 η_k≈1,其余为 0,晶界处多个 η 同时非零。适合取向数有限(如 24 个立方对称变体)的情况。
取向场与相场耦合后,可同时描述“哪个相”和“朝哪个方向”,是增材制造、再结晶、马氏体变体选择等模拟的基础。
五、耦合变量选择:少而准,避免冗余
变量不是越多越好。冗余变量会带来病态方程、参数难标定和计算量爆炸。选择时遵循三条原则:
- 物理独立性:每个变量对应一个独立自由度。若两个变量可由约束互相推出,只保留一个。
- 时间尺度匹配:快变量(如局部有序度)若远快于慢变量(如浓度),可做准平衡消去,减少刚性。
- 可标定性:变量对应的自由能参数、迁移率、界面能必须能从实验或第一性原理获得,否则模型无法定量。
下面这张图给出一个典型 Fe–C–Mn 奥氏体→铁素体相变模拟的变量设计关系:保守的 C、Mn 浓度场,非保守的相场与取向场,以及它们之间的耦合路径。
六、一个可执行的变量设计清单
把上述原则落成可操作的检查表,每次建模前逐项确认:
| 检查项 | 判断依据 | 示例 |
|---|---|---|
| 哪些量必须守恒? | 总量有物理约束,只能重分配 | C、Mn 浓度 → Cahn–Hilliard |
| 哪些量可整体变化? | 无总量约束,描述有序度或相 | φ_α、φ_γ、θ → Allen–Cahn |
| 相数是否≥3? | 是则用多相场+单纯形约束 | γ/γ′/σ 三相共存 |
| 是否多组分? | 独立组分数 K−1 个保守场 | Fe–C–Mn:2 个浓度场 |
| 是否需要区分取向? | 同相不同取向晶粒需区分 | 再结晶、增材制造织构 |
| 扩散矩阵是否非对角? | 互扩散显著时必须用 M_ij | Fe–C–Mn 中 C 与 Mn 耦合 |
| 变量是否冗余? | 可由约束互推的只留一个 | φ_γ 由 1−φ_α 得到 |
变量设计完成后,再进入自由能构造、参数标定和数值离散。可以说,序参量选对了,模型就成功了一半;选错了,后续再精细的求解也只是在错误方程上做高精度计算。