![]() |
Reference documentation for deal.II version 9.1.1
|
#include <deal.II/lac/tensor_product_matrix.h>
Public Member Functions | |
| TensorProductMatrixSymmetricSum ()=default | |
| TensorProductMatrixSymmetricSum (const std::array< Table< 2, VectorizedArray< Number >>, dim > &mass_matrix, const std::array< Table< 2, VectorizedArray< Number >>, dim > &derivative_matrix) | |
| TensorProductMatrixSymmetricSum (const Table< 2, VectorizedArray< Number >> &mass_matrix, const Table< 2, VectorizedArray< Number >> &derivative_matrix) | |
| void | reinit (const std::array< Table< 2, VectorizedArray< Number >>, dim > &mass_matrix, const std::array< Table< 2, VectorizedArray< Number >>, dim > &derivative_matrix) |
| void | reinit (const Table< 2, VectorizedArray< Number >> &mass_matrix, const Table< 2, VectorizedArray< Number >> &derivative_matrix) |
Public Member Functions inherited from TensorProductMatrixSymmetricSumBase< dim, VectorizedArray< Number >, size > | |
| unsigned int | m () const |
| unsigned int | n () const |
| void | vmult (const ArrayView< VectorizedArray< Number > > &dst, const ArrayView< const VectorizedArray< Number > > &src) const |
| void | apply_inverse (const ArrayView< VectorizedArray< Number > > &dst, const ArrayView< const VectorizedArray< Number > > &src) const |
Private Member Functions | |
| template<typename MatrixArray > | |
| void | reinit_impl (MatrixArray &&mass_matrix, MatrixArray &&derivative_matrix) |
Additional Inherited Members | |
Protected Member Functions inherited from TensorProductMatrixSymmetricSumBase< dim, VectorizedArray< Number >, size > | |
| TensorProductMatrixSymmetricSumBase ()=default | |
Protected Attributes inherited from TensorProductMatrixSymmetricSumBase< dim, VectorizedArray< Number >, size > | |
| std::array< Table< 2, VectorizedArray< Number > >, dim > | mass_matrix |
| std::array< Table< 2, VectorizedArray< Number > >, dim > | derivative_matrix |
| std::array< AlignedVector< VectorizedArray< Number > >, dim > | eigenvalues |
| std::array< Table< 2, VectorizedArray< Number > >, dim > | eigenvectors |
This is the template specialization for VectorizedArray<Number> being the arithmetic template. For a detailed description see the main documentation of the generic TensorProductMatrixSymmetricSum class.
Definition at line 319 of file tensor_product_matrix.h.
|
default |
Default constructor.
| TensorProductMatrixSymmetricSum< dim, VectorizedArray< Number >, size >::TensorProductMatrixSymmetricSum | ( | const std::array< Table< 2, VectorizedArray< Number >>, dim > & | mass_matrix, |
| const std::array< Table< 2, VectorizedArray< Number >>, dim > & | derivative_matrix | ||
| ) |
| TensorProductMatrixSymmetricSum< dim, VectorizedArray< Number >, size >::TensorProductMatrixSymmetricSum | ( | const Table< 2, VectorizedArray< Number >> & | mass_matrix, |
| const Table< 2, VectorizedArray< Number >> & | derivative_matrix | ||
| ) |
| void TensorProductMatrixSymmetricSum< dim, VectorizedArray< Number >, size >::reinit | ( | const std::array< Table< 2, VectorizedArray< Number >>, dim > & | mass_matrix, |
| const std::array< Table< 2, VectorizedArray< Number >>, dim > & | derivative_matrix | ||
| ) |
Initializes the tensor product matrix by copying the arrays of 1D mass matrices mass_matrix and 1D derivative matrices derivative_matrix into its base class counterparts, respectively, and by assembling the regarding generalized eigenvalues and eigenvectors in TensorProductMatrixSymmetricSumBase::eigenvalues and TensorProductMatrixSymmetricSumBase::eigenvectors, respectively. Note that the current implementation requires each
to be symmetric and positive definite and every
to be symmetric and invertible but not necessarily positive definite.
| void TensorProductMatrixSymmetricSum< dim, VectorizedArray< Number >, size >::reinit | ( | const Table< 2, VectorizedArray< Number >> & | mass_matrix, |
| const Table< 2, VectorizedArray< Number >> & | derivative_matrix | ||
| ) |
This function is equivalent to the previous reinit() except that we consider the same 1D mass matrix mass_matrix and the same 1D derivative matrix derivative_matrix for each tensor direction.
|
private |
A generic implementation of all reinit() functions based on perfect forwarding, that allows to pass lvalue as well as rvalue arguments.
| MatrixArray | Has to be convertible to the underlying type of TensorProductMatrixSymmetricSumBase::mass_matrix and TensorProductMatrixSymmetricSumBase::derivative_matrix. |
1.8.16