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.