> 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
