Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Ensembles in phase-space

Quantization of Phase Space in Units of h h

figure-md - Unknown Directive
<img src="./figs/1d-pspace.png" class="bg-primary" width="300px">  

Illustration of phase space for a 1D particle in a box.
  • In classical mechanics, a system’s state is represented as a point in phase space, with coordinates (x,p)(x, p) for each degree of freedom. The number of microstates is, in principle, infinite because both position and momentum can vary continuously.

  • However, in quantum mechanics, the Heisenberg uncertainty principle imposes a fundamental limit on how precisely position and momentum can be specified:

  • This implies that we cannot resolve phase space with arbitrary precision. Instead, each distinguishable quantum state occupies a minimum phase space volume on the order of:

ΔxΔph\Delta x \, \Delta p \sim h
  • For a system with f f degrees of freedom (e.g 3N3N for NN particles in three dimensions), the smallest resolvable cell in phase space has volume:

(ΔxΔp)fhf(\Delta x \, \Delta p)^f \sim h^f
  • To compute the number of accessible microstates Ω \Omega in a given region of phase space, we divide the classical phase space volume Γ \Gamma by the smallest quantum volume hfh^f

  • Since N particles are indistingusihable and classical mechanics has no such concept we have to manually divide numer of microstates by N!N!

Ω(E)=ΓhfN!\Omega(E) = \frac{\Gamma}{h^f N!}
  • An explicit expression for number of microstates for a given energy EE is written by using delta function which counts all microstates in phase-space where H(pN,xN)=EH(p^N, x^N)=E

Source
import numpy as np
import matplotlib.pyplot as plt

# Set constants
hbar = 1.0
h = 2 * np.pi * hbar
m = 1.0
omega = 1.0

# Quantum numbers to plot
n_values = [0, 1, 2, 5, 10]

# Prepare plot
fig, ax = plt.subplots(figsize=(5, 4))

# Colors for each energy level
colors = plt.cm.viridis(np.linspace(0, 1, len(n_values)))

# Store areas for demonstration
areas = []

# Plot ellipses for each energy level
for i, n in enumerate(n_values):
    E_n = hbar * omega * (n + 0.5)
    a = np.sqrt(2 * E_n / (m * omega**2))  # x_max
    b = np.sqrt(2 * m * E_n)               # p_max
    theta = np.linspace(0, 2 * np.pi, 500)
    x = a * np.cos(theta)
    p = b * np.sin(theta)
    ax.plot(x, p, label=f"n = {n}", color=colors[i])
    
    # Area of ellipse = πab (quasi-classical action)
    A_n = np.pi * a * b
    areas.append((n, A_n / h))  # normalized by h

# Annotate areas
for n, A_h in areas:
    ax.text(0.1, 1.1 * np.sqrt(2 * m * hbar * omega * (n + 0.5)), 
            f"$A/h$ ≈ {A_h:.1f}", fontsize=9)

# Final plot settings
ax.set_xlabel("Position $x$")
ax.set_ylabel("Momentum $p$")
ax.set_title("Harmonic Oscillator Phase Space: Quasi-Classical Area $\oint p \\, dx$")
ax.set_aspect('equal')
ax.legend()
ax.grid(True)

plt.tight_layout()
plt.show()
<>:44: SyntaxWarning: invalid escape sequence '\o'
<>:44: SyntaxWarning: invalid escape sequence '\o'
/tmp/ipykernel_2876/746595933.py:44: SyntaxWarning: invalid escape sequence '\o'
  ax.set_title("Harmonic Oscillator Phase Space: Quasi-Classical Area $\oint p \\, dx$")
<Figure size 500x400 with 1 Axes>

Computing Z via classical mechanics

  • In quantum mechanics counting microsites is easy, we have discrete energies and could simply sum over microstates to compute partition functions

Z=ieβEiZ=\sum_i e^{-\beta E_i}
  • Counting microstates in classical mechanics is therefore done by discretizing phase space for N particle system xN,pNx^N, p^N into smallest unit boxes of size hNh^N.

idpdxh\sum_i \rightarrow \int \frac{dpdx}{h}
  • Once agan to correct classical mechanics for “double counting” of microstates if we have N indistinguishable “particles” with a factor of N!N!

The power and utility of NVT: The non-interacting system

  • For the independent particle system, the energy of each particle enter the total energy of the system additively.

E(ϵ1,ϵ2,...ϵN)=ϵ1+ϵ2+...ϵNE(\epsilon_1, \epsilon_2, ... \epsilon_N) = \epsilon_1+\epsilon_2+...\epsilon_N
  • The exponential factor in the partition function allows decoupling particle contributions eβ(ϵ1+ϵ2)=eβϵ1eβϵ2e^{-\beta{(\epsilon_1+\epsilon_2)}} = e^{-\beta{\epsilon_1}}e^{-\beta{\epsilon_2}}. This means that the partition function can be written as the product of the partition functions of individual particles!

Distinguishable states:

Z=z1z2z3...zNZ = z_1 \cdot z_2 \cdot z_3 ... z_N

Indistinguishable states:

Z=1N!zNZ = \frac{1}{N!}z^N

Maxwell-Boltzman distribution

  • Since the kinetic and potential energy functions depend separately on momenta and positions, the total probability distribution factorizes into a product of position and momentum distributions:

H(pN,rN)=U(rN)+K(pN)=U(rN)+i=1Npi22mH(p^N, r^N) = U(r^N) + K(p^N) = U(r^N) + \sum_{i=1}^{N} \frac{p_i^2}{2m}
  • This separation leads to:

P(rN,pN)=P(rN)P(pN)=VdrNeβU(rN)+dpNeβi=1Npi22mP(r^N, p^N) = P(r^N) \cdot P(p^N) = \int_V dr^N \, e^{-\beta U(r^N)} \cdot \int_{-\infty}^{+\infty} dp^N \, e^{-\beta \sum_{i=1}^{N} \frac{p_i^2}{2m}}
  • The intergarlwith position-dependent potential for interacting particle system is impossible to evaluate except by simulations or numerical techniques

  • The momentum-dependent part splits into individaul integrals for every particle and is always a simple quadratic function, making it analytically tractable:

P(pN)=[+dpeβp22m]NP(p^N) = \left[ \int_{-\infty}^{+\infty} dp \, e^{-\beta \frac{p^2}{2m}} \right]^N
  • The momentum (or velocity) distribution follows the Maxwell-Boltzmann distribution in all equilibrium systems, regardless of the complexity of the molecular interactions.

Source
import numpy as np
import matplotlib.pyplot as plt

# Constants for Maxwell-Boltzmann Distribution (in arbitrary units)
k_B = 1.38e-23   # Boltzmann constant (J/K), not used directly since we'll use reduced units
T = 300          # Temperature in K
m = 4.65e-26     # Mass of nitrogen molecule (kg), approximate

# Define velocity range
v = np.linspace(0, 2000, 1000)

# Maxwell-Boltzmann distribution function
def f_MB(v, m, T):
    return 4 * np.pi * v**2 * (m / (2 * np.pi * k_B * T))**(3/2) * np.exp(-m * v**2 / (2 * k_B * T))

# Compute distribution
f_v = f_MB(v, m, T)

# Characteristic velocities
v_mp = np.sqrt(2 * k_B * T / m)         # Most probable speed
v_avg = np.sqrt(8 * k_B * T / (np.pi * m))  # Average speed
v_rms = np.sqrt(3 * k_B * T / m)        # Root mean square speed

# Plot
plt.figure(figsize=(10, 6))
plt.plot(v, f_v, label="Maxwell-Boltzmann Distribution", color='black')
plt.axvline(v_mp, color='blue', linestyle='--', label=f"$v_{{\\rm mp}}$ = {v_mp:.0f} m/s")
plt.axvline(v_avg, color='green', linestyle='--', label=f"$\\langle v \\rangle$ = {v_avg:.0f} m/s")
plt.axvline(v_rms, color='red', linestyle='--', label=f"$v_{{\\rm rms}}$ = {v_rms:.0f} m/s")
plt.title("Maxwell-Boltzmann Speed Distribution for $N_2$ at 300 K")
plt.xlabel("Speed (m/s)")
plt.ylabel("Probability Density")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
<Figure size 1000x600 with 1 Axes>

Ideal Gas

  • A useful approximation is to consider the limit of a very dilute gas, known as an ideal gas, where interactions between particles are neglected V=0V = 0.

  • Lets evaluate partition function for a single atom of idea gas:

z(β)=[1h0Ldx+dpep22mkBT]3=V(2πmkBTh2)3/2z(\beta) = \left[ \frac{1}{h} \int_{0}^{L} dx \int_{-\infty}^{+\infty} dp \, e^{- \frac{p^2}{2m k_B T}} \right]^3 = V \left( \frac{2\pi m k_B T}{h^2 } \right)^{3/2}
z=VλT3=VnQz = \frac{V}{\lambda^3_T} = V n_Q

On the Validity of the Classical Approximation

  • The classical approximation is valid when the average interatomic spacing n1/3 \sim n^{-1/3} is much larger than λT \lambda_T , i.e., when:

nλT31n \lambda_T^3 \ll 1
  • This ensures that wavefunction overlap is negligible and particles behave classically.

  • We can also calculate entropy and other thermodynamic quantities and compare with expressions obtained inNVE NVE ensemble

S=(FT)N,V=NkB[log(nQn)+52]S = -\Big( \frac{\partial F}{\partial T}\Big)_{N,V} = Nk_B \Bigg[log \Big( \frac{n_Q}{n} \Big)+ \frac{5}{2} \Bigg]
U=logZ(β)=32NkBTU = \frac{\partial log Z}{\partial (-\beta)} = \frac{3}{2}N k_B T
p=FV=NkBTVp = -\frac{\partial F}{\partial V} =\frac{N k_B T}{V}

Equipartition Theorem

  • Consider a classical system with a Hamiltonian containing a quadratic degree of freedom xx, such that:

E(x)=12ax2E(x) = \frac{1}{2} a x^2
  • The canonical partition function for this degree of freedom is:

Z=eβ12ax2dx=2πβaZ = \int_{-\infty}^{\infty} e^{-\beta \frac{1}{2} a x^2} dx = \sqrt{\frac{2\pi}{\beta a}}
  • The average energy is:

E=logZβ\langle E \rangle = -\frac{\partial \log Z}{\partial \beta}
logZ=12log(2πβa)=const12logβ\log Z = \frac{1}{2} \log \left( \frac{2\pi}{\beta a} \right) = \text{const} - \frac{1}{2} \log \beta
E=β(12logβ)=12β=12kBT\langle E \rangle = -\frac{\partial}{\partial \beta} \left( -\frac{1}{2} \log \beta \right) = \frac{1}{2\beta} = \frac{1}{2} k_B T

Examples

  • Monatomic ideal gas: 3 translational degrees → E=32kBT\langle E \rangle = \frac{3}{2} k_B T

  • Diatomic molecule at high TT: 3 translational + 2 rotational + nn active vibrational modes
    E=(52+n)kBT\langle E \rangle = \left( \frac{5}{2} + n \right) k_B T

Partition functions for non-interacting molecules

  • Total energy and partition function for a molecule with separable degrees of freedom:

Translational Degrees of Freedom: Particle in a Box

  • For a particle in a 3D box of volume V=L3V = L^3, the energy levels are:

Enx,ny,nz=2π22mL2(nx2+ny2+nz2)E_{n_x, n_y, n_z} = \frac{\hbar^2 \pi^2}{2m L^2} \left(n_x^2 + n_y^2 + n_z^2 \right)
  • To approximate the partition function at high temperatures (many levels populated), we replace the discrete sum with an integral:

Z=nx,ny,nzeβEnx,ny,nz[0dneβ2π22mL2n2]3Z = \sum_{n_x, n_y, n_z} e^{-\beta E_{n_x, n_y, n_z}} \approx \left[ \int_0^\infty dn\, e^{-\beta \frac{\hbar^2 \pi^2}{2m L^2} n^2} \right]^3
  • This is a Gaussian integral:

0ean2dn=12πa\int_0^\infty e^{-a n^2} dn = \frac{1}{2} \sqrt{\frac{\pi}{a}}
Z=[12π2π22mL2β]3=(Lh2πmkBT)3=V(mkBT2π2)3/2=VnQZ = \left[ \frac{1}{2} \sqrt{\frac{\pi}{\frac{\hbar^2 \pi^2}{2m L^2} \beta}} \right]^3 = \left( \frac{L}{h} \sqrt{2 \pi m k_B T} \right)^3 = V \left( \frac{m k_B T}{2\pi \hbar^2} \right)^{3/2} = V n_Q
  • For NN indistinguishable molecules we obtain same result we go for ideal gas!

Z=(VnQ)NN!Z = \frac{(V n_Q)^N}{N!}

Rotational Degrees of Freedom: Rigid Rotor Model

  • For a linear molecule (diatomic rotor), the rotational energy levels are:

EJ=22IJ(J+1),with degeneracy (2J+1)E_J = \frac{\hbar^2}{2I} J(J + 1), \quad \text{with degeneracy } (2J + 1)
  • The partition function is:

Z=J=0(2J+1)eβ22IJ(J+1)Z = \sum_{J=0}^\infty (2J + 1) e^{-\beta \frac{\hbar^2}{2I} J(J + 1)}
  • At high temperatures (kBT2/2Ik_B T \gg \hbar^2 / 2I), this sum can be approximated as an integral:

Z0(2J+1)eβ22IJ(J+1)dJZ \approx \int_0^\infty (2J + 1)\, e^{-\beta \frac{\hbar^2}{2I} J(J + 1)}\, dJ
  • Let x=J(J+1)J2x = J(J+1) \approx J^2 for large JJ:

Z02Jeβ22IJ2dJZ \approx \int_0^\infty 2J\, e^{-\beta \frac{\hbar^2}{2I} J^2}\, dJ
  • This integral is:

0JeaJ2dJ=12a\int_0^\infty J e^{-a J^2} dJ = \frac{1}{2a}
Z1β22I=2IkBT2=TθrotZ \approx \frac{1}{\beta \frac{\hbar^2}{2I}} = \frac{2I k_B T}{\hbar^2} = \frac{T}{\theta_{\text{rot}}}
  • Where θrot=22IkB\theta_{\text{rot}} = \frac{\hbar^2}{2I k_B} is the rotational temperature.

Vibrational Degrees of Freedom: Harmonic Oscillator Model

En=ω(n+12)E_n = \hbar \omega \left(n + \frac{1}{2}\right)
  • Partition function for one oscillator:

z=n=0eβω(n+12)=e12βωn=0(eβω)n=e12βω1eβωz = \sum_{n=0}^\infty e^{-\beta \hbar \omega (n + \frac{1}{2})} = e^{-\frac{1}{2} \beta \hbar \omega} \sum_{n=0}^\infty \left(e^{-\beta \hbar \omega}\right)^n = \frac{e^{-\frac{1}{2} \beta \hbar \omega}}{1 - e^{-\beta \hbar \omega}}
  • For NN independent oscillators:

Z=zNZ = z^N
  • Average energy would then be:

E=logZβ=NlogzβE = -\frac{\partial \log Z}{\partial \beta} = -N \frac{\partial \log z}{\partial \beta}
logz=12βωlog(1eβω)\log z = -\frac{1}{2} \beta \hbar \omega - \log\left(1 - e^{-\beta \hbar \omega} \right)
logzβ=12ω+ωeβω1eβω=12ω+ωeβω1\frac{\partial \log z}{\partial \beta} = -\frac{1}{2} \hbar \omega + \frac{\hbar \omega\, e^{-\beta \hbar \omega}}{1 - e^{-\beta \hbar \omega}} = -\frac{1}{2} \hbar \omega + \frac{\hbar \omega}{e^{\beta \hbar \omega} - 1}
E=Nω(12+1eβω1)E = N \hbar \omega \left( \frac{1}{2} + \frac{1}{e^{\beta \hbar \omega} - 1} \right)

Low and high temperature behaviours of harmonic oscillators

  • Notice the two important limits. At low temperature quantization of energy becomes important while at high temperature result matches with classical mechanics predictions;

  • As T0T \rightarrow 0, eβω1e^{\beta \hbar \omega} \gg 1, so:

EN12ωE \rightarrow N \cdot \frac{1}{2} \hbar \omega
  • As TT \rightarrow \infty, eβω1+βωe^{\beta \hbar \omega} \approx 1 + \beta \hbar \omega:

1eβω11βωENkBT\frac{1}{e^{\beta \hbar \omega} - 1} \approx \frac{1}{\beta \hbar \omega} \Rightarrow E \approx N k_B T
Source
# Temperature range in Kelvin
T_vals = np.linspace(10, 5000, 500)

# Vibrational frequency (typical for molecular vibration)
# Use hbar*omega = energy quantum = ~0.2 eV (~3200 cm^-1 IR band), convert to J
hbar_omega = 0.2 * 1.602e-19  # in J

# Dimensionless variable x = hbar*omega / (k_B * T)
x = hbar_omega / (k_B * T_vals)

# Heat capacity C_v of harmonic oscillator (per mode)
# C_v = k_B * (x^2 * exp(x)) / (exp(x) - 1)^2
C_v = k_B * (x**2 * np.exp(x)) / (np.exp(x) - 1)**2

# Convert C_v to units of k_B
C_v_over_kB = C_v / k_B

# Plot
plt.figure(figsize=(8, 5))
plt.plot(T_vals, C_v_over_kB, color='darkorange')
plt.xlabel("Temperature (K)")
plt.ylabel("Heat Capacity $C_V / k_B$")
plt.title("Heat Capacity of a Quantum Harmonic Oscillator vs Temperature")
plt.grid(True)
plt.tight_layout()
plt.show()
<Figure size 800x500 with 1 Axes>

On heat capacity of harmonic-oscillators

Einstein Model of solids

  • A simple model for solids due to Einstein describes it as NN independent harmonic oscillators representing localized atomic vibrations.

  • The average energy of a quantum harmonic oscillator is:

E=ω(12+1eβω1)\langle E \rangle = \hbar \omega \left( \frac{1}{2} + \frac{1}{e^{\beta \hbar \omega} - 1} \right)
  • The heat capacity is the derivative:

CV=ET=kB(x2ex(ex1)2),x=ωkBTC_V = \frac{\partial \langle E \rangle}{\partial T} = k_B \left( \frac{x^2 e^x}{(e^x - 1)^2} \right), \quad x = \frac{\hbar \omega}{k_B T}

Key predictions of Einstein model of solids

  • At low T: CV0C_V \to 0 — the oscillator is frozen in its ground state.

  • At high T: CVkBC_V \to k_B — classical equipartition is recovered.

Debye Model of Solids

  • The Debye model improves upon Einstein’s and matches experimental data much better than the Einstein model, especially at low temperatures.

  • Main distinguishing features of Debye model are:

    • Treating atomic vibrations as a continuum of phonon modes.

    • Including a full spectrum of frequencies up to a Debye cutoff ωD\omega_D.

    • Predicting the correct low-temperature behavior of solids.

U=9NkBT(TTD)30TD/Tx3ex1dxU = 9 N k_B T \left( \frac{T}{T_D} \right)^3 \int_0^{T_D/T} \frac{x^3}{e^x - 1} dx
CV=9NkB(TTD)30TD/Tx4ex(ex1)2dxC_V = 9 N k_B \left( \frac{T}{T_D} \right)^3 \int_0^{T_D/T} \frac{x^4 e^x}{(e^x - 1)^2} dx

Behavior of Debye Model

  • Low T: CVT3C_V \propto T^3 — from long-wavelength (acoustic) phonons.

  • High T: CV3RC_V \to 3R — classical limit.

Source
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import quad

# Constants
k_B = 1.38e-23        # Boltzmann constant (J/K)
N_A = 6.022e23        # Avogadro's number
R = N_A * k_B         # Gas constant (J/mol·K)

# Debye model parameters
T_D = 400  # Debye temperature in Kelvin (can be adjusted)

# Debye heat capacity function
def debye_integral(x_D):
    integrand = lambda x: (x**4 * np.exp(x)) / (np.exp(x) - 1)**2
    val, _ = quad(integrand, 0, x_D)
    return val

# Temperature range
T_vals = np.linspace(1, 1000, 300)
C_v_debye = []

# Calculate heat capacity at each temperature
for T in T_vals:
    x_D = T_D / T
    if T == 0:
        C_v_debye.append(0)
    else:
        integral = debye_integral(x_D)
        C_v = 9 * R * (T / T_D)**3 * integral
        C_v_debye.append(C_v)

# Convert to numpy array
C_v_debye = np.array(C_v_debye)

# Plot
plt.figure(figsize=(8, 5))
plt.plot(T_vals, C_v_debye / R, color='teal', label="Debye Heat Capacity")
plt.axhline(3, color='gray', linestyle='--', label="Dulong-Petit Limit ($3R$)")
plt.xlabel("Temperature (K)")
plt.ylabel("$C_V / R$")
plt.title("Debye Model Heat Capacity of a Solid")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
/tmp/ipykernel_2876/174881513.py:15: RuntimeWarning: overflow encountered in scalar power
  integrand = lambda x: (x**4 * np.exp(x)) / (np.exp(x) - 1)**2
<Figure size 800x500 with 1 Axes>

Problems

Problem-1 1D energy profiles

Given an energy function E(x)=Ax4Bx2+CE(x)=Ax^4-Bx^2+C with constants (A=1,B=4,C=1)(A=1,B=4,C=1)

  • Compute free energy difference between minima at temperature kBT=1,10,100kBT=1,10, 100

  • Compute free energy around minima of size δx=0.1,0.5,1\delta x = 0.1, 0.5, 1

Problem-2 Maxwell-Boltzman

You are tasked with analyzing the behavior of non-interacting nitrogen gas molecules described by Maxwell-Boltzman distirbution:

f(v)=4π(m2πkBT)3/2v2emv22kBTf(v) = 4\pi \left( \frac{m}{2\pi k_B T} \right)^{3/2} v^2 e^{-\frac{mv^2}{2k_B T}}

Where:

  • f(v) f(v) is the probability density for molecular speed v v

  • m m is the mass of a nitrogen molecule

  • kB=1.38×1023J/K k_B = 1.38 \times 10^{-23} \,\text{J/K} (Boltzmann constant)

  • T T is the temperature in Kelvin

Step 1: Plot the Maxwell-Boltzmann Speed Distribution

At room temperature (T = 300, 400, 500, 600 K), plot the distribution f(v) f(v) for speeds ranging from 0 to 2000 m/s.

Step 2: Identify Most Probable, Average, and RMS Speeds

Compute and print:

  • The most probable speed vmp=2kBTm v_{mp} = \sqrt{\frac{2k_B T}{m}}

  • The mean speed vˉ=8kBTπm \bar{v} = \sqrt{\frac{8k_B T}{\pi m}}

  • The root mean square (RMS) speed vrms=3kBTm v_{rms} = \sqrt{\frac{3k_B T}{m}}

Plot vertical lines on your plot from Step 1 to show these three characteristic speeds.

Step 3: Speed Threshold Analysis

Use numerical integration to calculate the fraction of molecules that have speeds:

  • (a) Greater than 1000 m/s

  • (b) Between 500 and 1000 m/s

Hint: Use scipy.integrate.quad to numerically integrate the Maxwell-Boltzmann distribution.

Problem-3 Elastic Collisions

Complete the lab

  • In this problem need to modify the code to add elastic collisions to the ideal gas simulations

Problem-4 Elementary derivation of Boltzmann’s distirbution

Let us do an elementary derivation of Boltzman distribution showing that when a macroscopic system is in equilibrium and coupled to a heat bath at temperatere TT we have a universal dependence of probability for finding system at different energies:

P(r)/P(r)=eβ(U(r)U(r))\boxed{P(r')/P(r)=e^{-\beta (U(r)-U(r'))}}

The essence of the derivation is this. Consider a vertical column of gas somehre in the mountains.

  • On one hand we have graviational force which acts on a column between h,h+dhh, h+dh with cross section AA.

  • On the other hand we have pressure balance which thankfully keeps the molecules from dropping on the ground.

  • This means that we have a steady density of molecules at each distance n(h)n(h) for a fixed TT. Write down this balance of forces (gravitational vs pressure ) and find show how density at hh, n(h)n(h) is related to density at h=0h=0, n(0)n(0).

Tip: you may use P=nkTP=nkT for pressure and mghmgh for the gravitational force)

Problem-5 2D diploes on a lattice

Consider a 2D square lattice with MM lattice points. On each point we have a mangeetic moment that can point in four possible directions: +x,x,+y,y+x, -x, +y, -y. Along yy axis, the dipole has the energy ϵ>0\epsilon>0 and along the x axis ϵ=0\epsilon=0.

Dipoles are not interacting with each other and we also ingnore kinetic energy of diplos since they are fixed at lattice positions.

  • Write down parition function for this system ZZ

  • Compute the average energy.

  • Compute entropy per dipole s(T)s(T). Evaluate the difference S(T=)S(T=0)S(T=\infty)-S(T=0)? Can you see a link with number of arrangements of dipols?

  • Compute microcanonical partition function Ω(Nϵ)\Omega (N\epsilon)

  • Show that we get the same entropy expression by using NVENVE and NVTNVT ensembles.