I am not sure if this is the right place to report this.
In one of the following figures, the color plot doesn't math the contour plot, is this the problem with VISIT?
I am using DEAL.II 8.4.1.
void check_shape_functions(){
std::cout<<"checking shape functions:\n";
const unit degree = 2;
Triangulation<2> triangulation;
GridGenerator::hyper_cube(triangulation, 0, 1, true);
FE_DGP<2> fe(degree);
DoFHandler<2> dof_handler(triangulation);
dof_handler.distribute_dofs (fe);
QGauss<2> quadrature(degree +1);
FEValues<2> fe_val(fe, quadrature, update_values | update_gradients | update_JxW_values | update_hessians |update_quadrature_points);
const unit dof_per_cell = fe.dofs_per_cell;
typename DoFHandler<2>::active_cell_iterator
cell = dof_handler.begin_active();
fe_val.reinit(cell);
const std::vector<Point<2>> &q_points = fe_val.get_quadrature_points();
unit q=0;
std::cout<<"at point "<<q_points[q]<<"\n";
for (unit i=0; i<dof_per_cell; ++i){
std::cout<<"i="<<i<<" val = "<< fe_val.shape_value(i,q)<<
" grad = "<<fe_val.shape_grad(i,q)<<
" gradgrad = "<< fe_val.shape_hessian(i,q)<<
"\n";
}
Vector<double> sol;
sol.reinit(dof_handler.n_dofs());
sol[0] = 1.02708;
sol[1] = 0.00341325;
sol[2] = 0.0261353;
sol[3] = 0.00341325;
sol[4] = -0.0589509;
sol[5] = 0.0261353;
DataOut<2> data_out;
data_out.attach_dof_handler (dof_handler);
data_out.add_data_vector (sol, "u", DataOut<2>::type_dof_data);
data_out.build_patches();
//output filename
std::ostringstream filename;
filename << "test_bottom_right.vtk";
std::ofstream output (filename.str().c_str());
// data_out.write_vtu(output);
data_out.write_vtk (output);
}