/**
* Set the *desired* value of the next time step size. By calling this
- * method, we are indicating the the next time advance_time() is called, we
+ * method, we are indicating the next time advance_time() is called, we
* would like @p time_step_size to be used to advance the simulation time.
* However, if the step is too large such that the next
* simulation time exceeds the end time, the step size is truncated.
*
* The object @p request needs to exist when MPI_Finalize is called, which means the
* request is typically statically allocated. Otherwise, you need to call
- * unregister_request() before the request goes out of scope. Note that is
+ * unregister_request() before the request goes out of scope. Note that it
* is acceptable for a request to be already waited on (and consequently
* reset to MPI_REQUEST_NULL).
*
# endif
std::vector<T1> buffer_recv;
- // get size of of incoming message
+ // get size of incoming message
int number_amount;
auto ierr = MPI_Get_count(&status, MPI_BYTE, &number_amount);
AssertThrowMPI(ierr);
* A helper class specifying the maximal vector length of VectorizedArray
* for the data type `double` for the given processor architecture and
* optimization level. For a detailed description of supported maximal vector
- * lengths, see the the documentation of VectorizedArray.
+ * lengths, see the documentation of VectorizedArray.
*
* @author Peter Munch, 2019
*/
* A helper class specifying the maximal vector length of VectorizedArray
* for the data type `float` for the given processor architecture and
* optimization level. For a detailed description of supported maximal vector
- * lengths, see the the documentation of VectorizedArray.
+ * lengths, see the documentation of VectorizedArray.
*
* @author Peter Munch, 2019
*/
* Input may be sorted into subsection trees in order to give the input a
* logical structure, and input files may include other files.
*
- * The ParameterHandler class is discussed in in step-29,
+ * The ParameterHandler class is discussed in step-29,
* step-33, and step-34.
*
* <h3>Declaring entries</h3>
/**
- * Load size() data items from memory into the the VectorizedArray @p out,
+ * Load size() data items from memory into the VectorizedArray @p out,
* starting at the given addresses and with given offset, each entry from the
* offset providing one element of the vectorized array.
*
/**
* A set of symbolic expressions to be optimized. It is required that
- * the symbols on which these dependent functions be based are are
+ * the symbols on which these dependent functions be based are
* registered in the @p independent_variables_symbols map.
*/
types::symbol_vector dependent_variables_functions;
*
* Example:
* If <tt>map["a"] -> 1</tt> and
- * <tt>map["b"] -> "a"+ 2</tt>, then then the function $f(a,b(a)) = a+b$
+ * <tt>map["b"] -> "a"+ 2</tt>, then the function $f(a,b(a)) = a+b$
* will be evaluated and the result $f\vert_{a=1,b=a+2} = 3+a$ is determined
* upon the completion of the first sweep. A second sweep is therefore
* necessary to resolve the final symbol, and the returned value is
* This function makes sure that identity constraints don't create cycles
* in @p constraints.
*
- * @p periodicity_factor can be used to to implement Bloch periodic conditions
+ * @p periodicity_factor can be used to implement Bloch periodic conditions
* (a.k.a. phase shift periodic conditions) of the form
* $\psi(\mathbf{r})=e^{-i\mathbf{k}\cdot\mathbf{r}}u(\mathbf{r})$
* where $u$ is periodic with the same periodicity as the crystal lattice and
- * and $\mathbf{k}$ is the wavevector, see
+ * $\mathbf{k}$ is the wavevector, see
* [https://en.wikipedia.org/wiki/Bloch_wave](https://en.wikipedia.org/wiki/Bloch_wave).
* The solution at @p face_2 is equal to the solution at @p face_1 times
* @p periodicity_factor. For example, if the solution at @p face_1 is
*
* Note that one can define the jump in
* different ways (the value "there" minus the value "here", or the other way
- * way around; both are used in the finite element literature). The definition
+ * around; both are used in the finite element literature). The definition
* here uses "value here minus value there", as seen from the first cell.
*
* If this is a boundary face (at_boundary() returns true), then
* @note If the flag @p group_siblings is set to false, children of a
* cell might be placed on different processors even though they are all
* active, which is an assumption made by p4est. By relaxing this, we
- * can can create partitions owning a single cell (also for refined
+ * can create partitions owning a single cell (also for refined
* meshes).
*/
template <int dim, int spacedim>
* the diagonal while all the other elements are zero. U is a MxM orthogonal
* matrix containing the left singular vectors corresponding to the singular
* values of A. V is a NxN orthonal matrix containing the right singular
- * vectors corresponding the the singular values of A.
+ * vectors corresponding the singular values of A.
*
* Note that the variable #svd_vt contains the tranpose of V and can be
* accessed by get_svd_vt(), while U is accessed with get_svd_u().
/**
* Communicate rows in a dynamic sparsity pattern over MPI, similar to the
- * one above but using a vector `rows_per_cpu` containing the number of of
+ * one above but using a vector `rows_per_cpu` containing the number of
* rows per CPU for determining ownership. This is typically the value
* returned by DoFHandler::n_locally_owned_dofs_per_processor -- given that
* the construction of the input to this function involves all-to-all