hi all

The finite element basis functions on the unit cell for a continuous or a 
discontinuous element should be identical if the order of the polynomial (k) is 
the same. This is, they are both in the same function space Q_k. The only 
distinction comes when one combines the elements. 

Would it not therefore make sense to allow the computation of the interpolation 
matrix between continuous and discontinuous finite elements if they derive from 
the same function space?

At present the following code would will throw an exception (as documented) 
while I would imagine that the answer is well defined. (In the example below 
the interpolation matrix should be the identity tensor).

Can one assume that the numbering of the support points for FE_Q and FE_DGQ 
elements coincides for equal order interpolation?


    FE_Q<deal_II_dimension> fe_projection(u_degree);

    FE_DGQ<deal_II_dimension> fe_projection_dg(u_degree);

    FullMatrix<double> dg_to_cg_interpolation;
    fe_projection_dg.get_interpolation_matrix(fe_projection, 
dg_to_cg_interpolation);


An error occurred in line <358> of file 
</Users/andrewmcbride/lib/deal_svn/deal.II/deal.II/source/fe/fe_dgq.cc> in 
function
void dealii::FE_DGQ<dim, spacedim>::get_interpolation_matrix(const 
dealii::FiniteElement<dim, spacedim>&, dealii::FullMatrix<double>&) const [with 
int dim = 3, int spacedim = 3]
The violated condition was:
(x_source_fe.get_name().find ("FE_DGQ<") == 0) || (dynamic_cast<const 
FE_DGQ<dim, spacedim>*>(&x_source_fe) != 0)
The name and call sequence of the exception was:
typename FE::ExcInterpolationNotImplemented()
Additional Information:
(none)


Thanks
Andrew
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to