\documentclass[11pt,a4paper,dvipsnames]{article}
\usepackage[utf8]{inputenc}

\input{../preamble.tex}

\title{Entrega 2 de problemes\\Física Estadística}
\author{Adrià Vilanova Martínez}
\date{26 de maig, 2021}

\showcorrectionstrue % Change "true" to "false" in order to show corrections as
                     % if they weren't corrections (in black instead of red).

\begin{document}

\maketitle

\begin{Problem}
  Considereu $n$ ions magnètics independents localitzats en els nusos d'una xarxa i amb un hamiltonià de la forma
  \[ \mathcal{H} = D \sum_{i=1}^N S_i^2 - \mu H \sum_{i=1}^N S_i, \]
  on $D$ i $\mu$ són constants positives, $H$ és el mòdul del camp magnètic i la variable $S_i$ pot prendre els valors $-1, 0, +1$.

  \begin{enumerate}[a)]
    \item Caracteritzeu l'estat fonamental ($T = 0$) d'aquest sistema, és a dir l'energia mínima del sistema i el valor promig de les variables $\langle S_i \rangle$ i $\langle S_i^2 \rangle$ corresponents, en funció de la relació entre les magnituds $D$ i $\mu H$ de l'Hamiltonià.
  \end{enumerate}

  Si el sistema es troba en contacte amb un bany tèrmic a temperatura $T$ finita, calculeu:

  \begin{enumerate}[a)]
    \setcounter{enumi}{1}
    \item La funció de partició canònica corresponent.

    \item La magnetització $\mu \langle S_i \rangle$ i l'anomenat moment quadrupolar $D \langle S_i^2 \rangle$.

    \item L'energia mitjana del sistema. Discutiu breument el resultat obtingut en els límits d'altes i baixes temperatures.
  \end{enumerate}
\end{Problem}

\textbf{Solució d'a):} \\
L'Hamiltonià es pot rescriure de la següent manera, donat que $S_i \in \{ -1, 0, +1 \}$:
\[ \mathcal{H} = \sum_{i=1}^N (D |S_i| - \mu H S_i) = \sum_{i=1}^N f(S_i), \]
on definim la funció $f(S_i)$ com:
\[ f(S_i) = \begin{cases}
  D + \mu H, & (\text{si } S_i = -1) \\
  0, & (\text{si } S_i = 0) \\
  D - \mu H. & (\text{si } S_i = 1)
\end{cases} \]
Donat que $D, \mu, H > 0$ tenim que $f(-1) > 0$ i, per tant, una partícula amb $S_i = -1$ sempre augmentarà l'energia del sistema.

Una partícula amb $S_i = 0$ deixarà l'energia igual, i per una partícula amb $S_i = 1$ tot dependrà de la relació entre $D$ i $\mu H$, així que separem casos tal com demana l'enunciat:

\begin{enumerate}[(i)]
  \item \textbf{Si $D > \mu H$}:

  En aquest cas tenim que $f(1) > 0$ i, per tant, a l'estat fonamental totes les partícules estaran a l'estat on $S_i = 0$ (el que té energia més petita), i per tant l'energia de l'estat fonamental serà:
  \[ E_0 = 0. \]
  Per tant, els valors promigs seran:
  \[ \langle S_i^2 \rangle = \langle S_i \rangle = 0. \]

  \item \textbf{Si $D < \mu H$}:

  En aquest cas tenim que $f(1) < 0$ i, per tant, l'estat d'energia mínima és el que té $S_i = 1$. Per tant, totes les partícules estaran en aquest estat i, per tant, tindrem:
  \[ E_0 = \sum_{i=1}^N f(1) = N(D - \mu H), \]
  \[ \langle S_i^2 \rangle = \langle S_i \rangle = 1. \]

  \item \textbf{Si $D = \mu H$}:

  En aquest cas límit (que de fet potser no caldria considerar, ja que és de mesura nul·la), $f(1) = f(0) = 0$ i, per tant, a l'estat fonamental les partícules poden estar amb $S_i \in \{ 0, 1 \}$. Així doncs, tenim un estat degenerat. Pel postulat d'equiprobabilitat a priori, podem calcular els valors promig de $S_i$ i $S_i^2$:
  \[ E_0 = 0, \]
  \[ \langle S_i^2 \rangle = \langle S_i \rangle = \frac{1}{2}. \]
\end{enumerate}

\textbf{Solució de b):} \\
La funció de partició canònica d'un dels ions magnètics és:
\[ Z_1 = \sum_{j} e^{-\beta E_j} = e^{-\beta (D + \mu H)} + e^{-\beta (D - \mu H)} + 1 = e^{-\beta D} 2 \cosh(\beta \mu H) + 1. \]
Per tant, com l'enunciat menciona que els ions són independents i a més són distingibles degut al fet que estan als nusos d'una xarxa, la funció de partició canònica de tot el sistema és:
\[ Z \equiv Z_N = [Z_1]^N = [e^{-\beta D} 2 \cosh(\beta \mu H) + 1]^N. \]

\textbf{Solució de c):} \\
De teoria sabem que
\[ \langle E \rangle = - \left( \frac{\partial \log Z}{\partial \beta}\right)_{N, V} = - N \left( \frac{\partial \left[ \log(e^{-\beta D} 2 \cosh(\beta \mu H) + 1) \right]}{\partial \beta} \right)_{N, V} = \]
\[ = N\left[ \frac{2 e^{-\beta D} (D \cosh(\beta \mu H) - \mu H \sinh(\beta \mu H))}{2 e^{-\beta D} \cosh(\beta \mu H) + 1} \right]. \]
Per altra banda:
\[ \langle E \rangle = \left\langle D \sum_{i=1}^N S_i^2 - \mu H \sum_{i=1}^N S_i \right\rangle = N (D \langle S_i^2 \rangle - \mu H \langle S_i \rangle).
\]
Comparant ambdues expressions, veiem que l'única possibilitat que siguin iguals per qualsevol valor de les variables és que tinguem:
\[ D \langle S_i^2 \rangle = D \frac{\gamma \cosh(\beta \mu H)}{\gamma \cosh(\beta \mu H) + 1}, \]
\[ \mu \langle S_i \rangle = \mu \frac{\gamma \sinh(\beta \mu H)}{\gamma \cosh(\beta \mu H) + 1}, \]
on $\gamma := 2e^{-\beta D}$.

\textbf{Solució de d):}
El valor del promig de l'energia ja l'hem trobat a la secció anterior.

En el límit de baixes temperatures ja hem discutit quant valen els valors promigs de $S_i$ i $S_i^2$ a l'apartat a). A partir del que hem trobat allà i l'última expressió de $\langle E \rangle$ de l'apartat anterior obtenim:
\[ \lim_{\beta \to \infty} \langle E \rangle = \lim_{\beta \to \infty} N (D \langle S_i^2 \rangle - \mu H \langle S_i \rangle) = \begin{cases}
  N(D - \mu H), & (\text{si } D < \mu H) \\
  \frac{1}{2} N (D - \mu H), & (\text{si } D = \mu H) \\
  0. & (\text{si } D > \mu H)
\end{cases} \]

Veiem que aquests valors coincideixen amb allò que hem vist a l'apartat a), exceptuant el cas en què $D = \mu H$. És possible que això sigui perquè la funció $\langle E$ no convergeix com a funció dins de l'espai de funcions contínues a troços, sinó com a part d'un espai com $L^2(\mathbb{R})$, on les funcions que prenen els mateix valors quasi per tot (és a dir, només difereixen en un conjunt de punts de mesura nul·la) es consideren idèntiques.

En el límit d'altes temperatures tenim:
\[ \lim_{\beta \to 0} \langle E \rangle = \frac{2}{3} ND. \]

\newpage

\begin{Problem}
  Un gas ideal de $N$ partícules indistingibles i independents de massa $m$ es troba entre dues parets rígides perpendiculars a l'eix $x$, localitzades a $z = \pm \frac{L}{2}$, i sotmés a l'acció d'un potencial confinant harmònic de la forma:
  \[ V(x, y) = \frac{a}{2} x^2 + \frac{b}{2} (y - y_0)^2, \]
  amb $a$ i $b$ dos constants positives. El gas es troba en condicions d'equilibri tèrmic a temperatura $T$.

  Calculeu:

  \begin{enumerate}[a)]
    \item La funció de partició $Z(N, L, T)$ del sistema.

    \item La ``pressió'' $f_z = - \left( \frac{\partial F}{\partial L} \right)_{N, T}$ (noteu que en aquest cas es tracta d'una força al llarg de l'eix $z$) exercida pel gas sobre les parets rígides.

    \item L'energia interna $U$ i l'entropia del gas $S$.

    \item Si el gas es refreda adiabàticament (per tant, amb $\Delta S = 0$) disminuïnt el valor de la constant $b$ del potencial harmònic des d'un valor inicial $b_i$ fins a un valor final $b_f$, trobeu la temperatura final $T_f$ en termes de la temperatura inicial $T_i$ i dels valors $b_i$ i $b_f$.
  \end{enumerate}
\end{Problem}

\textbf{Solució d'a):} \\
La funció de partició canònica d'una partícula del gas és:
\[ Z_1 = \frac{1}{h^3} \int_{\mathbb{R}^3} d^3 \vec{p} \int_\mathbb{V} dv \, e^{-\beta \frac{p^2}{2m} - \beta V(x, y)} = \]
\[ = \frac{1}{h^3} \int_{\mathbb{R}^3} d^3 \vec{p} e^{-\beta \frac{p^2}{2m}} \int_{-\infty}^\infty dx \int_{-\infty}^\infty dy \int_{-\frac{L}{2}}^{\frac{L}{2}} dz e^{-\beta V(x, y)} = \]
\[ = \frac{1}{h^3} \left( \frac{2 \pi m}{\beta} \right)^\frac{3}{2} L \int_{\mathbb{R}^2} dx \, dy \, e^{-\beta \frac{a}{2} x^2 -\beta \frac{b}{2} (y - y_0)^2} = \]
\[ = \frac{L}{h^3} \left( \frac{2 \pi m}{\beta} \right)^\frac{3}{2} \sqrt{\frac{2 \pi}{\beta a}} \sqrt{\frac{2 \pi}{\beta b}} = \]
\[ = \frac{L}{h^3} \left( \frac{2 \pi m}{\beta} \right)^\frac{5}{2} \left( \frac{1}{ab} \right)^{\frac{1}{2}}. \]
Com les partícules del gas són indistingibles, obtenim:
\[ Z(N, L, T) = \frac{1}{N!} [Z_1]^N = \frac{1}{N!} \left( \frac{L}{h^3} \right)^N \left( \frac{2 \pi m}{\beta} \right)^\frac{5N}{2} \left( \frac{1}{ab} \right)^{\frac{N}{2}}. \]

\textbf{Solució de b):}
\[ F = - K_B T \log(Z) = N K_B T \log(N!) - N K_B T \log(Z_1) \implies \]
\[ f_z = - \left( \frac{\partial F}{\partial L} \right)_{N, T} = N K_B T \left( \frac{\partial \log(Z_1)}{\partial L} \right)_{N, T} = \frac{N K_B T}{Z_1} \left( \frac{\partial Z_1}{\partial L} \right)_{N, T} = \]
\[ = \frac{N K_B T}{\cancel{Z_1}} \frac{\cancel{Z_1}}{L} = \frac{N K_B T}{L}. \]

\textbf{Solució de c):}
\[ U = - \left( \frac{\partial \log(Z)}{\partial \beta} \right)_{N, L} = - N \left( \frac{\partial \log(Z_1)}{\partial \beta} \right)_{N, L} = - \frac{5}{2} \left( - \frac{N}{\beta} \right) = \frac{5}{2} N K_B T. \]
\[ S = - \left( \frac{\partial F}{\partial T} \right)_{N, L} = N K_B \left( - \log(N!) + \log(Z_1) - T \left( \frac{\partial \log(Z_1)}{\partial T} \right)_{N, L} \right) = \]
\[ = N K_B \left( \log(\frac{Z_1}{N!}) + \frac{5}{2} \right). \]

\textbf{Solució de d):} \\
Si $\Delta S = 0$, aleshores necessàriament les funcions de partició inicial i final seran iguals, degut a l'expressió de l'entropia que hem trobat a l'apartat anterior. Així doncs:
\[ \frac{L}{h^3} \left( \frac{2 \pi m}{\beta_i} \right)^\frac{5}{2} \left( \frac{1}{a b_i} \right)^{\frac{1}{2}} = \frac{L}{h^3} \left( \frac{2 \pi m}{\beta_f} \right)^\frac{5}{2} \left( \frac{1}{a b_f} \right)^{\frac{1}{2}} \implies \]
\[ \implies \frac{T_i^\frac{5}{2}}{b_i^\frac{1}{2}} = \frac{T_f^\frac{5}{2}}{b_f^\frac{1}{2}} \implies T_f = T_i \left( \frac{b_f}{b_i} \right)^\frac{1}{5}. \]

\newpage

\begin{Problem}
  Una sal polar es pot modelitzar com un conjunt de $N$ dipols elèctrics situats en els nusos d'una xarxa cristal·lina cúbica a temperatura $T$. Aquests dipols de magnitud $p$ poden adoptar 6 possibles orientacions $(\pm p, 0, 0)$, $(0, \pm p, 0)$, $(0, 0, \pm p)$. En presència d'un camp elèctric, l'energia d'un dipol és $\varepsilon = - \vec{p} \cdot \vec{E}$. Si considerem que el camp elèctric està orientat segons l'eix $Z$, $\vec{E} = (0, 0, E)$, determineu:

  \begin{enumerate}[a)]
    \item La funció de partició del sistema.

    \item L'energia interna del sistema. Analitzeu els límits d'alta i baixa temperatura i raoneu els resultats.

    \item L'entropia del sistema. Analitzeu els límits d'alta i baixa temperatura i raoneu els resultats.

    \item Representeu esquemàticament la capacitat calorífica del sistema en funció de la temperatura i raoneu el resultat.
  \end{enumerate}
\end{Problem}

\textbf{Solució d'a):} \\
Suposarem que els dipols són independents, degut al fet que cadascun pot prendre una orientació independentment dels altres. Així doncs, la funció de partició canònica per a cada dipol és:
\[ Z_1 = 4 + e^{- \beta p E} + e^{\beta p E} = 4 + 2\cosh(\beta p E). \]

Per tant, per tot el sistema, donat que els dipols són distingibles:
\[ Z_N = [Z_1]^N = [4 + 2\cosh(\beta p E)]^N. \]

\textbf{Solució de b):}
\[ U = - \left( \frac{\partial \log(Z_N)}{\partial \beta} \right)_{N, V} = -N \left( \frac{\partial \log(Z_1)}{\partial \beta} \right)_{N, V} = - N \frac{2pE \sinh(\beta p E)}{4 + 2 \cosh(\beta p E)} = \]
\[ = - p E N \frac{\sinh(\beta p E)}{2 + \cosh(\beta p E)}. \]

Als límits de temperatura tenim:
\[ \lim_{T \to \infty} U = \lim_{\beta \to 0} U = 0, \]
\[ \lim_{T \to 0} U = \lim_{\beta \to \infty} U = -pEN. \]
A temperatures altes, sembla que d'acord amb el teorema d'equipartició cada dipol adopta una orientació aleatòriament distribuida, i per tant les energies dels dipols en les direccions del camp es cancel·len i de mitja dóna 0.

Per altra banda, a temperatures properes a 0 veiem que els dipols tendeixen a l'energia mínima, que correspon al cas en què tots els dipols tenen una orientació contrària al camp.

\textbf{Solució de c):}
\[ S = - \left( \frac{\partial F}{\partial T} \right)_{N, V} = K_B \left( \log(Z_N) + T \left( \frac{\partial \log(Z_N)}{\partial T} \right)_{N, V} \right) = \]
\[ = K_B \log(Z_N) + N K_B T \frac{1}{Z_1} 2 \sinh(\beta p E) \frac{p E}{K_B T^2} = \]
\[ = N K_B \left( \log(Z_1) - \beta p E \frac{\sinh(\beta p E)}{2 + \cosh(\beta p E)} \right). \]

A temperatures properes al 0 tenim:
\[ \lim_{T \to 0} S = \lim_{\beta \to \infty} S = 0, \]
el que quadra amb el que hem vist anteriorment del fet que tots els dipols estan orientats en sentit contrari al camp (i per tant l'estat fonamental està unívocament determinat) per minimitzar l'energia.

A temperatures prou altes tenim:
\[ \lim_{T \to \infty} S = \lim_{\beta \to 0} S = N K_B \log(6). \]
Aquesta expressió coincideix amb la de l'entropia de Boltzmann, si tenim en compte que tenim $N$ dipols i cadascun pot estar en $6$ microestats diferents (és a dir, el nombre total de microestats és $6^N$):
\[ S_\text{Boltzmann} = K_B \log(6^N) = N K_B \log(6). \]

\textbf{Solució a d):}
\[ C_v = \left( \frac{\partial U}{\partial T} \right)_{N, V} = N (pE)^2 \frac{1}{2 K_B T^2} \frac{\sinh(2 \beta p E)}{(2 + \cosh(2 \beta p E))^2}. \]

\[ \lim_{T \to 0} C_v = 0, \]
\[ \lim_{T \to \infty} C_v = 0. \]

Això és així perquè per a temperatures properes a 0, com hem vist anteriorment tots els dipols tendeixen a l'estat fonamental amb energia constant $pE \neq 0$ i, per tant $C_v \to 0$. A temperatures altes també tenim que tendeix a una constant, i per tant també $C_v \to 0$.

A partir de l'expressió que hem trobat, comprovem que en el 0 $C_v$ cau exponencialment (per les funcions hiperbòliques) i a l'infinit cau com $\frac{1}{T^2}$.

\begin{figure}[H]
  \centering
  \includegraphics[width=10cm]{p3d.png}
  \caption{Gràfica de $C_v(T)$.}
\end{figure}

\end{document}
