diff --git a/quad8/continuummechanics/lab/p2/data/gel_full.dat b/quad8/continuummechanics/lab/p2/data/gel_full.dat
new file mode 100644
index 0000000..9cf5657
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/data/gel_full.dat
@@ -0,0 +1,12 @@
+# RPM	err	v (mPa s)	err	%	err	Temperatura	err	Shear rate (s^-1)	err	Tau (Pa)	err	Torque (microN)	err
+8	0.1	12081	7	16.1	1.0	21.1	0.20	1.67	0.02	20.6	1.3	10.8	0.7
+15	0.1	10606	7	27	1	21.1	0.2	3.14	0.02	33.9	1.3	17.9	0.7
+35	0.1	5251	7	31	1	21.1	0.2	7.32	0.02	39.3	1.3	20.7	0.7
+60	0.1	3034	7	30	1	21.2	0.2	12.54	0.02	38.8	1.3	20.4	0.7
+80	0.1	2272	7	30	1	21.2	0.2	16.72	0.02	38.9	1.3	20.5	0.7
+105	0.1	1738	7	30	1	21.2	0.2	21.95	0.02	38.9	1.3	20.5	0.7
+135	0.1	1351	7	31	1	21.2	0.2	28.22	0.02	39.0	1.3	20.5	0.7
+160	0.1	1153	7	31	1	21.2	0.2	33.44	0.02	39.4	1.3	20.7	0.7
+180	0.1	1055	7	31	1	21.3	0.2	37.62	0.02	39.9	1.3	21.0	0.7
+200	0.1	929	7	31	1	21.3	0.2	41.80	0.02	39.7	1.3	20.9	0.7
+250	0.1	744	7	31.1	1.0	21.0	0.20	52.25	0.02	39.8	1.3	21.0	0.7
diff --git a/quad8/continuummechanics/lab/p2/data/glicerina_full.dat b/quad8/continuummechanics/lab/p2/data/glicerina_full.dat
new file mode 100644
index 0000000..2c442a5
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/data/glicerina_full.dat
@@ -0,0 +1,12 @@
+# RPM	err	v (mPa s)	err	%	err	Temperatura	err	Shear rate (s^-1)	err	Tau (Pa)	err	Torque (microN)	err
+20	0.1	1014.2	5.0	16.9	1.0	21.1	0.20	4.28	0.02	4.3	0.3	11.4	0.7
+30	0.1	992.8	5.0	24.8	1	20.9	0.2	6.420	0.021	6.374	0.257	16.708	0.674
+40	0.1	992.0	5.0	33.1	1	20.9	0.2	8.560	0.021	8.507	0.257	22.299	0.674
+50	0.1	991.3	5.0	41.4	1	20.9	0.2	10.700	0.021	10.640	0.257	27.891	0.674
+60	0.1	990.4	5.0	49.7	1	20.9	0.2	12.840	0.021	12.773	0.257	33.483	0.674
+70	0.1	988.6	5.0	57.7	1	20.9	0.2	14.980	0.021	14.829	0.257	38.872	0.674
+80	0.1	986.9	5.0	65.8	1	20.9	0.2	17.120	0.021	16.911	0.257	44.329	0.674
+90	0.1	986.2	5.0	73.9	1	20.9	0.2	19.260	0.021	18.992	0.257	49.786	0.674
+100	0.1	980.7	5.0	81.7	1	21.0	0.2	21.400	0.021	20.997	0.257	55.041	0.674
+105	0.1	972.7	5.0	85.1	1	21.0	0.2	22.470	0.021	21.871	0.257	57.332	0.674
+120	0.1	977.1	5.0	97.8	1.0	21.1	0.2	25.68	0.02	25.4	0.3	66.5	0.7
diff --git a/quad8/continuummechanics/lab/p2/graphs/generate.bash b/quad8/continuummechanics/lab/p2/graphs/generate.bash
index d15e9b8..c29376e 100755
--- a/quad8/continuummechanics/lab/p2/graphs/generate.bash
+++ b/quad8/continuummechanics/lab/p2/graphs/generate.bash
@@ -6,3 +6,14 @@
 ./viscosity_vs_rpm.gnu '../data/glicerina.dat' '../output/glicerina_viscosity_vs_rpm' 2
 ./torque_vs_rpm.gnu '../data/glicerina.dat' '../output/glicerina_torque_vs_rpm' 2
 ./viscosity_vs_t.gnu '../data/glicerina_temperatura.dat' '../output/glicerina_viscosity_vs_t' 30
+
+# Informe llarg (amb errors):
+./viscosity_vs_rpm_full.gnu '../data/gel_full.dat' '../output/gel_viscosity_vs_rpm_full' 25
+./torque_vs_rpm_full.gnu '../data/gel_full.dat' '../output/gel_torque_vs_rpm_full' 25
+./shear_stress_vs_shear_rate_full.gnu '../data/gel_full.dat' '../output/gel_shear_stress_vs_shear_rate_full' 25 0
+./viscosity_vs_rpm_full.gnu '../data/glicerina_full.dat' '../output/glicerina_viscosity_vs_rpm_full' 2
+./torque_vs_rpm_full.gnu '../data/glicerina_full.dat' '../output/glicerina_torque_vs_rpm_full' 2
+./shear_stress_vs_shear_rate_full.gnu '../data/glicerina_full.dat' '../output/glicerina_shear_stress_vs_shear_rate_full' 2 1
+./viscosity_vs_t_full.gnu '../data/glicerina_temperatura.dat' '../output/glicerina_viscosity_vs_t_full' 30
+./viscosity_vs_t_modified.gnu '../data/glicerina_temperatura.dat' '../output/glicerina_viscosity_vs_t_modified' 30
+./viscosity_vs_t_3p.gnu '../data/glicerina_temperatura.dat' '../output/glicerina_viscosity_vs_t_3p' 30
diff --git a/quad8/continuummechanics/lab/p2/graphs/shear_stress_vs_shear_rate_full.gnu b/quad8/continuummechanics/lab/p2/graphs/shear_stress_vs_shear_rate_full.gnu
new file mode 100755
index 0000000..1f88bd4
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/shear_stress_vs_shear_rate_full.gnu
@@ -0,0 +1,58 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+shouldfit = ARG4
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 5.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\dot{\gamma} \, (\si{\per\second})$'
+set ylabel '$\tau \, (\si{\pascal})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+if (shouldfit == "0") {
+    plot datafile u 9:11:10:12 w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data"
+} else {
+    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) datafile u 9:11 via a, b
+    stats datafile u 9:11 name "STATS" nooutput
+    error_a = STATS_slope_err
+    sd_error_a = significant_digits(error_a)
+    error_b = STATS_slope_err
+    sd_error_b = significant_digits(error_b)
+    r = STATS_correlation
+    sd_r = significant_digits_r(r)
+    title_f(a, b, r) = sprintf('$\tau(\dot{\gamma}) = %.'.sd_error_a.'f \dot{\gamma} + %.'.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))
+
+    plot datafile u 9:11:10:12 w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data", \
+         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/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm.gnu b/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm.gnu
index 4999493..b37a6d4 100755
--- a/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm.gnu
+++ b/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm.gnu
@@ -9,7 +9,7 @@
 
 # == CONFIGURACIÓ DEL PLOT ==
 set xlabel '$\omega \, (\si{\rpm})$'
-set ylabel '$T \, (\si{\micro\newton})$'
+set ylabel '$T \, (\si{\newton\meter})$'
 
 set yrange [0:]
 
diff --git a/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm_full.gnu b/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm_full.gnu
new file mode 100755
index 0000000..ba00ec7
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/torque_vs_rpm_full.gnu
@@ -0,0 +1,29 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 5.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\omega \, (\si{\rpm})$'
+set ylabel '$T \, (\si{\newton\meter})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+plot datafile u 1:13:2:14 w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data"
+
+# == 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/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_rpm_full.gnu b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_rpm_full.gnu
new file mode 100755
index 0000000..f4ebd26
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_rpm_full.gnu
@@ -0,0 +1,29 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 5.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\omega \, (\si{\rpm})$'
+set ylabel '$\eta \, (\si{\milli\pascal\per\second})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+plot datafile u 1:3:2:4 w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data"
+
+# == 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/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_3p.gnu b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_3p.gnu
new file mode 100755
index 0000000..593bb02
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_3p.gnu
@@ -0,0 +1,36 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+datafitfile = ARG4
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$T \, (\si{\kelvin})$'
+set ylabel '$\mu \, (\si{\milli\pascal\per\second})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+# == FIT ==
+f(x) = a*exp(b/(x - c))
+fit f(x) datafile u ($4 + 273.15):2 via a, b, c
+title_f(a, b, c) = sprintf('$\mu(T) = %.2f \exp\left( \frac{%.1f}{T - (%.2f)} \right)$', a, b, c);
+
+plot datafile u ($4 + 273.15):2:(0.2):(5) w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data", \
+     f(x) t title_f(a, b, c)
+
+# == 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/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_full.gnu b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_full.gnu
new file mode 100755
index 0000000..53e70dd
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_full.gnu
@@ -0,0 +1,30 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+datafitfile = ARG4
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$T \, (\si{\kelvin})$'
+set ylabel '$\mu \, (\si{\milli\pascal\per\second})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+plot datafile u ($4 + 273.15):2:(0.2):(5) w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data"
+
+# == 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/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_modified.gnu b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_modified.gnu
new file mode 100755
index 0000000..2aaa317
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/graphs/viscosity_vs_t_modified.gnu
@@ -0,0 +1,57 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+datafitfile = ARG4
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7.5cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\frac{1}{T} \, (\si{\per\kelvin})$'
+set ylabel '$\log(\mu \cdot \si{\second\per\milli\pascal})$'
+
+set yrange [0:]
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.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) datafile u (1/($4 + 273.15)):(log($2)) via a, b
+stats datafile u (1/($4 + 273.15)):(log($2)) name "STATS" nooutput
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = STATS_intercept_err
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+title_f(a, b, r) = sprintf('($\log(\mu)) \left(\frac{1}{T}\right) = %.'.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))
+
+set xtics 0.0001
+
+plot datafile u (1/($4 + 273.15)):(log($2)):(0.2/((($4 + 273.15)**2))):(5/$2) w xyerr ps 0.8 pt 2 lc ARG3 t "Experimental data", \
+    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/quad8/continuummechanics/lab/p2/informellarg/comparison_t_viscosity.dat b/quad8/continuummechanics/lab/p2/informellarg/comparison_t_viscosity.dat
new file mode 100644
index 0000000..086c6f9
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/comparison_t_viscosity.dat
@@ -0,0 +1,5 @@
+# T mu_exp mu_bib reldiff
+20 977 765 28
+30 356 340 5
+40 164 166 1
+50 103 88.9 16
diff --git a/quad8/continuummechanics/lab/p2/informellarg/img/CouetteTaylorSystem.svg b/quad8/continuummechanics/lab/p2/informellarg/img/CouetteTaylorSystem.svg
new file mode 100644
index 0000000..761c967
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/img/CouetteTaylorSystem.svg
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2816"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   width="345.14999"
+   height="500"
+   sodipodi:docname="CouetteTaylorSystem.svg">
+  <metadata
+     id="metadata2822">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2820" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1280"
+     inkscape:window-height="750"
+     id="namedview2818"
+     showgrid="false"
+     inkscape:zoom="0.8"
+     inkscape:cx="158.44552"
+     inkscape:cy="597.26073"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2816" />
+  <path
+     style="fill:#83caff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+     d="m 342.95791,437.50708 c 0,42.80207 -120.66811,57.96875 -163.125,57.96875 -106.67564,0 -176.5624999,-28.13543 -176.8749999,-54.375 -0.26056,-21.87834 -1.41678,-248.21829 -1.17484,-343.701712 0.0865,-34.156286 89.9902899,-55.152055 165.5498399,-56.557171 64.84619,-1.20589 176.82765,17.082605 176.56712,57.248273 -0.71269,109.87322 -0.94212,316.11187 -0.94212,339.41686 z"
+     id="path2828"
+     sodipodi:nodetypes="cssssss" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 342.71551,439.50942 c 0,18.16628 -28.66307,34.58086 -72.50329,44.77074 -27.57513,6.40936 -60.68606,11.26433 -96.91433,11.26433 -28.47125,0 -55.61921,-2.63549 -79.189946,-6.7412 -54.105505,-9.42446 -91.165183,-27.61725 -91.165183,-49.29387 0,-31.1199 76.060715,-56.34757 169.886379,-56.34757 93.82565,0 169.88637,25.22767 169.88637,56.34757 z"
+     id="path3625-7"
+     sodipodi:nodetypes="csssssc" />
+  <path
+     style="fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 287.73466,439.04702 c 0.71596,22.23654 -66.8068,37.33039 -112.90075,36.88845 C 102.88429,475.24563 60.82449,457.50078 61.05565,436.6161 61.27897,416.43941 59.43712,189.13697 59.60031,101.07806 59.65861,69.577658 120.5199,59.71621 171.48496,58.420352 c 43.73889,-1.112124 116.83992,11.113926 116.66419,41.306328 -0.58977,101.32923 -1.1062,317.83682 -0.41449,339.32034 z"
+     id="path2828-1"
+     sodipodi:nodetypes="cssssss" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 343.77139,97.326957 c 0,31.264823 -76.78695,56.688093 -171.12296,56.688093 -94.336029,0 -170.8104756,-25.34514 -170.8104756,-56.609966 0,-18.757804 27.9963296,-34.603514 70.3933526,-44.904476 28.268793,-6.86831 62.679403,-11.705493 100.417123,-11.705493 34.66668,0 66.76504,3.891413 93.6989,9.772742 46.35938,10.123123 77.42406,26.9835 77.42406,46.7591 z"
+     id="path3625"
+     sodipodi:nodetypes="csssssc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 287.96787,98.58473 c 0,22.3765 -51.26,40.57214 -114.23508,40.57214 -62.97509,0 -113.73933,-18.14157 -114.02648,-40.51622 -0.15625,-12.175121 14.62677,-24.922273 44.33563,-32.451006 18.90335,-4.790432 51.99861,-7.752718 69.69085,-8.065218 23.13852,-0.408698 47.38226,3.253867 65.36225,7.463183 30.94774,7.245201 48.87283,18.843562 48.87283,32.997121 z"
+     id="path3625-4"
+     sodipodi:nodetypes="csssssc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 273.37982,50.019026 c 0,15.475599 -43.81713,28.059712 -97.64833,28.059712 -53.83121,0 -97.22456,-12.546719 -97.47002,-28.021037 -0.13357,-8.42032 12.50299,-17.236257 37.89817,-22.443132 16.15861,-3.313066 44.44848,-5.361784 59.57185,-5.577909 19.77885,-0.282655 40.50244,2.250376 55.87176,5.161541 26.45417,5.010785 41.77657,13.032217 41.77657,22.820825 z"
+     id="path3625-4-9"
+     sodipodi:nodetypes="csssssc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 288.11265,177.20349 c 84.27377,30.25484 44.69209,68.80412 -21.4249,82.65633 -63.30773,13.26364 -122.51,12.89949 -186.6241,-1.83761 C 9.1882601,241.73098 -10.88936,205.4049 59.82945,177.92318"
+     id="path3721"
+     sodipodi:nodetypes="cssc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 287.72818,262.84387 c 84.27377,30.25484 45.24452,68.96985 -20.87247,82.82206 -63.30773,13.26364 -122.51,12.89949 -186.6241,-1.83761 C 9.3562201,327.53709 -10.7214,291.21101 59.99741,263.72929"
+     id="path3721-4"
+     sodipodi:nodetypes="cssc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+     d="m 287.6177,345.43173 c 84.27377,30.25484 46.23889,68.58315 -19.8781,82.43536 -63.30773,13.26364 -122.51,12.89949 -186.6241,-1.83761 C 10.24011,409.73825 -9.83751,373.41217 60.8813,345.93045"
+     id="path3721-8"
+     sodipodi:nodetypes="cssc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 187.45344,262.4013 0.0312,13.43162 -22.21465,-6.69966 22.18348,-6.73196 z"
+     id="path3755"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 191.23752,430.58391 0.0312,13.43162 -22.21465,-6.69966 22.18348,-6.73196 z"
+     id="path3755-4"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 138.22278,346.0048 -1.20419,13.37757 -21.50436,-8.71429 22.70858,-4.66328 z"
+     id="path3755-5"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 279.81954,334.83116 3.51373,12.96391 -23.19211,-0.70886 19.67841,-12.25507 z"
+     id="path3755-7"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 297.62608,411.35829 4.51859,12.64878 -23.17636,1.11031 18.6578,-13.7591 z"
+     id="path3755-52"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 310.92885,236.05283 6.27052,11.87813 -22.78325,4.39315 16.51275,-16.27129 z"
+     id="path3755-6"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 22.14385,216.54229 -13.4313699,0.0873 6.6067999,-22.24245 6.82457,22.15516 z"
+     id="path3755-2"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 22.57436,302.74746 -13.4316499,0.001 6.7494399,-22.19959 6.68221,22.19852 z"
+     id="path3755-22"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 23.35729,384.85283 -13.4313699,-0.088 6.8965299,-22.15432 6.53484,22.24235 z"
+     id="path3755-8"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 177.02491,28.839212 0.35921,-13.426853 22.01054,7.342498 -22.36978,6.084354 z"
+     id="path3755-9"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="m 83.6418,120.0469 92.5,-23.750002 106.25,38.750002"
+     id="path3883" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 100.26362,108.38016 3.69913,12.91224 -23.19989,-0.37653 19.50079,-12.53575 z"
+     id="path3755-5-2"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="m 266.39339,136.4449 4.70009,-12.58247 18.43311,14.09245 -23.13322,-1.50998 z"
+     id="path3755-5-9"
+     sodipodi:nodetypes="cccc" />
+  <text
+     xml:space="preserve"
+     style="font-size:18px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif Italic"
+     x="118.38051"
+     y="96.806221"
+     id="text3916"><tspan
+       sodipodi:role="line"
+       id="tspan3918"
+       x="118.38051"
+       y="96.806221">R</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:18px;font-style:italic;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif Italic"
+     x="231.28474"
+     y="113.88799"
+     id="text3920"><tspan
+       sodipodi:role="line"
+       id="tspan3922"
+       x="231.28474"
+       y="113.88799">R</tspan></text>
+  <path
+     style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+     d="m 158.90911,12.37871 1.86142,-0.03466 c 0,0 -1.97174,-3.033454 -1.95434,-4.7961255 0.0312,-3.161481 2.2419,-5.6043 6.2708,-5.549839 4.0289,0.05446 4.67335,2.375116 4.60954,4.533168 -0.0638,2.1580525 -3.82115,5.8518385 -3.82115,5.8518385 l 1.97296,0.02053 -0.007,-1.046092 1.0155,-0.01205 0.0198,1.963112 -5.11726,0.0059 c 0,0 8.47564,-9.5759395 1.25094,-9.9453555 -7.22471,-0.369415 -2.81319,9.9399555 -2.81319,9.9399555 l -4.35426,-0.0082 -0.0209,-1.964894 1.09375,-3e-6 -0.006,1.042707 -6.1e-4,1.1e-5 z"
+     id="rect3934"
+     sodipodi:nodetypes="ccszzcccccczcccccc" />
+  <g
+     style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif"
+     id="text3937"
+     transform="translate(-267.6082,29.421898)">
+    <path
+       d="m 438.58008,-11.875001 0,-0.621094 1.52344,0 0,-7.277343 -1.76368,1.142578 0,-0.767578 2.13282,-1.382813 0.80859,0 0,8.285156 1.52344,0 0,0.621094 z"
+       id="path3954" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif"
+     x="-28.2332"
+     y="9.421896"
+     id="text3945"><tspan
+       sodipodi:role="line"
+       id="tspan3947"
+       x="-28.2332"
+       y="9.421896" /></text>
+  <g
+     style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif"
+     id="text3949"
+     transform="translate(-195.57695,107.2344)">
+    <path
+       d="m 440.91016,4.5878897 -0.65625,0 0,-1.5585938 c 0.41796,-0.2226478 0.83886,-0.3925695 1.26269,-0.5097656 0.42383,-0.1171787 0.83887,-0.1757723 1.24512,-0.1757813 0.91015,9e-6 1.6289,0.2207119 2.15625,0.6621094 0.52734,0.4414141 0.79101,1.0410228 0.79101,1.7988281 0,0.8554744 -0.59766,1.8789109 -1.79296,3.0703125 -0.0938,0.089847 -0.16407,0.1582064 -0.21094,0.2050782 l -2.20899,2.2089848 3.65039,0 0,-1.0781255 0.68555,0 0,2.0390625 -5.64258,0 0,-0.638672 2.6543,-2.6484373 c 0.58593,-0.5859337 1.0039,-1.1240191 1.25391,-1.6142578 0.24999,-0.490229 0.37499,-1.0048769 0.375,-1.5439454 -1e-5,-0.5898367 -0.15333,-1.0507737 -0.45996,-1.3828125 -0.30665,-0.332023 -0.7295,-0.4980385 -1.26856,-0.4980468 -0.5586,8.3e-6 -0.99024,0.13868 -1.29492,0.4160156 -0.30469,0.2773514 -0.48438,0.6933666 -0.53906,1.2480469 z"
+       id="path3957" />
+  </g>
+  <g
+     style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif"
+     id="text3937-5"
+     transform="translate(-304.89921,113.71878)">
+    <path
+       d="m 438.58008,-11.875001 0,-0.621094 1.52344,0 0,-7.277343 -1.76368,1.142578 0,-0.767578 2.13282,-1.382813 0.80859,0 0,8.285156 1.52344,0 0,0.621094 z"
+       id="path3954-4" />
+  </g>
+</svg>
diff --git a/quad8/continuummechanics/lab/p2/informellarg/img/Viscous_regimes_chart.png b/quad8/continuummechanics/lab/p2/informellarg/img/Viscous_regimes_chart.png
new file mode 100644
index 0000000..7ddddf8
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/img/Viscous_regimes_chart.png
Binary files differ
diff --git a/quad8/continuummechanics/lab/p2/informellarg/main.tex b/quad8/continuummechanics/lab/p2/informellarg/main.tex
new file mode 100644
index 0000000..784c30b
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/main.tex
@@ -0,0 +1,348 @@
+\documentclass[twocolumn,nofootinbib,superscriptaddress,notitlepage,10pt,a4paper,aps,pra]{revtex4-2}
+\usepackage[utf8]{inputenc}
+%\usepackage[spanish]{babel}
+\usepackage{graphicx}
+\usepackage[labelfont=bf]{caption}
+\usepackage{siunitx}
+
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{booktabs}
+\usepackage{chemformula}
+\usepackage{hyperref}
+\usepackage{adjustbox}
+\usepackage{float}
+\usepackage{hyperref}
+
+\usepackage{pgfplotstable}
+\pgfplotsset{compat=1.17}
+\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}
+}
+\usepackage{chngcntr}
+\counterwithin{figure}{section}
+\counterwithin{table}{section}
+
+% Who the heck calls tables "cuadros"? We should call RAE to add an entry to thepage
+% word "tabla", so it can be used like "cuadro" ;)
+%\addto\captionsspanish{%
+%\def\tablename{Tabla}%
+%}
+
+% Yep, it's not a SI unit, but screw it! ;)
+\DeclareSIUnit\rpm{RPM}
+
+\sisetup{separate-uncertainty=true}
+
+\graphicspath{ {./img/} }
+
+\bibliographystyle{plainnat}
+
+\begin{document}
+  \title{Determination of the viscosity of shower gel and glycerine}
+  \author{Adrià Vilanova Martínez}
+  \email{avilanma7@alumnes.ub.edu}
+  \affiliation{Facultat de Física, \textsc{Universitat de Barcelona}; Facultat de Matemàtiques i Estadística, \textsc{Universitat Politècnica de Catalunya}}
+
+  \begin{abstract}
+    \begin{description}
+      \item[Abstract] In this paper we analyze the rheological behavior of shower gel and glycerine to show that the gel is a non-Newtonian pseudoplastic fluid and glycerine is a Newtonian fluid. We also tabulate the dependence of their viscosity at room temperature depending on the shear rate or the shear stress. Finally, we model the dependence of glycerine's viscosity with temperature using Guzman-Andrade's law and the three-parameter exponential model, and conclude that the latter one is slightly better.
+      \item[Resumen] En este paper se analiza el comportamiento reológico de gel de baño y glicerina para mostrar que el gel es un fluido no newtoniano pseudoplástico y la glicerina es un fluido newtoniano. También tabulamos la dependencia de sus viscosidades a temperatura ambiente dependiendo del gradiente de velocidad o esfuerzo tangencial. Finalmente, modelamos la dependencia de la viscosidad de la glicerina con la temperatura mediante la ley de Guzman-Andrade y el modelo exponencial de 3 parámetros, y concluimos que el último es ligeramente mejor.
+    \end{description}
+  \end{abstract}
+
+  \maketitle
+
+  \section{Introduction}
+
+  Viscosity is one of the most important rheological properties of a fluid, which can be defined as
+  \[ \mu := \frac{\tau}{\dot{\gamma}}, \]
+  where $\tau$ is the shear stress and $\dot{\gamma}$ is the shear rate.
+
+  When the shear stress is proportional to the shear rate, viscosity is uniquely defined (modulus the temperature) and we say that the fluid is a Newtonian fluid. Otherwise, we say that it is a non-Newtonian fluid. Non-Newtonian fluids can be classified into several subgroups depending on how the shear stress depends on the shear rate, as shown in figure \ref{fig1}.
+
+  One of the goals of this experiment is to classify both substances according to this classification.
+
+  \begin{figure}
+    \centering
+    \includegraphics[width=7cm]{Viscous_regimes_chart.png}
+    \caption{Graph showing the dependence of shear stress and shear rate in several types of non-Newtonian fluids and in a Newtonian fluid. The slope of each line is the magnitude of the viscosity.\cite{wiki:nonnewtoniangraph}}
+    \label{fig1}
+  \end{figure}
+
+  With regards to the dependance of viscosity with temperature, several authors have proposed some theoretical equations which work well in different contexts.\cite{enwiki:1018579135, Makhija1970} One of them is Guzman-Andrade's relation:
+  \[ \mu = \mu_0 \exp \left( \frac{B}{T} \right), \]
+  where $\mu_0, B$ are constants. This equation was first published in an article by Spanish physicst J. Guzman in the \textit{Anales de la Sociedad Española de Física y Química}, although it is commonly attributed to Andrade.\cite[p.~778]{Markovitz1985}
+
+  Another goal of the experiment is to verify that the dependence of the viscosity of glycerine with temperature satisfies Guzman-Andrade's relation, and find the constants $\mu_0, B$ if it is the case.
+
+  \vspace{1em}
+  \hrule
+  \vspace{1em}
+
+  In order to get an experimental measure of the viscosity, we have used a rotational viscometer (Fungilab's Premium one). This viscometer has a cylindrical spindle, which is introduced inside of a cylindrical container (a beaker) containing a fluid, and rotates at constant velocity. This generates what is known as a cylindrical Couette flow (see figure \ref{fig2}).
+
+  \begin{figure}
+    \centering
+    \includegraphics[height=4.5cm]{CouetteTaylorSystem.pdf}
+    \caption{Diagram showing cylindrical Couette flow.\cite{wiki:couetteflow}}
+    \label{fig2}
+  \end{figure}
+
+  With the use of a dynamometer, the viscometer measures the amount of torque that needs to be exerted in order for the spindle to rotate at constant velocity, and that gives a measure of the shear stress $\tau$:
+  \[ T = \tau \cdot 2 \pi R_1 L \cdot R_1, \]
+  where $R_1$ is the radius and $L$ is the height of the spindle.\cite{guiopractica}
+
+  For cylindrical Couette flow, the shear rate is given by
+  \[ \dot{\gamma} (R_b) = \frac{2 \omega R_2^2}{R_2^2 - R_1^2}, \]
+  where $R_2$ is the radius of the cylindrical container and $\omega$ is the spindle's angular velocity.
+
+  By combining the 2 previous expressions and using the definition of viscosity, it can be seen that
+  \[ T = C \mu \omega, \]
+  where $C$ is a constant that depends on $R_1$, $R_2$ and $L$, that is, the properties of the spindle used. Since Couette flow is an idealization of the actual flow inside the container, $C$ is actually calibrated experimentally.
+
+  In this experiment, we have used Fungilab's spindles L3 and L4, and the calibrations given by the manufacturer for those spindles result in the following expressions for the shear rate and shear stress as a function of the values given by the rotational viscometer:\cite{fungilab:manual}
+  \[ \begin{cases}
+    \dot{\gamma}_\text{L3} = 0.214 \cdot \omega \;\; (\si{\per\second}), \\
+    \tau_\text{L3} = 0.257 \cdot P \;\; (\si{\pascal}).
+  \end{cases} \]
+  \[ \begin{cases}
+    \dot{\gamma}_\text{L4} = 0.209 \cdot \omega \;\; (\si{\per\second}), \\
+    \tau_\text{L4} = 1.28 \cdot P \;\; (\si{\pascal}).
+  \end{cases} \]
+  In these expressions, $\omega$ is the angular velocity of the spindle in $\si{\rpm}$ and $P$ is the percentage of the measured torque with respect to the maximum measurable torque.
+
+  \section{Methodology}
+  In order to get a table of values of the viscosity as a function of the shear rate, we have done the following procedure for both fluids: first, we mounted the spindle into the viscometer (the L4 spindle for shower gel, and the L3 spindle for glycerine). Then, we filled a beaker with the test fluid and put it under the viscometer, immersing the spindle in the middle of the beaker. Afterwards, we set up the viscometer by configuring the spindle we mounted, and measured the viscosity, percentage of torque and temperature 10 times at different angular velocities. For the smallest and biggest angular velocities we measured the values 3 times, in order to do error analysis.
+
+  Afterwards, we heated the glycerine up to $\SI{50}{\degree}$ and measured the viscosity, percentage of torque and temperature multiple times at constant angular velocity $\omega = \SI{200}{\rpm}$ while we let the glycerine cool down until reaching almost room temperature. We continued using the L3 spindle since it was the one which had the ideal range for measuring the viscosity, as we saw in the previous part of the experiment.
+
+  In order to get correct measurements, we took into account the considerations made by the viscometer manufacturer\cite[p.~47]{fungilab:manual} which were also reminded to us by the lab coordinators.
+
+  \section{Results}
+  % Change the counters to count by subsection:
+  \counterwithin{figure}{subsection}
+  \counterwithin{table}{subsection}
+
+  In order to calculate the errors for each measure, we used the information available in the viscometer's specifications,\cite{fungilab:manual, fungilab:specifications} except for the error of the angular velocity of the spindle, which was assumed to be $\SI{0.1}{\rpm}$ since the display always showed one decimal place.
+
+  The specifications state that the uncertainty for the viscosity is $\SI{0.1}{\milli\pascal\per\second}$ if $\mu < \SI{10000}{\milli\pascal}$, and $\SI{1}{\milli\pascal\per\second}$ otherwise. They also state that the resolution for the temperature is $\SI{0.1}{\celsius}$ and the precision is $\SI{0.1}{\celsius}$, so the total uncertainty for the temperature is taken as $\SI{0.2}{\celsius}$.
+
+  The errors for all the derived magnitudes have been calculated using the theory of error propagation. In specific, we've used the following facts:
+  \begin{itemize}
+    \item The error is linear: $\delta(aX + bY) = a \delta(X) + b \delta(Y)$.
+    \item The error propagates as: $\delta(f(x_1, \ldots, x_n)) = \sum_{i = 1}^n | \partial_i f(x) | \delta (x_i)$.
+    \item If we have a set of independent random variables $\{ X_1, \ldots X_n \}$, each of them identically distributed with a $N(\mu, \sigma)$ distribution, and we have a realization of them $x = (x_1, \ldots, x_n)$, then we can estimate the parameters of the distribution from our realization via the maximum likelihood method, which gives us the following estimators:
+    \begin{equation*}
+      \begin{aligned}
+        \hat{\mu} := \frac{1}{n} \sum_{i = 1}^n x_i = \bar{x}, \\
+        \hat{\sigma}^2 := \frac{1}{n} \sum_{i = 1}^n (x_i - \bar{x})^2 = S^2 \implies \\
+        \implies \hat{\sigma} = \sqrt{\frac{1}{n} \sum_{i = 1}^n (x_i - \bar{x})}.
+      \end{aligned}
+    \end{equation*}
+  \end{itemize}
+
+  This last fact is used in order to calculate the statistical error of viscosity and the percentage of torque.
+
+  The total errors for both magnitudes are calculated as $\delta(x) = \sqrt{\delta_\text{exp.}(x)^2 + \delta_\text{stat.}(x)^2}$, assuming $\delta_\text{stat.}(x)$ is the same for all the measurements (we can only calculate it for the first and the last ones).
+
+  \begin{widetext}
+    \subsection{Shower gel}
+
+    \begin{table}[H]
+      \centering
+      \pgfplotstabletypeset[
+        columns/0/.style={column name=$\omega \, (\si{\rpm})$, fixed, fixed zerofill, precision=2},
+        columns/1/.style={column name=$\delta(\omega)$, fixed, fixed zerofill, precision=2},
+        columns/2/.style={column name=$\eta \, (\si{\milli\pascal\per\second})$, fixed, fixed zerofill, precision=0},
+        columns/3/.style={column name=$\delta(\eta)$, fixed, fixed zerofill, precision=0},
+        columns/4/.style={column name=\% \textit{torque}, fixed, fixed zerofill, precision=1},
+        columns/5/.style={column name=$\delta$(\% \textit{torque}), fixed, fixed zerofill, precision=1},
+        columns/6/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+        columns/7/.style={column name=$\delta(T)$, fixed, fixed zerofill, precision=1},
+        columns/8/.style={column name=$\dot{\gamma} \, (\si{\per\second})$, fixed, fixed zerofill, precision=2},
+        columns/9/.style={column name=$\delta(\dot{\gamma})$, fixed, fixed zerofill, precision=2},
+        columns/10/.style={column name=$\tau \, (\si{\pascal})$, fixed, fixed zerofill, precision=1},
+        columns/11/.style={column name=$\delta(\tau)$, fixed, fixed zerofill, precision=1},
+        columns/12/.style={column name=$T \, (\si{\newton\meter})$, fixed, fixed zerofill, precision=1},
+        columns/13/.style={column name=$\delta(T)$, fixed, fixed zerofill, precision=1}
+      ]{../data/gel_full.dat}
+      \caption{Experimental data obtained for the shower gel via the rotational viscometer using the L4 spindle. For the topmost and bottommost rows, there have been 3 measurements which have been combined, and the value shown is the mean. $\delta(\cdot)$ means the error of $\cdot$, in the same units.}
+    \end{table}
+  \end{widetext}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/gel_viscosity_vs_rpm_full.tex}
+    \caption{Viscosity of the shower gel as a function of the angular velocity, with error bars.}
+    \label{figa1}
+  \end{figure}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/gel_torque_vs_rpm_full.tex}
+    \caption{Torque as a function of the angular velocity in the case of the shower gel, with error bars.}
+  \end{figure}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/gel_shear_stress_vs_shear_rate_full.tex}
+    \caption{Shear stress as a function of the shear rate in the case of the shower gel, with error bars.}
+    \label{figa3}
+  \end{figure}
+
+  We observe that in figure \ref{figa3} the function which describes the shear stress as a function of the shear rate is concave, so this corresponds to the pseudoplastic (or shear thinning) behavior. Also, in figure \ref{figa1} we see that the function is convex. In particular, the fact that it is pseudoplastic means that shower gel is a non-Newtonian fluid.
+
+  \begin{widetext}
+    \subsection{Glycerine}
+
+    \begin{table}[H]
+      \centering
+      \pgfplotstabletypeset[
+        columns/0/.style={column name=$\omega \, (\si{\rpm})$, fixed, fixed zerofill, precision=2},
+        columns/1/.style={column name=$\delta(\omega)$, fixed, fixed zerofill, precision=2},
+        columns/2/.style={column name=$\eta \, (\si{\milli\pascal\per\second})$, fixed, fixed zerofill, precision=0},
+        columns/3/.style={column name=$\delta(\eta)$, fixed, fixed zerofill, precision=0},
+        columns/4/.style={column name=\% \textit{torque}, fixed, fixed zerofill, precision=1},
+        columns/5/.style={column name=$\delta$(\% \textit{torque}), fixed, fixed zerofill, precision=1},
+        columns/6/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+        columns/7/.style={column name=$\delta(T)$, fixed, fixed zerofill, precision=1},
+        columns/8/.style={column name=$\dot{\gamma} \, (\si{\per\second})$, fixed, fixed zerofill, precision=2},
+        columns/9/.style={column name=$\delta(\dot{\gamma})$, fixed, fixed zerofill, precision=2},
+        columns/10/.style={column name=$\tau \, (\si{\pascal})$, fixed, fixed zerofill, precision=1},
+        columns/11/.style={column name=$\delta(\tau)$, fixed, fixed zerofill, precision=1},
+        columns/12/.style={column name=$T \, (\si{\newton\meter})$, fixed, fixed zerofill, precision=1},
+        columns/13/.style={column name=$\delta(T)$, fixed, fixed zerofill, precision=1}
+      ]{../data/glicerina_full.dat}
+      \caption{Experimental data obtained for glycerine via the rotational viscometer using the L3 spindle. For the topmost and bottommost rows, there have been 3 measurements which have been combined, and the value shown is the mean. $\delta(\cdot)$ means the error of $\cdot$, in the same units.}
+    \end{table}
+  \end{widetext}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/glicerina_viscosity_vs_rpm_full.tex}
+    \caption{Viscosity of the glycerine as a function of the angular velocity, with error bars.}
+  \end{figure}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/glicerina_torque_vs_rpm_full.tex}
+    \caption{Torque as a function of the angular velocity in the case of the glycerine, with error bars.}
+  \end{figure}
+
+  \begin{figure}[H]
+    \centering
+    \input{../output/glicerina_shear_stress_vs_shear_rate_full.tex}
+    \caption{Shear stress as a function of the shear rate in the case of the glycerine, with error bars.}
+    \label{figb3}
+  \end{figure}
+
+  We can clearly see that the relationship between $\tau$ and $\dot{\gamma}$ is lineal, and therefore glycerine is a Newtonian fluid. By fitting the experimental data on figure \ref{figb3} to a line, we can determine its viscosity:
+  \[ \mu = \SI{0.977(5)}{\pascal\per\second} \]
+
+  \newpage
+
+  \subsection{Glycerine. Dependence of its viscosity with temperature}
+  \begin{table}[h]
+    \centering
+    \pgfplotstabletypeset[
+      columns={3, 1, 3, 1},
+      display columns/0/.style={select equal part entry of={0}{2}, column name=$\eta \, (\si{\milli\pascal\per\second}) \pm 5$, fixed, fixed zerofill, precision=1},
+      display columns/1/.style={select equal part entry of={0}{2}, column name=$T \, (\si{\celsius}) \pm 0.2$, fixed, fixed zerofill, precision=1, column type/.add={}{||}},
+      display columns/2/.style={select equal part entry of={1}{2}, column name=$\eta \, (\si{\milli\pascal\per\second}) \pm 5$, fixed, fixed zerofill, precision=1},
+      display columns/3/.style={select equal part entry of={1}{2}, column name=$T \, (\si{\celsius}) \pm 0.2$, fixed, fixed zerofill, precision=1}
+    ]{../data/glicerina_temperatura.dat}
+    \caption{Experimental data obtained for glycerine while it was cooled down via the rotational viscometer using the L3 spindle, and a fixed angular velocity of $\SI{200}{\rpm}$.}
+  \end{table}
+
+  \begin{figure}[h]
+    \centering
+    \input{../output/glicerina_viscosity_vs_t_full.tex}
+    \caption{Viscosity of the glycerine as a function of the temperature, with error bars.}
+  \end{figure}
+
+  \begin{figure}[h]
+    \centering
+    \input{../output/glicerina_viscosity_vs_t_modified.tex}
+    \caption{Linerization of the previous graph, with error bars.}
+    \label{figc2}
+  \end{figure}
+
+  By fitting the experimental data to the linearization of Guzman-Andrade's law
+  \[ \mu = \mu_0 \exp\left( \frac{B}{T} \right) \implies \]
+  \[ \log(\mu) = \log(\mu_0) + B \frac{1}{T}, \]
+  we have determined that the coefficients are:
+  \[ \begin{cases}
+    \log (\mu_0) = \SI{-14.9(6)}{}, \\
+    B = \SI{6283(196)}{\kelvin},
+  \end{cases} \]
+  which implies:
+  \[ \mu_0 = \SI{3.38(4)e-7}{\milli\pascal\per\second} \]
+
+  Note that in this case $\mu_0$ represents the limit of viscosity as $T \to \infty$, and $B$ controls how quickly the viscosity decreases with temperature (if it's smaller, viscosity decreases faster).
+
+  In our case, we see this model seems like a good fit (the correlation is close to 1 and both parameter have small relative errors). However, by doing a quick inspection at figure \ref{figc2}, we see that the data doesn't seem perfectly linear (in fact, it seems like there's a boundary point which separates 2 linear regimes).
+
+  We could instead fit a model like the three-parameter exponential:
+  \[ \mu = \mu_0 \exp\left( \frac{B}{T - C} \right). \]
+
+  \begin{figure}
+    \centering
+    \input{../output/glicerina_viscosity_vs_t_3p.tex}
+    \caption{Fitting viscosity of the glycerine as a function of the temperature via the three-parameter exponential model.}
+    \label{figc3}
+  \end{figure}
+
+  By fitting our data to this model via the least-squares method (see fig. \ref{figc3}), we obtain the following estimated parameters:
+  \[ \begin{cases}
+    \mu_0 = \SI{15.8(18)}{\milli\pascal\per\second}, \\
+    B = \SI{95(8)}{\kelvin}, \\
+    C = \SI{272.8(14)}{\kelvin}. \\
+  \end{cases} \]
+
+  We can clearly see in figure \ref{figc3} that this is a better fit, but the uncertainty in some of the parameters is slightly bigger.
+
+  \section{Discussion of results}
+  % Change the counters back to count by section:
+  \counterwithin{figure}{section}
+  \counterwithin{table}{section}
+
+  In the first part of the experiment, we saw that the viscosity for the shower gel as a function of the shear rate increased very quickly near a 0 shear rate, while it remained constant for higher shear rates, which indicates that the function is concave and therefore the fluid is non-Newtonian. Since the increase happened near 0 and not at a higher shear rate (which would mean the viscosity would be 0 until a certain value of the shear rate), we verified that the behavior of the shower gel was pseudoplastic and not Bingham pseudoplastic.
+
+  However, we saw that for glycerine viscosity remained constant over the entire range of shear rates, because the shear rate and shear stress were proportional. This indicated us that, as opposed to the gel, the behavior of glycerine was Newtonian.
+
+  With regards to the viscosity of glycerine depending on temperature, we can compare our tabbed values with the ones presented by J.B. Segur and Helen E. Oberstar in \cite{Segur1951} for an aqueous glycerol solution containing 97\% of glycerine (we also include the value found in the first part with $T = \SI{21}{\celsius}$):
+
+  \begin{table}[H]
+    \centering
+    \pgfplotstabletypeset[
+      display columns/0/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=0},
+      display columns/1/.style={column name=$\mu_\text{exp.} \, (\si{\milli\pascal\per\second})$, fixed, fixed zerofill, precision=0},
+      display columns/2/.style={column name=$\mu_\text{bib.} \, (\si{\milli\pascal\per\second})$, fixed, fixed zerofill, precision=0},
+      display columns/3/.style={column name=Relative diff. (in \%), fixed, fixed zerofill, precision=0}
+    ]{comparison_t_viscosity.dat}
+    \caption{Experimental data obtained for glycerine while it was cooled down via the rotational viscometer using the L3 spindle, and a fixed angular velocity of $\SI{200}{\rpm}$.}
+  \end{table}
+
+  We can see that for $T = \SI{50}{\celsius}$ the relative difference is pretty high, but we get pretty close results in the lower range. We don't take into consideration the high relative difference when $T = \SI{20}{\celsius}$ because in the lab we took the measurements at a slightly higher temperature, and therefore the high relative difference is expected.
+
+  Something that we can note is what physical meaning have the $\mu_0$ and $B$ constants in Guzman-Andrade's law. We already stated that $\mu_0$ is a measure of the viscosity in the thermodynamic limit $T \to \infty$, but in the case of $B$, we only stated that decreasing $B$ will make the viscosity decrease quicker with temperature. And even then, why does viscosity decrease with temperature?
+
+  To explain this, Reid and Sherwood state that the main force which opposes the relative motion of two close parallel layers of the liquid might be thought of as the molecular forces acting in the boundary between both layers. If we increase temperature, we are increasing the kinetic energy of the molecules and therefore it is much easier for them to overcome these interactions, thus decreasing viscosity.\cite{poling2001the}
+
+  They also describe this law theoretically, and arrive to the following expression:
+  \[ \mu \approx K \exp\left( 3.8 \frac{T_b}{T} \right), \]
+  where $T_b$ is the normal boiling point of the substance. We see that $B \propto T_b$, so $B$ describes the normal boiling point (scaled with a constant).
+
+  \section{Conclusions}
+  The gel we tested in the lab is a non-Newtonian pseudoplastic fluid, while glycerine is a Newtonian fluid. Also, we found that we can model the viscosity of glycerine as a function of temperature with the 3-paremeter exponential model, which is a slightly better model than the model based on Guzman-Andrade's law.
+
+  \bibliography{references}
+
+\end{document}
diff --git a/quad8/continuummechanics/lab/p2/informellarg/mainNotes.bib b/quad8/continuummechanics/lab/p2/informellarg/mainNotes.bib
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/mainNotes.bib
diff --git a/quad8/continuummechanics/lab/p2/informellarg/references.bib b/quad8/continuummechanics/lab/p2/informellarg/references.bib
new file mode 100644
index 0000000..29ac84b
--- /dev/null
+++ b/quad8/continuummechanics/lab/p2/informellarg/references.bib
@@ -0,0 +1,87 @@
+@misc{wiki:nonnewtoniangraph,
+  author = "Wikimedia Commons",
+  title = "File:Viscous regimes chart.png --- Wikimedia Commons{,} the free media repository",
+  year = "2021",
+  url = {https://commons.wikimedia.org/w/index.php?title=File:Viscous_regimes_chart.png&oldid=568685856}
+}
+
+@article{Markovitz1985,
+  doi = {10.1122/1.549809},
+  url = {https://doi.org/10.1122/1.549809},
+  year = {1985},
+  month = dec,
+  publisher = {Society of Rheology},
+  volume = {29},
+  number = {6},
+  pages = {777--798},
+  author = {Hershel Markovitz},
+  title = {Rheology: in the Beginning},
+  journal = {Journal of Rheology}
+}
+
+@misc{enwiki:1018579135,
+  author = "{Wikipedia contributors}",
+  title = "Temperature dependence of viscosity --- {Wikipedia}{,} The Free Encyclopedia",
+  year = "2021",
+  url = {https://en.wikipedia.org/w/index.php?title=Temperature_dependence_of_viscosity&oldid=1018579135}
+}
+
+@article{Makhija1970,
+  doi = {10.1139/v70-200},
+  url = {https://doi.org/10.1139/v70-200},
+  year = {1970},
+  month = apr,
+  publisher = {Canadian Science Publishing},
+  volume = {48},
+  number = {8},
+  pages = {1214--1218},
+  author = {R. C. Makhija and R. A. Stairs},
+  title = {Viscosity of associated liquids},
+  journal = {Canadian Journal of Chemistry}
+}
+
+@misc{wiki:couetteflow,
+  author = "Wikimedia Commons",
+  title = "File:CouetteTaylorSystem.svg --- Wikimedia Commons{,} the free media repository",
+  year = "2020",
+  url = "https://commons.wikimedia.org/w/index.php?title=File:CouetteTaylorSystem.svg&oldid=498125506"
+}
+
+@misc{fungilab:manual,
+  author = "Fungilab S.A.",
+  title = "Rotational Viscometer - Instruction Manual",
+  url = "https://www.geass.com/wp-content/uploads/filebase/fungilab/viscosimetri/rotazionali/mod_premium/Manuale-uso-viscosimetro-Fungilab-Premium-ge.pdf"
+}
+
+@misc{fungilab:specifications,
+  author = "Fungilab S.A.",
+  title = "Rotational Viscometer - Technical File",
+  url = "https://www.geass.com/wp-content/uploads/filebase/fungilab/viscosimetri/rotazionali/mod_premium/Viscosimetro-Rotazionale-Fungilab-PREMIUM-L-R-H-en.pdf"
+}
+
+@misc{guiopractica,
+  title = "Guió pràctica 2 - Laboratori de Física dels Medis Continus"
+}
+
+@article{Segur1951,
+  doi = {10.1021/ie50501a040},
+  url = {https://doi.org/10.1021/ie50501a040},
+  year = {1951},
+  month = sep,
+  publisher = {American Chemical Society ({ACS})},
+  volume = {43},
+  number = {9},
+  pages = {2117--2120},
+  author = {J. B. Segur and Helen E. Oberstar},
+  title = {Viscosity of Glycerol and Its Aqueous Solutions},
+  journal = {Industrial {\&} Engineering Chemistry}
+}
+
+@Book{poling2001the,
+ author = {Reid, Robert},
+ title = {The properties of gases and liquids},
+ publisher = {McGraw-Hill},
+ year = {2001},
+ address = {New York},
+ isbn = {9780070116825}
+ }
