diff --git a/tasques/CicledeCarnot.jpg b/tasques/CicledeCarnot.jpg
new file mode 100755
index 0000000..41b3ce3
--- /dev/null
+++ b/tasques/CicledeCarnot.jpg
Binary files differ
diff --git a/tasques/tasques.tex b/tasques/tasques.tex
new file mode 100644
index 0000000..9b185ab
--- /dev/null
+++ b/tasques/tasques.tex
@@ -0,0 +1,356 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage[utf8x]{inputenc}
+\usepackage[catalan]{babel}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage[labelfont=bf]{caption}
+\usepackage{siunitx}
+\usepackage{geometry}
+\geometry{top=25mm}
+\usepackage{amsmath}
+\usepackage{booktabs}
+\usepackage{chemformula}
+\usepackage{multicol}
+%\usepackage{hyperref} %@TODO: Enable later
+
+\usepackage{tikz}
+\usetikzlibrary{positioning}
+
+\usepackage{pgfplotstable}
+\pgfplotsset{compat=1.16}
+\pgfplotstableset{
+empty cells with={--}, % replace empty cells with ’--’
+every head row/.style={before row=\toprule,after row=\midrule},
+every last row/.style={after row=\bottomrule}%,
+%every even row/.style={
+%before row={\rowcolor[gray]{0.9}}}, % Add this for stylish tables ;)
+%begin table=\begin{longtable},
+%end table=\end{longtable}
+}
+
+\DeclareSIUnit{\calorie}{cal}
+
+\setlength{\parskip}{1em}
+
+\pagestyle{fancy}
+\fancyhf{}
+\rhead{Adrià Vilanova Martínez}
+\lhead{Tasques Termodinàmica}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{\vspace{-2ex}Tasques Termodinàmica curs 2020-2021\vspace{-2ex}}
+\author{Adrià Vilanova Martínez\vspace{-2ex} }
+\date{Tardor 2020}
+
+\begin{document}
+  \maketitle
+
+  \textbf{Tasca 1. En $\SI{1}{\milli\meter\cubed}$ d'aigua, quantes mol·lècules hi ha? I quina extensió conté tants grans de sorra com mol·lècules contè la gota d'aigua?}
+
+    La densitat de l'aigua és $\rho \approx \SI{1}{\gram\per\centi\meter\cubed}$, i el volum ocupat és $V = \SI{1}{\milli\meter\cubed} = \SI{e-3}{\centi\meter\cubed}$. Per tant: \[ m = \rho V = \SI{1}{\gram\per\centi\meter\cubed} \cdot \SI{e-3}{\centi\meter\cubed} = \SI{e-3}{\gram} \]
+
+    La massa molar de l'aigua és $M \approx \SI{18}{\gram\per\mol}$ i sabem que en un mol hi ha $N_A$ mol·lècules (on $N_A$ és el nombre d'Avogadro), així que: \[ n = N_A \, \si{\per\mol} \frac{m}{M} \approx \SI{6.022e23}{\per\mol} \frac{\SI{e-3}{\gram}}{\SI{18}{\gram\per\mol}} \approx \SI{3.3e19}{} \text{ mol·lècules} \]
+
+    Com vam acordar a classe, suposarem que la platja té una profunditat de $\SI{10}{\meter}$, i la platja és rectangular amb una amplada de $\SI{100}{\meter}$, i que el volum d'un gra de sorra és d'$\SI{1}{\milli\meter\cubed}$. A més, suposarem també que una gota d'aigua té un volum d'$\SI{1}{\milli\meter\cubed}$.
+
+    El volum de la platja en funció de la llargada en metres, $x$, serà $V_\text{platja} = 10 \cdot 100 \, \si{\meter\squared} \cdot x = \SI{e3}{\meter\squared} \cdot x$.
+
+    El volum d'un gra de sorra és $V_\text{gra} = \SI{1}{\milli\meter\cubed} = \SI{e-9}{\meter\cubed}$. Per tant, si suposem que tots els grans de sorra ocuparan el volum de la platja sense deixar cap forat, el nombre de grans de sorra serà de \[ n_\text{grans} = \frac{V_\text{platja}}{V_\text{gra}} \]
+
+    Com, segons l'enunciat, tenim el mateix nombre de grans de sorra que de mol·lècules en una gota d'aigua, tenim que $n = n_\text{grans}$ i, llavors: \[ n = \frac{V_\text{platja}}{V_\text{gra}} = \frac{\SI{e3}{\meter\squared} \cdot x}{V_\text{gra}} \implies \]
+    \[ \implies x = \frac{n \, V_\text{gra}}{\SI{e3}{\meter\squared}} = \frac{\SI{3.3e19}{} \cdot \SI{e-9}{\meter\cubed}}{\SI{e3}{\meter\squared}} \approx \SI{33e6}{\meter} = \SI{33000}{\kilo\meter} \]
+
+    Si tinguéssim en compte que entre grans de sorra poden haver forats, la llargada de la platja seria encara més gran que els $\SI{33000}{\kilo\meter}$ que hem calculat.
+
+    En conclusió, hem pogut observar com el nombre de mol·lècules d'aigua en només 1 mil·límetre és extraordinàriament gran.
+
+  \textbf{Tasca 2. Calculeu els graus de llibertat $g$ que té una proteina com la barnasa que té un $C_p \approx \SI{1000}{\calorie\per\mol\per\kelvin}$.}
+
+    Com hem demostrat a classe, pels gasos ideals $C_V = \frac{g}{2} n R$, on $g$ és el nombre de graus de llibertat. Aleshores, suposant que la barnasa es comportés com un gas ideal, per $n = 1 \text{ mol·lècula}$ tenim: \[ C_V = \frac{g}{2} R \implies g = \frac{2 C_V}{R} \approx \frac{2 \cdot \SI{1000}{\calorie\per\mol\per\kelvin}}{\SI{1.987}{\calorie\per\mol\per\kelvin}} \approx 1007 \text{ graus de llibertat} \]
+
+  \textbf{Tasca 3. Expresseu en les vostres pròpies paraules [$\neg (\text{CLAUSIUS}) \implies \neg (\text{KELVIN})$], que és la demostració de [$(\text{KELVIN}) \implies (\text{CLAUSIUS})$].}
+
+    Si no es satisfà la hipòtesi de Clausius, això vol dir que en unes condicions concretes existeix una transformació termodinàmica l'únic resultat de la qual és el flux espontani de calor $Q$ d'una font freda a una font calenta.
+
+    \begin{center}
+      \begin{tikzpicture}[
+        squarednode/.style={rectangle, draw=black, minimum size=7mm},
+        circlednode/.style={circle, draw=black, minimum size=5mm},
+        none/.style={}
+      ]
+        \node[squarednode] (tc) {$T_C$};
+        \node[squarednode] (tf) [below=12mm of tc] {$T_F$};
+
+        \draw[->] (tf.north) -- (tc.south) node[pos=0.5, align=left, right] {$Q$};
+      \end{tikzpicture}
+    \end{center}
+
+    Aleshores, el nostre objectiu és, a partir d'aquest fet, arribar a la conclusió que no se satisfà Kelvin, és a dir, que en certes condicions sigui possible fer una transformació termodinàmica, l'únic resultat de la qual sigui la conversió de la calor $Q$ en treball $W$.
+
+    Definim la següent transformació termodinàmica a partir del Cicle de Carnot:
+
+    \begin{center}
+      \begin{tikzpicture}[
+        squarednode/.style={rectangle, draw=black, minimum size=7mm},
+        circlednode/.style={circle, draw=black, minimum size=5mm},
+        none/.style={}
+      ]
+        \node[circlednode] (s) {S};
+        \node[squarednode] (tc) [above=10mm of s] {$T_C$};
+        \node[squarednode] (tf) [below=10mm of s] {$T_F$};
+        \node[none] (n) [right=14mm of s] {};
+
+        \draw[->] (tc.south) -- (s.north) node[pos=0.5, align=left, right] {$Q_C$};
+        \draw[->] (s.south) -- (tf.north) node[pos=0.5, align=left, right] {$Q_F$};
+        \draw[->] (s.east) -- (n.west) node[pos=0.5, align=center, above] {$W$};
+      \end{tikzpicture}
+    \end{center}
+
+    On convenim que $Q_F = Q$ i, per tant, $Q_C = Q + W$.
+
+    Si realitzem les dues transformacions termodinàmiques anteriors alhora, el resultat serà que estem realitzant la següent transformació termodinàmica:
+
+    \begin{center}
+      \begin{tikzpicture}[
+        squarednode/.style={rectangle, draw=black, minimum size=7mm},
+        circlednode/.style={circle, draw=black, minimum size=5mm},
+        none/.style={}
+      ]
+        \node[circlednode] (s) {S};
+        \node[squarednode] (tc) [above=10mm of s] {$T_C$};
+        \node[squarednode] (tf) [below=10mm of s] {$T_F$};
+        \node[none] (n) [right=14mm of s] {};
+
+        \draw[->] (tc.south) -- (s.north) node[pos=0.5, align=left, right] {$Q_C = Q + W - Q = W$};
+        \draw[->] (s.east) -- (n.west) node[pos=0.5, align=center, below] {$W$};
+      \end{tikzpicture}
+    \end{center}
+
+    I aquesta transformació termodinàmica compleix justament l'enunciat negat de Kelvin (és una transformació íntegra de calor en trebeall), que era justament el que volíem veure.
+
+  \textbf{Tasca 4. Calculeu les $Q_C$, $Q_F$ i $W$ del Cicle de Carnot per $T_F$, $T_C$ qualsevols. Demostreu que $\frac{Q_C}{Q_F} = \frac{T_C}{T_F} (= f(T_C, T_F))$}
+
+    \begin{center}
+      \includegraphics[width=10cm]{CicledeCarnot}
+    \end{center}
+
+    Pel Cicle de Carnot tenim: \[ \begin{cases}
+      \displaystyle Q_C = \int_{V_A}^{V_B} P \, dV = \int_{V_A}^{V_B} \frac{nRT_C}{V} \, dV = nRT_C \log\left(\frac{V_B}{V_A}\right) \\
+      \displaystyle Q_F = - \int_{V_C}^{V_D} P \, dV = - nRT_F \log\left(\frac{V_D}{V_C}\right) \\
+      W = Q_C - Q_F
+    \end{cases} \]
+
+    Com és un cicle de Carnot, i tenint en compte que estem considerant processos isotèrmics intercalats amb processos adiabàtics, donats $V_A$ i $V_B$ podem determinar $V_C$ i $V_D$.
+
+    Per $V_B$ tenim que $P_B = \frac{nRT_C}{V_B}$. Aleshores, si fem l'expansió adiabàtica amb $PV^\gamma$ constant, $P_C V_C^\gamma = P_B V_B^\gamma$. I com volem arribar a $T_F$ al punt C, $P_C V_C = nRT_F$. Juntant les dues darreres expressions obtenim que \[ V_C^{\gamma - 1} = \frac{P_B V_B^\gamma}{n R T_F} \implies V_C = \left( \frac{P_B V_B^\gamma}{n R T_F} \right)^\frac{1}{\gamma - 1} =
+    \left( \frac{T_C V_B^{\gamma - 1}}{T_F} \right)^\frac{1}{\gamma - 1} =
+    V_B \left( \frac{T_C}{T_F} \right)^\frac{1}{\gamma - 1} \]
+
+    Si intercanviem els subíndexs B per A i els subíndexs C per D, obtenim el resultat anàleg: \[ V_D = V_A \left( \frac{T_C}{T_F} \right)^\frac{1}{\gamma - 1} \]
+
+    Aleshores: \[ \frac{V_D}{V_C} =
+    \frac{V_A}{V_B} \]
+
+    Substituïnt a l'equació per la $Q_F$ obtenim: \[ Q_F = nRT_F \log\left(\frac{V_B}{V_A}\right) \]
+
+    I per tant, fent el quocient de $Q_C$ i $Q_F$ obtenim: \[ \frac{Q_C}{Q_F} = \frac{nRT_C \log\left(\frac{V_B}{V_A}\right)}{nRT_F \log\left(\frac{V_B}{V_A}\right)} = \frac{T_C}{T_F} \]
+
+  \textbf{Tasca 5. Tenint en compte que:}
+
+  \begin{equation}
+    \label{eqn:1}
+    \frac{\partial^2 S}{\partial V \partial T} = \frac{\partial^2 S}{\partial T \partial V}
+  \end{equation}
+  \begin{equation}
+    \label{eqn:2}
+    \left( \frac{\partial S}{\partial V} \right)_T = \frac{1}{T} \left( \left(\frac{\partial U}{\partial V}\right)_T + P \right)
+  \end{equation}
+  \begin{equation}
+    \label{eqn:3}
+    \left(\frac{\partial S}{\partial T}\right)_V = \frac{1}{T} \left( \frac{\partial U}{\partial T} \right)_V
+  \end{equation}
+
+  \textbf{Comproveu que:}
+  \begin{equation}
+    \label{eqn:4}
+    \left( \frac{\partial U}{\partial V} \right)_T = T \left(\frac{\partial P}{\partial T}\right)_V - P
+  \end{equation}
+
+    Apliquem $\left( \frac{\partial}{\partial T} \right)_V$ a \eqref{eqn:2} i $\left( \frac{\partial}{\partial V} \right)_T$ a \eqref{eqn:3}. Obtenim: \[ \begin{cases}
+      \displaystyle \frac{\partial^2 S}{\partial V \partial T} = \frac{1}{T} \left( \frac{\partial^2 U}{\partial V \partial T} + \left(\frac{\partial P}{\partial T}\right)_V \right) - \frac{1}{T^2} \left( \left(\frac{\partial U}{\partial V}\right)_T + P \right) \\
+      \displaystyle \frac{\partial^2 S}{\partial V \partial T} = \frac{1}{T} \frac{\partial^2 U}{\partial T \partial V}
+    \end{cases} \]
+
+    Aleshores, per \eqref{eqn:1} (Teorema de Schwarz), igualant les anteriors expressions tenim: \[ \left(\frac{\partial U}{\partial V}\right)_T = T \left(\frac{\partial P}{\partial T}\right)_V - P \]
+
+  \newpage
+
+  \textbf{Tasca 6. Calculeu $C_P - C_V$ per l'equació de Van der Waals, partint de l'expressió \eqref{eqn:4} i sabent que:}
+
+  \begin{equation}
+    \label{eqn:5}
+    C_P - C_V = \left( P + \left(\frac{\partial U}{\partial V}\right)_T \right) \left(\frac{\partial V}{\partial T}\right)_P
+  \end{equation}
+
+    L'equació de Van der Waals és: \[ \left( P + \frac{a}{v^2} \right) (v - b) = RT \] on $v = \frac{V}{n}$.
+
+    Sabem que: \[ \left( \frac{\partial U}{\partial V} \right)_T = T \left(\frac{\partial P}{\partial T}\right)_V - P = T \frac{R}{v - b} - \frac{RT}{v -b} + \frac{a}{v^2} = \frac{a}{v^2} \]
+
+    Ara calculem la derivada de V respecte T a pressió constant utilitzant la regla de la cadena d'Euler:
+    \[ \def\arraystretch{2.2}\left.\begin{array}{r}
+      \displaystyle \left(\frac{\partial V}{\partial T}\right)_P \left(\frac{\partial T}{\partial P}\right)_V \left(\frac{\partial P}{\partial V}\right)_T = -1 \\
+      \displaystyle \left(\frac{\partial T}{\partial P}\right)_V = \frac{v - b}{R} \\
+      \displaystyle \left(\frac{\partial P}{\partial V}\right)_T = - \frac{RT}{n(v - b)^2} + \frac{2a}{nv^3} = - \frac{1}{n} \left( \frac{RT}{(v - b)^2} - \frac{2a}{v^3} \right)
+    \end{array}\right\} \implies \]
+    \[ \implies \left(\frac{\partial V}{\partial T}\right)_P = -\frac{1}{\left(\frac{\partial T}{\partial P}\right)_V \left(\frac{\partial P}{\partial V}\right)_T} = \frac{1}{\frac{v - b}{R} \frac{1}{n} \left( \frac{RT}{(v - b)^2} - \frac{2a}{v^3} \right)} \]
+
+    Finalment:
+
+    \[ C_P - C_V = \left( P + \left(\frac{\partial U}{\partial V}\right)_T \right) \left(\frac{\partial V}{\partial T}\right)_P =
+    \left( P + \frac{a}{v^2} \right) \left( \frac{1}{\frac{v - b}{R} \frac{1}{n} \left( \frac{RT}{(v - b)^2} - \frac{2a}{v^3} \right)} \right) = \]
+    \[ = \frac{\frac{RT}{v - b}}{\frac{v - b}{R} \frac{1}{n} \left( \frac{RT}{(v - b)^2} - \frac{2a}{v^3} \right)} =
+    \frac{R}{\frac{(v - b)^2}{RT} \frac{1}{n} \left( \frac{RT}{(v - b)^2} - \frac{2a}{v^3} \right)} =
+    \frac{nR}{1 - \frac{2a (v - b)^2}{v^3 RT}}\]
+
+  \newpage
+
+  \textbf{Tasca 7.}
+
+  \textbf{a) Demostreu:}
+
+  \begin{equation}
+    \label{eqn:6}
+    \left(\frac{\partial S}{\partial P}\right)_T = \frac{1}{T} \left[ \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T \right]
+  \end{equation}
+
+  \begin{equation}
+    \label{eqn:7}
+    \left(\frac{\partial S}{\partial T}\right)_P = \frac{1}{T} \left[ \left(\frac{\partial U}{\partial T}\right)_P + P \left(\frac{\partial V}{\partial T}\right)_P \right]
+  \end{equation}
+
+  \textbf{\underline{Indicació:}} Expreseu l'entropia en funció de $P$ i $T$, i feu les substitucions adients tenint en compte que:
+
+  \begin{equation}
+    \label{eqn:8}
+    dS = \frac{dU + dV}{T}
+  \end{equation}
+
+  \textbf{b) A partir del Teorema de Schwarz } \[ \frac{\partial}{\partial T} \left(\frac{\partial S}{\partial P}\right)_T = \frac{\partial}{\partial P} \left( \frac{\partial S}{\partial T} \right)_P \] \textbf{ veieu que això implica que }
+  \begin{equation}
+    \label{eqn:9}
+    \left( \frac{\partial S}{\partial T} \right)_P = - \left( \frac{\partial V}{\partial T} \right)_P
+  \end{equation}
+
+    Fem les descomposicions de la diferencial exterior de $U(P, T)$ i la diferencial exterior de $V(P, T)$: \[ \def\arraystretch{2.2} \left\{\begin{array}{l}
+      \displaystyle dU = \left(\frac{\partial U}{\partial P}\right)_T dP + \left(\frac{\partial U}{\partial T}\right)_P dT \\
+      \displaystyle dV = \left(\frac{\partial V}{\partial P}\right)_T dP + \left(\frac{\partial V}{\partial T}\right)_P dT
+    \end{array}\right. \]
+
+    Ara substituïm aquestes expressions a l'expressió \eqref{eqn:8}, que s'ha derivat a partir del primer principi de la Termodinàmica: \[ dS = \frac{1}{T}\left[ \left(\frac{\partial U}{\partial P}\right)_T dP + \left(\frac{\partial U}{\partial T}\right)_P dT + P \left[ \left(\frac{\partial V}{\partial P}\right)_T dP + \left(\frac{\partial V}{\partial T}\right)_P dT \right] \right] = \]
+    \[ = \frac{1}{T} \left[ \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T \right] dP + \frac{1}{T} \left[ \left(\frac{\partial U}{\partial T}\right)_P + P \left(\frac{\partial V}{\partial T}\right)_P \right] dT \]
+
+    Fem la descomposició de la diferencial exterior de $S(P, T)$: \[ dS = \left(\frac{\partial S}{\partial P}\right)_T dP + \left(\frac{\partial S}{\partial T}\right)_P dT \]
+
+    Si igualem per components les dues expressions anteriors arribarem a les igualtats \eqref{eqn:6} i \eqref{eqn:7} que buscàvem a l'apartat a.
+
+    \[ \frac{\partial}{\partial T} \left(\frac{\partial S}{\partial P}\right)_T = \frac{\partial}{\partial T} \left\{ \frac{1}{T} \left[ \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T \right] \right\} = \]
+    \[ = -\frac{1}{T^2} \left[ \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T \right] + \frac{1}{T} \left[ \frac{\partial^2 U}{\partial P \partial T} + P \frac{\partial^2 V}{\partial P \partial T} \right] = \]
+
+    \[ \frac{\partial}{\partial P} \left(\frac{\partial S}{\partial T}\right)_P = \frac{\partial}{\partial P} \left\{ \frac{1}{T} \left[ \left(\frac{\partial U}{\partial T}\right)_P + P \left(\frac{\partial V}{\partial T}\right)_P \right] \right\} = \]
+    \[ = \frac{1}{T} \left[ \frac{\partial^2 U}{\partial P \partial T} + \left(\frac{\partial V}{\partial T}\right)_P + P \frac{\partial^2 V}{\partial P \partial T} \right] \]
+
+    Aplicant el Teorema de Schwarz podem igualar ambdues expressions: \[ -\frac{1}{T^2} \left[ \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T \right] = \frac{1}{T} \left(\frac{\partial V}{\partial T}\right)_P \implies \left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T = -T \left(\frac{\partial V}{\partial T}\right)_P \]
+
+    Substituint aquesta expressió a \eqref{eqn:6} obtenim finalment: \[ \left(\frac{\partial S}{\partial P}\right)_T = \frac{-T}{T} \left(\frac{\partial V}{\partial T}\right)_P = - \left(\frac{\partial V}{\partial T}\right)_P \]
+
+  \textbf{Tasca 8. Investigueu pel vostre compte si $K_T \to 0$ en el límit $T \to 0$.}
+
+    Utilitzarem el resultat \eqref{eqn:9} de la tasca 7.b) per demostrar que aquest límit és cert.
+
+    \[ K_T = - \frac{1}{V} \left(\frac{\partial V}{\partial P}\right)_T = \frac{1}{V} \frac{\left( \frac{\partial V}{\partial T} \right)_P}{\left( \frac{\partial P}{\partial T} \right)_V} = - \frac{1}{V} \frac{\left( \frac{\partial S}{\partial T} \right)_P}{\left( \frac{\partial P}{\partial T} \right)_V} \]
+
+    Ara calcularem la derivada parcial de l'entropia: \[ \left( \frac{\partial S}{\partial T} \right)_P = \frac{\partial}{\partial T} \left[ C_V \cdot \log \left(\frac{T}{T_0}\right) + nR \log \left(\frac{v - b}{v_0 - b}\right) + s_0 \right] = \frac{C_V}{T} \]
+
+    Finalment, \[ K_T = - \frac{1}{VT \left( \frac{\partial P}{\partial T} \right)_V} \] que divergeix quan $T \to 0$.
+
+  \textbf{Tasca 9.}
+
+  \textbf{a) Calculeu l'equació d'estat a partir de $\frac{1}{T} = \left(\frac{\partial S}{\partial U}\right)_V$ i demostreu que és $U = \frac{V}{1 + e^\frac{1}{k_B T}}$}
+
+  \[ S(U, V) = V K_B \left[ \log \left(\frac{1}{1 - f(U, V)}\right) + f(U, V) \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) \right] \] on $f(U, V) := \frac{U}{V}$.
+
+  \[ \frac{1}{T} = V K_B \left[ \frac{1}{1 - f(U, V)} \partial_U f(U, V) + \partial_U f(U, V) \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) + \ldots \right. \]
+  \[ \left. \ldots - f(U, V) \partial_U f(U, V) \frac{1}{1 - f(U, V)} - f(U, V) \partial_U f(U, V) \frac{1}{f(U, V)} \right] = \]
+  \[ = K_B \left[ \frac{1}{1 - f(U, V)} + \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) - f(U, V) \frac{1}{1 - f(U, V)} - f(U, V) \frac{1}{f(U, V)} \right] = \]
+  \[ = K_B \left[ \frac{1}{1 - \frac{U}{V}} + \log \left( \frac{1 - \frac{U}{V}}{\frac{U}{V}} \right) - \frac{U}{V} \frac{1}{1 - \frac{U}{V}} - \frac{U}{V} \frac{1}{\frac{U}{V}} \right] = \]
+  \[ = K_B \left[ \frac{V}{V - U} + \log \left( \frac{V}{U} - 1 \right) - \frac{U}{V - U} - 1 \right] = K_B \left[ \log \left( \frac{V}{U} - 1 \right) \right] \implies \]
+  \[ \implies \frac{1}{K_B T} = \log \left( \frac{V}{U} - 1 \right) \implies \frac{V}{U} - 1 = e^\frac{1}{K_B T} \implies \]
+  \[ \implies \frac{V}{U} = 1 + e^\frac{1}{K_B T} \implies U = \frac{V}{1 + e^\frac{1}{K_B T}} \]
+
+  \textbf{b) Calculeu $P$ a partir de l'expressió $P = T \left(\frac{\partial S}{\partial V}\right)_U$}
+
+  \[ S(U, V) = V K_B \left[ \log \left(\frac{1}{1 - f(U, V)}\right) + f(U, V) \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) \right] \implies \]
+  \[ \frac{P}{K_B T} = V \left[ \frac{1}{1 - f(U, V)} \partial_V f(U, V) + \partial_V f(U, V) \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) + \ldots \right. \]
+  \[ \left. \ldots - f(U, V) \partial_V f(U, V) \frac{1}{1 - f(U, V)} - f(U, V) \partial_V f(U, V) \frac{1}{f(U, V)} \right] + \ldots \]
+  \[ \ldots + \log \left(\frac{1}{1 - f(U, V)}\right) + f(U, V) \log \left( \frac{1 - f(U, V)}{f(U, V)} \right) = \]
+  \[ = V \left[ \frac{1}{1 - \frac{U}{V}} \left(- \frac{U}{V^2}\right) + \left(- \frac{U}{V^2}\right) \log \left( \frac{1 - \frac{U}{V}}{\frac{U}{V}} \right) - \frac{U}{V} \left(- \frac{U}{V^2}\right) \frac{1}{1 - \frac{U}{V}} - \frac{U}{V} \left(- \frac{U}{V^2}\right) \frac{1}{\frac{U}{V}} \right] + \ldots \]
+  \[ \ldots + \log \left(\frac{1}{1 - \frac{U}{V}}\right) + \frac{U}{V} \log \left( \frac{1 - \frac{U}{V}}{\frac{U}{V}} \right) = \]
+  \[ = -\frac{U}{V} \left[ \frac{1}{1 - \frac{U}{V}} + \log \left( \frac{1 - \frac{U}{V}}{\frac{U}{V}} \right) - \frac{U}{V} \frac{1}{1 - \frac{U}{V}} - \frac{U}{V} \frac{1}{\frac{U}{V}} \right] + \log \left(\frac{1}{1 - \frac{U}{V}}\right) + \frac{U}{V} \log \left( \frac{1 - \frac{U}{V}}{\frac{U}{V}} \right) = \]
+  \[ = -\frac{U}{V} \left[ \frac{V}{V - U} + \log \left( \frac{\frac{V - U}{V}}{\frac{U}{V}} \right) - \frac{U}{V} \frac{V}{V - U} - 1 \right] + \log \left(\frac{V}{V - U}\right) + \frac{U}{V} \log \left( \frac{\frac{V - U}{V}}{\frac{U}{V}} \right) = \]
+  \[ = -\frac{U}{V} \left[ \frac{V}{V - U} + \log \left( \frac{V}{U} - 1 \right) - \frac{U}{V - U} - 1 \right] + \log \left( \frac{V}{V - U} \right) + \frac{U}{V} \log \left( \frac{V}{U} - 1 \right) = \]
+  \[ = -\frac{U}{V} \log \left( \frac{V}{U} - 1 \right) + \log \left( \frac{V}{V - U} \right) + \frac{U}{V} \log \left( \frac{V}{U} - 1 \right) = \log \left(\frac{V}{V - U} \right) \implies \]
+  \[ \implies P = K_B T \log \left( \frac{V}{V - U} \right) \]
+
+  \textbf{c) Calculeu $K_T$ a partir de l'expressió $K_T = -\frac{1}{V} \left(\frac{\partial V}{\partial P}\right)_T$}
+
+  %De l'apartat a) tenim: \[ V = U \left( 1 + e^\frac{1}{K_B T} \right) \implies \left(\frac{\partial V}{\partial P}\right)_T = \left(\frac{\partial U}{\partial P}\right)_T \left( 1 + e^\frac{1}{K_B T} \right) \]
+
+  %Podem calcular la derivada de $U$ a partir de l'expressió de l'apartat b): \[ \left(\frac{\partial U}{\partial P}\right)_T = \left(\frac{\partial V}{\partial P}\right)_T \left( 1 - e^{-\frac{P}{K_B}} \right) + \frac{V}{K_B} e^{-\frac{P}{K_B}} \implies \]
+  %\[ \implies \left(\frac{\partial V}{\partial P}\right)_T = \left[ \left(\frac{\partial V}{\partial P}\right)_T \left( 1 - e^{-\frac{P}{K_B}} \right) + \frac{V}{K_B} e^{-\frac{P}{K_B}} \right] \left( 1 + e^\frac{1}{K_B T} \right) \implies \]
+  %\[ \implies \left(\frac{\partial V}{\partial P}\right)_T \left[ 1 - \left( 1 - e^{-\frac{P}{K_B}} \right) \left( 1 + e^\frac{1}{K_B T} \right) \right] = \frac{V}{K_B} e^{-\frac{P}{K_B}} \left( 1 + e^\frac{1}{K_B T} \right) \implies \]
+  %\[ \implies K_T = - \frac{1}{V} \left(\frac{\partial V}{\partial P}\right)_T = -\frac{\frac{1}{K_B} e^{-\frac{P}{K_B}} \left( 1 + e^\frac{1}{K_B T} \right)}{1 - \left( 1 - e^{-\frac{P}{K_B}} \right) \left( 1 + e^\frac{1}{K_B T} \right)} \]
+
+  \textbf{d) Calculeu $\mu$ a partir de l'expressió $\mu = - \left(\frac{\partial T}{\partial V}\right)_U$}
+
+  De l'apartat a), tenim: \[ T = \frac{1}{K_B} \frac{1}{\log\left( \frac{V}{U} - 1 \right)} \]
+
+  D'on podem calcular el coeficient de Joule: \[ \mu = - \left(\frac{\partial T}{\partial V}\right)_U = \frac{1}{K_B \left( \log \left( \frac{V}{U} - 1 \right) \right)^2 (V - U)} \]
+
+  \textbf{e) Calculeu $C_v$ a partir de l'expressió $C_v = \frac{dQ}{dT} = \left(\frac{\partial U}{\partial T}\right)_V$}
+
+  Derivant el resultat final de l'apartat a) obtenim: \[ C_v = - \frac{V}{K_B T^2} \frac{e^\frac{1}{K_B T}}{\left(1 + e^\frac{1}{K_B T}\right)^2} \]
+
+  \textbf{f) Calculeu $C_p$ a partir de l'expressió $C_p = \frac{dQ}{dT} = \left(\frac{\partial U}{\partial T}\right)_P + P \left( \frac{\partial V}{\partial T} \right)_P$}
+
+  \textbf{g) Calculeu $C_p - C_v$ i comproveu que és major que 0.}
+
+  \textbf{h) Demostreu que} \[ \lim_{T \to 0} S(U, V), C_v, C_p = 0 \] \textbf{és a dir, que es satisfà el tercer principi de la Termodinàmica.}
+
+    \[ S(U, V) = K_B V \left[ \log\left( \frac{V}{V - U} \right) + \frac{U}{V} \log \left( \frac{V - U}{U} \right) \right] = \]
+    \[ = K_B V \left[ \log\left( \frac{V}{V - \frac{V}{1 + e^\frac{1}{K_B T}}} \right) + \frac{1}{1 + e^\frac{1}{K_B T}} \log \left( \frac{U \left( 1 + e^\frac{1}{K_B T} \right) - U}{U} \right) \right] = \]
+    \[ = K_B V \left[ \log\left( \frac{1}{1 - \frac{1}{1 + e^\frac{1}{K_B T}}} \right) + \frac{1}{1 + e^\frac{1}{K_B T}} \frac{1}{K_B T} \right] = \]
+    \[ = V \left[ K_B \left( \log(1) - \log\left( 1 - \frac{1}{1 + e^\frac{1}{K_B T}} \right) \right) + \frac{T^{-1}}{1 + e^\frac{1}{K_B T}} \right] = \]
+    \[ = V \left[ - K_B \log\left( \frac{1 + e^\frac{1}{K_B T} - 1}{1 + e^\frac{1}{K_B T}} \right) + \frac{T^{-1}}{1 + e^\frac{1}{K_B T}} \right] = \]
+    \[ = V \left[ - K_B \log\left( \frac{e^\frac{1}{K_B T}}{1 + e^\frac{1}{K_B T}} \right) + \frac{T^{-1}}{1 + e^\frac{1}{K_B T}} \right] \]
+
+    Definim ara el canvi de variables $\lambda := T^{-1}$ per treballar amb un límit tendint a l'infinit, que és més còmode de manipular que si tendeix a 0. Aleshores: \[ \lim_{T \to 0} S(T) = \lim_{\lambda \to \infty} S(\lambda) = \lim_{\lambda \to \infty} V \left[ - K_B \log\left( \frac{e^\frac{\lambda}{K_B}}{1 + e^\frac{\lambda}{K_B}} \right) + \frac{\lambda}{1 + e^\frac{\lambda}{K_B}} \right] \]
+
+    Com que es compleix que el volum és un valor fitat en un entorn obert de $T = 0$, que l'exponencial és un infinit d'ordre superior que qualsevol polinomi i que l'exponencial sumada a una constant és un infinit del mateix ordre que l'exponencial, obtenim que el resultat del límit és: \[ \lim_{\lambda \to \infty} S(\lambda) = 0 \implies \lim_{T \to 0} S(T) = 0 \]
+
+    En el cas de $C_V$ hem de fer el mateix canvi de variables, fet que ens fa obtenir la següent expressió: \[ C_V = - \frac{V \lambda^2}{K_B} \frac{e^\frac{\lambda}{K_B}}{\left( 1 + e^\frac{\lambda}{K_B} \right)^2} \]
+
+    Aleshores, calculem el següent límit: \[ \lim_{\lambda \to \infty} \frac{\lambda^2}{e^\frac{\lambda}{K_B}} = 0 \] on hem usat de nou el fet que l'exponencial és un infinit d'ordre superior a un polinomi.
+
+    Ara manipularem aquest límit usant de nou el fet que l'exponencial sumada a una constant és un infinit del mateix ordre que l'exponencial i que el volum està fitat en un entorn del 0, per veure que és el mateix límit que el que volíem calcular: \[ 0 = \lim_{\lambda \to \infty} \frac{\lambda^2}{e^\frac{\lambda}{K_B}} = \lim_{\lambda \to \infty} \frac{\lambda^2 e^\frac{\lambda}{K_B}}{\left( e^\frac{\lambda}{K_B} \right)^2} = \lim_{\lambda \to \infty} \frac{\lambda^2 e^\frac{\lambda}{K_B}}{\left( e^\frac{\lambda}{K_B} \right)^2} = \lim_{\lambda \to \infty} \frac{\lambda^2 e^\frac{\lambda}{K_B}}{\left( 1 + e^\frac{\lambda}{K_B} \right)^2} = \]
+    \[ = \lim_{\lambda \to \infty} \frac{V \lambda^2 e^\frac{\lambda}{K_B}}{K_B \left( 1 + e^\frac{\lambda}{K_B} \right)^2} = \lim_{\lambda \to \infty} C_V = \lim_{T \to 0} C_V \]
+
+  \newpage
+
+  \textbf{Tasca 10. Evaleu l'expressió} \[ \frac{\partial G_{total}}{\partial x_s} = 0 \] \textbf{Si definim $g_s := u_s - T s_s + \frac{P}{\rho_s}$ (energia lliure de Gibbs específica) i $g_l := u_l - T s_l + \frac{P}{\rho_l}$, proveu que la condició d'equilibri és} \[ g_s = g_l \]
+
+    Evaluem l'expressió: \[ 0 = \frac{\partial G_{total}}{\partial x_s} = M \partial_{x_s} \left[ x_s(u_s - Ts_s) + (1 - x_s) \cdot (u_l - T s_l) + P \left( \frac{x_s}{\rho_s} + \frac{1 - x_s}{\rho_l} \right) \right] = \]
+    \[ = M \left[ u_s - T s_s - u_l + T s_l + P\left( \frac{1}{\rho_s} - \frac{1}{\rho_l} \right) \right] \iff \]
+    \[ \iff u_s - T s_s + \frac{P}{\rho_s} = u_l - T s_l + \frac{P}{\rho_l} \underset{\text{(def)}}{\iff} g_s = g_l \]
+
+\end{document}
diff --git a/tasques/tasquesVilanovaMartinezAdria.pdf b/tasques/tasquesVilanovaMartinezAdria.pdf
new file mode 100644
index 0000000..f65378f
--- /dev/null
+++ b/tasques/tasquesVilanovaMartinezAdria.pdf
Binary files differ
