Wave Equation with Explicit Euler Time Integration


I am trying to solve the wave equation using explicit Euler time stepping (for the sake of simplicity) by substituting \dot{p}= q.
Thus, I am solving the set of equations summarized in the attached PDF-file.

For 1D, I am running the attached (executable) code, where at the Dirichlet boundary, the pressure p(t)=\sin(2 \pi f t) with $f=1$Hz is prescribed.

The plots of the solution of the FEM simulation and of the extracted time signals at the Dirichlet BC at x=0 for p(t) (which is prescribed) and q(t) which is obtained from the simulation look good at first sight. The solution of the wave propagation, i.e. pressure field p(t) is as expected. However, the FEM solution of the auxiliary quantity q is not. But when I am computing the difference quotient from p(t), I get the correct (target) solution for q(t).
Thus, I am wondering if I am using some of the NGSolve utilities wrong or if there is any other reason for that.

I also added results of alternative excitation functions for the Dirichlet BC to the attachments. (Somehow I was not able to upload any attechment. Therefore, all I am providing all these hyperlinks. Sorry for that.)
For the 2D case and also for an initial condition (instead of excitation by Dirichlet BC), I get the same behavior (Primary quantity p(t) is right, but the auxiliary quantity q(t) is wrong. However, computing the difference quotient from p(t) yields the correct result.