From 403923353c5fb4a46fa408be053e0ab96507fa4c Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 10 Feb 2021 19:28:49 -0700 Subject: [PATCH] Minor doc adjustments in a number of places. --- examples/step-19/step-19.cc | 2 +- .../deal.II/base/mpi_consensus_algorithms.h | 20 +++++++++---------- include/deal.II/base/polynomial.h | 3 +++ include/deal.II/base/polynomials_piecewise.h | 17 ++++++++++++---- .../deal.II/base/tensor_product_polynomials.h | 4 ++++ 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/examples/step-19/step-19.cc b/examples/step-19/step-19.cc index 48ad730f16..5dc84024a4 100644 --- a/examples/step-19/step-19.cc +++ b/examples/step-19/step-19.cc @@ -460,7 +460,7 @@ namespace Step19 // @note It is worth pointing out that calling the // Particles::ParticleHandler::particles_in_cell() and // Particles::ParticleHandler::n_particles_in_cell() functions is not - // very effective on problems with a large number of particles. But it + // very efficient on problems with a large number of particles. But it // illustrates the easiest way to write this algorithm, and so we are // willing to incur this cost for the moment for expository purposes. // We discuss the issue in more detail in the diff --git a/include/deal.II/base/mpi_consensus_algorithms.h b/include/deal.II/base/mpi_consensus_algorithms.h index 707644ad00..456679db84 100644 --- a/include/deal.II/base/mpi_consensus_algorithms.h +++ b/include/deal.II/base/mpi_consensus_algorithms.h @@ -344,18 +344,18 @@ namespace Utilities * step a static sparse data exchange is performed. * * @note In contrast to NBX, this class splits the same - * task into two distinct steps. In the first step, all processes - * are identified who want to send a request to this process. In the - * second step, the data is exchanged. However, since - in the - * second step - now it is clear how many requests have to be answered, - * i.e. when this process can stop waiting for requests, no IBarrier is - * needed. + * task into two distinct steps. In the first step, all processes + * are identified who want to send a request to this process. In the + * second step, the data is exchanged. However, since - in the + * second step - now it is clear how many requests have to be answered, + * i.e. when this process can stop waiting for requests, no IBarrier is + * needed. * * @note The function - * Utilities::MPI::compute_point_to_point_communication_pattern() is - * used to determine the source processes, which implements a - * PEX-algorithm from Hoefner et al., "Scalable Communication - * Protocols for Dynamic Sparse Data Exchange". + * Utilities::MPI::compute_point_to_point_communication_pattern() is + * used to determine the source processes, which implements a + * PEX-algorithm from Hoefner et al., "Scalable Communication + * Protocols for Dynamic Sparse Data Exchange". * * @tparam T1 The type of the elements of the vector to be sent. * @tparam T2 The type of the elements of the vector to be received. diff --git a/include/deal.II/base/polynomial.h b/include/deal.II/base/polynomial.h index 0fd72994cf..e4aaa17f07 100644 --- a/include/deal.II/base/polynomial.h +++ b/include/deal.II/base/polynomial.h @@ -55,6 +55,9 @@ namespace Polynomials * form, the constructor with the roots in form of a Lagrange polynomial * must be used. In case a manipulation is done that changes the roots, the * representation is switched to the coefficient form. + * + * This class is a typical example of a possible template argument for the + * TensorProductPolynomials class. */ template class Polynomial : public Subscriptor diff --git a/include/deal.II/base/polynomials_piecewise.h b/include/deal.II/base/polynomials_piecewise.h index 5a0eebb460..82b3254524 100644 --- a/include/deal.II/base/polynomials_piecewise.h +++ b/include/deal.II/base/polynomials_piecewise.h @@ -44,10 +44,19 @@ namespace Polynomials * Definition of piecewise 1D polynomials for the unit interval. This space * allows the description of interpolating polynomials on parts of the unit * interval, similarly to the definition of finite element basis functions - * on the subdivided elements. This primary purpose of this class is to - * allow constructing FE_Q_iso_Q1 elements that put additional degrees of - * freedom into an equivalent of a refined mesh instead of higher order - * polynomials, which is useful when using mixed finite elements. + * on subdivided elements. The primary purpose of this class is to + * allow constructing the shape functions of the FE_Q_iso_Q1 class that has + * a number of interpolation points in each coordinate direction, but instead + * of using them for higher-order polynomials just chooses piecewise linear + * shape functions -- in effect, it is a $Q_1$ element defined on a + * subdivision of the reference cell, and replicated on each of these + * sub-cells. + * + * This class is not derived from the ScalarPolynomialsBase base class + * because it is not actually a polynomial -- it is a piecewise polynomial. + * However, it is interface-compatible with the Polynomials::Polynomial + * class, and consequently can be used as template argument for + * TensorProductPolynomials. * * @ingroup Polynomials */ diff --git a/include/deal.II/base/tensor_product_polynomials.h b/include/deal.II/base/tensor_product_polynomials.h index 6f5e15897e..9351d5a8d3 100644 --- a/include/deal.II/base/tensor_product_polynomials.h +++ b/include/deal.II/base/tensor_product_polynomials.h @@ -66,6 +66,10 @@ class TensorProductPolynomialsConst; * indices i,j,k of the one-dimensional polynomials in x,y and z direction. * The ordering of the dim-dimensional polynomials can be changed by using the * set_numbering() function. + * + * @tparam PolynomialType A class that satisfies the required interface for computing + * tensor products. Typical choices for this template argument are + * Polynomials::Polynomial and Polynomials::PiecewisePolynomial. */ template > class TensorProductPolynomials : public ScalarPolynomialsBase -- 2.39.5