--- /dev/null
+New: We added the possibility to average the contributions to a DoF from
+different cells in parallel::distributed::SolutionTransfer. For this purpose,
+set the corresponding flag in the constructor.
+<br>
+(Peter Munch, Magdalena Schreter, 2022/05/14)
&dof_handler->get_triangulation())));
Assert(tria != nullptr, ExcInternalError());
- for (const auto vec : all_out)
- *vec = 0.0;
+ if (average_values)
+ for (const auto vec : all_out)
+ *vec = 0.0;
VectorType valence;
// finalize valence: compress and invert
valence.compress(::dealii::VectorOperation::add);
for (const auto i : valence.locally_owned_elements())
- valence[i] = valence[i] == 0.0 ? 0.0 : (1.0 / valence[i]);
+ valence[i] = (valence[i] == 0.0 ? 0.0 : (1.0 / valence[i]));
valence.compress(::dealii::VectorOperation::insert);
for (const auto vec : all_out)
{
- // comress and weight with valence
+ // compress and weight with valence
vec->compress(::dealii::VectorOperation::add);
vec->scale(valence);
}