Dear everyone, Let me ask you one more time some help on the following problem.
I have a scalar field defined on the nodes of a mesh, and I need to compute the tensor field of its gradient on the mesh's nodes.
(For now I use continuous elements, so the gradient is discontinuous at the cells' borders, so what I want to compute is, on each node, the average for all neighbor cells of the node of the gradient's projection on the node. I may later use discontinuous elements, but I guess the problems I have will still be there...)
I have tried to use the functions compute_projection_from_quadrature_points_matrix and compute_projection_from_quadrature_points.
First try, with the Block structures. In my FESystem, I have one component for the scalar field, and nb_dim components for its gradient. The problem here is that the function FETools::compute_projection_from_quadrature_points_matrix doesn't like my FESystem because it has more than one component. Is there a way to select only one of the components of the FESystem? Is there another way to perform this projection with the Block framework?
Second try: without the Block structures. I have one DoFHandler plus one FE_Q for the scalar field, and one DoFHandler plus one FESystem for its gradient. Here, on each cell of the first DoFHandler I can get the projection matrix, and then the projection of the scalar field's gradient from the quadrature points to the nodes. However, I don't really see how I can build up the global vector on the second DoFHandler based on local contributions of cells from the first DoFHandler. Is there a way to do it?
Many thanks in advance for your precious help. Martin. _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
