diff --git a/quad8/fiesta/homework/entrega1/main.tex b/quad8/fiesta/homework/entrega1/main.tex
new file mode 100644
index 0000000..f1a2e2f
--- /dev/null
+++ b/quad8/fiesta/homework/entrega1/main.tex
@@ -0,0 +1,178 @@
+\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}
