/**
* Construct the @p index -th Bernstein Polynomial of degree @p degree.
*
- * @f{aligned*}{
+ * @f{align*}{
* B_{\text{index}, \text{degree}} (t)
* &= \text{binom}(\text{degree}, \text{index})
* \cdot t^{\text{index}}
* The most common usage for this object is initializing vectors as in the
* following code:
*
- * <code>
+ * @code
* DoFHandler<dim> dof_handler(triangulation);
* dof_handler.distribute_dofs(fe_system);
* dof_handler.distribute_mg_dofs(fe_system);
* {
* mg_vector[i].reinit(dof_handler.block_info().level(i));
* }
- * </code>
+ * @endcode
*
* In this
* example, <tt>solution</tt> obtains the block structure needed to represent
/**
* Manage the distribution and numbering of the degrees of freedom for non-
* multigrid algorithms. This class satisfies the
- * @ref ConceptMeshType "MeshType concept" requirements.
+ * @ref ConceptMeshType "MeshType concept"
+ * requirements.
*
* It is first used in the step-2 tutorial program.
*
/**
* Manage the distribution and numbering of the degrees of freedom for hp-
* FEM algorithms. This class satisfies the
- * @ref ConceptMeshType "MeshType concept" requirements.
+ * @ref ConceptMeshType "MeshType concept"
+ * requirements.
*
* The purpose of this class is to allow for an enumeration of degrees of
* freedom in the same way as the ::DoFHandler class, but it allows to use a
// must be zero on the first call to pdnaupd
int ido = 0;
- /**
- * 'G' generalized eigenvalue problem
- * 'I' standard eigenvalue problem
- */
+ // 'G' generalized eigenvalue problem
+ // 'I' standard eigenvalue problem
char bmat[2] = "G";
- /** Specify the eigenvalues of interest,
- * possible parameters
- * "LA" algebraically largest
- * "SA" algebraically smallest
- * "LM" largest magnitude
- * "SM" smallest magnitude
- * "LR" largest real part
- * "SR" smallest real part
- * "LI" largest imaginary part
- * "SI" smallest imaginary part
- * "BE" both ends of spectrum simultaneous
- */
+ // Specify the eigenvalues of interest, possible parameters:
+ // "LA" algebraically largest
+ // "SA" algebraically smallest
+ // "LM" largest magnitude
+ // "SM" smallest magnitude
+ // "LR" largest real part
+ // "SR" smallest real part
+ // "LI" largest imaginary part
+ // "SI" smallest imaginary part
+ // "BE" both ends of spectrum simultaneous
+
char which[3];
switch (additional_data.eigenvalue_of_interest)
{
// Parpack currently works only for NB = 1
iparam[3] = 1;
- /** Sets the mode of dsaupd.
- * 1 is exact shifting,
- * 2 is user-supplied shifts,
- * 3 is shift-invert mode,
- * 4 is buckling mode,
- * 5 is Cayley mode.
- */
+ // Sets the mode of dsaupd:
+ // 1 is exact shifting,
+ // 2 is user-supplied shifts,
+ // 3 is shift-invert mode,
+ // 4 is buckling mode,
+ // 5 is Cayley mode.
iparam[6] = mode;
std::vector<int> ipntr (14, 0);
}
else
{
- /** 1 - compute eigenvectors,
- * 0 - only eigenvalues
- */
+ // 1 - compute eigenvectors,
+ // 0 - only eigenvalues
int rvec = 1;
// which eigenvectors
* Block Jacobi (additive Schwarz) method with possibly overlapping blocks.
*
* This class implements the step() and Tstep() functions expected by the
- * @ref ConceptRelaxationType "relaxation concept". They perform an additive
+ * @ref ConceptRelaxationType "relaxation concept".
+ * They perform an additive
* Schwarz method on the blocks provided in the block list of AdditionalData.
* Differing from PreconditionBlockJacobi, these blocks may be of varying
* size, non- contiguous, and overlapping. On the other hand, this class does
* Block Gauss-Seidel method with possibly overlapping blocks.
*
* This class implements the step() and Tstep() functions expected by the
- * @ref ConceptRelaxationType "relaxation concept". They perform a
+ * @ref ConceptRelaxationType "relaxation concept".
+ * They perform a
* multiplicative Schwarz method on the blocks provided in the block list of
* AdditionalData. Differing from PreconditionBlockSOR, these blocks may be
* of varying size, non-contiguous, and overlapping. On the other hand, this
* Symmetric block Gauss-Seidel method with possibly overlapping blocks.
*
* This class implements the step() and Tstep() functions expected by the
- * @ref ConceptRelaxationType "relaxation concept". They perform a
+ * @ref ConceptRelaxationType "relaxation concept".
+ * They perform a
* multiplicative Schwarz method on the blocks provided in the block list of
* AdditionalData in symmetric fashion. Differing from PreconditionBlockSSOR,
* these blocks may be of varying size, non-contiguous, and overlapping. On