Joel,

> [...]
>      for (unsigned int q_index=0; q_index<n_q_points; ++q_index)
>        for (unsigned int i=0; i<dofs_per_cell; ++i)
>          {
>         velocity[local_dof_indices[i]] = local_velocity_values[q_index];
>          }
>
> Here you assign the same Tensor<1,dim> at all DoFs multiple times and you 
end with velocity[*]=local_velocity_values[n_q_points]-1.
I don't think that this is what you want to do, is it? If I understand you 
correctly, you try to assign the magnitude of the velocity in each degree 
of freedom
to a different scalar Vector that represents a scalar FiniteElement Vector.
In this case, you need to use a Quadrature object that uses the 
unit_support_points of the scalar FE [1] and your assignment would read

for (unsigned int i=0; i<dofs_per_cell; ++i)
  velocity[local_dof[indices[i]] = local_velocity_values(i).norm_sqr();

where velocity is a Vector that is related to fe_scalar and 
local_velocity_values has the type  std::vector<Vector<double> >.

Best,
Daniel

[1] 
https://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#how-to-get-the-mapped-position-of-support-points-of-my-element

-- 
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