Almonaci,
I think you'll need the compute_projection_from_face_quadrature_points_matrix
tfunction.
Here's how you might use it:
std::vector<LA::MPI::Vector> distributed_field;
distributed_field.reinit(dof_handler.locally_owned_dofs(),
mpi_communicator);
FullMatrix<double> qpoint_to_dof_matrix(fe.dofs_per_face,
face_quadrature.size());
std::vector<Vector<double>> local_values_at_qpoints, local_fe_values;
local_values_at_qpoints.reinit(face_quadrature.size());
local_fe_values.reinit(fe.dofs_per_cell);
for (const auto cell :dof_handler.active_cell_iterators())
for (unsigned int face = 0; face < GeometryInfo<dim>::faces_per_cell; ++
face)
if(face_at_boundary)
{
FETools::compute_projection_from_face_quadrature_points_matrix(fe,
face_quadrature,
face_quadrature,
cell,
face,
qpoint_to_dof_matrix);
for (unsigned int q = 0; q < face_quadrature->size(); ++q)
{
local_values_at_qpoints[q] = kirchof_stress_or_something;
}
qpoint_to_dof_matrix.vmult_add(local_fe_values,
local_values_at_qpoints);
cell->set_dof_values(local_fe_values,
distributed_field);
local_fe_values = 0;
}
The distributed_field should have what you want in the end. Hope this
helps.
Abbas
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/e83497f4-4336-487d-aebc-41875a7d36dbn%40googlegroups.com.