]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Extend comment 14226/head
authorMartin Kronbichler <martin.kronbichler@uni-a.de>
Mon, 29 Aug 2022 20:10:13 +0000 (22:10 +0200)
committerMartin Kronbichler <martin.kronbichler@uni-a.de>
Mon, 29 Aug 2022 20:10:13 +0000 (22:10 +0200)
include/deal.II/matrix_free/operators.h

index ffba56a8c93871f2c27a9736274a532f6c61d399..a1e7f8c3e28760299b9b06620660773d792bf249 100644 (file)
@@ -2388,7 +2388,9 @@ namespace MatrixFreeOperators
         eval_vector.reinit(cell);
         // This function assumes that we have the same result on all
         // components, so we only need to go through the columns of one scalar
-        // component, which can then be broadcast to all components
+        // component, for which we have created a separate evaluator (attached
+        // to the first component, but the component does not matter because
+        // we only use the underlying integrals)
         for (unsigned int i = 0; i < eval.dofs_per_cell; ++i)
           {
             for (unsigned int j = 0; j < eval.dofs_per_cell; ++j)
@@ -2397,6 +2399,9 @@ namespace MatrixFreeOperators
 
             do_operation_on_cell(eval, cell);
 
+            // We now pick up the value on the diagonal (row i) and broadcast
+            // it to a second evaluator for all vector components, which we
+            // will distribute to the result vector afterwards
             for (unsigned int c = 0; c < n_components; ++c)
               eval_vector
                 .begin_dof_values()[i + c * eval_vector.dofs_per_component] =

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.