From 3c9a1f3689b8b518c005da49bc7b07068e5405cb Mon Sep 17 00:00:00 2001 From: guido Date: Fri, 9 Jan 2004 11:13:20 +0000 Subject: [PATCH] Doc for doxygen git-svn-id: https://svn.dealii.org/trunk@8289 0785d39b-7218-0410-832d-ea1e28bc413d --- .../include/base/tensor_product_polynomials.h | 165 +++++++++--------- 1 file changed, 84 insertions(+), 81 deletions(-) diff --git a/deal.II/base/include/base/tensor_product_polynomials.h b/deal.II/base/include/base/tensor_product_polynomials.h index 8ffe0de537..11405be2d9 100644 --- a/deal.II/base/include/base/tensor_product_polynomials.h +++ b/deal.II/base/include/base/tensor_product_polynomials.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000, 2001, 2002, 2003 by the deal.II authors +// Copyright (C) 2000, 2001, 2002, 2003, 2004 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -26,18 +26,22 @@ /** * Tensor product of given polynomials. * - * Given a vector of $n$ one-dimensional polynomials $P_1$ to $P_n$, - * this class generates $n$ to the power of @p{dim} polynomials of - * the form $Q_{ijk}(x,y,z) = P_i(x)P_j(y)P_k(z)$. If the base - * polynomials are mutually orthogonal on the interval $[-1,1]$ or - * $[0,d]$, then the tensor product polynomials are orthogonal on - * $[-1,1]^d$ or $[0,1]^d$, respectively. + * Given a vector of n one-dimensional polynomials + * P1 to Pn, this class generates + * ndim polynomials of the form + * Qijk(x,y,z) = + * Pi(x)Pj(y)Pk(z). If the base + * polynomials are mutually orthogonal on the interval [-1,1] or + * [0,1], then the tensor product polynomials are orthogonal on + * [-1,1]dim or [0,1]dim, respectively. * - * Indexing is as follows: the order of dim-dimensional polynomials - * is x-coordinates running fastest, then y-coordinate, etc. The first - * few polynomials are thus $P_1(x)P_1(y), P_2(x)P_1(y), - * P_3(x)P_1(y), ..., P_1(x)P_2(y), P_2(x)P_2(y), - * P_3(x)P_2(y), ...$ and likewise in 3d. + * Indexing is as follows: the order of dim-dimensional polynomials is + * x-coordinates running fastest, then y-coordinate, etc. The first + * few polynomials are thus P1(x)P1(y), + * P2(x)P1(y), P3(x)P1(y), + * ..., P1(x)P2(y), + * P2(x)P2(y), P3(x)P2(y), + * ... and likewise in 3d. * * @author Ralf Hartmann, Guido Kanschat, 2000, Wolfgang Bangerth 2003 */ @@ -46,13 +50,13 @@ class TensorProductPolynomials { public: /** - * Constructor. @p{pols} is a - * vector of objects that should - * be derived or otherwise + * Constructor. pols is + * a vector of objects that + * should be derived or otherwise * convertible to one-dimensional - * polynomial objects and will be - * copied into the member - * variable @p{polynomials}. + * polynomial objects. It will be + * copied element by element into + * a private variable. */ template TensorProductPolynomials (const std::vector &pols); @@ -61,22 +65,22 @@ class TensorProductPolynomials * Computes the value and the * first and second derivatives * of each tensor product - * polynomial at @p{unit_point}. + * polynomial at unit_point. * * The size of the vectors must - * either be equal @p{0} or equal - * @p{n_tensor_pols}. In the - * first case, the function will - * not compute these values. + * either be equal 0 or equal + * n(). In the first case, the + * function will not compute + * these values. * * If you need values or * derivatives of all tensor * product polynomials then use * this function, rather than * using any of the - * @p{compute_value}, - * @p{compute_grad} or - * @p{compute_grad_grad} + * compute_value(), + * compute_grad() or + * compute_grad_grad() * functions, see below, in a * loop over all tensor product * polynomials. @@ -88,9 +92,9 @@ class TensorProductPolynomials /** * Computes the value of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -102,9 +106,8 @@ class TensorProductPolynomials * (one-dimensional) polynomials * is (unnecessarily) computed * several times. Instead use - * the @p{compute} function, see - * above, with - * @p{values.size()==n_tensor_pols} + * the compute() function with + * values.size()==n() * to get the point values of all * tensor polynomials all at once * and in a much more efficient @@ -115,9 +118,9 @@ class TensorProductPolynomials /** * Computes the grad of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -129,9 +132,9 @@ class TensorProductPolynomials * underlying (one-dimensional) * polynomials is (unnecessarily) * computed several times. - * Instead use the @p{compute} + * Instead use the compute() * function, see above, with - * @p{grads.size()==n_tensor_pols} + * grads.size()==n() * to get the point value of all * tensor polynomials all at once * and in a much more efficient @@ -143,9 +146,9 @@ class TensorProductPolynomials /** * Computes the second * derivative (grad_grad) of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -157,9 +160,9 @@ class TensorProductPolynomials * underlying (one-dimensional) * polynomials is (unnecessarily) * computed several times. - * Instead use the @p{compute} + * Instead use the compute() * function, see above, with - * @p{grad_grads.size()==n_tensor_pols} + * grad_grads.size()==n() * to get the point value of all * tensor polynomials all at once * and in a much more efficient @@ -170,8 +173,8 @@ class TensorProductPolynomials /** * Returns the number of tensor - * product polynomials. For $n$ - * 1d polynomials this is $n^dim$. + * product polynomials. For n + * 1d polynomials this is ndim. */ unsigned int n () const; @@ -185,7 +188,7 @@ class TensorProductPolynomials private: /** - * Copy of the vector @p{pols} of + * Copy of the vector pols of * polynomials given to the * constructor. */ @@ -193,28 +196,28 @@ class TensorProductPolynomials /** * Number of tensor product - * polynomials. For $n$ 1d - * polynomials this is $n^dim$. + * polynomials. See n(). */ unsigned int n_tensor_pols; /** * Each tensor product polynomial - * @รพ{i} is a product of + * i is a product of * one-dimensional polynomials in * each space direction. Compute * the indices of these * one-dimensional polynomials * for each space direction, - * given the index @p{i}. + * given the index i. */ void compute_index (const unsigned int i, unsigned int (&indices)[dim]) const; /** - * Computes @p{x} to the power of - * @p{dim} for unsigned int @p{x}. - * Used in the constructor. + * Computes + * xdim for + * unsigned int x. Used in + * the constructor. */ static unsigned int x_to_the_dim (const unsigned int x); @@ -226,19 +229,19 @@ class TensorProductPolynomials /** * Anisotropic tensor product of given polynomials. * - * Given one-dimensional polynomials @p{Px1}, @p{Px2}, ... in - * x-direction, @p{Py1}, @p{Py2}, ... in y-direction, and so on, this - * class generates polynomials of the form @p{ Qijk(x,y,z) = - * Pxi(x)Pyj(y)Pzk(z)}. If the base polynomials are mutually + * Given one-dimensional polynomials Px1, Px2, ... in + * x-direction, Py1, Py2, ... in y-direction, and so on, this + * class generates polynomials of the form Qijk(x,y,z) = + * Pxi(x)Pyj(y)Pzk(z). If the base polynomials are mutually * orthogonal on the interval $[-1,1]$ or $[0,d]$, then the tensor * product polynomials are orthogonal on $[-1,1]^d$ or $[0,1]^d$, * respectively. * * Indexing is as follows: the order of dim-dimensional polynomials * is x-coordinates running fastest, then y-coordinate, etc. The first - * few polynomials are thus @p{Px1(x)Py1(y)}, @p{Px2(x)Py1(y)}, - * @p{Px3(x)Py1(y)}, ..., @p{Px1(x)Py2(y)}, @p{Px2(x)Py2(y)}, - * @p{Px3(x)Py2(y)}, ..., and likewise in 3d. + * few polynomials are thus Px1(x)Py1(y), Px2(x)Py1(y), + * Px3(x)Py1(y), ..., Px1(x)Py2(y), Px2(x)Py2(y), + * Px3(x)Py2(y), ..., and likewise in 3d. * * @author Wolfgang Bangerth 2003 */ @@ -247,7 +250,7 @@ class AnisotropicPolynomials { public: /** - * Constructor. @p{pols} is a + * Constructor. pols is a * table of one-dimensional * polynomials. The number of * rows in this table should be @@ -266,11 +269,11 @@ class AnisotropicPolynomials * Computes the value and the * first and second derivatives * of each tensor product - * polynomial at @p{unit_point}. + * polynomial at unit_point. * * The size of the vectors must - * either be equal @p{0} or equal - * @p{n_tensor_pols}. In the + * either be equal 0 or equal + * n_tensor_pols. In the * first case, the function will * not compute these values. * @@ -279,9 +282,9 @@ class AnisotropicPolynomials * product polynomials then use * this function, rather than * using any of the - * @p{compute_value}, - * @p{compute_grad} or - * @p{compute_grad_grad} + * compute_value, + * compute_grad or + * compute_grad_grad * functions, see below, in a * loop over all tensor product * polynomials. @@ -293,9 +296,9 @@ class AnisotropicPolynomials /** * Computes the value of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -307,9 +310,9 @@ class AnisotropicPolynomials * (one-dimensional) polynomials * is (unnecessarily) computed * several times. Instead use - * the @p{compute} function, see + * the compute function, see * above, with - * @p{values.size()==n_tensor_pols} + * values.size()==n_tensor_pols * to get the point values of all * tensor polynomials all at once * and in a much more efficient @@ -320,9 +323,9 @@ class AnisotropicPolynomials /** * Computes the grad of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -334,9 +337,9 @@ class AnisotropicPolynomials * underlying (one-dimensional) * polynomials is (unnecessarily) * computed several times. - * Instead use the @p{compute} + * Instead use the compute * function, see above, with - * @p{grads.size()==n_tensor_pols} + * grads.size()==n_tensor_pols * to get the point value of all * tensor polynomials all at once * and in a much more efficient @@ -348,9 +351,9 @@ class AnisotropicPolynomials /** * Computes the second * derivative (grad_grad) of the - * @p{i}th tensor product + * ith tensor product * polynomial at - * @p{unit_point}. Here @p{i} is + * unit_point. Here i is * given in tensor product * numbering. * @@ -362,9 +365,9 @@ class AnisotropicPolynomials * underlying (one-dimensional) * polynomials is (unnecessarily) * computed several times. - * Instead use the @p{compute} + * Instead use the compute * function, see above, with - * @p{grad_grads.size()==n_tensor_pols} + * grad_grads.size()==n_tensor_pols * to get the point value of all * tensor polynomials all at once * and in a much more efficient @@ -398,7 +401,7 @@ class AnisotropicPolynomials private: /** - * Copy of the vector @p{pols} of + * Copy of the vector pols of * polynomials given to the * constructor. */ @@ -407,7 +410,7 @@ class AnisotropicPolynomials /** * Number of tensor product * polynomials. This is - * @p{Nx*Ny*Nz}, or with terms + * Nx*Ny*Nz, or with terms * dropped if the number of space * dimensions is less than 3. */ @@ -421,7 +424,7 @@ class AnisotropicPolynomials * the indices of these * one-dimensional polynomials * for each space direction, - * given the index @p{i}. + * given the index i. */ void compute_index (const unsigned int i, unsigned int (&indices)[dim]) const; @@ -429,7 +432,7 @@ class AnisotropicPolynomials /** * Given the input to the * constructor, compute - * @p{n_tensor_pols}. + * n_tensor_pols. */ static unsigned int @@ -437,7 +440,7 @@ class AnisotropicPolynomials }; - +/// @if NoDoc /* -------------- declaration of explicit specializations --- */ @@ -495,6 +498,6 @@ void AnisotropicPolynomials<3>::compute_index(const unsigned int n, unsigned int (&index)[3]) const; - +/// @endif #endif -- 2.39.5