Learning Objectives
- Understand bulk synthesis methods for HEAs including arc melting and induction melting
- Explain the principles and advantages of spark plasma sintering for HECs and HEOs
- Describe thin film deposition techniques including sputtering and PVD
- Evaluate additive manufacturing approaches for HEA components
- Apply solution-based methods for HEO nanoparticle synthesis
- Relate processing parameters to microstructure and properties
3.1 Bulk Synthesis of High-Entropy Alloys
The synthesis of bulk HEAs presents unique challenges due to the need to achieve homogeneous mixing of multiple elements with potentially different melting points, densities, and vapor pressures. Several techniques have been developed to address these challenges.
3.1.1 Arc Melting
Arc melting is the most common laboratory technique for HEA synthesis due to its simplicity, ability to melt high-temperature materials, and minimal contamination when performed under inert atmosphere.
Arc Melting Process
An electric arc is struck between a tungsten electrode and the charge materials placed on a water-cooled copper hearth. The intense heat (>3000°C) melts all components, allowing mixing. The process is typically performed under argon atmosphere to prevent oxidation.
| Aspect | Arc Melting | Induction Melting |
|---|---|---|
| Temperature | >3000°C (localized) | Up to ~2000°C (bulk) |
| Sample size | 5-100 g (typical) | 100 g - 100 kg |
| Mixing | Requires multiple remelts | Electromagnetic stirring |
| Atmosphere | Argon | Vacuum or inert gas |
| Refractory alloys | Excellent | Limited by crucible |
| Scale-up | Difficult | Industrial-ready |
Practical Considerations for Arc Melting
- Multiple remelts: Flip and remelt 3-5 times to ensure homogeneity
- Volatile elements: Elements like Mn, Zn may evaporate; compensate in starting composition
- Density segregation: Heavy elements (W, Ta) may segregate; thorough mixing needed
- Oxygen pickup: Use high-purity argon and Ti getter button
- Cooling rate: ~100-1000 K/s on copper hearth; affects microstructure
3.1.2 Induction Melting
Vacuum induction melting (VIM) is preferred for larger-scale HEA production and when precise control over atmosphere and composition is required.
import numpy as np
import matplotlib.pyplot as plt
def calculate_evaporation_loss(elements, temperatures, time_minutes, pressures_torr):
"""
Estimate evaporation losses during melting using Langmuir equation.
The Langmuir equation for evaporation rate:
G = p_vap * sqrt(M / (2 * pi * R * T))
where G is mass flux (kg/m²/s), p_vap is vapor pressure (Pa),
M is molar mass (kg/mol), R is gas constant, T is temperature (K)
"""
# Vapor pressure coefficients (simplified Antoine equation)
# log10(P_torr) = A - B/T
vapor_params = {
'Mn': {'A': 11.83, 'B': 15097, 'M': 54.94},
'Zn': {'A': 10.38, 'B': 6776, 'M': 65.38},
'Mg': {'A': 10.95, 'B': 7813, 'M': 24.31},
'Cr': {'A': 12.01, 'B': 20733, 'M': 52.00},
'Al': {'A': 11.31, 'B': 16211, 'M': 26.98},
'Cu': {'A': 11.66, 'B': 17520, 'M': 63.55},
'Ni': {'A': 12.21, 'B': 22607, 'M': 58.69},
'Fe': {'A': 11.77, 'B': 21723, 'M': 55.85},
'Co': {'A': 12.08, 'B': 22193, 'M': 58.93},
}
R = 8.314 # J/(mol·K)
time_s = time_minutes * 60
results = {}
for element in elements:
if element in vapor_params:
params = vapor_params[element]
for T in temperatures:
# Vapor pressure (convert torr to Pa)
log_p = params['A'] - params['B'] / T
p_vap = (10 ** log_p) * 133.322 # Pa
# Langmuir evaporation rate
M = params['M'] * 1e-3 # kg/mol
G = p_vap * np.sqrt(M / (2 * np.pi * R * T))
# Total loss (assuming 1 cm² surface)
loss_mg = G * 1e-4 * time_s * 1e6 # mg
if element not in results:
results[element] = []
results[element].append(loss_mg)
return results
# Analyze evaporation during arc melting
elements = ['Mn', 'Zn', 'Al', 'Cr', 'Cu', 'Ni', 'Fe', 'Co']
temperatures = np.linspace(1800, 2500, 50) # K
time = 1 # minute
fig, ax = plt.subplots(figsize=(10, 6))
results = calculate_evaporation_loss(elements, temperatures, time, 760)
for element, losses in results.items():
ax.semilogy(temperatures - 273, losses, linewidth=2, label=element)
ax.set_xlabel('Temperature (°C)', fontsize=12)
ax.set_ylabel('Evaporation Rate (mg/cm²/min)', fontsize=12)
ax.set_title('Estimated Evaporation Losses During Melting\n(Atmospheric pressure, 1 minute)', fontsize=14)
ax.legend(loc='upper left')
ax.grid(True, alpha=0.3)
ax.set_xlim(1527, 2227)
plt.tight_layout()
plt.show()
print("=== Composition Compensation for Arc Melting ===")
print("Volatile elements require excess in starting composition:")
print(" - Mn: Add 2-5% excess for equiatomic target")
print(" - Zn: Add 5-10% excess (very volatile)")
print(" - Al: Add 1-2% excess")
print(" - Cr: Minimal loss at typical conditions")
3.1.3 Mechanical Alloying
Mechanical alloying (MA) is a solid-state powder processing technique that can produce HEA powders through repeated cold welding and fracturing of elemental particles.
Mechanical Alloying
A high-energy ball milling process where elemental powders are subjected to repeated deformation, cold welding, and fracturing. This produces fine-grained or even nanocrystalline HEA powders without melting. Typical milling times range from 10 to 100 hours.
Advantages of Mechanical Alloying for HEMs
- Low processing temperature: No melting required, avoiding segregation
- Extended solid solubility: Can form supersaturated solid solutions
- Nanocrystalline structure: Grain sizes down to 5-20 nm achievable
- Flexibility: Can process elements with very different melting points
- HE ceramics: Effective for carbide, nitride precursor preparation
3.2 Spark Plasma Sintering (SPS)
Spark plasma sintering is a powder consolidation technique particularly well-suited for HECs and HEOs due to its rapid heating rates and ability to achieve high densities at lower temperatures than conventional sintering.
Spark Plasma Sintering
A pressure-assisted sintering technique where pulsed DC current flows through the die and powder compact, generating rapid heating through Joule heating and potentially plasma formation at particle contacts. Heating rates of 100-1000°C/min are achievable.
| Parameter | SPS | Hot Pressing | Conventional Sintering |
|---|---|---|---|
| Heating rate | 100-1000°C/min | 5-20°C/min | 1-10°C/min |
| Hold time | 5-30 min | 30-120 min | Hours |
| Max temperature | 2400°C | 2000°C | 1800°C |
| Grain growth | Minimal | Moderate | Significant |
| Final density | >99% | 95-99% | 90-97% |
| Best for HECs | Excellent | Good | Limited |
import numpy as np
import matplotlib.pyplot as plt
def sps_temperature_profile(target_temp, heating_rate, hold_time, cooling_rate):
"""
Generate typical SPS temperature profile.
Parameters:
-----------
target_temp : float
Target sintering temperature (°C)
heating_rate : float
Heating rate (°C/min)
hold_time : float
Hold time at target temperature (min)
cooling_rate : float
Cooling rate (°C/min)
Returns:
--------
tuple : (time array in min, temperature array in °C)
"""
T_start = 25 # Room temperature
# Calculate time segments
t_heat = (target_temp - T_start) / heating_rate
t_hold = hold_time
t_cool = (target_temp - T_start) / cooling_rate
# Generate profiles
dt = 0.1 # Time step (min)
# Heating phase
t_heating = np.arange(0, t_heat, dt)
T_heating = T_start + heating_rate * t_heating
# Hold phase
t_holding = np.arange(0, t_hold, dt) + t_heat
T_holding = np.ones_like(t_holding) * target_temp
# Cooling phase
t_cooling = np.arange(0, t_cool, dt) + t_heat + t_hold
T_cooling = target_temp - cooling_rate * (t_cooling - t_heat - t_hold)
# Combine
time = np.concatenate([t_heating, t_holding, t_cooling])
temperature = np.concatenate([T_heating, T_holding, T_cooling])
return time, temperature
# Compare SPS profiles for different HEM types
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# HE Carbide sintering profile
ax1 = axes[0]
t1, T1 = sps_temperature_profile(1800, 200, 10, 100)
ax1.plot(t1, T1, 'b-', linewidth=2, label='HE Carbide (1800°C)')
t2, T2 = sps_temperature_profile(1600, 200, 10, 100)
ax1.plot(t2, T2, 'g-', linewidth=2, label='HE Nitride (1600°C)')
t3, T3 = sps_temperature_profile(1400, 150, 15, 80)
ax1.plot(t3, T3, 'r-', linewidth=2, label='HE Oxide (1400°C)')
ax1.set_xlabel('Time (min)', fontsize=12)
ax1.set_ylabel('Temperature (°C)', fontsize=12)
ax1.set_title('Typical SPS Temperature Profiles for HECs', fontsize=14)
ax1.legend()
ax1.grid(True, alpha=0.3)
# Effect of heating rate on grain size
ax2 = axes[1]
heating_rates = [50, 100, 200, 300, 500]
grain_sizes = [2.5, 1.8, 1.2, 0.9, 0.7] # Hypothetical values (μm)
relative_density = [98.5, 99.1, 99.5, 99.3, 98.8] # %
ax2_twin = ax2.twinx()
bars = ax2.bar(np.arange(len(heating_rates)) - 0.2, grain_sizes, 0.4,
color='steelblue', edgecolor='navy', label='Grain size')
ax2.set_ylabel('Grain Size (μm)', fontsize=12, color='steelblue')
ax2.tick_params(axis='y', labelcolor='steelblue')
line = ax2_twin.plot(np.arange(len(heating_rates)) + 0.2, relative_density,
'ro-', markersize=10, linewidth=2, label='Relative density')
ax2_twin.set_ylabel('Relative Density (%)', fontsize=12, color='red')
ax2_twin.tick_params(axis='y', labelcolor='red')
ax2_twin.set_ylim(97, 100)
ax2.set_xticks(np.arange(len(heating_rates)))
ax2.set_xticklabels([f'{r}' for r in heating_rates])
ax2.set_xlabel('Heating Rate (°C/min)', fontsize=12)
ax2.set_title('Effect of Heating Rate on Microstructure', fontsize=14)
# Combined legend
lines1, labels1 = ax2.get_legend_handles_labels()
lines2, labels2 = ax2_twin.get_legend_handles_labels()
ax2.legend(lines1 + lines2, labels1 + labels2, loc='center right')
plt.tight_layout()
plt.show()
3.3 Thin Film and Coating Deposition
HEM thin films and coatings are increasingly important for surface engineering applications including wear resistance, corrosion protection, and functional devices.
3.3.1 Magnetron Sputtering
Magnetron Sputtering for HEMs
A physical vapor deposition (PVD) technique where ions from a plasma bombard a target (cathode), ejecting atoms that deposit on a substrate. For HEMs, either composite targets or co-sputtering from multiple elemental targets can be used.
| Approach | Description | Advantages | Challenges |
|---|---|---|---|
| Single alloy target | Pre-alloyed HEA target | Simple setup, reproducible | Target fabrication, fixed composition |
| Segmented target | Sectors of different elements | Moderate flexibility | Rotation required for uniformity |
| Co-sputtering | Multiple targets simultaneously | Full composition control | Complex setup, calibration needed |
| HiPIMS | High-power impulse magnetron | Dense films, good adhesion | Lower deposition rate |
3.3.2 Other Deposition Techniques
- Pulsed laser deposition (PLD): Excellent for HEO thin films with complex stoichiometry
- Electron beam evaporation: High deposition rates, suitable for coatings
- Cathodic arc deposition: Dense, hard coatings with excellent adhesion
- Chemical vapor deposition (CVD): Conformal coatings, limited HEM compositions
3.4 Additive Manufacturing
Additive manufacturing (AM) offers unique opportunities for HEA processing, including complex geometries, functionally graded materials, and localized composition control.
3.4.1 Selective Laser Melting (SLM)
Selective Laser Melting
A powder bed fusion process where a laser selectively melts regions of a powder layer according to CAD geometry. Typical layer thickness is 20-100 μm. The rapid melting and solidification (10⁵-10⁶ K/s) results in fine microstructures.
import numpy as np
import matplotlib.pyplot as plt
def volumetric_energy_density(power, scan_speed, hatch_spacing, layer_thickness):
"""
Calculate volumetric energy density for SLM process.
Parameters:
-----------
power : float
Laser power (W)
scan_speed : float
Scan speed (mm/s)
hatch_spacing : float
Hatch spacing (μm)
layer_thickness : float
Layer thickness (μm)
Returns:
--------
float : Volumetric energy density (J/mm³)
"""
h_mm = hatch_spacing / 1000 # Convert to mm
t_mm = layer_thickness / 1000 # Convert to mm
E = power / (scan_speed * h_mm * t_mm)
return E
# Process window analysis for HEA printing
powers = np.linspace(100, 400, 50)
scan_speeds = np.linspace(200, 2000, 50)
P, V = np.meshgrid(powers, scan_speeds)
# Fixed parameters
h = 100 # μm
t = 30 # μm
E = volumetric_energy_density(P, V, h, t)
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# Energy density map
ax1 = axes[0]
contour = ax1.contourf(P, V, E, levels=20, cmap='RdYlBu_r')
plt.colorbar(contour, ax=ax1, label='Energy Density (J/mm³)')
# Overlay process windows
ax1.contour(P, V, E, levels=[30], colors='green', linewidths=2, linestyles='--')
ax1.contour(P, V, E, levels=[60], colors='red', linewidths=2, linestyles='--')
ax1.contour(P, V, E, levels=[100], colors='darkred', linewidths=2, linestyles='--')
ax1.set_xlabel('Laser Power (W)', fontsize=12)
ax1.set_ylabel('Scan Speed (mm/s)', fontsize=12)
ax1.set_title('SLM Process Map for HEAs\n(h=100μm, t=30μm)', fontsize=14)
# Add annotations
ax1.text(350, 1800, 'Porous', fontsize=10, color='blue')
ax1.text(200, 400, 'Keyholing', fontsize=10, color='darkred')
ax1.text(280, 1000, 'Optimal\nWindow', fontsize=10, color='green',
bbox=dict(boxstyle='round', facecolor='lightgreen', alpha=0.7))
# Defect regions
ax2 = axes[1]
# Hypothetical data showing defect density vs energy density
E_values = np.linspace(20, 120, 50)
porosity = 5 / (1 + np.exp(0.15 * (E_values - 35))) + 0.5 * np.exp(0.02 * (E_values - 80))
cracking = 0.2 + 3 / (1 + np.exp(-0.1 * (E_values - 70)))
ax2.plot(E_values, porosity, 'b-', linewidth=2, label='Porosity (%)')
ax2.plot(E_values, cracking, 'r-', linewidth=2, label='Crack density (rel.)')
ax2.axvspan(40, 70, alpha=0.2, color='green', label='Optimal window')
ax2.set_xlabel('Energy Density (J/mm³)', fontsize=12)
ax2.set_ylabel('Defect Level', fontsize=12)
ax2.set_title('Defect Analysis vs. Energy Density', fontsize=14)
ax2.legend()
ax2.grid(True, alpha=0.3)
ax2.set_xlim(20, 120)
plt.tight_layout()
plt.show()
print("=== SLM Parameter Guidelines for CoCrFeMnNi ===")
print(f"Recommended energy density: 40-70 J/mm³")
print(f"Example parameters:")
for p in [200, 250, 300]:
v = p / (60 * 0.1 * 0.03) # For E = 60 J/mm³
print(f" P = {p} W, v = {v:.0f} mm/s (h=100μm, t=30μm)")
3.4.2 Direct Energy Deposition (DED)
DED processes (also known as Laser Metal Deposition, LMD) feed powder or wire into a melt pool created by a laser or electron beam. This approach is particularly suitable for:
- Large parts: Build volumes up to several meters
- Repair and cladding: HEA coatings on existing components
- Compositionally graded materials: Change composition during build
- Multi-material structures: Combine different HEAs in one part
3.5 Solution-Based Methods
Solution-based synthesis is particularly important for HEO nanoparticles and thin films, offering excellent composition control and low processing temperatures.
3.5.1 Sol-Gel Method
Sol-Gel Synthesis of HEOs
A wet chemical process where metal precursors (typically alkoxides or salts) are dissolved, hydrolyzed, and condensed to form a gel network. Subsequent calcination converts the gel to crystalline HEO. This method provides molecular-level mixing of cations.
or Alkoxides] --> B[Dissolve in
Solvent] B --> C[Add Chelating
Agent] C --> D[Gel Formation] D --> E[Drying] E --> F[Calcination
400-800°C] F --> G[Crystalline
HEO Powder] style A fill:#e7f3ff style G fill:#d4edda
3.5.2 Co-Precipitation
Co-precipitation involves simultaneous precipitation of multiple metal hydroxides or oxalates from solution, followed by calcination. Key considerations:
- pH control: Critical for uniform precipitation of all cations
- Precipitation agent: NaOH, NH₄OH, oxalic acid, or ammonium carbonate
- Washing: Remove counter-ions (Na⁺, NH₄⁺) to avoid contamination
- Calcination: Temperature affects crystallinity and particle size
import numpy as np
import matplotlib.pyplot as plt
def calculate_ph_precipitation(cations, concentrations, Ksp_values):
"""
Calculate pH for hydroxide precipitation.
For M(OH)n precipitating: Ksp = [M^n+][OH^-]^n
[OH^-] = (Ksp/[M^n+])^(1/n)
pOH = -log([OH^-])
pH = 14 - pOH
Parameters:
-----------
cations : list
Cation names
concentrations : list
Molar concentrations
Ksp_values : list
Solubility products (with n values)
Returns:
--------
dict : Precipitation pH values
"""
results = {}
for cation, conc, (Ksp, n) in zip(cations, concentrations, Ksp_values):
OH_conc = (Ksp / conc) ** (1/n)
pOH = -np.log10(OH_conc)
pH = 14 - pOH
results[cation] = pH
return results
# Example: (MgCoNiCuZn)O synthesis by co-precipitation
cations = ['Mg²⁺', 'Co²⁺', 'Ni²⁺', 'Cu²⁺', 'Zn²⁺']
concentrations = [0.01, 0.01, 0.01, 0.01, 0.01] # 0.01 M each
# Ksp values and n (charges) for hydroxides
Ksp_data = [
(5.6e-12, 2), # Mg(OH)2
(5.9e-15, 2), # Co(OH)2
(5.5e-16, 2), # Ni(OH)2
(2.2e-20, 2), # Cu(OH)2
(3.0e-17, 2), # Zn(OH)2
]
precipitation_pH = calculate_ph_precipitation(cations, concentrations, Ksp_data)
print("=== Co-Precipitation pH Analysis for (MgCoNiCuZn)O ===")
print("\nPrecipitation onset pH for each cation (0.01 M):")
for cation, pH in sorted(precipitation_pH.items(), key=lambda x: x[1]):
print(f" {cation}: pH = {pH:.2f}")
# Visualization
fig, ax = plt.subplots(figsize=(10, 6))
pH_range = np.linspace(5, 12, 100)
cation_colors = plt.cm.Set1(np.linspace(0, 1, len(cations)))
for i, (cation, pH_precip) in enumerate(precipitation_pH.items()):
# Precipitation curve (simplified sigmoid)
precipitation_fraction = 1 / (1 + np.exp(-3 * (pH_range - pH_precip)))
ax.plot(pH_range, precipitation_fraction * 100, linewidth=2,
color=cation_colors[i], label=f'{cation} (pH = {pH_precip:.1f})')
ax.axvline(x=10, color='red', linestyle='--', linewidth=2, label='Target pH = 10')
ax.axhline(y=99, color='gray', linestyle=':', alpha=0.5)
ax.set_xlabel('pH', fontsize=12)
ax.set_ylabel('Precipitation Percentage (%)', fontsize=12)
ax.set_title('Hydroxide Precipitation Curves for HEO Precursors', fontsize=14)
ax.legend(loc='lower right')
ax.grid(True, alpha=0.3)
ax.set_xlim(5, 12)
ax.set_ylim(0, 105)
plt.tight_layout()
plt.show()
print("\n=== Recommended Co-Precipitation Procedure ===")
print("1. Prepare mixed metal salt solution (0.01 M each cation)")
print("2. Prepare NaOH solution (1 M)")
print("3. Add NaOH slowly while stirring at 60°C")
print("4. Target final pH: 10-11 (ensures complete precipitation)")
print("5. Age for 2-4 hours at 60°C")
print("6. Wash precipitate 3-5 times with DI water")
print("7. Dry at 80°C overnight")
print("8. Calcine at 900°C for 2 hours to form rock-salt HEO")
3.6 Processing-Structure-Property Relationships
The properties of HEMs are strongly influenced by their microstructure, which in turn depends on the synthesis and processing route. Understanding these relationships is crucial for material optimization.
| Processing Route | Cooling Rate | Grain Size | Typical Properties |
|---|---|---|---|
| Arc melting | 10²-10³ K/s | 50-500 μm | Dendritic, some segregation |
| Suction casting | 10³-10⁴ K/s | 10-100 μm | Finer dendrites, reduced segregation |
| Melt spinning | 10⁵-10⁶ K/s | 0.1-10 μm | Extended solubility, nanocrystalline |
| SLM/AM | 10⁵-10⁶ K/s | 0.5-5 μm | Cellular, columnar, high dislocation density |
| MA + SPS | N/A (solid state) | 0.05-1 μm | Ultrafine/nanocrystalline, high strength |
| Sputtering | ~10⁸ K/s | 5-100 nm | Nanocrystalline or amorphous films |
Hall-Petch Strengthening in HEAs
Grain refinement is particularly effective for strengthening HEAs due to the combined effects of grain boundary strengthening and the intrinsic lattice friction stress from the high-entropy matrix. The Hall-Petch relationship:
\[ \sigma_y = \sigma_0 + k_y d^{-1/2} \]
where \(\sigma_0\) (friction stress) in HEAs is significantly higher than in conventional alloys due to lattice distortion, making grain boundary strengthening additive to solid solution strengthening.
3.7 Summary
Key Concepts
- Arc melting is the primary laboratory technique for HEA synthesis; multiple remelts ensure homogeneity; volatile element losses must be compensated
- Induction melting provides better mixing through electromagnetic stirring and is scalable to industrial production
- Mechanical alloying enables solid-state synthesis of nanocrystalline powders without melting, ideal for elements with disparate melting points
- Spark plasma sintering consolidates powders rapidly with minimal grain growth, achieving >99% density for HECs and HEOs
- Magnetron sputtering deposits HEM thin films with controlled composition using single targets, segmented targets, or co-sputtering
- Additive manufacturing (SLM, DED) enables complex HEA geometries with rapid solidification microstructures
- Solution methods (sol-gel, co-precipitation) provide molecular-level mixing for HEO nanoparticle synthesis
- Processing-structure-property relationships are governed by cooling rate (affecting grain size) and synthesis route (affecting defects and phases)
3.8 Exercises
Conceptual Questions
- Why is multiple remelting necessary in arc melting of HEAs? What could happen if only a single melt is performed?
- Explain why SPS can achieve higher density at lower temperatures compared to conventional sintering.
- What are the advantages and disadvantages of using a pre-alloyed target vs. co-sputtering for HEM thin films?
- Why does additive manufacturing of HEAs produce finer grain sizes than casting?
- How does the choice of precipitation agent affect HEO particle morphology in co-precipitation synthesis?
Quantitative Problems
-
Calculate the volumetric energy density for SLM with:
- Laser power: 280 W
- Scan speed: 1200 mm/s
- Hatch spacing: 80 μm
- Layer thickness: 40 μm
- A HEA is arc melted with 2 at.% excess Mn to compensate for evaporation. If the measured Mn loss is 1.5%, what is the final Mn content?
- Calculate the Hall-Petch strengthening contribution when grain size is reduced from 100 μm (cast) to 1 μm (MA+SPS), assuming \(k_y = 0.5\) MPa·m¹/².
Computational Exercises
- Write a Python function to optimize SLM parameters (P, v, h, t) for a target energy density of 55 J/mm³, subject to machine constraints (P ≤ 400 W, v ≥ 300 mm/s).
- Create a process selection flowchart (using mermaid or matplotlib) for choosing the appropriate HEM synthesis method based on material type, scale, and target properties.