\, j = 1, ..., N_v$. Since $\Phi_h$ is defined only at the vertices of $\cTc^{n+1}$, we need to compute $\Phi_h(\hat{{\boldsymbol{\xi}}}_j)$ using interpolation. Linear interpolation is used since it is important to keep the nonsingularity of the mesh while it is unnecessary to compute the mesh to high accuracy. The metric tensor is assumed to be symmetric and uniformly positive definite on $\Omega$. It is used to control the size, shape, and orientation of the elements of the mesh to be generated. We consider three types of mesh, one is uniform and the other two are arclength- and Hessian-based adaptive meshes. The metric tensors associated with the adaptive meshes are defined as $$\begin{aligned}
\bM & = (\mathbb{I} + \grad u_h^n (\grad u_h^n)^T)^{\frac{1}{2}} ,
\label{M-arclength}
\\
\bM & = \left[ \det \left( \mathbb{I} +  |H(u_h^n)| \right)\right]^{-\frac{1}{6}}
                \left( \mathbb{I} +  |H(u_h^n)|\right) ,
 \label{M-hessian}
 \end{aligned}$$ where $\mathbb{I}$ is the $d\times d$ identity matrix, $H(u_h^n)$ is a recovered Hessian for the piecewise linear finite element solution $u_h^n$, and $|H(u_h^n)| = Q \text{diag} (|\lambda_1|, ..., |\lambda_d|) Q^T$ with $Q \text{diag} (\lambda_1, ..., \lambda_d) Q^T$ being the eigen-decomposition of $H(u_h^n)$. The tensor (\[M-arclength\]) is the frequently used arclength monitor function which, loosely speaking, places mesh points 