Dear Wolfgang,

In the meanwhile that the VectorTools::interpolate_based_on_material_id 
function is taking care of, I just did the same through the following code 
to change my solution vector in the specific regions with designated 
material_id, which may be used by those who have the same issue with this 
function until it is fixed. Hope it helps!
 
///////////////////////////////////
FEValues<dim> fe_values (fe, qf_cell, update_values  );
std::vector<types::global_dof_index> local_dof_indices(dofs_per_cell);

typename DoFHandler<dim>::active_cell_iterator
cell = dof_handler.begin_active(),
endc = dof_handler_c.end();
for (; cell!=endc; ++cell)
  if (cell->is_locally_owned())
   {
      fe_values.reinit(cell);
      if (cell->material_id()==1)
       {
        cell->get_dof_indices (local_dof_indices);
       for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
        solution(local_dof_indices[i])=1;
       }
   }
////////////////////////////////////////////

Thanks and regards,

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to