extend to that part of the domain that is not refined. While this
guarantees that the overall effort grows as ${\cal O}(N)$ as necessary
for optimal multigrid complexity, it leads to problems when defining
-where to smoothen and what boundary conditions to pose for the operators
+where to smooth and what boundary conditions to pose for the operators
defined on individual levels if the level boundary is not an external
boundary. These questions are discussed in detail in the article cited above.
<img src="http://www.dealii.org/images/steps/developer/step-16.solution.png" alt="">
</p>
-More impoartantly, we would like to see if the multigrid method really
+More importantly, we would like to see if the multigrid method really
improved the solver performance. Therefore, here is the textual
output:
We encourage you to switch on timing output by calling the function
LogStream::log_execution_time() of the deallog object and compare to
step 6. You will see that the multigrid method has quite an overhead
-on coarse meshes, but that that it always beats other methods on fine
+on coarse meshes, but that it always beats other methods on fine
meshes because of its optimal complexity.
A close inspection of this program's performance shows that it is mostly
// MeshWorker hides most of that from us, and thus the difference
// between this function and the previous lies only in the setup of
// the assembler and the different iterators in the loop.
- // Also, fixing up the matrices in the end is a little more comlicated.
+ // Also, fixing up the matrices in the end is a little more complicated.
template <int dim>
void LaplaceProblem<dim>::assemble_multigrid ()
{