diff --git a/quad8/continuummechanics/homework/hw8/main.pdf b/quad8/continuummechanics/homework/hw8/main.pdf
new file mode 100644
index 0000000..d963b98
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/main.pdf
Binary files differ
diff --git a/quad8/continuummechanics/homework/hw8/main.tex b/quad8/continuummechanics/homework/hw8/main.tex
new file mode 100644
index 0000000..8f07c42
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/main.tex
@@ -0,0 +1,303 @@
+\documentclass[11pt,a4paper,dvipsnames]{article}
+\usepackage[utf8]{inputenc}
+
+\input{../preamble.tex}
+
+\title{Homework 8\\Continuum Mechanics}
+\author{Adrià Vilanova Martínez}
+\date{May 23, 2021}
+
+\showcorrectionstrue % Change "true" to "false" in order to show corrections as
+                     % if they weren't corrections (in black instead of red).
+
+\begin{document}
+
+\maketitle
+
+\begin{Problem}
+  Two incompressible and immiscible fluids of similar densities $\rho_1$ and $\rho_2$, and of viscosities $\eta_1$ and $\eta_2$ are confined between two horizontal parallel plates. The gap between the plates is $H$. Since $\rho_1 \approx \rho_2$, we can safely neglect gravitational effects.
+
+  Fluid 1, in contact with the lower plate, forms a layer of thickness $h_1$. Fluid 2, in contact with the upper plate, forms a layer on top of fluid 1 of thickness $H - h_1$. The upper plate moves with velocity $\vec{U} = U \hat{i}$.
+
+  \begin{enumerate}[a)]
+    \item Determine the steady-state velocity profile in each fluid layer. Sketch both velocity profiles assuming $\eta_2 = 2 \eta_1$.
+
+    \item Compute the tangential force per unit area exerted on the upper plate.
+
+    \item Think about the pressure and whether it is constant or not and why.
+  \end{enumerate}
+\end{Problem}
+
+\correction{\textsc{Note}: I understood $\eta_2 = 2 \eta_1$ was a restriction throughout the whole problem, and not only for the velocity profiles.}
+
+\textbf{Solution for a):} \\
+Because of the temporal and spatial symmetries of the problem and some of the boundary conditions, the velocity field will only depend on $z$, so $\vec{v} \equiv \vec{v}(z)$, and we'll also have that $\vec{v} \cdot \hat{j} = \vec{v} \cdot \hat{k} = 0$.
+
+Imposing Navier-Cauchy's equation in the case of incompressible fluids (for a generic viscosity $\eta$ and a velocity of the previous form) taken into account that we're in a steady state, we obtain:
+\[ \begin{cases}
+  0 = - \partial_x p + \eta v_x''(z), \\
+  0 = - \partial_y p \implies p \not\equiv p(y), \\
+  0 = - \partial_z p \implies p \not\equiv p(z).
+\end{cases} \]
+
+In the case of parallel flow in the $x$-direction in stationary flows, we know that $\partial_x P$ is constant throughout the volume of the fluid (and in fact equal to 0 due to the fact that the flow is only driven by the plates and is not pressure-driven). Thus, by integrating the first equation we have
+\[ v_x(z) = c z + d, \]
+which is the expression for the only non-zero component of the velocity field in both fluids (each fluid will have its own constants, which will be denoted by $c_i$ and $d_i$ where $i$ is the index of the fluid which has density $\rho_i$ and viscosity $\eta_i$).
+
+Let's now impose all the boundary conditions: due to the fact that the fluids are real, there is a no slip condition in the interfaces with the plates (the tangential components of the velocity of the plate and fluid will be equal). This means:
+\[ \begin{cases}
+  v_x(H) = U, \\
+  v_x(0) = 0
+\end{cases} \implies \begin{cases}
+  c_2 H + d_2 = U, \\
+  d_1 = 0.
+\end{cases} \implies \]
+\[ \implies v_x(z) = \left\{\begin{array}{ll}
+  c_1 z, & (z < h_1) \\
+  c_2 (z - H) + U. & (z > h_1)
+\end{array}\right. \]
+
+At the interface between both fluids, since it is planar, both fluids are incompressible and Newtonian, and the velocity field is of the form $\vec{v} = v_x(z) \hat{i}$, we have seen in class that in that interface we have
+\[ \eta_1 \partial_z v_x^{(1)} = \eta_2 \partial_z v_x^{(2)} \implies \partial_z v_x^{(1)} = 2 \partial_z v_x^{(2)}, \]
+where the superscript indicates whether the expression of the velocity taken is the limit coming from the upper (2) or lower (1) section.
+
+Thus, derivating and using the previous equality we obtain:
+\[ c := c_1 = 2 c_2 \implies v_x(z) = \left\{\begin{array}{ll}
+  \correction{2} c z, & (z < h_1) \\
+  c (z - H) + U. & (z > h_1)
+\end{array}\right. \]
+
+\correction{I missed the following boundary condition which lets us determine $c$: we must impose continuity of the velocity at the liquid-liquid interface:
+\[ v_x^\text{(1)} (h_1) = v_x^\text{(2)} (h_1) \implies 2 c h_1 = c(h_1 - H) + U \implies c = \frac{1}{h_1} (U - cH). \]}
+
+At the interface between both fluids we can also impose the continuity of the tangential stresses. For that, let's calculate the stress tensor:
+\[ \grad \vec{v} = v_x'(z) \hat{k} \hat{i} \implies \TT{e} = \frac{1}{2} v_x'(z) (\hat{k} \hat{i} + \hat{i} \hat{k}). \]
+Finally, since $\TT{\sigma} = -p \TT{I} + \TT{\sigma}' = -p \TT{I} + 2 \eta \TT{e}$:
+\[ \TT{\sigma} = -p \TT{I} + \eta v_x'(z) (\hat{k} \hat{i} + \hat{i} \hat{k}). \]
+Now we can impose the boundary condition $(\TT{\sigma}_1 \cdot \hat{n}) \cdot \hat{n} = (\TT{\sigma}_2 \cdot \hat{n}) \cdot \hat{n} = 0$, which gives us:
+\[ p_1 = p_2. \]
+This means the pressure is identical in both fluids.
+
+\correction{However, here we've supposed that superficial tension is 0. If that wasn't the case, although pressure would remain constants in each of the fluids, we would have a difference of pressures $\Delta p = 2 \gamma H$ at the interface. As the mean curvature is $H = 0$, we would also get $p_1 = p_2$ in this case, though.}
+
+\begin{figure}[H]
+  \centering
+  \input{vprofile1.tex}
+  \caption{Sketch of the velocity profile when $\eta_2 = 2 \eta_1$.}
+\end{figure}
+
+\textbf{Solution for b):} \\
+The tangential force per unit area exerted on the upper plate is:
+\[ \sigma_{xz}(H) = \eta v_x'(H) = \eta U. \]
+
+\textbf{Solution for c):} \\
+As shown in section a), in both fluids the pressure in all points throughout each fluid is constant, and not only that, but both pressures are equal to each other.
+
+\newpage
+
+\begin{Problem}
+  A liquid of viscosity $\eta$ flows under the action of gravity through a cylindrical pipe of radius $R$ and length $L$. The pipe is inclined an angle $\alpha$ relative to the horizontal. There is also a pressure difference $\Delta p$ between the two ends of the pipe.
+
+  \begin{enumerate}[a)]
+    \item Compute the steady-state velocity profile.
+    \item Find the flow rate across the pipe.
+    \item Calculate the viscous drag force exerted by the fluid on the pipe.
+  \end{enumerate}
+\end{Problem}
+
+Let's use cylindrical coordinates, $(r, \theta, z)$, with the symmetry axis of the pipe along $z$.
+
+In general, $\vec{v} = (v_r, v_\theta, v_z)$, but considering laminar flow and symmetry arguments (no end effects), we have $\vec{v} = v_z(r, \theta, z) \hat{e}_z$ and $v_r = v_\theta = 0$.
+
+In addition, the fluid is assumed to be incompressible:
+\[ \div \vec{v} = 0 \implies \partial_z v_z = 0 \implies v_z \not\equiv v_z(z). \]
+
+Due to symmetry, the velocity field has no angular dependence either, so that $v_z \not\equiv v_z(\theta)$. Hence:
+\[ \vec{v} = v_z(r) \hat{e}_z, \]
+where $v_z(r)$ is the radial velocity profile.
+
+The convective acceleration is then identically zero (parallel shear flow): $(\vec{v} \cdot \nabla) \vec{v} = v_z \partial_z \vec{v} = 0$. The flow is also stationary: $\partial_t \vec{v} = 0$. The Navier-Stokes equation reduces to:
+\[ 0 = - \grad p + \rho \vec{g} + \eta \nabla^2 \vec{v}. \]
+For the three velocity components:
+\[ \begin{cases}
+  0 = - \partial_r p + \rho g \cos \alpha \cos \theta, \\
+  0 = - \frac{1}{r} \partial_\theta p - \rho g \cos \alpha \sin \theta, \\
+  0 = - \partial_z p + \rho g \sin \alpha + \eta \nabla^2 v_z.
+\end{cases} \]
+
+The first 2 equations simply determine the hydrostatic pressure profile, $p(r, \theta, z)$.
+
+The presure gradient in the $z$ direction is constant, by translational invariance along $z$, and given by $\partial_z p = \frac{\Delta p}{L}$ with $\Delta p := p_L - p_0$. The last equation then reads:
+\[ \eta \nabla^2 v_z = -\rho g \sin \alpha + \frac{\Delta p}{L} \implies \eta \frac{1}{r} \partial_r (r \partial_r) v_z(r) = - \rho g \sin \alpha + \frac{\Delta p}{L} \implies \]
+\[ \implies \partial_r (r \partial_r) v_z(r) = \frac{1}{\eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) r \implies \]
+\[ \implies r \partial_{rr} v_z(r) = \frac{1}{\eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) r - \partial_{r} v_z(r) \implies \]
+\[ \implies \partial_{rr} v_z(r) = \frac{1}{\eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) - \frac{1}{r} \partial_{r} v_z(r) \implies \]
+\[ \implies \partial_r v_z(r) = \frac{1}{2 \eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) r + \frac{A}{r} \implies \]
+\[ \implies v_z(r) = \frac{1}{4 \eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) r^2 + A \log(r) + B. \]
+The constants $A$, $B$ are determined by the boundary conditions:
+\[ \begin{cases}
+  v_z(0) \not\to \infty \implies A = 0, \\
+  v_z(R) = 0 \text( (no-slip)) \implies B = -\frac{1}{4 \eta} \left( - \rho g \sin \alpha + \frac{\Delta p}{L} \right) R^2.
+\end{cases} \]
+
+Finally:
+\[ v_z(r) = \frac{1}{4 \eta} \left( \frac{\Delta p}{L} - \rho g \sin \alpha \right) (r^2 - R^2). \]
+This is a parabolic velocity profile, which results from the superposition of a profile due to $\frac{\Delta p}{L}$ and to $g$ separately, since the reduced Navier-Stokes equation is linear.
+
+\textbf{Solution for b):} \\
+Flow rate:
+\[ Q = \int_0^{2 \pi} d\theta \int_0^R dr \, r v_z(r) = \frac{2 \pi}{4 \eta} \left( \frac{\Delta p}{L} - \rho g \sin \alpha \right) \int_0^R r (r^2 - R^2) \, dr \implies \]
+\[ \implies Q = \frac{\pi}{8 \eta} R^4 \left( \rho g \sin \alpha - \frac{\Delta p}{L} \right). \]
+
+\textbf{Solution for c):} \\
+Drag force on the pipe:
+\[ \frac{d \vec{F}}{dS} = \TT{\sigma}' \cdot \hat{n}, \quad \TT{\sigma}' = \eta (\grad \vec{v} + (\grad \vec{v})^T). \]
+
+In this case the only non-zero elements of the viscous stress tensor are $\sigma'_{rz} = \sigma'_{zr} = \eta \partial_r v_z$. Hence:
+\[ \frac{d \vec{F}}{dS} = \sigma'_{zr} |_{r = R} \hat{e}_z = \eta \left. \frac{\partial v_z}{\partial r} \right|_{r = R} \hat{e}_z = \frac{1}{2} \left( \frac{\Delta p}{L} - \rho g \sin \alpha \right) R \hat{e}_z. \]
+
+Integrating over the surface of the pipe, we get the total drag force:
+\[ F_z = \frac{1}{2} \left( \frac{\Delta p}{L} - \rho g \sin \alpha \right) R \int_0^L dz \int_0^{2 \pi} d\theta \, R, \]
+so that
+\[ F_z = \pi R^2 L \left( \frac{\Delta p}{L} - \rho g \sin \alpha \right); \quad \vec{F} = F_z \hat{e}_z. \]
+
+\begin{Problem}
+  Vorticity in Stokes' 1st problem - we have looked at this problem in class. Specifically, we obtained the velocity profile by solving the Navier-Stokes equation, which reduces in this problem to the diffusion equation.
+
+  \begin{enumerate}[a)]
+    \item Using the result in class, find the vorticity.
+
+    \item Calculate the vorticity flux through rectangle in the $xy$-plane with dimension along $x$ equal to $L$. (Hint: use Stokes' theorem to find the corresponding circulation.)
+
+    Note that the vorticity-flux is independent of time; it remains unchanged as the Stokes' boundary layer grows.
+
+    \item Using what we called in class the alternative form of the Navier-Stokes equation, show that vorticity obeys a diffusion equation.
+
+    This tells us that vorticity cannot be generated inside the viscous Stokes' layer during its growth, but only redistributed. We thus conclude that vorticity must arise at the plate surface during the (in reality, nearly) instantaneous accelereation of the fluid, and afterwards diffuse away from the plate into the fluid at large without changing the total vorticity-flux.
+  \end{enumerate}
+\end{Problem}
+
+\textbf{Solution for a):} \\
+In class we found that
+\[ v_x(y, t) = v_0 \left[ 1 - \erf \left( \frac{y}{2 \sqrt{\nu t}} \right) \right]. \]
+Therefore:
+\[ \vec{\omega} = \curl \vec{v} = \begin{vmatrix}
+  \hat{i} & \partial_x & v_0 \left[ 1 - \erf \left( \frac{y}{2 \sqrt{\nu t}} \right) \right] \\
+  \hat{j} & \partial_y & 0 \\
+  \hat{k} & \partial_z & 0
+\end{vmatrix} = \frac{v_0}{\sqrt{\pi \nu t}} \exp\left[ - \left( \frac{y}{2 \sqrt{\nu t}} \right)^2 \right] \hat{k}. \]
+
+\textbf{Solution for b):}
+\[ I = \int_{R} (\curl \vec{v}) dS = \oint_{\partial R} \vec{v} \cdot dl = \left( \int_{AB} + \int_{BC} + \int_{CD} + \int_{DA} \right) \vec{v} \cdot dl, \]
+where $A, B, C, D$ are the vertexs of the rectangle starting from the bottom-left corner (lowest $x$ and $y$) in the anti-clockwise direction.
+Since $\vec{v} = v_x(y) \hat{i}$:
+\[ I = \left( \int_{AB} + \bcancel{\int_{BC}} + \int_{CD} + \bcancel{\int_{DA}} \right) \vec{v} \cdot dl = L (v_x(y_1) - v_x(y_2)). \]
+
+\correction{Considering the bottom side at the origin, and taking the limit of the upper side of the rectangle going to infinity, given that at the infinity limit $v_x = 0$ and at the origin $v_x = v_0$, we get
+\[ I = L v_0. \]}
+
+\textbf{Solution for c):} \\
+The alternative form of the Navier-Stokes equation for incompressible flows is:
+\[ \partial_t \vec{\omega} + \curl (\vec{\omega} \cross \vec{v}) = \frac{\eta}{\rho} \nabla^2 \vec{\omega} \]
+
+We can use the identity for the curl of the vectorial product of 2 vector fields to see that the second term in the LHS vanishes, thus leaving us with the diffusion equation in 3D:
+\[ \curl (\vec{\omega} \cross \vec{v}) = \vec{\omega} \cancel{\div \vec{v}} - \vec{v} \cancel{\div \vec{\omega}} + (\vec{v} \cdot \nabla) \vec{\omega} - (\vec{\omega} \cdot \nabla) \vec{v} = \]
+\[ = v_x \cancel{\partial_x \vec{\omega}} - \omega_z \cancel{\partial_z \vec{v}} = 0, \]
+where we have used the results in sections a) and b), the fact that the flow is incompressible and that $\div \vec{\omega} = \div (\curl \vec{v}) = 0$.
+
+Therefore:
+\[ \partial_t \vec{\omega} = \frac{\eta}{\rho} \nabla^2 \vec{\omega}. \]
+
+\begin{Problem}
+  Consider the kinetic energy density of an incompressible fluid, $\frac{1}{2} \rho v^2$. In this problem we are going to derive the conservation law for energy applied to a control (fixed) volume $V$.
+
+  \begin{enumerate}[a)]
+    \item Use the equation of motion for a fluid to show that:
+    \[ \partial_t \left( \frac{1}{2} \rho v^2 \right) = \frac{v^2}{2} \partial_t \rho - \rho v_i v_j \partial_j v_i - v_i \partial_i p + v_i \partial_j \sigma'_{ij} + v_i f_i. \]
+  \end{enumerate}
+\end{Problem}
+
+\textbf{Solution:}
+\[ \partial_t \left( \frac{1}{2} \rho v^2 \right) = \frac{v^2}{2} \partial_t \rho + \rho v_i \partial_t v_i = \]
+\[ = \frac{v^2}{2} \partial_t \rho + \rho v_i (- (\vec{v} \cdot \nabla) v_i + \frac{1}{\rho} f_i^* ) = \]
+\[ = \frac{v^2}{2} \partial_t \rho + \rho v (- (v_j \partial_j) v_i + \frac{1}{\rho} (f_i + (\div \TT{\sigma}^T)_i) ) = \]
+\[ = \frac{v^2}{2} \partial_t \rho - \rho v_i v_j \partial_j v_i - v_i \partial_i p + v_i \partial_j \sigma'_{ij} + v_i f_i. \]
+
+\begin{FreeProblem}
+  \begin{enumerate}[a)]
+    \setcounter{enumi}{1}
+    \item Now use the continuity equation to show that:
+    \[ v_j \partial_j \left( \frac{\rho v^2}{2} \right) = v_j \rho v_i \partial_j v_i - \frac{v^2}{2} \frac{\partial \rho}{\partial t}. \]
+  \end{enumerate}
+\end{FreeProblem}
+
+\Solution
+First of all, we have:
+\[ v_j \partial_j \left( \frac{\rho v^2}{2} \right) = v_j \rho v_i \partial_j v_i - \frac{v^2}{2} v_j \partial_j \rho. \]
+
+Also, from the continuity equation it follows that
+\[ \partial_t \rho = - \div (\rho \vec{v}) = - \rho \cancel{\div \vec{v}} - \vec{v} \cdot \grad \rho = - v_j \partial_j \rho, \]
+which completes our proof.
+
+\begin{FreeProblem}
+  \begin{enumerate}[a)]
+    \setcounter{enumi}{2}
+    \item Use this result, that $\partial_j (v_i \sigma'_{ij}) = v_i \partial_j \sigma'_{ij} + \sigma'_{ij} \partial_j v_i$ and that $\TT{\sigma}'$ is symmetric, to obtain:
+    \[ \partial_t \left( \frac{1}{2} \rho v^2 \right) = - (\vec{v} \cdot \grad) \left( \frac{1}{2} \rho v^2 + p \right) + \div (\TT{\sigma}' \cdot \vec{v}) - \TT{\sigma}' : \grad \vec{v} + \vec{v} \cdot \vec{f}. \]
+  \end{enumerate}
+\end{FreeProblem}
+
+\textbf{Solution:}
+\[ \partial_t \left( \rho \frac{v^2}{2} \right) = \cancel{\frac{v^2}{2} \partial_t \rho} - v_j \partial_j \left( \frac{\rho v^2}{2} \right) - \cancel{\frac{v^2}{2} \partial_t \rho} - v_i \partial_i p + \partial_j (v_i \sigma'_{ij}) - \sigma'_{ij} \partial_j v_i + v_i f_i = \]
+\[ \notate[X]{{}={}}{1}{\scriptstyle v_i \sigma'_{ij} = v_i \sigma'_{ji} = \sigma'_{ji} v_i} - (\vec{v} \cdot \grad) \left( \frac{\rho v^2}{2} + p \right) + \div (\TT{\sigma}' \cdot \vec{v}) - \TT{\sigma}' : \grad \vec{v} + \vec{v} \cdot \vec{f}. \]
+
+\begin{FreeProblem}
+  \begin{enumerate}[a)]
+    \setcounter{enumi}{3}
+    \item Now use the identity $\div (\alpha \vec{A}) = \alpha \div \vec{A} + \vec{A} \cdot \grad \alpha$, with $\alpha$ a scalar and $\vec{A}$ a vector, to finally obtain:
+    \[ \partial_t \left( \frac{1}{2} \rho v^2 \right) = - \div[ \vec{v} \left( \frac{\rho v^2}{2} + p \right) - \TT{\sigma}' \cdot \vec{v} ] - \TT{\sigma}' : \grad \vec{v} + \vec{v} \cdot \vec{f}. \]
+  \end{enumerate}
+\end{FreeProblem}
+
+\Solution
+As per the identity above:
+\[ \div[ \vec{v} \left( \frac{\rho v^2}{2} + p \right) ] = \cancel{\left( \frac{\rho v^2}{2} + p \right) \underbrace{\div \vec{v}}_{= 0}} + (\vec{v} \cdot \grad) \left( \frac{\rho v^2}{2} + p \right) = (\vec{v} \cdot \grad) \left( \frac{\rho v^2}{2} + p \right). \]
+
+\begin{FreeProblem}
+  \begin{enumerate}[a)]
+    \setcounter{enumi}{4}
+    \item By integrating this equation to control (fixed) volume $V$, and using Gauss theorem, we arrive at the conservation law for the energy in volume $V$:
+    \[ \begin{split}
+      \frac{d}{dt} \int_V \frac{1}{2} \rho v^2 \, dV' = & - \oint_A \frac{1}{2} \rho v^2 \vec{v} \cdot \hat{n} \, dS - \oint_A p \vec{v} \cdot \hat{n} \, dS \\
+      & \oint_A \vec{v} \cdot \TT{\sigma}' \cdot \hat{n} \, dS + \int_V \vec{v} \cdot \vec{f} \, dV' - \int_V \TT{\sigma}' : \grad \vec{v} \, dV'.
+    \end{split} \]
+  \end{enumerate}
+\end{FreeProblem}
+
+\Solution
+Given that $V$ is fixed:
+\[ \int_V \partial_t \left( \frac{1}{2} \rho v^2 \right) \, dV' = \frac{d}{dt} \int_V \left( \frac{1}{2} \rho v^2 \right) \, dV'. \]
+
+Then, using Gauss' theorem:
+\[ \int_V \div[ \vec{v} \left( \frac{\rho v^2}{2} + p \right) - \TT{\sigma}' \cdot \vec{v} ] \, dV' \lnotate[X]{{}={}}{1}{\scriptstyle \TT{\sigma}' \cdot \vec{v} = \vec{v} \cdot \TT{\sigma}' \text{ because } \TT{\sigma}' \text{ symm.}} \oint_A \left[ \frac{\rho v^2}{2} \vec{v} + p \vec{v} - \vec{v} \cdot \TT{\sigma}' \right] \cdot \hat{n}. \]
+
+\begin{FreeProblem}
+  \begin{enumerate}[a)]
+    \setcounter{enumi}{5}
+    \item Let's work with the last energy dissipation term. Show that for a Newtonian (and incompressible) fluid:
+    \[ \TT{\sigma}' : \grad \vec{v} = \TT{\sigma}' : \TT{e} = 2 \eta \TT{e}^2. \]
+  \end{enumerate}
+\end{FreeProblem}
+
+\textbf{Solution:} \\
+\[ \TT{\sigma}' : \grad \vec{v} = \sigma'_{ij} \partial_k v_n \delta_{jk} \delta_{in} = \sigma'_{ij} \partial_j v_i = \frac{1}{2} (2 \sigma'_{ij} \partial_j v_i) = \]
+\[ = \frac{1}{2} \sigma'_{ij} \partial_j v_i + \frac{1}{2} \sigma'_{ji} \partial_i v_j \notate[X]{{}={}}{1}{\scriptstyle \TT{\sigma}' \text{ symmetric}} \frac{1}{2} \sigma'_{ij} \partial_j v_i + \frac{1}{2} \sigma'_{ij} \partial_i v_j = \sigma'_{ij} \underbrace{\frac{1}{2} (\partial_i v_j + \partial_j v_i)}_{= e_{ji}} = \]
+\[ = \sigma'_{ij} e_{ji} = \TT{\sigma}' : \TT{e}. \]
+
+Then, for an incmopressible newtonian fluid we have $\TT{\sigma}' = 2 \eta \TT{e}$, and thus:
+\[ \TT{\sigma}' : \TT{e} = 2 \eta \TT{e} : \TT{e} = 2 \eta e_{ij} e_{kn} \delta_{jk} \delta_{in} = 2 \eta e_{ij} e_{ji} \notate[X]{{}={}}{1}{\scriptstyle \TT{e} \text{ symmetric}} 2 \eta e_{ij} e_{ij} = 2 \eta \sum_{i, j} e_{ij}^2. \]
+
+Therefore, we obtain:
+\[ \TT{\sigma}' : \grad \vec{v} = \TT{\sigma}' : \TT{e} = 2 \eta \TT{e}^2. \]
+
+\end{document}
diff --git a/quad8/continuummechanics/homework/hw8/vprofile1.gnu b/quad8/continuummechanics/homework/hw8/vprofile1.gnu
new file mode 100755
index 0000000..9dc18ee
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/vprofile1.gnu
@@ -0,0 +1,34 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = 'vprofile1' # Nom de la imatge resultant (sense extensió)
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 10cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$v_x$'
+set ylabel '$z$'
+
+unset key
+
+set arrow 2 from 0,0.25 to 0.5,0.25 lc 3 size 0.08,17
+set arrow 3 from 0,0.5 to 1,0.5 lc 3 size 0.08,17
+set arrow 4 from 0,0.75 to 1.5,0.75 lc 3 size 0.08,17
+set arrow 5 from 0,1 to 2,1 lc 3 size 0.08,17
+set arrow 6 from 0,1.25 to 2.25,1.25 lc 3 size 0.08,17
+set arrow 7 from 0,1.5 to 2.5,1.5 lc 3 size 0.08,17
+set arrow 8 from 0,1.75 to 2.75,1.75 lc 3 size 0.08,17
+set arrow 9 from 0,2 to 3,2 lc 3 size 0.08,17
+set arrow 1 from 0,1 to 3,1 nohead
+
+f(x) = (x > 2 ? x - 1 : 0.5*x )
+plot [0:3] f(x)
+
+# == 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/homework/hw8/vprofile1.pdf b/quad8/continuummechanics/homework/hw8/vprofile1.pdf
new file mode 100644
index 0000000..32d748b
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/vprofile1.pdf
Binary files differ
diff --git a/quad8/continuummechanics/homework/hw8/vprofile1.svg b/quad8/continuummechanics/homework/hw8/vprofile1.svg
new file mode 100644
index 0000000..e81773c
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/vprofile1.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<svg 
+ width="600" height="600"
+ viewBox="0 0 600 600"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.4 patchlevel 1 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="600" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5' stroke='currentColor'/>
+	<path id='gpPt0' stroke-width='0.178' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.178' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.178' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.178' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.178' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.178' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.178' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.178' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,505.50 L102.00,505.50 M568.49,505.50 L557.24,505.50  '/>	<g transform="translate(80.25,510.38)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="end">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,384.75 L102.00,384.75 M568.49,384.75 L557.24,384.75  '/>	<g transform="translate(80.25,389.63)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="end">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 0.5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,264.00 L102.00,264.00 M568.49,264.00 L557.24,264.00  '/>	<g transform="translate(80.25,268.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="end">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 1</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,143.26 L102.00,143.26 M568.49,143.26 L557.24,143.26  '/>	<g transform="translate(80.25,148.14)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="end">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 1.5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,22.51 L102.00,22.51 M568.49,22.51 L557.24,22.51  '/>	<g transform="translate(80.25,27.39)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="end">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 2</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,505.50 L90.75,494.25 M90.75,22.51 L90.75,33.76  '/>	<g transform="translate(90.75,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M170.37,505.50 L170.37,494.25 M170.37,22.51 L170.37,33.76  '/>	<g transform="translate(170.37,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 0.5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M250.00,505.50 L250.00,494.25 M250.00,22.51 L250.00,33.76  '/>	<g transform="translate(250.00,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 1</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M329.62,505.50 L329.62,494.25 M329.62,22.51 L329.62,33.76  '/>	<g transform="translate(329.62,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 1.5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M409.24,505.50 L409.24,494.25 M409.24,22.51 L409.24,33.76  '/>	<g transform="translate(409.24,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 2</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M488.87,505.50 L488.87,494.25 M488.87,22.51 L488.87,33.76  '/>	<g transform="translate(488.87,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 2.5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M568.49,505.50 L568.49,494.25 M568.49,22.51 L568.49,33.76  '/>	<g transform="translate(568.49,532.88)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" > 3</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,22.51 L90.75,505.50 L568.49,505.50 L568.49,22.51 L90.75,22.51 Z  '/>	<path stroke='black'  d='M90.76,263.99 L568.50,263.99  '/>	<path stroke='rgb( 86, 180, 233)'  d='M158.21,441.40 L170.38,445.12 L158.21,448.84 M90.76,445.12 L170.38,445.12 M237.84,381.02 L250.01,384.74 L237.84,388.46
+		M90.76,384.74 L250.01,384.74 M317.46,320.65 L329.63,324.37 L317.46,328.09 M90.76,324.37 L329.63,324.37 M397.08,260.27
+		L409.25,263.99 L397.08,267.71 M90.76,263.99 L409.25,263.99 M436.90,199.90 L449.07,203.62 L436.90,207.34 M90.76,203.62
+		L449.07,203.62 M476.71,139.53 L488.88,143.25 L476.71,146.97 M90.76,143.25 L488.88,143.25 M516.52,79.15 L528.69,82.87
+		L516.52,86.59 M90.76,82.87 L528.69,82.87 M556.33,18.78 L568.50,22.50 L556.33,26.22 M90.76,22.50 L568.50,22.50
+		 '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(23.99,264.01) rotate(270)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" >$z$</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(329.62,566.63)" stroke="none" fill="black" font-family="Computer Modern,Tinos,Helvetica" font-size="15.00"  text-anchor="middle">
+		<text><tspan font-family="Computer Modern,Tinos,Helvetica" >$v</tspan><tspan font-family="Computer Modern,Tinos,Helvetica"  font-size="12.0" dy="4.50px">x</tspan><tspan font-family="Computer Modern,Tinos,Helvetica"  font-size="15.0" dy="-4.50px">$</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	<g id="gnuplot_plot_1" ><title>f(x)</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='rgb(148,   0, 211)'  d='M90.75,505.50 L95.58,501.84 L100.40,498.18 L105.23,494.52 L110.05,490.86 L114.88,487.20 L119.70,483.55 L124.53,479.89
+		L129.36,476.23 L134.18,472.57 L139.01,468.91 L143.83,465.25 L148.66,461.59 L153.48,457.93 L158.31,454.27 L163.13,450.61
+		L167.96,446.96 L172.79,443.30 L177.61,439.64 L182.44,435.98 L187.26,432.32 L192.09,428.66 L196.91,425.00 L201.74,421.34
+		L206.57,417.68 L211.39,414.02 L216.22,410.37 L221.04,406.71 L225.87,403.05 L230.69,399.39 L235.52,395.73 L240.35,392.07
+		L245.17,388.41 L250.00,384.75 L254.82,381.09 L259.65,377.43 L264.47,373.78 L269.30,370.12 L274.12,366.46 L278.95,362.80
+		L283.78,359.14 L288.60,355.48 L293.43,351.82 L298.25,348.16 L303.08,344.50 L307.90,340.84 L312.73,337.19 L317.56,333.53
+		L322.38,329.87 L327.21,326.21 L332.03,322.55 L336.86,318.89 L341.68,315.23 L346.51,311.57 L351.34,307.91 L356.16,304.25
+		L360.99,300.60 L365.81,296.94 L370.64,293.28 L375.46,289.62 L380.29,285.96 L385.12,282.30 L389.94,278.64 L394.77,274.98
+		L399.59,271.32 L404.42,267.66 L409.24,264.00 L414.07,256.69 L418.89,249.37 L423.72,242.05 L428.55,234.73 L433.37,227.41
+		L438.20,220.10 L443.02,212.78 L447.85,205.46 L452.67,198.14 L457.50,190.82 L462.33,183.51 L467.15,176.19 L471.98,168.87
+		L476.80,161.55 L481.63,154.23 L486.45,146.92 L491.28,139.60 L496.11,132.28 L500.93,124.96 L505.76,117.64 L510.58,110.33
+		L515.41,103.01 L520.23,95.69 L525.06,88.37 L529.88,81.05 L534.71,73.74 L539.54,66.42 L544.36,59.10 L549.19,51.78
+		L554.01,44.46 L558.84,37.15 L563.66,29.83 L568.49,22.51  '/></g>
+	</g>
+<g fill="none" color="white" stroke="rgb(148,   0, 211)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M90.75,22.51 L90.75,505.50 L568.49,505.50 L568.49,22.51 L90.75,22.51 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+
diff --git a/quad8/continuummechanics/homework/hw8/vprofile1.tex b/quad8/continuummechanics/homework/hw8/vprofile1.tex
new file mode 100644
index 0000000..297e04c
--- /dev/null
+++ b/quad8/continuummechanics/homework/hw8/vprofile1.tex
@@ -0,0 +1,119 @@
+% GNUPLOT: LaTeX picture with Postscript
+\begingroup
+  \makeatletter
+  \providecommand\color[2][]{%
+    \GenericError{(gnuplot) \space\space\space\@spaces}{%
+      Package color not loaded in conjunction with
+      terminal option `colourtext'%
+    }{See the gnuplot documentation for explanation.%
+    }{Either use 'blacktext' in gnuplot or load the package
+      color.sty in LaTeX.}%
+    \renewcommand\color[2][]{}%
+  }%
+  \providecommand\includegraphics[2][]{%
+    \GenericError{(gnuplot) \space\space\space\@spaces}{%
+      Package graphicx or graphics not loaded%
+    }{See the gnuplot documentation for explanation.%
+    }{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
+    \renewcommand\includegraphics[2][]{}%
+  }%
+  \providecommand\rotatebox[2]{#2}%
+  \@ifundefined{ifGPcolor}{%
+    \newif\ifGPcolor
+    \GPcolortrue
+  }{}%
+  \@ifundefined{ifGPblacktext}{%
+    \newif\ifGPblacktext
+    \GPblacktexttrue
+  }{}%
+  % define a \g@addto@macro without @ in the name:
+  \let\gplgaddtomacro\g@addto@macro
+  % define empty templates for all commands taking text:
+  \gdef\gplbacktext{}%
+  \gdef\gplfronttext{}%
+  \makeatother
+  \ifGPblacktext
+    % no textcolor at all
+    \def\colorrgb#1{}%
+    \def\colorgray#1{}%
+  \else
+    % gray or color?
+    \ifGPcolor
+      \def\colorrgb#1{\color[rgb]{#1}}%
+      \def\colorgray#1{\color[gray]{#1}}%
+      \expandafter\def\csname LTw\endcsname{\color{white}}%
+      \expandafter\def\csname LTb\endcsname{\color{black}}%
+      \expandafter\def\csname LTa\endcsname{\color{black}}%
+      \expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
+      \expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
+      \expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
+      \expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
+      \expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
+      \expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
+      \expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
+      \expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
+      \expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
+    \else
+      % gray
+      \def\colorrgb#1{\color{black}}%
+      \def\colorgray#1{\color[gray]{#1}}%
+      \expandafter\def\csname LTw\endcsname{\color{white}}%
+      \expandafter\def\csname LTb\endcsname{\color{black}}%
+      \expandafter\def\csname LTa\endcsname{\color{black}}%
+      \expandafter\def\csname LT0\endcsname{\color{black}}%
+      \expandafter\def\csname LT1\endcsname{\color{black}}%
+      \expandafter\def\csname LT2\endcsname{\color{black}}%
+      \expandafter\def\csname LT3\endcsname{\color{black}}%
+      \expandafter\def\csname LT4\endcsname{\color{black}}%
+      \expandafter\def\csname LT5\endcsname{\color{black}}%
+      \expandafter\def\csname LT6\endcsname{\color{black}}%
+      \expandafter\def\csname LT7\endcsname{\color{black}}%
+      \expandafter\def\csname LT8\endcsname{\color{black}}%
+    \fi
+  \fi
+    \setlength{\unitlength}{0.0500bp}%
+    \ifx\gptboxheight\undefined%
+      \newlength{\gptboxheight}%
+      \newlength{\gptboxwidth}%
+      \newsavebox{\gptboxtext}%
+    \fi%
+    \setlength{\fboxrule}{0.5pt}%
+    \setlength{\fboxsep}{1pt}%
+\begin{picture}(5660.00,4240.00)%
+    \gplgaddtomacro\gplbacktext{%
+      \csname LTb\endcsname%%
+      \put(559,508){\makebox(0,0)[r]{\strut{}$0$}}%
+      \csname LTb\endcsname%%
+      \put(559,1396){\makebox(0,0)[r]{\strut{}$0.5$}}%
+      \csname LTb\endcsname%%
+      \put(559,2284){\makebox(0,0)[r]{\strut{}$1$}}%
+      \csname LTb\endcsname%%
+      \put(559,3172){\makebox(0,0)[r]{\strut{}$1.5$}}%
+      \csname LTb\endcsname%%
+      \put(559,4060){\makebox(0,0)[r]{\strut{}$2$}}%
+      \csname LTb\endcsname%%
+      \put(648,349){\makebox(0,0){\strut{}$0$}}%
+      \csname LTb\endcsname%%
+      \put(1435,349){\makebox(0,0){\strut{}$0.5$}}%
+      \csname LTb\endcsname%%
+      \put(2223,349){\makebox(0,0){\strut{}$1$}}%
+      \csname LTb\endcsname%%
+      \put(3010,349){\makebox(0,0){\strut{}$1.5$}}%
+      \csname LTb\endcsname%%
+      \put(3797,349){\makebox(0,0){\strut{}$2$}}%
+      \csname LTb\endcsname%%
+      \put(4585,349){\makebox(0,0){\strut{}$2.5$}}%
+      \csname LTb\endcsname%%
+      \put(5372,349){\makebox(0,0){\strut{}$3$}}%
+    }%
+    \gplgaddtomacro\gplfronttext{%
+      \csname LTb\endcsname%%
+      \put(146,2284){\rotatebox{-270}{\makebox(0,0){\strut{}$z$}}}%
+      \csname LTb\endcsname%%
+      \put(3010,111){\makebox(0,0){\strut{}$v_x$}}%
+    }%
+    \gplbacktext
+    \put(0,0){\includegraphics[width={283.00bp},height={212.00bp}]{vprofile1}}%
+    \gplfronttext
+  \end{picture}%
+\endgroup
