Dear Javier,

boundary indicators are associated with faces, not with vertices.
Thus, yes, at a vertex you can have two faces with different
indicators. Or 3 in 3D.

If boundary conditions are part of the bilinear form, this typically
does not matter, since the integrals involved are over faces.

In the functions setting strong boundary conditions, we always assume
that the part of the boundary with strong boundary condition is
closed, such that a vertex say between Dirichlet and Neumann
boundaries will be assigned the Dirichlet boundary value.

Best,
Guido

On Mon, Nov 7, 2011 at 2:46 PM, Javier Muñoz <[email protected]> wrote:
> Hi
>
> I was playing with the basic options of the Triangulation and DofHandler
> classes and I was wondering, it is possible that for one vertex to have
> two boundary indicators?
>
> I'm doing the following:
>
> void Problem1::make_grid ()
> {
>  GridGenerator::hyper_cube (triangulation, -1, 1);
>  triangulation.refine_global (2);
>
>  typename Triangulation<2>::cell_iterator
>    cell = triangulation.begin (),
>    endc = triangulation.end ();
>  for (;cell != endc; ++cell)
>    for (unsigned int face = 0; face < GeometryInfo<2>::faces_per_cell;
> ++face){
>      if (cell->face(face)->at_boundary() &&
>          ((std::fabs(cell->face(face)->center()(1) - (-1.0)) < 1e-12)         
>  ||
>           (std::fabs(cell->face(face)->center()(0) - (-1.0)) < 1e-12)))
>        cell->face(face)->set_boundary_indicator (1);
>      }
>
>  std::cout << "Number of active cells: "
>            << triangulation.n_active_cells()
>            << std::endl;
>  std::cout << "Total number of cells: "
>            << triangulation.n_cells()
>            << std::endl;
>  std::cout << "Total number of vertices: "
>            << triangulation.n_vertices()
>            << std::endl;
>  std::cout << "Number of used vertices: "
>            << triangulation.n_used_vertices()
>            << std::endl;
>
>  dof_handler.distribute_dofs (fe);
>  std::cout << "Number of degrees of freedom: "
>            << dof_handler.n_dofs()
>            << std::endl;
>
>  std::set<unsigned char> boundary_indicators_0;
>  boundary_indicators_0.insert (0);
>  std::set<unsigned char> boundary_indicators_1;
>  boundary_indicators_1.insert (1);
>
>  std::cout << "Number of degrees of freedom on the boundary: "
>            << dof_handler.n_boundary_dofs()
>            << std::endl;
>  std::cout << "Number of degrees of freedom on the boundary with
> indicator 0: "
>            << dof_handler.n_boundary_dofs(boundary_indicators_0)
>            << std::endl;
>  std::cout << "Number of degrees of freedom on the boundary with
> indicator 1: "
>            << dof_handler.n_boundary_dofs(boundary_indicators_1)
>            << std::endl;
>  std::cout << "Number of max coupling dofs: "
>            << dof_handler.max_couplings_between_dofs()
>            << std::endl;
>  std::cout << "Number of max coupling dofs at the boundary: "
>            << dof_handler.max_couplings_between_boundary_dofs()
>            << std::endl;
> }
>
> And the output would be:
>
> Number of active cells: 16
> Total number of cells: 21
> Total number of vertices: 25
> Number of used vertices: 25
> Number of degrees of freedom: 25
> Number of degrees of freedom on the boundary: 16
> Number of degrees of freedom on the boundary with indicator 0: 9
> Number of degrees of freedom on the boundary with indicator 1: 9
> Number of max coupling dofs: 19
> Number of max coupling dofs at the boundary: 3
>
> It seems to me that vertices at (-1,1) and (-1,1) have two boundary
> indicators. If so, does this affects my program later when I assign
> boundary conditions?
>
>
> And also, if I use polynomial degree 1 for the fe functions each vertex
> should have 1 degree of freedom. How can I know which degree of freedom
> (as they are numbered) was assigned to which vertex? Does this makes any
> sense?
>
>
> Regards
> Javier Muñoz
>
>
>
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
>



-- 
Guido Kanschat, Department of Mathematics, Texas A&M University

In accordance with the Texas Public Information Act all email sent to
and from my Texas A&M email account can be obtained through a Public
Information Request. If you do not want your correspondence public,
please arrange a phone conversation with me.
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to