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

\input{../preamble.tex}

\title{Entrega 1 de problemes\\Física Estadística}
\author{Adrià Vilanova Martínez}
\date{11 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

\ifshowcorrections
{
  \color{red}
  \textbf{\textsc{Valoració personal:}} Donat que les úniques correccions que he fet són maneres diferents d'expresar els resultats o comentaris addicionals al que es demanava a l'exercici (on s'interpreten els resultats), em posaria un \textbf{\underline{9.8}} degut al fet que he realitzat tots els apartats correctament, exceptuant un error tipogràfic al final de l'exercici 3.a) (m'havia oblidat un factor $h^2$ al denominador).

  Tot i així, m'agradaria fer notar que sense tenir una rúbrica de correcció és difícil posar-se una nota objectiva a si mateix, degut al fet que és difícil ser imparcial. De fet, en molts examens, o bé sóc massa optimista respecte la nota que hauria d'haver tret, o sóc molt pessimista.

  \textsc{Nota}: Les correccions són el text en color vermell. \\
}
\fi

\begin{Problem}
  $N$ partícules d'un gas ideal es troben dins d'un recipient ocupant posicions discretes tant al seu interior com a la seva superfície. Considera que hi ha un total de $M + N$ cel·les disponibles dins el recipient, $N$ de les quals a la superfície del mateix, tal i com s'indica esquemàticament a la Figura 1.

  Cada partícula del gas disminueix l'energia del sistema una quantitat $\varepsilon$ quan es troba a la superfície del recipient, és a dir, que l'energia del sistema amb $n$ ($n \leq N$) partícules adsorbides a la superfície ve donada per $E = - n \varepsilon$. Tanmateix, suposa que l'energia cinètica del gas és menyspreable.

  \begin{enumerate}[(a)]
    \item Troba l'entropia en funció del nombre de partícules a la superfície, $n$.

    \item Obté una expressió que relacioni $n$ amb la temperatura $T$ del sistema (no cal que sigui una relació explícita).

    \item Troba $n$ quan $T = 0$. Calcula també la fracció $\frac{n}{N}$ en el límit d'alta temperatura. Discuteix els resultats.
  \end{enumerate}
\end{Problem}

\textbf{Solució de (a):} \\
Calcularem el nombre de microestats per cada macroestat (depenent d'$n$), i a partir de la fórmula de l'entropia de Boltzmann calcularem l'entropia.

Si tenim $n$ partícules adsorbides a la superfície, aleshores això vol dir que $N - n$ estan a l'interior del recipient. Per tant, per comptar el nombre de microestats hem de considerar totes les combinacions de posicions que poden prendre aquestes partícules a les cel·les del recipient, amb el benentés que suposem que les partícules són indistingibles.

El nombre de combinacions de les partícules a la superfície serà $N \choose n$, i el nombre de combinacions de les partícules a l'interior serà $M \choose N - n$. Per tant:
\[ \Omega(n) = {N \choose n} {M \choose N - n}. \]

Substituint aquest valor a la fórmula de l'entropia de Boltzmann obtenim:
\[ S = K_B \log(\Omega(n)) = K_B \log(\frac{N! \, M!}{((N - n)!)^2 \, n! \, (M - N + n)!}) = \]
\[ = K_B [\log(N!) + \log(M!) - 2 \log((N - n)!) - \log(n!) - \log(M - N + n)!] \lnotate[X]{{}\approx{}}{1}{\scriptstyle \text{Aprox. de Stirling}} \]
\[ \begin{split}
   \approx K_B [ & N \log(N) - \cancel{N} + M \log(M) - \cancel{M} - 2( (N - n) \log(N - n) - (\cancel{N} - \cancel{n}) ) - \\
  & - n \log(n) + \cancel{n} - (M - N + n) \log(M - N + n) + \cancel{M} - \cancel{N} + \cancel{n} ] =
\end{split}\]
\[ = K_B [ N \log(N) + M \log(M) - 2(N - n) \log(N - n) - n \log(n) - (M - N + n) \log(M - N + n) ]. \]

\textbf{Solució de (b):}
\[ \frac{1}{T} = \frac{\partial S(E)}{\partial E} = \frac{\partial S(n)}{\partial n} \frac{\partial n}{\partial E} \notate[X]{{}={}}{1}{n = - \frac{E}{\varepsilon}} - \frac{K_B}{\varepsilon} [ 2 \log(N - n) + \cancel{2} - \log(n) - \cancel{1} - \log(M - N + n) - \cancel{1} ] \implies \]
\[ \implies \frac{1}{T} = - \frac{K_B}{\varepsilon} [ 2 \log(N - n) - \log(n) - \log(M - N + n) ]. \]

\correction{A més a més, l'expressió també es pot rescriure com:
  \[ \frac{1}{T} = - \frac{K_B}{\varepsilon} \log(\frac{(N - n)^2}{n(M - N + n)}) \implies \frac{(N - n)^2}{n (M - N + n)} = \exp\left( - \frac{\varepsilon}{K_B T} \right). \]}

\textbf{Solució de (c):}
\[ T \to 0 \implies \frac{1}{T} \to + \infty \implies - \log(\frac{(N - n)^2}{n (M - N + n)}) \to \infty \implies \frac{(N - n)^2}{n((M - N + n))} \to 0. \]

Observem que l'únic valor de $n$ que fa que l'expressió valgui 0 és $N = n$\correction{\ (que vol dir que tots els $N$ àtoms es troben a la superfície del recipient)}, així que aquest és el límit d'$n$ que buscàvem.

No obstant, segons les matemàtiques en principi hauríem de comprovar també si quan $n \to \infty$ o $n \to - \infty$ s'obté que $\frac{(N - n)^2}{n((M - N + n))} \to 0$.

El segon cas no té sentit físic ja que $n > 0$. I el primer cas tampoc, ja que com $n \leq N$ tindríem que $N \to \infty$, i nosaltres estem considerant el cas en què $N$ està fixat.

Ara calculem la fracció $\frac{n}{N}$ en el límit d'alta temperatura:
\[ T \to \infty \implies \frac{1}{T} \to 0 \implies \log(\frac{(N - n)^2}{n (M - N + n)}) \to 0 \implies \frac{(N - n)^2}{n (M - N + n)} = 1 \implies \]
\[ \implies N^2 + \cancel{n^2} - 2Nn = nM - nN + \cancel{n^2} \implies N^2 = nM + nN = n(M + N) \implies \]
\[ \implies n = \frac{N^2}{M + N} \implies \frac{n}{N} = \frac{N}{M + N}. \]
\correction{Això ens indica que l'ocupació de les posicions a la superfície del recipient és idèntica a la de qualsevol altra cel·la del sistema.}

\newpage

\begin{Problem}
  Un gas ideal reticular de $N_A$ àtoms es troba dins un volum $V$ format per $N_0$ cel·les de volum $v_0$. Considereu que $N_A < N_0$ i que només podem posar un àtom a cada cel·la. El volum total és $V = N_0 v_0$, i el volum ocupat pels àtoms $V_a = N_a v_0$. Es tracta d'estudiar aquest sistema a la col·lectivitat microcanònica.

  \begin{enumerate}[(a)]
    \item Trobeu el nombre de microestats $\Omega(N_0, N_a)$ i l'entropia $S(N_0, N_a)$ del gas.

    \item Trobeu la pressió o equació d'estat $P(V, N_a, T)$ del gas.

    \item Representeu qualitativament en un diagrama ($P, v = \frac{V}{N_a}$) el comportament de dues isotermes del gas amb temperatures $T_2 < T_1$.

    \item Determineu l'equació d'estat en el límit de baixa densitat ($V_a \ll V$) i discutiu el resultat.
  \end{enumerate}
\end{Problem}

\textbf{Solució de (a):} \\
El nombre de microestats en funció del nombre de cel·les i el nombre d'àtoms, entenent que cada àtom és distingible dels altres, és:
\[ \Omega(N_0, N_a) = {N_0 \choose N_a}. \]
L'entropia serà, doncs:
\[ S(N_0, N_a) = K_B \log(\Omega(N_0, N_a)) \notate[X]{{}\approx{}}{1}{\scriptstyle \text{Aprox. de Stirling}} K_B [ N_0 \log(N_0) - N_a \log(N_a) - (N_0 - N_a) \log(N_0 - N_a) ] = \]
\correction{\[ = ... = - N_0 K_B \left[ \left( \frac{N_a}{N_0} \right) \log(\frac{N_a}{N_0}) + \left( 1 - \frac{N_a}{N_0} \right) \log(1 - \frac{N_a}{N_0}) \right]. \]}

\textbf{Solució de (b):} \\
Deduïrem la pressió del gas a partir d'una fòrmula que vam veure a teoria:
\[ \frac{P}{T} = \left( \frac{\partial S}{\partial V} \right)_{E, N_a} = \left( \frac{\partial S}{\partial N_0} \frac{\partial N_0}{\partial V} \right)_{E, N_a} \notate[X]{{}={}}{1}{V = N_0 v_0} \frac{K_B}{v_0} [\log(N_0) - \log(N_0 - N_a)] \implies \]
\[ \implies P(N_0, N_a, T) = \frac{K_B T}{v_0} \log(\frac{N_0}{N_0 - N_a}) \implies \]
\[ \implies P(V, N_a, T) = - \frac{K_B T}{v_0} \log(\frac{N_0 - N_a}{N_0}) = - \frac{K_B T}{v_0} \log(1 - \frac{N_a v_0}{V}). \]

\newpage

\textbf{Solució de (c):}

\begin{figure}[H]
  \centering
  \includegraphics{p2c.pdf}
  \caption{Diagrama que mostra $P$ en funció de $v = \frac{V}{N_a}$ per dues isotermes amb $T_2 < T_1$.}
\end{figure}

\textbf{Solució de (d):}
\[ P = - \frac{K_B T}{v_0} \log(1 - \frac{V_a}{V}) \notate[X]{{}={}}{1}{V_a \ll V, \text{ Taylor a 1r ordre}} \frac{K_B T}{v_0} \frac{V_a}{V}. \]

\correction{Utilitzant el fet que $V_a = N_a v_0$, podem expresar la pressió en termes de $N_a$:
\[ P = \frac{K_B T N_a}{V} \]}

\newpage

\begin{Problem}
  En un model de sòlid molecular, les molècules es troben localitzades als nusos d'una xarxa cristal·lina però són lliures de rotar al voltant d'un eix, per exemple l'eix $z$, perpendicular al paper, tal i com s'indica a la Figura 2. Considereu que les molècules són independents, i que l'estat microscòpic de cada una d'elles queda especificat per un angle de rotació $\theta$, tal que $0 \leq \theta < 2 \pi$, i un moment angular conjugat $l$ al voltant de l'eix $z$, tal que $- \infty < l < \infty$.

  L'energia de cada molècula és independent de $\theta$ i només depèn del moment angular, de manera que el Hamiltonià del sistema ve donat per l'expressió:
  \[ \mathcal{H} = \sum_i^N \frac{l_i^2}{2 I}, \]
  amb $I$ el moment d'inèrcia d'una molècula.

  \begin{enumerate}[(a)]
    \item Troba el número $\Omega$ de microestats accesibles a l'espai de les fases per a un sistema amb energia $E$ a la col·lectivitat microcanònica. Ajut: fes servir el mateix tipus d'aproximacions que vam fer per al cas d'un gas ideal.

    \item Calcula la temperatura del sistema i obté una expressió per a l'energia del sistema en funció de la temperatura, $E(T, N)$. Discuteix el resultat obtingut.
  \end{enumerate}
\end{Problem}

\textbf{Solució per (a):}
\[ \Omega = \frac{1}{h^N} \left( \int_0^{2\pi} d\theta \right)^N \left( \int_S dl \right)^N, \]
on
\[ S := \{ (l_1, \ldots, l_n) \in \mathbb{R}^N : \sum_i^N l_i^2 = 2IE \}. \]
És a dir, $S$ és la superfície de la bola d'$\mathbb{R}^N$ amb centre $0$ i radi $R := \sqrt{2IE}$.

Sabem que una bola qualsevol a $\mathbb{R}^d$ amb radi $R$ té la següent superfície:
\[ S_d = \frac{2 \pi^{\frac{d}{2}}}{\Gamma\left( \frac{d}{2} \right)} R^{d - 1}. \]

Per tant, en el nostre cas:
\[ \Omega = \left( \frac{2 \pi}{h} \right)^N \frac{2 \pi^{\frac{N}{2}}}{\Gamma\left( \frac{N}{2} \right)} R^{N - 1} \approx \left( \frac{2 \pi}{h} \right)^N \frac{(\pi R^2)^{\frac{N}{2}}}{\left( \frac{N}{2e} \right)^{\frac{N}{2}}} = \left( \frac{16 \pi^2 I E e}{\formulacorrection{h^2} N} \right)^{\frac{N}{2}}. \]

\textbf{Solució per (b):} \\
Per la fórmula de l'entropia de Boltzmann sabem que $S = K_B \log(\Omega)$. Aleshores:
\[ \frac{1}{T} = \left( \frac{\partial S}{\partial E} \right)_{N, V} = K_B \frac{N}{2} \frac{\Omega}{E \Omega} = \frac{N K_B}{2E} \implies \]
\[ \implies T = \frac{2E}{N K_B} \implies E = \frac{1}{2} N K_B T \]

\correction{És a dir, l'\underline{energia} d'aquest sistema de ``rotors'' independents amb un hamiltonià de tipus harmònic obeeix el \underline{teorema d'equipartició de l'energia}: $N$ graus de llibertat $\cross \; \frac{1}{2} K_B T$.}

\end{document}
