Learning Objectives
- Understand nanomaterial applications in electronics and computing
- Learn nanomedicine applications: drug delivery, imaging, and therapeutics
- Explore energy applications: batteries, solar cells, and catalysis
- Discover how AI and machine learning accelerate nanomaterial discovery
- Consider safety, sustainability, and regulatory aspects of nanotechnology
5.1 Nanoelectronics and Computing
5.1.1 Quantum Dot Displays (QLED)
Quantum dots have revolutionized display technology. QLED displays use QDs as color converters or emitters, offering advantages over traditional LCDs:
| Property | LCD | OLED | QLED |
|---|---|---|---|
| Color gamut | 72% NTSC | 100% DCI-P3 | >100% DCI-P3 |
| Peak brightness | 300-500 nits | 800-1500 nits | 1500-4000 nits |
| Lifespan | 60,000+ hours | 30,000 hours | 60,000+ hours |
| Burn-in risk | None | Possible | None |
5.1.2 Carbon Nanotube Electronics
Carbon nanotubes offer exceptional electrical properties for next-generation electronics:
- CNT transistors: Higher mobility than silicon, potential for sub-5nm nodes
- Transparent conductors: CNT films as ITO replacement
- Interconnects: High current density without electromigration
- Flexible electronics: Stretchable CNT circuits
5.1.3 Graphene Electronics
Graphene Properties for Electronics
Graphene offers electron mobility of 200,000 cm²/(V·s) at room temperature, thermal conductivity of ~5000 W/(m·K), and mechanical strength of 130 GPa. Applications include high-frequency transistors, interconnects, transparent electrodes, and sensors.
5.2 Nanomedicine
5.2.1 Drug Delivery Systems
Nanoparticle-based drug delivery offers several advantages:
- Enhanced permeability and retention (EPR): Tumor accumulation
- Targeted delivery: Surface functionalization with ligands
- Controlled release: Sustained drug release profiles
- Improved bioavailability: Better dissolution of hydrophobic drugs
| Nanocarrier Type | Size Range | Drug Type | Applications |
|---|---|---|---|
| Liposomes | 50-200 nm | Hydrophilic/lipophilic | Doxil (cancer), Onpattro (siRNA) |
| Polymeric NPs | 10-200 nm | Various | Abraxane (paclitaxel) |
| Lipid NPs | 50-100 nm | mRNA, siRNA | COVID-19 mRNA vaccines |
| Inorganic NPs | 5-50 nm | Imaging agents | Iron oxide MRI contrast |
Python Example: Drug Release Kinetics Modeling
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def zero_order(t, k0, M_total):
"""Zero-order release: M(t) = k0 * t"""
return np.minimum(k0 * t, M_total)
def first_order(t, k1, M_total):
"""First-order release: M(t) = M_total * (1 - exp(-k1*t))"""
return M_total * (1 - np.exp(-k1 * t))
def higuchi(t, k_H, M_total):
"""Higuchi model: M(t) = k_H * sqrt(t)"""
return np.minimum(k_H * np.sqrt(t), M_total)
def korsmeyer_peppas(t, k, n, M_total):
"""
Korsmeyer-Peppas model: M(t)/M_total = k * t^n
n = 0.5: Fickian diffusion (spheres)
0.5 < n < 1: Anomalous transport
n = 1: Case II transport (zero-order)
"""
return np.minimum(M_total * k * t**n, M_total)
# Simulate drug release from nanoparticles
time = np.linspace(0, 48, 200) # hours
M_total = 100 # Total drug loading (%)
# Different release mechanisms
mechanisms = {
'Burst + sustained': lambda t: 30*(1-np.exp(-t)) + 70*korsmeyer_peppas(t, 0.08, 0.5, 1)/100*70,
'Sustained release': lambda t: korsmeyer_peppas(t, 0.15, 0.45, 100),
'Triggered release': lambda t: np.where(t < 12, 5*(1-np.exp(-t/2)),
5*(1-np.exp(-6)) + 95*(1-np.exp(-(t-12)/4))),
'Zero-order': lambda t: zero_order(t, 2.1, 100),
}
plt.figure(figsize=(12, 5))
# Plot 1: Release profiles
plt.subplot(1, 2, 1)
for name, func in mechanisms.items():
release = func(time)
plt.plot(time, release, linewidth=2, label=name)
plt.xlabel('Time (hours)')
plt.ylabel('Cumulative Drug Release (%)')
plt.title('Drug Release Kinetics from Nanocarriers')
plt.legend()
plt.grid(True, alpha=0.3)
plt.xlim(0, 48)
plt.ylim(0, 105)
# Plot 2: Release rate
plt.subplot(1, 2, 2)
dt = time[1] - time[0]
for name, func in mechanisms.items():
release = func(time)
rate = np.gradient(release, dt)
plt.plot(time, rate, linewidth=2, label=name)
plt.xlabel('Time (hours)')
plt.ylabel('Release Rate (%/hour)')
plt.title('Drug Release Rate')
plt.legend()
plt.grid(True, alpha=0.3)
plt.xlim(0, 48)
plt.tight_layout()
plt.savefig('drug_release.png', dpi=150)
plt.show()
# Analyze release mechanism
print("\nKorsmeyer-Peppas Exponent (n) Interpretation:")
print("-" * 50)
print("n = 0.43: Fickian diffusion (spheres)")
print("0.43 < n < 0.85: Anomalous transport")
print("n = 0.85: Case-II transport (zero-order)")
print("n > 0.85: Super Case-II transport")
5.2.2 Diagnostic Imaging
Nanomaterials enhance various imaging modalities:
- MRI: Superparamagnetic iron oxide nanoparticles (SPIONs) as T2 contrast agents
- CT: Gold nanoparticles as X-ray contrast agents
- Fluorescence: Quantum dots for multicolor imaging
- Photoacoustic: Plasmonic nanoparticles for deep tissue imaging
5.3 Energy Applications
5.3.1 Batteries and Supercapacitors
Nanomaterials address key limitations in energy storage:
| Nanomaterial | Application | Benefit |
|---|---|---|
| Si nanoparticles | Li-ion anode | 10x capacity vs graphite, manages volume expansion |
| Graphene | Supercapacitor electrode | High surface area (2630 m²/g theoretical) |
| LiFePO4 NPs | Li-ion cathode | Faster Li+ diffusion, better rate capability |
| MXenes | Supercapacitor | High volumetric capacitance, fast ion transport |
5.3.2 Solar Cells
Nanomaterials enable new solar cell architectures:
- Quantum dot solar cells: Multiple exciton generation, tunable bandgap
- Perovskite nanocrystals: High efficiency, solution processable
- Plasmonic enhancement: Light trapping with metal NPs
- Nanostructured electrodes: Improved charge collection
5.3.3 Catalysis for Clean Energy
Python Example: Electrocatalyst Performance Comparison
import numpy as np
import matplotlib.pyplot as plt
def tafel_equation(eta, j0, b):
"""
Tafel equation: j = j0 * 10^(eta/b)
Parameters:
-----------
eta : array
Overpotential (mV)
j0 : float
Exchange current density (mA/cm²)
b : float
Tafel slope (mV/dec)
Returns:
--------
array : Current density (mA/cm²)
"""
return j0 * 10**(eta / b)
def mass_activity(j, loading_mg_cm2):
"""Calculate mass activity (A/mg)."""
return j / loading_mg_cm2
# Electrocatalyst data for oxygen reduction reaction (ORR)
catalysts = {
'Pt/C (bulk)': {'j0': 1e-3, 'b': 60, 'loading': 0.4, 'color': 'gray'},
'Pt NPs (3nm)': {'j0': 5e-3, 'b': 55, 'loading': 0.1, 'color': 'blue'},
'Pt-Ni alloy': {'j0': 1e-2, 'b': 50, 'loading': 0.05, 'color': 'green'},
'Pt-skin surface': {'j0': 2e-2, 'b': 45, 'loading': 0.02, 'color': 'red'},
}
overpotential = np.linspace(0, 400, 100) # mV
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
# Plot 1: Tafel plots
ax1 = axes[0]
for name, props in catalysts.items():
j = tafel_equation(overpotential, props['j0'], props['b'])
ax1.semilogy(overpotential, j, color=props['color'], linewidth=2, label=name)
ax1.set_xlabel('Overpotential (mV)')
ax1.set_ylabel('Current Density (mA/cm²)')
ax1.set_title('ORR Tafel Plots')
ax1.legend()
ax1.grid(True, alpha=0.3)
ax1.set_xlim(0, 400)
# Plot 2: Mass activity at 0.9 V (300 mV overpotential)
ax2 = axes[1]
names = list(catalysts.keys())
ma_values = []
for name, props in catalysts.items():
j = tafel_equation(300, props['j0'], props['b'])
ma = mass_activity(j, props['loading'])
ma_values.append(ma)
colors = [catalysts[n]['color'] for n in names]
bars = ax2.bar(range(len(names)), ma_values, color=colors, alpha=0.7)
ax2.set_xticks(range(len(names)))
ax2.set_xticklabels([n.split()[0] for n in names], rotation=45, ha='right')
ax2.set_ylabel('Mass Activity (A/mg_Pt)')
ax2.set_title('Mass Activity at η = 300 mV')
ax2.grid(True, alpha=0.3, axis='y')
# Plot 3: Cost-performance comparison
ax3 = axes[2]
pt_cost = 30 # $/g (approximate)
performance_per_cost = [ma / (props['loading'] * pt_cost)
for name, props in catalysts.items()
for ma in [mass_activity(tafel_equation(300, props['j0'], props['b']),
props['loading'])]]
ax3.bar(range(len(names)), performance_per_cost, color=colors, alpha=0.7)
ax3.set_xticks(range(len(names)))
ax3.set_xticklabels([n.split()[0] for n in names], rotation=45, ha='right')
ax3.set_ylabel('Performance/Cost (A/$)')
ax3.set_title('Cost-Normalized Performance')
ax3.grid(True, alpha=0.3, axis='y')
plt.tight_layout()
plt.savefig('electrocatalyst_comparison.png', dpi=150)
plt.show()
5.4 AI-Driven Nanomaterial Discovery
Machine learning is accelerating nanomaterial design by predicting properties, optimizing synthesis conditions, and discovering new compositions.
Python Example: ML for Nanoparticle Property Prediction
import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error, r2_score
# Generate synthetic dataset: nanoparticle properties
np.random.seed(42)
n_samples = 500
# Features: size, composition ratios, synthesis temperature
size = np.random.uniform(2, 50, n_samples) # nm
comp_A = np.random.uniform(0, 1, n_samples) # fraction of element A
temp = np.random.uniform(100, 300, n_samples) # °C
# Target: bandgap (eV) - synthetic relationship
# Bandgap increases as size decreases (quantum confinement)
# Bandgap depends on composition
# Temperature affects crystallinity
bandgap = (1.5 + 3.0 / size +
0.5 * comp_A +
0.001 * temp +
np.random.normal(0, 0.1, n_samples))
# Create feature matrix
X = np.column_stack([size, comp_A, temp])
y = bandgap
# Train/test split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# Train Random Forest model
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# Predictions
y_pred = model.predict(X_test)
# Evaluate
mae = mean_absolute_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
# Visualization
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# Plot 1: Parity plot
ax1 = axes[0, 0]
ax1.scatter(y_test, y_pred, alpha=0.6, edgecolor='k', linewidth=0.5)
ax1.plot([y.min(), y.max()], [y.min(), y.max()], 'r--', linewidth=2)
ax1.set_xlabel('True Bandgap (eV)')
ax1.set_ylabel('Predicted Bandgap (eV)')
ax1.set_title(f'ML Prediction Performance\nMAE={mae:.3f} eV, R²={r2:.3f}')
ax1.grid(True, alpha=0.3)
# Plot 2: Feature importance
ax2 = axes[0, 1]
feature_names = ['Size (nm)', 'Composition A', 'Temperature (°C)']
importances = model.feature_importances_
ax2.barh(feature_names, importances, color='steelblue', alpha=0.7)
ax2.set_xlabel('Feature Importance')
ax2.set_title('Random Forest Feature Importance')
ax2.grid(True, alpha=0.3, axis='x')
# Plot 3: Size effect prediction
ax3 = axes[1, 0]
sizes_pred = np.linspace(2, 50, 100)
X_pred = np.column_stack([sizes_pred,
np.full(100, 0.5), # Fixed composition
np.full(100, 200)]) # Fixed temperature
bandgaps_pred = model.predict(X_pred)
ax3.plot(sizes_pred, bandgaps_pred, 'b-', linewidth=2, label='ML prediction')
ax3.scatter(X_test[:, 0], y_test, alpha=0.3, label='Test data')
ax3.set_xlabel('Nanoparticle Size (nm)')
ax3.set_ylabel('Bandgap (eV)')
ax3.set_title('Size-Dependent Bandgap Prediction')
ax3.legend()
ax3.grid(True, alpha=0.3)
# Plot 4: Composition screening
ax4 = axes[1, 1]
compositions = np.linspace(0, 1, 50)
sizes_screen = [5, 10, 20]
colors = ['red', 'green', 'blue']
for s, c in zip(sizes_screen, colors):
X_screen = np.column_stack([np.full(50, s), compositions, np.full(50, 200)])
bg_screen = model.predict(X_screen)
ax4.plot(compositions, bg_screen, color=c, linewidth=2, label=f'{s} nm')
ax4.set_xlabel('Composition A Fraction')
ax4.set_ylabel('Predicted Bandgap (eV)')
ax4.set_title('Composition Screening')
ax4.legend()
ax4.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('ml_nanomaterial.png', dpi=150)
plt.show()
print("\nML Model Performance:")
print("-" * 40)
print(f"Mean Absolute Error: {mae:.4f} eV")
print(f"R² Score: {r2:.4f}")
print(f"\nMost Important Feature: {feature_names[np.argmax(importances)]}")
5.5 Safety, Sustainability, and Regulations
5.5.1 Nanotoxicology
Understanding nanomaterial toxicity is crucial for safe development:
- Size-dependent uptake: Smaller particles may penetrate biological barriers
- Surface chemistry: Functionalization affects biocompatibility
- Dissolution: Release of toxic ions (e.g., Cd from quantum dots)
- Oxidative stress: ROS generation from reactive surfaces
5.5.2 Sustainable Nanomaterials
Green Nanotechnology Principles
Key strategies for sustainable nanomaterials include: (1) Use of non-toxic precursors and solvents; (2) Energy-efficient synthesis methods; (3) Design for biodegradability or recyclability; (4) Life-cycle assessment for environmental impact; (5) Safe-by-design approaches from early development.
5.5.3 Regulatory Frameworks
| Region | Framework | Key Requirements |
|---|---|---|
| EU | REACH, Novel Foods | Registration if >1 ton/year, specific nano provisions |
| USA | EPA TSCA, FDA | Case-by-case evaluation, significant new use rules |
| Japan | Chemical Substances Control Law | Voluntary reporting, safety guidelines |
5.6 Future Perspectives
5.7 Summary
Key Takeaways
- Electronics: QDs in displays, CNTs and graphene for next-gen transistors and interconnects
- Medicine: Nanocarriers for drug delivery (mRNA vaccines), imaging contrast agents, theranostics
- Energy: Nanostructured electrodes for batteries, QD/perovskite solar cells, nano-electrocatalysts
- AI acceleration: ML for property prediction, synthesis optimization, and materials discovery
- Responsibility: Nanotoxicology, life-cycle assessment, and regulatory compliance are essential
Exercises
Exercise 1: Application Selection
You need to develop a nanomaterial for cancer theranostics (combined therapy and diagnosis). What type of nanoparticle would you choose? Consider imaging modality, drug loading capability, targeting strategy, and biocompatibility.
Exercise 2: Sustainability Analysis
Compare the environmental impact of quantum dot synthesis using: (a) hot injection with toxic Cd precursors, (b) green synthesis of InP QDs, (c) carbon quantum dots from citric acid. Consider precursor toxicity, energy consumption, and product safety.
Exercise 3: ML Dataset Design
Design a dataset for ML prediction of nanoparticle catalytic activity. What features would you include? What target properties? How would you collect/generate the data? What ML model architecture would be appropriate?