# How can NDSolve be used to solve the heat equation as a first-order system?

For reasons that have not been said, I tried to approximate the solution of the heat equation with initial data and limits as a first-order system using the following block of code:

``````Clear[u, v, t, x, tend]
tend = 5;
pde = {D[u[t, x], t]== v[t, x], D[u[t, x], X]== v[t, x]};
bc = {u[0, x] == 1.0 - x ^ 2, v[0, x] == 0, v[t, 0.0] == 0.0,
you[t, 1.0] == 0.0};
{usol, vsol} =
NDSolveValue[{pde, bc}, {u, v}, {x, 0, 1}, {t, 0, tend},
Method -> {"PDEDiscretization" -> {"MethodOfLines",
"SpatialDiscretization" -> {"TensorProductGrid",
"MinPoints" -> 30}}}]
grflux = Plot[usol[t, 0], {t, 0, tend}, PlotRange -> All,
Marco -> True]
``````

This produces a result in treating the PDE as a DAE, but it does not give the correct answer as it can be seen executing the code.
A hand-made Mathematica code, which uses, for example, the MacCormak method, can be easily written to approximate the first-order system solution as a DAE and produce the correct answer. Is there a better way to raise the system to Mathematica so that your DAE solver produces the correct result?