
VectorTools::integrate_difference(mapping,dof_handler,solution, Solution<dim>(),H1_error_per_cell, QGauss<dim>(fe->tensor_degree()+1),VectorTools::H1_norm);
const double H1_error = VectorTools::compute_global_error(triangulation, H1_error_per_cell, VectorTools::H1_norm); //assuming I provided also the gradient method for the Solution<dim> class
I was expanding step-12 using a manufactured solution to check the order p in H^1 (and p+1 in L^2) norm on a uniformly refined mesh for the DG upwind method. I've used the ParsedConvergenceTable with a parameter file as described in the docs. As Rate_key I'm using the DoFs, while as Rate_mode I have reduction_rate_log2.With p=1 and p=2 everything is fine. But if I set the finite element degree to 3, then the H^1 convergence rate decreases, as you can see in the attached image.
<Screenshot 2021-08-07 at 17.56.06.png>
This, however, doesn't happen if I use a classical ConvergenceTable. Namely, I first compute the local error in each cell, and then the global error in the classical way:VectorTools::integrate_difference(mapping,dof_handler,solution, Solution<dim>(),H1_error_per_cell, QGauss<dim>(fe->tensor_degree()+1),VectorTools::H1_norm);
const double H1_error = VectorTools::compute_global_error(triangulation, H1_error_per_cell, VectorTools::H1_norm); //assuming I provided also the gradient method for the Solution<dim> class
Does anyone have any idea why this is happening? My guess was that while computing the H^1 semi-norm the ParsedConvergenceTable class does some approximation to compute the gradient from the exact solution expression and hence that could be the source of the issue. Conversely, in the "ConvergenceTable" way I do define explicitly the gradient of the exact solution in the Solution<dim> class.
Il giorno 8 ago 2021, alle ore 6:49 PM, Luca Heltai <luca....@gmail.com> ha scritto:
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/dc72f870-1549-471c-b93b-854bfe3b67d9n%40googlegroups.com.