\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}

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

\newcommand{\correction}[1]{%
  \ifshowcorrections%
    {\color{red} #1}%
  \else%
    #1%
  \fi%
}%

\newcommand{\formulacorrection}[1]{%
  \ifshowcorrections%
    \textcolor{red}{#1}%
  \else%
    #1%
  \fi%
}%

\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}
