Hi,

No, you can't use a face quadrature rule in one-dimension as the edge is simply a point and thus there is nothing to do. Thus, deal will throw an exception.

This should work:

for (unsigned int vertex = 0; vertex < GeometryInfo<1>::vertices_per_cell; ++vertex)
          if (cell->at_boundary(1) == true) {
                    const double neumann_value = -0.5;
                      cell_rhs(fe.dofs_per_cell) += (neumann_value);
              }


Andrew

On 29 Sep 2009, at 9:26 AM, Pietro Maximoff wrote:



From: Andrew McBride <[email protected]>
To: Pietro Maximoff <[email protected]>
Cc: [email protected]
Sent: Tuesday, September 29, 2009 7:39:28 AM
Subject: Re: [deal.II] 1D Boundary-Value Problem

Hi Pietro

Why are you note using a volume integral to evaluate the Neumann contribution at a face (i.e. a point)? Surely you should be using the equivalent of the face quadrature in 1D? I know this is covered in the docs somewhere.

regards
Andrew

============

Do you mean using a face quadrature formula like so:

QGauss<dim-1> face_quadrature_formula(3);     ?

Well, QGauss<0> generates an exception. So, doing it this way has been impossible so far.

Incidentally, the exact solution is:   0.5ln(x) + 2/x.

Please help.

Thanks.

Pietro




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

Reply via email to