diff --git a/p6/data/data.dat b/p6/data/data.dat
new file mode 100644
index 0000000..8e29a04
--- /dev/null
+++ b/p6/data/data.dat
@@ -0,0 +1,11 @@
+19.1		19.5			50
+22.3		21.5			50
+25.2		22.5			50
+27.5		24.0			50
+30.1		25.5			50
+32.0		27.0			50
+35.1		29.0			50
+38.3		30.5			50
+40.1		32.5			50
+42.6		34.0			50
+45.1		36.5			50
diff --git a/p6/data/data_fit.dat b/p6/data/data_fit.dat
new file mode 100644
index 0000000..6358b09
--- /dev/null
+++ b/p6/data/data_fit.dat
@@ -0,0 +1,7 @@
+30.1		25.5			50
+32.0		27.0			50
+35.1		29.0			50
+38.3		30.5			50
+40.1		32.5			50
+42.6		34.0			50
+45.1		36.5			50
diff --git a/p6/data/puntcritic.dat b/p6/data/puntcritic.dat
new file mode 100644
index 0000000..3f61521
--- /dev/null
+++ b/p6/data/puntcritic.dat
@@ -0,0 +1,2 @@
+#P   T    dP  dT  V
+46.6 37.5 1.5 1.1 50.0
diff --git a/p6/full_laboratori/Practica num 6-Clasius-Clapeyron.pdf b/p6/full_laboratori/Practica num 6-Clasius-Clapeyron.pdf
new file mode 100644
index 0000000..e6889fe
--- /dev/null
+++ b/p6/full_laboratori/Practica num 6-Clasius-Clapeyron.pdf
Binary files differ
diff --git a/p6/graphs/generateGraph.bash b/p6/graphs/generateGraph.bash
new file mode 100644
index 0000000..bdcd1b0
--- /dev/null
+++ b/p6/graphs/generateGraph.bash
@@ -0,0 +1,4 @@
+#!/bin/bash
+mkdir -p ../output
+./graph.gnu
+./graph2.gnu
diff --git a/p6/graphs/graph.gnu b/p6/graphs/graph.gnu
new file mode 100755
index 0000000..44bf52d
--- /dev/null
+++ b/p6/graphs/graph.gnu
@@ -0,0 +1,30 @@
+#!/usr/bin/env gnuplot -c
+outputfile="../output/graph"
+datafolder="../data/"
+
+t_error=0.1#ºC
+p_error=0.5#e5 Pa
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 11cm, 8cm
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$T \, (\si{\celsius})$'
+set ylabel '$P \, (\SI{e5}{\pascal})$'
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+
+plot datafolder."data.dat" u 1:2:(t_error):(p_error) w xyerr t "Corba d'equilibri fases líquid-vapor", \
+     datafolder."puntcritic.dat" u 1:2:3:4 w xyerr t "Punt crític"
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+
+replot
diff --git a/p6/graphs/graph2.gnu b/p6/graphs/graph2.gnu
new file mode 100755
index 0000000..7211c72
--- /dev/null
+++ b/p6/graphs/graph2.gnu
@@ -0,0 +1,56 @@
+#!/usr/bin/env gnuplot -c
+outputfile="../output/graph2"
+datafolder="../data/"
+
+t_error=0.1#ºC
+p_error=0.5#e5 Pa
+error_sist_b=0.005
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 11cm, 8cm
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\frac{1}{T} \, (\si{\per\kelvin})$'
+set ylabel '$\log(P \, \si{\per\pascal})'
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+
+# == FIT ==
+set fit quiet
+
+# Funció per obtenir els dígits significatius d'una expressió
+f_sd(n, i) = (int(n) == 0 ? f_sd(n*10, i+1) : (int(n) == 1 ? i+1 : i))
+significant_digits(n) = f_sd(n - 10*int(n/10), 0)
+
+significant_digits_r(n) = (n == 1 ? 0 : significant_digits(1 - abs(n)))
+
+f(x) = a*x + b
+fit f(x) datafolder.'data_fit.dat' u (1/(column(1) + 273.15)):(log(column(2)*1e5)) via a, b
+stats datafolder.'data_fit.dat' u (1/(column(1) + 273.15)):(log(column(2)*1e5)) name "STATS" nooutput
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = sqrt(STATS_slope_err + error_sist_b)
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+title_f(a, b, r) = sprintf('$f(T) = %.'.sd_error_a.'f \frac{1}{T} + %.'.sd_error_b.'f$, $r = %.'.sd_r.'f$', a, b, r);
+
+print(sprintf('delta(a) = %.'.sd_error_a.'f, sd=%.0f', error_a, sd_error_a))
+print(sprintf('delta(b) = %.'.sd_error_b.'f, sd=%.0f', error_b, sd_error_b))
+print(sprintf('r = %.'.sd_r.'f, sd=%.0f', r, sd_r))
+print(sprintf('r (extended version) = %.6f, sd=%.0f', r, sd_r))
+
+plot datafolder."data.dat" u (1/(column(1) + 273.15)):(log(column(2)*1e5)):(t_error/((column(1) + 273.15)**2)):(p_error/(column(2)*1e5)) w xyerr t "Dades experimentals", \
+     f(x) t title_f(a, b, r)
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+
+replot
diff --git a/p6/informe/p6.pdf b/p6/informe/p6.pdf
new file mode 100644
index 0000000..4b1b58d
--- /dev/null
+++ b/p6/informe/p6.pdf
Binary files differ
diff --git a/p6/informe/p6.tex b/p6/informe/p6.tex
new file mode 100644
index 0000000..57275da
--- /dev/null
+++ b/p6/informe/p6.tex
@@ -0,0 +1,118 @@
+\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{amsfonts}
+\usepackage{booktabs}
+\usepackage{chemformula}
+\usepackage{multicol}
+\usepackage{hyperref}
+
+\usepackage{biblatex}
+\addbibresource{referencies.bib}
+
+\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},
+set thousands separator={\,}%,
+%every even row/.style={
+%before row={\rowcolor[gray]{0.9}}}, % Add this for stylish tables ;)
+%begin table=\begin{longtable},
+%end table=\end{longtable}
+}
+
+\sisetup{separate-uncertainty=true}
+
+\setlength{\parskip}{1em}
+
+\pagestyle{fancy}
+\fancyhf{}
+\rhead{Adrià Vilanova Martínez}
+\lhead{Pràctica 6}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{\vspace{-2ex}Pràctica 6. Equació de Clausius-Clapeyron i punt crític\vspace{-2ex}}
+\author{Adrià Vilanova Martínez (T1B)\vspace{-2ex} }
+\date{Tardor 2020}
+
+\begin{document}
+  \maketitle
+
+  \section{Objectiu de la pràctica}
+  L'objectiu de la pràctica és determinar les coordenades del punt crític dins l'espai P-V-T a partir de la corba de pressió de vapor del \ch{SF_6} obtinguda experimentalment per un tercer.
+
+  Segons \cite{Wikipedia}, el punt crític és "el punt final d'una corba d'equilibri entre fases". En aquest cas, s'obtindrà el punt crític de la corba pressió-temperatura on poden coexistir les fases vapor i líquida del \ch{SF_6} a partir de la corba que s'ha obtingut experimentalment.
+
+  Aquesta corba està descrita teòricament amb l'equació de Clausis-Clapeyron (una equació diferencial) \[ \frac{dp}{dT} = \frac{L}{T (v_g - v_l)} \] que s'utilitzarà junt a la corba experimental per determinar la calor latent de vaporització del \ch{SF_6}.
+
+  \section{Tractament de dades}
+  \begin{center}
+    \pgfplotstabletypeset[
+        columns/0/.style={column name=$T \pm 0.1 \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+        columns/1/.style={column name=$P \pm 0.5 \, (10^5 \, \si{\pascal})$, fixed, fixed zerofill, precision=1},
+        columns/2/.style={column name=$V \pm 0.5 \, (\si{\milli\liter})$, fixed, fixed zerofill, precision=1}]
+        {../data/data.dat}
+    \captionof{table}{Valors experimentals de la corba de coexistència vapor/líquid. El tercer ha observat que pel punt $(T, P) = (\SI{48.1}{\celsius}, \SI{38.5e5}{\pascal})$ ja no s'observa el menisc i per tant ja no hi ha coexistència entre fases líquida i gasosa.}
+  \end{center}
+
+  A partir de les dades anteriors es pot aproximar el punt crític com la mitjana de l'última dada on s'observava el menisc i la primera dada on ja no s'observava:
+
+  \[ \left.\begin{array}{r}
+    p = (T_0, P_0) = (\SI{45.1}{\celsius}, \SI{36.5e5}{\pascal}) \\
+    q = (T_1, P_1) = (\SI{48.1}{\celsius}, \SI{38.5e5}{\pascal})
+  \end{array}\right\} \implies c := \frac{p + q}{2} = (\SI{46.6}{\celsius}, \SI{37.5e5}{\pascal}) \]
+
+  Per calcular la incertesa d'aquest valor pel punt crític s'ha de considerar tant la incertesa en la resolució de la mesura/aparell com la incertesa en el fet que el punt pot estar en un rectangle (producte cartesià d'intervals) determinat pels punts $p$ i $q$ a l'espai T-P. Com aquestes dues fonts d'incerteses són independents, es pot utilitzar la 2-norma en comptes de la 1-norma:
+  \[ \left.\begin{array}{r}
+    \delta {T_\text{crítica}}_\text{resolució} = \frac{\delta T_0 + \delta T_1}{2} = \SI{0.1}{\celsius} \\
+    \delta {T_\text{crítica}}_\text{interval} = \frac{1}{2} |T_1 - T_0| = \SI{1.5}{\celsius}
+  \end{array}\right\} \implies \]
+  \[ \implies \delta T_\text{crítica} = \sqrt{\delta {{T_\text{crítica}}_\text{resolució}}^2 + \delta {{T_\text{crítica}}_\text{interval}}^2} = \SI{1.5}{\celsius} \]
+  \[ \left.\begin{array}{r}
+    \delta {P_\text{crítica}}_\text{resolució} = \frac{\delta P_0 + \delta P_1}{2} = \SI{0.5e5}{\pascal} \\
+    \delta {P_\text{crítica}}_\text{interval} = \frac{1}{2} |P_1 - P_0| = \SI{e5}{\pascal}
+  \end{array}\right\} \implies \]
+  \[ \implies \delta P_\text{crítica} = \sqrt{\delta {{P_\text{crítica}}_\text{resolució}}^2 + \delta {{P_\text{crítica}}_\text{interval}}^2} = \SI{1.1e5}{\pascal} \]
+
+  Així doncs, el punt crític calculat a partir de les dades experimentals és: \[ (P, T)_\text{crítiques} = (\SI{46.6(15)}{\celsius}, \SI{37.5(11)e5}{\pascal}) \]
+
+  \begin{center}
+    \centering
+    \input{../output/graph.tex}
+    \captionof{figure}{Dades experimentals i punt crític.}
+  \end{center}
+
+  Tal com es menciona al Guió de Pràctiques, si es fan les aproximacions que $v_l \ll v_g$, el gas és ideal i $L$ no depèn de $T$, s'obté la següent relació a partir de l'equació de Clausius-Clapeyron:
+  \[ p = c \exp\left( \frac{-L}{RT} \right) \] on $c > 0$ és una constant.
+
+  Fent les manipulacions algebraiques corresponents s'arriba a la següent expressió:
+  \[ \log (p) = \tilde{c} - \frac{L}{R} T^{-1} \]
+  d'on es pot fer una regressió lineal per trobar el valor de $L$.
+
+  \begin{center}
+    \centering
+    \input{../output/graph2.tex}
+    \captionof{figure}{Representació $\frac{1}{T}$-$\log(P)$ de les dades.}
+  \end{center}
+
+  Finalment, obtenim: \[ - \frac{L}{R} = \SI{-2227(77)}{\kelvin} \implies L = \SI{2227(77)}{\kelvin} \cdot R = \SI{185(6)e2}{\joule\per\mol} \]
+
+  \section{Conclusió}
+
+  Segons \cite{Horstmann} el punt crític del \ch{SF_6} és $(T, P)_c = (\SI{45.51}{\celsius}, \SI{3750}{Pa})$, i es troba dins d'una vegada el marge d'error d'ambdòs la temperatura i la pressió calculades a partir de les dades experimentals, així que es pot afirmar que ambdues parelles de valors són compatibles.
+
+  En quant a la calor latent de vaporització, segons \cite{Springer} aquest valor és de $\SI{18432}{\joule\per\mol}$, i també cau dins d'una vegada el marge d'error de la calor latent calculada, així que també es pot afirmar que aquests dos valors són compatibles.
+
+  \printbibliography
+
+\end{document}
diff --git a/p6/informe/referencies.bib b/p6/informe/referencies.bib
new file mode 100644
index 0000000..8029ffc
--- /dev/null
+++ b/p6/informe/referencies.bib
@@ -0,0 +1,35 @@
+@online{Wikipedia,
+    author={},
+    title={Critical point (thermodynamics)},
+    year=2020,
+    month=12,
+    url={https://en.wikipedia.org/w/index.php?title=Critical_point_(thermodynamics)&oldid=995786879}
+}
+
+@article{Horstmann,
+  author = {Horstmann, Sven and Fischer, Kai and Gmehling, Jürgen},
+  title = {Measurement and calculation of critical points for binary and ternary mixtures},
+  journal = {AIChE Journal},
+  volume = {48},
+  number = {10},
+  pages = {2350-2356},
+  doi = {https://doi.org/10.1002/aic.690481024},
+  url = {https://aiche.onlinelibrary.wiley.com/doi/abs/10.1002/aic.690481024},
+  eprint = {https://aiche.onlinelibrary.wiley.com/doi/pdf/10.1002/aic.690481024},
+  abstract = {Abstract The critical lines (temperatures and pressures) for the three binary mixtures ethane + sulfur hexafluoride (SF6), SF6 + propane, and carbon dioxide (CO2) + SF6, and the critical surface for the ternary system CO2 + ethane + SF6 were determined experimentally by a flow method. The binary data were compared to predictions using the predictive Soave-Redlich-Kwong (PSRK) group contribution equation of state (EoS). For the system CO2 + SF6, where no phase equilibrium information is available, the critical points were used to optimize the required PSRK group interaction parameters. Using these binary parameters, the ternary critical plane was predicted reliably.},
+  year = {2002}
+}
+
+
+@Inbook{Springer,
+  title="Sulfur Hexafluoride",
+  bookTitle="Handbook of Compressed Gases",
+  year="1990",
+  publisher="Springer US",
+  address="Boston, MA",
+  pages="572--575",
+  abstract="Sulfur hexafluoride is a colorless, odorless, nontoxic, nonflammable gas that has a high dielectric strength and serves widely as an insulating gas in electrical equipment. At atmospheric pressures it sublimes directly from the solid to the gas phase and does not have a stable liquid phase unless under a pressure of more than 32 psia (221 kPa abs). It is shipped as a liquefied compressed gas at its vapor pressure of 298 psig at 70{\textdegree}F (2055 kPa at 21.1{\textdegree}C).",
+  isbn="978-1-4613-0673-3",
+  doi="10.1007/978-1-4613-0673-3_53",
+  url="https://doi.org/10.1007/978-1-4613-0673-3_53"
+}
diff --git a/p6/rawdata/IMPORTANT LLEGIR PRIMER.txt b/p6/rawdata/IMPORTANT LLEGIR PRIMER.txt
new file mode 100644
index 0000000..c934924
--- /dev/null
+++ b/p6/rawdata/IMPORTANT LLEGIR PRIMER.txt
@@ -0,0 +1,5 @@
+Aquí teniu mesures fetes en un dels cilindres de vidre que contenen el gas. Heu d'agafar una qualsevol de les tres sèries i analitzar les dades.
+
+OBSERVACIÓ: Veureu que teniu dades de temperatura, pressió i volum. Les dades de volum NO ES FAN SERVIR per l'anàlisi, però estan posades per indicar que el volum no canvia, i per a que s'entengui millor el procediment experimental en el context del guió de pràctiques i el vídeo. El valor de V indicat és la meitat del volum de cada fase. És a dir, V=0.45 ml vol dir que tenim 0.45 ml de gas i 0.45 ml de líquid. 
+
+
diff --git a/p6/rawdata/Serie 2.txt b/p6/rawdata/Serie 2.txt
new file mode 100644
index 0000000..e5229b3
--- /dev/null
+++ b/p6/rawdata/Serie 2.txt
@@ -0,0 +1,14 @@
+T +/- 0.1 (ºC)	P +/- 0.5 (10^5 Pa) 	V +/- 5 (ml)
+19.1		19.5			50
+22.3		21.5			50
+25.2		22.5			50
+27.5		24.0			50
+30.1		25.5			50
+32.0		27.0			50
+35.1		29.0			50
+38.3		30.5			50
+40.1		32.5			50
+42.6		34.0			50
+45.1		36.5			50
+
+A 48.1ºC i 38.5x10^5 Pa no s'observa menisc i per tant ja s'ha assolit el punt crític.
\ No newline at end of file
