[deal.II] VectorTools::integrate_difference function

```
```
```
I wanted to evaluate Vectortool::integrate_difference to estimate my error.

but I couldn't figure out what I need to enter for the third component. (I
marked it as red)

VectorTools::integrate_difference (dof_handler,

solution,

*Solution<dim+**1**>()*,

difference_per_cell,

QGauss<dim>(3),

VectorTools::L2_norm);

I have solution vector over my domain,(by the way I am solving vector
valued problems...)

I want to compare this with continuous exact function, "May be
Solution<dim+1>" , I have generated it as follow.

However, I got a error message that

*/Users/jaekwangjk/repos/trial/sphere-deal.ii/mystokes.cc:1258:7: **error: *
*no*

*      matching function for call to 'integrate_difference'*

What's might be wrong with my code......

template <int dim>

class Solution : public Function<dim>

{

public:

Solution () : Function<dim>(dim+1) {}

//const unsigned int b_id;

virtual double value (const Point<dim>   &p,

const unsigned int component = 0) const;

virtual void vector_value (const Point<dim> &p,

Vector<double>   &value) const;

};

template <int dim>

double

Solution<dim>::value (const Point<dim>  &p,

const unsigned int component) const

{

Assert (component < this->n_components,

ExcIndexRange (component, 0, this->n_components));

double U=-1.; //inflow velocity

double r_sph = sqrt( pow(p[0],2) + pow(p[1],2) );

double phi = (-1) * acos(p[1]/r_sph);

double q_r_sph=U*cos(phi)*( 1+
);

double q_x=q_r_sph*sin(phi)+q_phi*cos(phi);

double q_y=(-1)*q_r_sph*cos(phi)+q_phi*sin(phi);

if (component == 0)

return q_x;

if (component == 1)

return q_y;

else

return 0;  //

}

template <int dim>

void

Solution<dim>::vector_value (const Point<dim> &p,

Vector<double>   &values) const

{

for (unsigned int c=0; c<this->n_components; ++c)

values(c) = Solution<dim>::value (p, c);

}

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see