WBM Model (Wheeler-Boettinger-McFadden)
Overview
The WBM model is designed for dilute alloy solidification. It couples phase field evolution with solute diffusion using a mixture rule for free energy.
Reference: Wheeler, Boettinger, McFadden, Phys. Rev. A 45, 7424 (1992)
Mathematical Formulation
Total Free Energy
\[F = \int \left[ f(\phi, c, T) + \frac{\kappa}{2} |\nabla\phi|^2 \right] dV\]
Bulk Free Energy (Mixture Rule)
\[f = h(\phi) f_S(c, T) + (1 - h(\phi)) f_L(c, T) + W g(\phi)\]
Phase Field Equation
\[\frac{\partial \phi}{\partial t} = M_\phi \left[ \kappa \nabla^2 \phi - h'(\phi)(f_S - f_L) - W g'(\phi) \right]\]
Concentration Equation
\[\frac{\partial c}{\partial t} = \nabla \cdot \left[ D(\phi) \nabla c \right]\]
where diffusivity interpolates between phases:
\[D(\phi) = h(\phi) D_S + (1 - h(\phi)) D_L\]
Quick Example
Basic Usage
using PhaseFields
# Create model
model = WBMModel(
M_φ = 1.0, # Phase field mobility
κ = 1.0, # Gradient coefficient
W = 1.0, # Barrier height
D_s = 1e-13, # Solid diffusivity [m²/s]
D_l = 1e-9 # Liquid diffusivity [m²/s]
)
# Free energies (parabolic for testing)
f_s = ParabolicFreeEnergy(A=1.0, c_eq=0.2)
f_l = ParabolicFreeEnergy(A=1.0, c_eq=0.8)
# Compute driving force
φ = 0.5
c = 0.5
Δf = wbm_driving_force(f_s, f_l, c)
# Interpolated diffusivity
D = wbm_diffusivity(model, φ)Interface Properties
# Interface width (from κ and W)
W_int = wbm_interface_width(model)
# Interface energy
σ = wbm_interface_energy(model)With CALPHAD
using PhaseFields
using OpenCALPHAD
db = read_tdb("AgCu.TDB")
T = 1000.0
model, f_s, f_l = create_calphad_wbm_model(db, T, "FCC_A1", "LIQUID")API Reference
PhaseFields.WBMModel — Type
WBMModelWheeler-Boettinger-McFadden model for binary alloy solidification.
The WBM model uses a single concentration field with phase-dependent free energy: f(φ,c) = h(φ)·fS(c) + (1-h(φ))·fL(c) + W·g(φ)
Evolution equations:
Phase field: ∂φ/∂t = M_φ[κ∇²φ - h'(φ)(f_S - f_L) - W·g'(φ)]
Concentration: ∂c/∂t = ∇·[D(φ)·∇c]Fields
M_φ::Float64: Phase field mobility [m³/(J·s)]κ::Float64: Gradient energy coefficient [J/m]W::Float64: Barrier height [J/m³]D_s::Float64: Solid diffusivity [m²/s]D_l::Float64: Liquid diffusivity [m²/s]
Example
model = WBMModel(M_φ=1.0, κ=1.0, W=1.0, D_s=1e-13, D_l=1e-9)Comparison with KKS
- WBM: Single concentration field, c = cS = cL at interface (simpler but interface-width dependent)
- KKS: Separate phase concentrations with equal chemical potential (thermodynamically consistent)
Reference
Wheeler, Boettinger, McFadden, Phys. Rev. A 45, 7424 (1992)
PhaseFields.wbm_bulk_free_energy — Function
wbm_bulk_free_energy(f_s, f_l, φ, c, W)Compute the bulk free energy density for WBM model.
f(φ,c) = h(φ)·f_S(c) + (1-h(φ))·f_L(c) + W·g(φ)Arguments
f_s: Solid phase free energy functionf_l: Liquid phase free energy functionφ: Phase field value (0=liquid, 1=solid)c: ConcentrationW: Barrier height [J/m³]
Returns
- Bulk free energy density [J/m³]
PhaseFields.wbm_chemical_potential — Function
wbm_chemical_potential(f_s, f_l, φ, c)Compute the chemical potential for WBM model.
μ = ∂f/∂c = h(φ)·μ_S(c) + (1-h(φ))·μ_L(c)Arguments
f_s: Solid phase free energy functionf_l: Liquid phase free energy functionφ: Phase field valuec: Concentration
Returns
- Chemical potential [J/mol]
PhaseFields.wbm_driving_force — Function
wbm_driving_force(f_s, f_l, φ, c, W)Compute the phase field driving force for WBM model.
∂f/∂φ = h'(φ)·(f_S(c) - f_L(c)) + W·g'(φ)Arguments
f_s: Solid phase free energy functionf_l: Liquid phase free energy functionφ: Phase field valuec: ConcentrationW: Barrier height [J/m³]
Returns
- Driving force ∂f/∂φ [J/m³]
PhaseFields.wbm_phase_rhs — Function
wbm_phase_rhs(model, φ, ∇²φ, c, f_s, f_l)Compute the right-hand side of the WBM phase field equation.
∂φ/∂t = M_φ[κ∇²φ - h'(φ)(f_S - f_L) - W·g'(φ)]
= M_φ[κ∇²φ - ∂f/∂φ]Arguments
model: WBMModel parametersφ: Phase field value∇²φ: Laplacian of phase fieldc: Concentrationf_s: Solid phase free energy functionf_l: Liquid phase free energy function
Returns
- Time derivative ∂φ/∂t
PhaseFields.wbm_concentration_rhs — Function
wbm_concentration_rhs(model, φ, ∇²c)Compute the right-hand side of the WBM concentration equation (simplified form).
∂c/∂t = ∇·[D(φ)·∇c] ≈ D(φ)·∇²c (for slowly varying D)Arguments
model: WBMModel parametersφ: Phase field value (for diffusivity interpolation)∇²c: Laplacian of concentration
Returns
- Time derivative ∂c/∂t
PhaseFields.wbm_diffusivity — Function
wbm_diffusivity(model, φ)Compute effective diffusivity using interpolation.
D(φ) = h(φ)·D_s + (1-h(φ))·D_lReturns
- Effective diffusivity at this phase field value [m²/s]
PhaseFields.wbm_interface_width — Function
wbm_interface_width(model)Estimate the equilibrium interface width from model parameters.
δ ≈ √(κ/W)Reference
Wheeler 1992, Eq. 32: δ = ε√(2/W), where κ = ε²/2
PhaseFields.wbm_interface_energy — Function
wbm_interface_energy(model)Estimate the interface energy from model parameters.
σ ≈ √(κ·W) / (6√2)Reference
Wheeler 1992, Eq. 28: σ = ε√W / (6√2), where κ = ε²/2
See Also
- 302wbmsolidification.jl - WBM solidification simulation
- 303wbmwheeler1992.jl - Validation vs Wheeler 1992 paper