> if(PRESSURE_ORDER==2)
>  integrando_pres=2;
> else if(PRESSURE_ORDER==2)
>  integrando_pres=1;

The two if-conditions are the same, so you'll always end up with 
integrando_pres=2.


> If I use Q2 for pressure, I will use a Gauss-Legendre quadrature of 2
> order (QGauss<DIMENSION(integrando_pres) with integrando_pres=2). And if
> I use Q1 for pressure, I will use a Gauss-Legendre quadrature of 1 order
> (QGauss<DIMENSION(integrando_pres) with integrando_pres=1), since with n
> quadrature points I get an exact integration for polynomials of degree
> 2n-1.

If you use elements of order p, you need to choose a quadrature formula 
with p+1 points in each direction, since your integrand is a polynomial of 
degree 2p and your quadrature formula needs to integrate that correctly.

If you use elements of order p, and a quadrature with p Gauss points, you 
may see a higher order of convergence than you should because of 
superconvergence effects.


> However, if I use QGauss<DIMENSION(3), i.e. with a bigger order in the
> quadrature, in the VectorTools::integrate_difference() method, I get a
> pressure error that isn't smaller with a small mesh size, on the
> contrary: pressure error with a mesh size of h=1/32 is smaller than the
> pressure error with a mesh size of h=1/64.
>
> Could you help me explaining me this behaviour? Is this result possible?

I can't tell what is going wrong, but you should definitely use a 
quadrature formula that has enough points to make sure the integration is 
exact (or that the integration error is of higher order than the error in 
the numerical approximation).

W.


-- 
-------------------------------------------------------------------------
Wolfgang Bangerth                email:            [email protected]
                                 www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to