Go to the documentation of this file.
   20 #ifndef LIBMESH_TENSOR_SHELL_MATRIX_H 
   21 #define LIBMESH_TENSOR_SHELL_MATRIX_H 
   25 #include "libmesh/libmesh_common.h" 
   26 #include "libmesh/reference_counted_object.h" 
   27 #include "libmesh/libmesh.h" 
   28 #include "libmesh/shell_matrix.h" 
   29 #include "libmesh/numeric_vector.h" 
  104 template <
typename T>
 
  113 template <
typename T>
 
  124 #endif // LIBMESH_TENSOR_SHELL_MATRIX_H 
  
Generic shell matrix, i.e.
 
TensorShellMatrix(const NumericVector< T > &v, const NumericVector< T > &w)
Constructor; takes references to the two vectors as arguments.
 
The libMesh namespace provides an interface to certain functionality in the library.
 
const NumericVector< T > & _v
The column vector.
 
virtual numeric_index_type n() const override
 
virtual void vector_mult(NumericVector< T > &dest, const NumericVector< T > &arg) const override
Multiplies the matrix with arg and stores the result in dest.
 
Shell matrix that is given by a tensor product of two vectors, i.e.
 
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
 
const NumericVector< T > & _w
The row vector.
 
virtual void vector_mult_add(NumericVector< T > &dest, const NumericVector< T > &arg) const override
Multiplies the matrix with arg and adds the result to dest.
 
virtual numeric_index_type m() const override
 
dof_id_type numeric_index_type
 
virtual void get_diagonal(NumericVector< T > &dest) const override
Copies the diagonal part of the matrix into dest.
 
virtual ~TensorShellMatrix()
Destructor.