| name | condensed-matter |
| description | Condensed matter physics including crystal structures, electronic band theory, superconductivity, magnetism, and semiconductor physics for materials science applications. |
| category | physics |
| tags | ["physics","condensed-matter","crystal-structures","band-theory","superconductivity","magnetism","semiconductors","solid-state"] |
| difficulty | advanced |
| author | neuralblitz |
Condensed Matter Physics
What I do
I provide comprehensive expertise in condensed matter physics, the study of macroscopic quantum phenomena in solids and liquids. I enable you to analyze crystal structures and diffraction, understand electronic band theory and transport, study superconductivity and magnetism, model semiconductor devices, and apply condensed matter concepts to materials science. My knowledge spans from foundational solid-state physics to topological phases essential for electronics, quantum computing, and materials research.
When to use me
Use condensed matter physics when you need to: analyze crystal structures and lattice dynamics, calculate electronic band structures, design semiconductor devices, understand superconductivity and Josephson effects, model magnetic properties of materials, analyze transport phenomena, study topological insulators and quantum Hall effect, or develop new materials with specific properties.
Core Concepts
- Crystal Structures: Periodic arrangements of atoms with Bravais lattices, unit cells, and symmetry operations.
- Reciprocal Lattice: Fourier transform of real-space lattice governing diffraction and Brillouin zones.
- Band Theory: Electronic energy levels forming bands (valence, conduction) with band gaps.
- Bloch's Theorem: Wave functions in periodic potentials as plane waves modulated by lattice-periodic functions.
- Drude Model: Classical description of electron transport with relaxation time approximation.
- Fermi-Dirac Statistics: Electron occupation of states at T > 0 with Fermi-Dirac distribution.
- Superconductivity: Zero resistance and Meissner effect below critical temperature with Cooper pairs.
- Magnetism: Diamagnetism, paramagnetism, ferromagnetism, and antiferromagnetism from electron spins.
- Phonons: Quantized lattice vibrations carrying heat and mediating electron interactions.
- Topological Phases: Protected surface states and edge modes from topological band invariants.
Code Examples
Crystal Structures and Reciprocal Lattice
import numpy as np
def fcc_lattice(a):
"""Face-centered cubic lattice points."""
return np.array([
[0, 0, 0], [0.5, 0.5, 0], [0.5, 0, 0.5], [0, 0.5, 0.5],
[0.5, 0, 0], [0, 0.5, 0], [0, 0, 0.5], [0.5, 0.5, 0.5]
]) * a
def bcc_lattice(a):
"""Body-centered cubic lattice points."""
return np.array([[0, 0, 0], [0.5, 0.5, 0.5]]) * a
def reciprocal_lattice_vectors(a1, a2, a3):
"""Calculate reciprocal lattice vectors."""
V = np.dot(a1, np.cross(a2, a3))
b1 = 2 * np.pi * np.cross(a2, a3) / V
b2 = 2 * np.pi * np.cross(a3, a1) / V
b3 = 2 * np.pi * np.cross(a1, a2) / V
return b1, b2, b3
def ():
fcc = fcc_lattice(a)
tetrahedral = fcc + np.array([, , ]) * a
np.vstack([fcc, tetrahedral])
():
a / np.sqrt(h** + k** + l**)
()
()
()
hkl [(,,), (,,), (,,)]:
d = miller_spacing(*hkl, )
()
a1 = np.array([a, , ])
a2 = np.array([, a, ])
a3 = np.array([, , a])
b1, b2, b3 = reciprocal_lattice_vectors(a1, a2, a3)
()
()
()
Band Theory and Fermi Surface
import numpy as np
def free_electron_energy(k, m_eff):
"""E = ℏ²k²/2m*"""
hbar = 1.055e-34
return hbar**2 * k**2 / (2 * m_eff * 9.11e-31)
def fermi_energy(n, m_eff):
"""E_F = ℏ²/2m (3π²n)^(2/3)"""
hbar = 1.055e-34
return hbar**2 / (9.11e-31) * (3 * np.pi**2 * n)**(2/3) / 2
def fermi_wavenumber(n):
"""k_F = (3π²n)^(1/3)"""
return (3 * np.pi**2 * n)**(1/3)
def fermi_dirac(E, E_F, T):
"""f(E) = 1/(exp((E-E_F)/kT) + 1)"""
kB = 8.617e-5
return 1 / (np.exp((E - E_F) / (kB * T)) + 1)
n_Cu = 8.45e28
k_F = fermi_wavenumber(n_Cu)
E_F = fermi_energy(n_Cu, 1)
print("Free electron gas (copper):")
print(f" Electron density: {n_Cu:.2e} m⁻³")
()
()
()
():
hbar =
m_star = m_eff *
prefactor = / ( * np.pi**) * ( * m_star / hbar**)**
prefactor * np.sqrt(E)
E = *
()
Drude Model and Transport
import numpy as np
def drude_conductivity(n, e, tau, m):
"""σ = ne²τ/m"""
return n * e**2 * tau / m
def drude_mobility(tau, m, e=1.6e-19):
"""μ = eτ/m"""
return e * tau / m
def hall_coefficient(n, e=1.6e-19):
"""R_H = 1/(ne)"""
return 1 / (n * e)
n_Cu = 8.45e28
m_e = 9.11e-31
e = 1.6e-19
tau_Cu = 2.5e-14
sigma_Cu = drude_conductivity(n_Cu, e, tau_Cu, m_e)
mu_Cu = drude_mobility(tau_Cu, m_e)
print("Drude model (copper):")
print(f" Conductivity: {sigma_Cu/1e7:.1f} × 10⁷ S/m (actual: 5.96×10⁷)")
print(f" Mobility: {mu_Cu*1e4:.1f} cm²/V·s")
print(f" Resistivity: {1/sigma_Cu*1e8:.2f} μΩ·cm")
def thermal_conductivity(sigma, L, T):
"""κ = LσT (Wiedemann-Franz law)"""
L = 2.44e-8
L * sigma * T
kappa_Cu = thermal_conductivity(sigma_Cu, , )
()
Superconductivity
import numpy as np
def london_penetration_depth(T, T_c, lambda_0):
"""λ(T) = λ_0 / √(1 - T/T_c)"""
if T >= T_c:
return np.inf
return lambda_0 / np.sqrt(1 - (T/T_c)**2)
def coherence_length(T, T_c, xi_0):
"""ξ(T) = ξ_0 / √(1 - T/T_c)"""
if T >= T_c:
return np.inf
return xi_0 / np.sqrt(1 - (T/T_c)**2)
def critical_field(T, T_c, H_c0):
"""H_c(T) = H_c0(1 - (T/T_c)²)"""
return H_c0 * (1 - (T/T_c)**2)
T_c = 18.3
lambda_0 = 200e-9
xi_0 = 5e-9
H_c0 = 0.4
print("Superconductor properties (Nb3Sn):")
print(f" Critical temperature: {T_c} K")
print(f" London penetration depth: {lambda_0*1e9:.0f} nm at T=0")
print(f" Coherence length: {xi_0*1e9:.0f} nm at T=0")
T [, , , ]:
lambda_T = london_penetration_depth(T, T_c, lambda_0)
xi_T = coherence_length(T, T_c, xi_0)
H_cT = critical_field(T, T_c, H_c0)
()
():
T >= T_c:
* * T_c * np.tanh( * np.sqrt(T_c/T - ))
Delta_0 = * * T_c
()
()
Magnetic Properties
import numpy as np
def curie_law(T, C):
"""χ = C/T for paramagnets."""
return C / T
def curie_weiss(T, T_cw, C):
"""χ = C/(T - T_cw) for ferromagnets above T_c."""
return C / (T - T_cw)
def langevin_paramagnetism(mu, B, T):
"""Classical paramagnet."""
kB = 1.38e-23
x = mu * B / (kB * T)
return np.cosh(x) / x - np.sinh(x) / x**2
def susceptibility_ferromagnet(T, T_c, chi_0=0):
"""Mean-field susceptibility."""
return chi_0 + C / (T - T_c)
mu_B = 9.27e-24
C = 1 / 3
T_c = 1043
print("Magnetic susceptibility:")
print(f" Iron Curie temperature: {T_c} K")
for T in [300, 500, 773, 1000, 1100]:
chi_cw = curie_weiss(T, T_c, C) if T > T_c else np.inf
print(f" T = K: χ = (paramagnetic)" T > T_c )
():
- * J * S**
J =
S =
()
()
()
Best Practices
- Use appropriate boundary conditions (periodic, open) for different crystal types when simulating electronic structure.
- Account for electron-electron interactions through DFT or many-body methods when simple band theory is insufficient.
- Consider both spin and orbital contributions to magnetic properties.
- For superconductivity, distinguish between Type-I and Type-II behavior based on κ = λ/ξ ratio.
- When analyzing transport, remember the difference between drift velocity and Fermi velocity.
- For topological materials, calculate topological invariants (Chern number, Z2 invariant) to confirm topology.
- Use zone folding concepts when comparing Brillouin zones of different structures.
- Consider phonon contributions to thermal conductivity at different temperatures.
- For strongly correlated systems, standard band theory fails; use DMFT or similar methods.
- Validate band structure calculations against experimental photoemission data when available.