diff --git a/quad8/fiesta/homework/entrega1/main.tex b/quad8/fiesta/homework/entrega1/main.tex
index f1a2e2f..82f1df5 100644
--- a/quad8/fiesta/homework/entrega1/main.tex
+++ b/quad8/fiesta/homework/entrega1/main.tex
@@ -7,26 +7,9 @@
 \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
diff --git a/quad8/fiesta/homework/entrega2/main.tex b/quad8/fiesta/homework/entrega2/main.tex
new file mode 100644
index 0000000..712f0b7
--- /dev/null
+++ b/quad8/fiesta/homework/entrega2/main.tex
@@ -0,0 +1,214 @@
+\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}
diff --git a/quad8/fiesta/homework/entrega2/p3d.png b/quad8/fiesta/homework/entrega2/p3d.png
new file mode 100644
index 0000000..24ca083
--- /dev/null
+++ b/quad8/fiesta/homework/entrega2/p3d.png
Binary files differ
diff --git a/quad8/fiesta/homework/preamble.tex b/quad8/fiesta/homework/preamble.tex
index 75a52d4..217547f 100644
--- a/quad8/fiesta/homework/preamble.tex
+++ b/quad8/fiesta/homework/preamble.tex
@@ -124,3 +124,22 @@
 % Tensor commands:
 \newcommand*{\TT}[1]{\bar{\bar{#1}}}
 \newcommand*{\dev}[0]{\text{dev}\,}
+
+% Corrections:
+\newif\ifshowcorrections
+
+\newcommand{\correction}[1]{%
+  \ifshowcorrections%
+    {\color{red} #1}%
+  \else%
+    #1%
+  \fi%
+}%
+
+\newcommand{\formulacorrection}[1]{%
+  \ifshowcorrections%
+    \textcolor{red}{#1}%
+  \else%
+    #1%
+  \fi%
+}%
