On 2/18/19 10:47 PM, Phạm Ngọc Kiên wrote:
> 
> 2. I have tried some thing with the third method. And here-below is my code:
> 
> Point<dim> p{0.5,0.5,0.5};//position in reference cell
> Quadrature<dim> q(p);
> FEValues<dim> fe_values_q(fe, q,update_quadrature_points);
> fe_values_q.reinit(cell);
> 
> //position in the real cell
> std::vector<Point<dim>> dof_pos = fe_values_q.get_quadrature_points();
> for (int k =0; k <dof_pos.size() ; ++k) {
>      for (int j =0; j <dim ; ++j) {
>          std::cout<<dof_pos[k][j];
>          std::cout<<"\n";
>      }
> }
> 
>  From this codes, I can get the real position of arbitrary points in my 
> current reference cell.
> 
> However, my purpose is to get the real position of a given degree of freedom.
> 
> Could you please tell me how to get the position of a degree of freedom in 
> the reference cell?

The problem is that the NedelecSZ element does not have any such position. You 
are thinking of Lagrange elements (or the regular Nedelec elements) for which 
every shape function has a specific location where it is defined: It is one 
there, and zero at all other such locations. This is what we call "support 
points" in deal.II.

But the NedelecSZ element is not defined this way (at least that's what I 
believe to be the case). Rather, shape functions are defined in such a way 
that certain *integrals* (rather than *point values*) are zero or one for all 
shape functions. As a consequence, there are no support points: Shape 
functions (and degrees of freedom) are not defined at individual points, but 
at whole edges.

This means that your approach can not work. I don't know what you want to do, 
but let's start with that: What is your *goal*? Maybe then we can think about 
how to achieve it!

Best
  W.

-- 
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 bange...@colostate.edu
                            www: http://www.math.colostate.edu/~bangerth/

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