20#ifndef LIBMESH_METIS_CSR_GRAPH_H
21#define LIBMESH_METIS_CSR_GRAPH_H
24#include "libmesh/libmesh_common.h"
42template <
class IndexType>
55 libmesh_assert_less (row+1,
offsets.size());
65 libmesh_assert_less (row+1,
offsets.size());
89 libmesh_assert_greater (
vals.size(),
offsets[row]+nonzero);
100 libmesh_assert_greater (
vals.size(),
offsets[row]+nonzero);
This utility class provides a convenient implementation for building the compressed-row-storage graph...
std::vector< IndexType > vals
void prep_n_nonzeros(const libMesh::dof_id_type row, const libMesh::dof_id_type n_nonzeros_in)
Sets the number of non-zero values in the given row.
libMesh::dof_id_type n_nonzeros(const libMesh::dof_id_type row) const
std::vector< IndexType > offsets
const IndexType & operator()(const libMesh::dof_id_type row, const libMesh::dof_id_type nonzero) const
void prepare_for_use()
Replaces the entries in the offsets vector with their partial sums and resizes the val vector accordi...
IndexType & operator()(const libMesh::dof_id_type row, const libMesh::dof_id_type nonzero)
The libMesh namespace provides an interface to certain functionality in the library.