Many thanks for your answer. I may not have all the terms of the static condensation in your solution, as i made some mistakes. Sorry.
My email is way too long! So the short question is:
In order to have nodal values of the solution vector, i've got to work with the type "std::vector<Tensor<1,dim>>" which is difficult to handle with the "FullMatrix<double>" of the extracted submatrix of the system matrix at the element level, as i have to compute [Kpu]{u}. Is it possible to transform the std::vector<Tensor<1,dim>> to the std::vector<double> type ?
The detailed but i hope comprehensive explanation of why i want
that:
The problem is that i can have the nodal values of {u} with the following code:
const std::vector<Point<dim>> support_points =
fe.base_element(0).get_unit_support_points();
std::vector<double> weights(support_points.size(),1);
const Quadrature<dim>
node_quadrature_formula(support_points,weights);
FEValues<dim> fe_node_values (fe, node_quadrature_formula,
date_values | update_gradients |
date_quadrature_points | update_JxW_values);
But then i will work with the type "std::vector<Tensor<1,dim>>"
which is difficult to handle with the "FullMatrix" of the
extracted submatrix, as i have to compute [Kpu]{u}. Then how can i
compute [Kpu]{u} ? Is it possible to transform the
std::vector<Tensor<1,dim>> to the
std::vector<double> type ? Is it the way to do the static
condensation at the element level ? (step-44 does it but not at
the element level)
Do that make more sense ? It could still be confusing.
Many thanks,
Best regards,
Yann