18#ifndef LIBMESH_LUMPED_MASS_MATRIX_H
19#define LIBMESH_LUMPED_MASS_MATRIX_H
21#include "libmesh/diagonal_matrix.h"
58 libmesh_not_implemented();
62 virtual std::unique_ptr<SparseMatrix<T>>
zero_clone()
const override;
64 virtual std::unique_ptr<SparseMatrix<T>>
clone()
const override;
68 const T
value)
override;
72 const T
value)
override;
Diagonal matrix class whose underlying storage is a vector.
Template class used to construct a lumped mass matrix.
virtual void add(const numeric_index_type i, const numeric_index_type j, const T value) override
Add value to the element (i,j).
virtual std::unique_ptr< SparseMatrix< T > > zero_clone() const override
virtual void set(const numeric_index_type i, const numeric_index_type j, const T value) override
Set the element (i,j) to value.
LumpedMassMatrix(LumpedMassMatrix &&)=default
unique pointers can be moved but not copied
virtual std::unique_ptr< SparseMatrix< T > > clone() const override
LumpedMassMatrix & operator=(LumpedMassMatrix &&)=default
virtual SparseMatrix< T > & operator=(const SparseMatrix< T > &) override
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators,...
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
const Parallel::Communicator & comm() const
The libMesh namespace provides an interface to certain functionality in the library.
dof_id_type numeric_index_type