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