Martin,

> I try to impose homogeneous Neumann boundary conditions on a flux while
> working with Raviart-Thomas elements, but I could not find a suitable
> function for this in deal. Is there a function like
> "compute_no_normal_flux" for Raviart-Thomas elements (at least for RT0
> elements)?

There isn't, but for RT elements this is relatively simple to write yourself 
because you want to set to zero all degrees of freedom that lie on the 
boundary. So something of the form

  std::map<unsigned int, double> boundary_values;
  for (cell = dof_handler.begin_active(); ...)
    for (f=0; f<GeometryInfo<dim>::faces_per_cell;...)
      if (cell->face(f)->at_boundary())
        {
          cell->face(f)->get_dof_indices(face_dof_indices);
          for (unsigned int i=0; ...)
            if (fe.face_system_to_component_index(i) belongs to one of
                the vector components for which you use the RT element)
              boundary_values[face_dof_indices[i]] = 0;
        }

Does that make sense?

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