> Why do I need to do /celltria->set_subdomain_id(celltria->material_id())
> /in order to use
> /DoFTools::extract_subdomain_dofs(dof_handler_total_ANODO,domain,
> selected_dofs) /but it isn't necessary if I want to use
> /DoFTools::extract_boundary_dofs
> (dof_handler_total_ANODO,component_select,selected_dofs,
> boundary_indicators)/ (I mean, in both cases, in "grid_in.cc", we are
> using /cells.back().material_id = material_id/ and
> /subcelldata.boundary_lines.back().material_id = material_id/)?

For historical reasons, an object can only *either* have a material_id or a 
boundary_id. Cells have the former, whereas faces have the latter. They 
happen to be stored in the same variable internally, which is why we do 
things like
  subcelldata.boundary_lines.back().material_id = material_id/
Since it's a face (a sub-cell), the material_id is actually a boundary_id.

I have taken the opportunity to clarify this in the documentation as well.

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